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