vapi_client/models/
call_costs_inner.rs1use serde::{Deserialize, Serialize};
12use utoipa::OpenApi;
13
14
15use crate::models;
16
17#[derive(Clone, Debug, PartialEq, Serialize, Deserialize, OpenApi)]
18#[serde(untagged)]
19pub enum CallCostsInner {
20 TransportCost(models::TransportCost),
21 TranscriberCost(models::TranscriberCost),
22 ModelCost(models::ModelCost),
23 VoiceCost(models::VoiceCost),
24 VapiCost(models::VapiCost),
25 VoicemailDetectionCost(models::VoicemailDetectionCost),
26 AnalysisCost(models::AnalysisCost),
27}
28
29impl Default for CallCostsInner {
30 fn default() -> Self {
31 Self::TransportCost(Default::default())
32 }
33}
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize, OpenApi)]
36pub enum Type {
37 #[serde(rename = "transport")]
38 Transport,
39 #[serde(rename = "transcriber")]
40 Transcriber,
41 #[serde(rename = "model")]
42 Model,
43 #[serde(rename = "voice")]
44 Voice,
45 #[serde(rename = "vapi")]
46 Vapi,
47 #[serde(rename = "voicemail-detection")]
48 VoicemailDetection,
49 #[serde(rename = "analysis")]
50 Analysis,
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, OpenApi)]
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, OpenApi)]
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, OpenApi)]
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}