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(models::TransportCost),
18 TranscriberCost(models::TranscriberCost),
19 ModelCost(models::ModelCost),
20 VoiceCost(models::VoiceCost),
21 VapiCost(models::VapiCost),
22 VoicemailDetectionCost(models::VoicemailDetectionCost),
23 AnalysisCost(models::AnalysisCost),
24 KnowledgeBase(models::KnowledgeBaseCost),
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 #[serde(rename = "knowledge-base")]
50 KnowledgeBase,
51}
52
53impl Default for Type {
54 fn default() -> Type {
55 Self::Transport
56 }
57}
58#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
60pub enum Provider {
61 #[serde(rename = "twilio")]
62 Twilio,
63 #[serde(rename = "google")]
64 Google,
65 #[serde(rename = "openai")]
66 Openai,
67}
68
69impl Default for Provider {
70 fn default() -> Provider {
71 Self::Twilio
72 }
73}
74#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
76pub enum SubType {
77 #[serde(rename = "normal")]
78 Normal,
79 #[serde(rename = "overage")]
80 Overage,
81}
82
83impl Default for SubType {
84 fn default() -> SubType {
85 Self::Normal
86 }
87}
88#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
90pub enum AnalysisType {
91 #[serde(rename = "summary")]
92 Summary,
93 #[serde(rename = "structuredData")]
94 StructuredData,
95 #[serde(rename = "successEvaluation")]
96 SuccessEvaluation,
97}
98
99impl Default for AnalysisType {
100 fn default() -> AnalysisType {
101 Self::Summary
102 }
103}
104