vapi_client/models/
call_costs_inner.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
16#[serde(untagged)]
17pub enum CallCostsInner {
18 TransportCost(models::TransportCost),
19 TranscriberCost(models::TranscriberCost),
20 ModelCost(models::ModelCost),
21 VoiceCost(models::VoiceCost),
22 VapiCost(models::VapiCost),
23 VoicemailDetectionCost(models::VoicemailDetectionCost),
24 AnalysisCost(models::AnalysisCost),
25}
26
27impl Default for CallCostsInner {
28 fn default() -> Self {
29 Self::TransportCost(Default::default())
30 }
31}
32#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
34pub enum Type {
35 #[serde(rename = "transport")]
36 Transport,
37 #[serde(rename = "transcriber")]
38 Transcriber,
39 #[serde(rename = "model")]
40 Model,
41 #[serde(rename = "voice")]
42 Voice,
43 #[serde(rename = "vapi")]
44 Vapi,
45 #[serde(rename = "voicemail-detection")]
46 VoicemailDetection,
47 #[serde(rename = "analysis")]
48 Analysis,
49}
50
51impl Default for Type {
52 fn default() -> Type {
53 Self::Transport
54 }
55}
56#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
58pub enum Provider {
59 #[serde(rename = "twilio")]
60 Twilio,
61 #[serde(rename = "google")]
62 Google,
63 #[serde(rename = "openai")]
64 Openai,
65}
66
67impl Default for Provider {
68 fn default() -> Provider {
69 Self::Twilio
70 }
71}
72#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
74pub enum SubType {
75 #[serde(rename = "normal")]
76 Normal,
77 #[serde(rename = "overage")]
78 Overage,
79}
80
81impl Default for SubType {
82 fn default() -> SubType {
83 Self::Normal
84 }
85}
86#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
88pub enum AnalysisType {
89 #[serde(rename = "summary")]
90 Summary,
91 #[serde(rename = "structuredData")]
92 StructuredData,
93 #[serde(rename = "successEvaluation")]
94 SuccessEvaluation,
95}
96
97impl Default for AnalysisType {
98 fn default() -> AnalysisType {
99 Self::Summary
100 }
101}