Skip to main content

voip_ms/
generated.rs

1// @generated by xtask from tools/server.wsdl + tools/api-responses.json.
2// DO NOT EDIT — regenerate with `cargo xtask gen`.
3
4#![allow(clippy::too_many_arguments)]
5#![allow(non_snake_case)]
6
7use serde::Serialize;
8use serde_json::Value;
9
10use crate::client::Client;
11use crate::error::Result;
12
13/// Sub-account call-pickup permissions.
14#[derive(Debug, Clone, PartialEq, Eq, Hash)]
15pub enum CallPickupBehavior {
16    /// Can pick up and be picked up.
17    PickUpAndBePickedUp,
18    /// Can pick up; cannot be picked up.
19    PickUpOnly,
20    /// Can be picked up; cannot pick up.
21    BePickedUpOnly,
22    /// Cannot pick up nor be picked up.
23    Disabled,
24    /// Any wire value this crate doesn't recognize.
25    Unknown(String),
26}
27
28impl CallPickupBehavior {
29    /// The wire string for this variant.
30    pub fn as_wire(&self) -> &str {
31        match self {
32            CallPickupBehavior::PickUpAndBePickedUp => "1",
33            CallPickupBehavior::PickUpOnly => "2",
34            CallPickupBehavior::BePickedUpOnly => "3",
35            CallPickupBehavior::Disabled => "4",
36            CallPickupBehavior::Unknown(s) => s.as_str(),
37        }
38    }
39
40    /// Parse a wire string. Unknown values are preserved.
41    pub fn from_wire(s: &str) -> Self {
42        match s {
43            "1" => CallPickupBehavior::PickUpAndBePickedUp,
44            "2" => CallPickupBehavior::PickUpOnly,
45            "3" => CallPickupBehavior::BePickedUpOnly,
46            "4" => CallPickupBehavior::Disabled,
47            other => CallPickupBehavior::Unknown(other.to_string()),
48        }
49    }
50}
51
52impl std::fmt::Display for CallPickupBehavior {
53    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
54        f.write_str(self.as_wire())
55    }
56}
57
58impl serde::Serialize for CallPickupBehavior {
59    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
60        s.serialize_str(self.as_wire())
61    }
62}
63
64impl<'de> serde::Deserialize<'de> for CallPickupBehavior {
65    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
66        let s = crate::responses::deserialize_enum_wire_string(d)?;
67        Ok(CallPickupBehavior::from_wire(&s))
68    }
69}
70
71#[allow(dead_code)]
72pub(crate) fn deserialize_opt_call_pickup_behavior<'de, D>(
73    d: D,
74) -> std::result::Result<Option<CallPickupBehavior>, D::Error>
75where
76    D: serde::Deserializer<'de>,
77{
78    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
79    Ok(opt.and_then(|s| {
80        let t = s.trim();
81        if t.is_empty() {
82            None
83        } else {
84            Some(CallPickupBehavior::from_wire(t))
85        }
86    }))
87}
88
89/// Outgoing-call dialing mode for a sub-account.
90#[derive(Debug, Clone, PartialEq, Eq, Hash)]
91pub enum DialingMode {
92    /// Use the main account setting.
93    MainAccount,
94    E164,
95    Nanpa,
96    /// Any wire value this crate doesn't recognize.
97    Unknown(String),
98}
99
100impl DialingMode {
101    /// The wire string for this variant.
102    pub fn as_wire(&self) -> &str {
103        match self {
104            DialingMode::MainAccount => "0",
105            DialingMode::E164 => "1",
106            DialingMode::Nanpa => "2",
107            DialingMode::Unknown(s) => s.as_str(),
108        }
109    }
110
111    /// Parse a wire string. Unknown values are preserved.
112    pub fn from_wire(s: &str) -> Self {
113        match s {
114            "0" => DialingMode::MainAccount,
115            "1" => DialingMode::E164,
116            "2" => DialingMode::Nanpa,
117            other => DialingMode::Unknown(other.to_string()),
118        }
119    }
120}
121
122impl std::fmt::Display for DialingMode {
123    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
124        f.write_str(self.as_wire())
125    }
126}
127
128impl serde::Serialize for DialingMode {
129    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
130        s.serialize_str(self.as_wire())
131    }
132}
133
134impl<'de> serde::Deserialize<'de> for DialingMode {
135    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
136        let s = crate::responses::deserialize_enum_wire_string(d)?;
137        Ok(DialingMode::from_wire(&s))
138    }
139}
140
141#[allow(dead_code)]
142pub(crate) fn deserialize_opt_dialing_mode<'de, D>(
143    d: D,
144) -> std::result::Result<Option<DialingMode>, D::Error>
145where
146    D: serde::Deserializer<'de>,
147{
148    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
149    Ok(opt.and_then(|s| {
150        let t = s.trim();
151        if t.is_empty() {
152            None
153        } else {
154            Some(DialingMode::from_wire(t))
155        }
156    }))
157}
158
159/// DID billing model.
160#[derive(Debug, Clone, PartialEq, Eq, Hash)]
161pub enum DidBillingType {
162    PerMinute,
163    Flat,
164    /// Any wire value this crate doesn't recognize.
165    Unknown(String),
166}
167
168impl DidBillingType {
169    /// The wire string for this variant.
170    pub fn as_wire(&self) -> &str {
171        match self {
172            DidBillingType::PerMinute => "1",
173            DidBillingType::Flat => "2",
174            DidBillingType::Unknown(s) => s.as_str(),
175        }
176    }
177
178    /// Parse a wire string. Unknown values are preserved.
179    pub fn from_wire(s: &str) -> Self {
180        match s {
181            "1" => DidBillingType::PerMinute,
182            "2" => DidBillingType::Flat,
183            other => DidBillingType::Unknown(other.to_string()),
184        }
185    }
186}
187
188impl std::fmt::Display for DidBillingType {
189    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
190        f.write_str(self.as_wire())
191    }
192}
193
194impl serde::Serialize for DidBillingType {
195    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
196        s.serialize_str(self.as_wire())
197    }
198}
199
200impl<'de> serde::Deserialize<'de> for DidBillingType {
201    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
202        let s = crate::responses::deserialize_enum_wire_string(d)?;
203        Ok(DidBillingType::from_wire(&s))
204    }
205}
206
207#[allow(dead_code)]
208pub(crate) fn deserialize_opt_did_billing_type<'de, D>(
209    d: D,
210) -> std::result::Result<Option<DidBillingType>, D::Error>
211where
212    D: serde::Deserializer<'de>,
213{
214    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
215    Ok(opt.and_then(|s| {
216        let t = s.trim();
217        if t.is_empty() {
218            None
219        } else {
220            Some(DidBillingType::from_wire(t))
221        }
222    }))
223}
224
225/// DTMF transport mode for SIP sub-accounts.
226#[derive(Debug, Clone, PartialEq, Eq, Hash)]
227pub enum DtmfMode {
228    Auto,
229    Rfc2833,
230    Inband,
231    Info,
232    /// Any wire value this crate doesn't recognize.
233    Unknown(String),
234}
235
236impl DtmfMode {
237    /// The wire string for this variant.
238    pub fn as_wire(&self) -> &str {
239        match self {
240            DtmfMode::Auto => "auto",
241            DtmfMode::Rfc2833 => "rfc2833",
242            DtmfMode::Inband => "inband",
243            DtmfMode::Info => "info",
244            DtmfMode::Unknown(s) => s.as_str(),
245        }
246    }
247
248    /// Parse a wire string. Unknown values are preserved.
249    pub fn from_wire(s: &str) -> Self {
250        match s {
251            "auto" => DtmfMode::Auto,
252            "rfc2833" => DtmfMode::Rfc2833,
253            "inband" => DtmfMode::Inband,
254            "info" => DtmfMode::Info,
255            other => DtmfMode::Unknown(other.to_string()),
256        }
257    }
258}
259
260impl std::fmt::Display for DtmfMode {
261    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
262        f.write_str(self.as_wire())
263    }
264}
265
266impl serde::Serialize for DtmfMode {
267    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
268        s.serialize_str(self.as_wire())
269    }
270}
271
272impl<'de> serde::Deserialize<'de> for DtmfMode {
273    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
274        let s = crate::responses::deserialize_enum_wire_string(d)?;
275        Ok(DtmfMode::from_wire(&s))
276    }
277}
278
279#[allow(dead_code)]
280pub(crate) fn deserialize_opt_dtmf_mode<'de, D>(
281    d: D,
282) -> std::result::Result<Option<DtmfMode>, D::Error>
283where
284    D: serde::Deserializer<'de>,
285{
286    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
287    Ok(opt.and_then(|s| {
288        let t = s.trim();
289        if t.is_empty() {
290            None
291        } else {
292            Some(DtmfMode::from_wire(t))
293        }
294    }))
295}
296
297/// Voicemail email attachment format.
298#[derive(Debug, Clone, PartialEq, Eq, Hash)]
299pub enum EmailAttachmentFormat {
300    /// GSM-compressed WAV.
301    Wav49,
302    Wav,
303    Mp3,
304    /// Do not attach audio.
305    No,
306    /// Any wire value this crate doesn't recognize.
307    Unknown(String),
308}
309
310impl EmailAttachmentFormat {
311    /// The wire string for this variant.
312    pub fn as_wire(&self) -> &str {
313        match self {
314            EmailAttachmentFormat::Wav49 => "wav49",
315            EmailAttachmentFormat::Wav => "wav",
316            EmailAttachmentFormat::Mp3 => "mp3",
317            EmailAttachmentFormat::No => "no",
318            EmailAttachmentFormat::Unknown(s) => s.as_str(),
319        }
320    }
321
322    /// Parse a wire string. Unknown values are preserved.
323    pub fn from_wire(s: &str) -> Self {
324        match s {
325            "wav49" => EmailAttachmentFormat::Wav49,
326            "wav" => EmailAttachmentFormat::Wav,
327            "mp3" => EmailAttachmentFormat::Mp3,
328            "no" => EmailAttachmentFormat::No,
329            other => EmailAttachmentFormat::Unknown(other.to_string()),
330        }
331    }
332}
333
334impl std::fmt::Display for EmailAttachmentFormat {
335    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
336        f.write_str(self.as_wire())
337    }
338}
339
340impl serde::Serialize for EmailAttachmentFormat {
341    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
342        s.serialize_str(self.as_wire())
343    }
344}
345
346impl<'de> serde::Deserialize<'de> for EmailAttachmentFormat {
347    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
348        let s = crate::responses::deserialize_enum_wire_string(d)?;
349        Ok(EmailAttachmentFormat::from_wire(&s))
350    }
351}
352
353#[allow(dead_code)]
354pub(crate) fn deserialize_opt_email_attachment_format<'de, D>(
355    d: D,
356) -> std::result::Result<Option<EmailAttachmentFormat>, D::Error>
357where
358    D: serde::Deserializer<'de>,
359{
360    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
361    Ok(opt.and_then(|s| {
362        let t = s.trim();
363        if t.is_empty() {
364            None
365        } else {
366            Some(EmailAttachmentFormat::from_wire(t))
367        }
368    }))
369}
370
371/// When to include estimated hold time in queue position announcements.
372#[derive(Debug, Clone, PartialEq, Eq, Hash)]
373pub enum EstimatedHoldTimeAnnounce {
374    Yes,
375    No,
376    /// Announce only the first time.
377    Once,
378    /// Any wire value this crate doesn't recognize.
379    Unknown(String),
380}
381
382impl EstimatedHoldTimeAnnounce {
383    /// The wire string for this variant.
384    pub fn as_wire(&self) -> &str {
385        match self {
386            EstimatedHoldTimeAnnounce::Yes => "yes",
387            EstimatedHoldTimeAnnounce::No => "no",
388            EstimatedHoldTimeAnnounce::Once => "once",
389            EstimatedHoldTimeAnnounce::Unknown(s) => s.as_str(),
390        }
391    }
392
393    /// Parse a wire string. Unknown values are preserved.
394    pub fn from_wire(s: &str) -> Self {
395        match s {
396            "yes" => EstimatedHoldTimeAnnounce::Yes,
397            "no" => EstimatedHoldTimeAnnounce::No,
398            "once" => EstimatedHoldTimeAnnounce::Once,
399            other => EstimatedHoldTimeAnnounce::Unknown(other.to_string()),
400        }
401    }
402}
403
404impl std::fmt::Display for EstimatedHoldTimeAnnounce {
405    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
406        f.write_str(self.as_wire())
407    }
408}
409
410impl serde::Serialize for EstimatedHoldTimeAnnounce {
411    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
412        s.serialize_str(self.as_wire())
413    }
414}
415
416impl<'de> serde::Deserialize<'de> for EstimatedHoldTimeAnnounce {
417    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
418        let s = crate::responses::deserialize_enum_wire_string(d)?;
419        Ok(EstimatedHoldTimeAnnounce::from_wire(&s))
420    }
421}
422
423#[allow(dead_code)]
424pub(crate) fn deserialize_opt_estimated_hold_time_announce<'de, D>(
425    d: D,
426) -> std::result::Result<Option<EstimatedHoldTimeAnnounce>, D::Error>
427where
428    D: serde::Deserializer<'de>,
429{
430    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
431    Ok(opt.and_then(|s| {
432        let t = s.trim();
433        if t.is_empty() {
434            None
435        } else {
436            Some(EstimatedHoldTimeAnnounce::from_wire(t))
437        }
438    }))
439}
440
441/// Direction of an SMS / MMS message: a filter on requests, the direction on results.
442#[derive(Debug, Clone, PartialEq, Eq, Hash)]
443pub enum MessageType {
444    Received,
445    Sent,
446    /// Any wire value this crate doesn't recognize.
447    Unknown(String),
448}
449
450impl MessageType {
451    /// The wire string for this variant.
452    pub fn as_wire(&self) -> &str {
453        match self {
454            MessageType::Received => "1",
455            MessageType::Sent => "0",
456            MessageType::Unknown(s) => s.as_str(),
457        }
458    }
459
460    /// Parse a wire string. Unknown values are preserved.
461    pub fn from_wire(s: &str) -> Self {
462        match s {
463            "1" => MessageType::Received,
464            "0" => MessageType::Sent,
465            other => MessageType::Unknown(other.to_string()),
466        }
467    }
468}
469
470impl std::fmt::Display for MessageType {
471    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
472        f.write_str(self.as_wire())
473    }
474}
475
476impl serde::Serialize for MessageType {
477    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
478        s.serialize_str(self.as_wire())
479    }
480}
481
482impl<'de> serde::Deserialize<'de> for MessageType {
483    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
484        let s = crate::responses::deserialize_enum_wire_string(d)?;
485        Ok(MessageType::from_wire(&s))
486    }
487}
488
489#[allow(dead_code)]
490pub(crate) fn deserialize_opt_message_type<'de, D>(
491    d: D,
492) -> std::result::Result<Option<MessageType>, D::Error>
493where
494    D: serde::Deserializer<'de>,
495{
496    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
497    Ok(opt.and_then(|s| {
498        let t = s.trim();
499        if t.is_empty() {
500            None
501        } else {
502            Some(MessageType::from_wire(t))
503        }
504    }))
505}
506
507/// Asterisk NAT handling mode.
508#[derive(Debug, Clone, PartialEq, Eq, Hash)]
509pub enum Nat {
510    Yes,
511    No,
512    Route,
513    Never,
514    /// Any wire value this crate doesn't recognize.
515    Unknown(String),
516}
517
518impl Nat {
519    /// The wire string for this variant.
520    pub fn as_wire(&self) -> &str {
521        match self {
522            Nat::Yes => "yes",
523            Nat::No => "no",
524            Nat::Route => "route",
525            Nat::Never => "never",
526            Nat::Unknown(s) => s.as_str(),
527        }
528    }
529
530    /// Parse a wire string. Unknown values are preserved.
531    pub fn from_wire(s: &str) -> Self {
532        match s {
533            "yes" => Nat::Yes,
534            "no" => Nat::No,
535            "route" => Nat::Route,
536            "never" => Nat::Never,
537            other => Nat::Unknown(other.to_string()),
538        }
539    }
540}
541
542impl std::fmt::Display for Nat {
543    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
544        f.write_str(self.as_wire())
545    }
546}
547
548impl serde::Serialize for Nat {
549    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
550        s.serialize_str(self.as_wire())
551    }
552}
553
554impl<'de> serde::Deserialize<'de> for Nat {
555    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
556        let s = crate::responses::deserialize_enum_wire_string(d)?;
557        Ok(Nat::from_wire(&s))
558    }
559}
560
561#[allow(dead_code)]
562pub(crate) fn deserialize_opt_nat<'de, D>(d: D) -> std::result::Result<Option<Nat>, D::Error>
563where
564    D: serde::Deserializer<'de>,
565{
566    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
567    Ok(opt.and_then(|s| {
568        let t = s.trim();
569        if t.is_empty() {
570            None
571        } else {
572            Some(Nat::from_wire(t))
573        }
574    }))
575}
576
577/// Voicemail playback instruction mode.
578#[derive(Debug, Clone, PartialEq, Eq, Hash)]
579pub enum PlayInstructions {
580    /// Skip instructions on unread messages.
581    SkipUnread,
582    /// Read full instructions for unread messages.
583    Unread,
584    /// Don't say instructions.
585    DontSay,
586    /// Any wire value this crate doesn't recognize.
587    Unknown(String),
588}
589
590impl PlayInstructions {
591    /// The wire string for this variant.
592    pub fn as_wire(&self) -> &str {
593        match self {
594            PlayInstructions::SkipUnread => "su",
595            PlayInstructions::Unread => "u",
596            PlayInstructions::DontSay => "du",
597            PlayInstructions::Unknown(s) => s.as_str(),
598        }
599    }
600
601    /// Parse a wire string. Unknown values are preserved.
602    pub fn from_wire(s: &str) -> Self {
603        match s {
604            "su" => PlayInstructions::SkipUnread,
605            "u" => PlayInstructions::Unread,
606            "du" => PlayInstructions::DontSay,
607            other => PlayInstructions::Unknown(other.to_string()),
608        }
609    }
610}
611
612impl std::fmt::Display for PlayInstructions {
613    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
614        f.write_str(self.as_wire())
615    }
616}
617
618impl serde::Serialize for PlayInstructions {
619    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
620        s.serialize_str(self.as_wire())
621    }
622}
623
624impl<'de> serde::Deserialize<'de> for PlayInstructions {
625    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
626        let s = crate::responses::deserialize_enum_wire_string(d)?;
627        Ok(PlayInstructions::from_wire(&s))
628    }
629}
630
631#[allow(dead_code)]
632pub(crate) fn deserialize_opt_play_instructions<'de, D>(
633    d: D,
634) -> std::result::Result<Option<PlayInstructions>, D::Error>
635where
636    D: serde::Deserializer<'de>,
637{
638    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
639    Ok(opt.and_then(|s| {
640        let t = s.trim();
641        if t.is_empty() {
642            None
643        } else {
644            Some(PlayInstructions::from_wire(t))
645        }
646    }))
647}
648
649/// Whether callers may join, or are kept in, a queue with no available members. Used by both `join_when_empty` and `leave_when_empty`.
650#[derive(Debug, Clone, PartialEq, Eq, Hash)]
651pub enum QueueEmptyBehavior {
652    /// Callers may join / remain with no members.
653    Yes,
654    /// Callers may not join / are sent to failover.
655    No,
656    /// Like `No`, but also applies when members are present yet all unavailable.
657    Strict,
658    /// Any wire value this crate doesn't recognize.
659    Unknown(String),
660}
661
662impl QueueEmptyBehavior {
663    /// The wire string for this variant.
664    pub fn as_wire(&self) -> &str {
665        match self {
666            QueueEmptyBehavior::Yes => "yes",
667            QueueEmptyBehavior::No => "no",
668            QueueEmptyBehavior::Strict => "strict",
669            QueueEmptyBehavior::Unknown(s) => s.as_str(),
670        }
671    }
672
673    /// Parse a wire string. Unknown values are preserved.
674    pub fn from_wire(s: &str) -> Self {
675        match s {
676            "yes" => QueueEmptyBehavior::Yes,
677            "no" => QueueEmptyBehavior::No,
678            "strict" => QueueEmptyBehavior::Strict,
679            other => QueueEmptyBehavior::Unknown(other.to_string()),
680        }
681    }
682}
683
684impl std::fmt::Display for QueueEmptyBehavior {
685    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
686        f.write_str(self.as_wire())
687    }
688}
689
690impl serde::Serialize for QueueEmptyBehavior {
691    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
692        s.serialize_str(self.as_wire())
693    }
694}
695
696impl<'de> serde::Deserialize<'de> for QueueEmptyBehavior {
697    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
698        let s = crate::responses::deserialize_enum_wire_string(d)?;
699        Ok(QueueEmptyBehavior::from_wire(&s))
700    }
701}
702
703#[allow(dead_code)]
704pub(crate) fn deserialize_opt_queue_empty_behavior<'de, D>(
705    d: D,
706) -> std::result::Result<Option<QueueEmptyBehavior>, D::Error>
707where
708    D: serde::Deserializer<'de>,
709{
710    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
711    Ok(opt.and_then(|s| {
712        let t = s.trim();
713        if t.is_empty() {
714            None
715        } else {
716            Some(QueueEmptyBehavior::from_wire(t))
717        }
718    }))
719}
720
721/// Sort order for selected recordings.
722#[derive(Debug, Clone, PartialEq, Eq, Hash)]
723pub enum RecordingSort {
724    Alpha,
725    Random,
726    /// Any wire value this crate doesn't recognize.
727    Unknown(String),
728}
729
730impl RecordingSort {
731    /// The wire string for this variant.
732    pub fn as_wire(&self) -> &str {
733        match self {
734            RecordingSort::Alpha => "alpha",
735            RecordingSort::Random => "random",
736            RecordingSort::Unknown(s) => s.as_str(),
737        }
738    }
739
740    /// Parse a wire string. Unknown values are preserved.
741    pub fn from_wire(s: &str) -> Self {
742        match s {
743            "alpha" => RecordingSort::Alpha,
744            "random" => RecordingSort::Random,
745            other => RecordingSort::Unknown(other.to_string()),
746        }
747    }
748}
749
750impl std::fmt::Display for RecordingSort {
751    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
752        f.write_str(self.as_wire())
753    }
754}
755
756impl serde::Serialize for RecordingSort {
757    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
758        s.serialize_str(self.as_wire())
759    }
760}
761
762impl<'de> serde::Deserialize<'de> for RecordingSort {
763    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
764        let s = crate::responses::deserialize_enum_wire_string(d)?;
765        Ok(RecordingSort::from_wire(&s))
766    }
767}
768
769#[allow(dead_code)]
770pub(crate) fn deserialize_opt_recording_sort<'de, D>(
771    d: D,
772) -> std::result::Result<Option<RecordingSort>, D::Error>
773where
774    D: serde::Deserializer<'de>,
775{
776    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
777    Ok(opt.and_then(|s| {
778        let t = s.trim();
779        if t.is_empty() {
780            None
781        } else {
782            Some(RecordingSort::from_wire(t))
783        }
784    }))
785}
786
787/// Order in which ring-group members are attempted.
788#[derive(Debug, Clone, PartialEq, Eq, Hash)]
789pub enum RingGroupOrder {
790    /// Try members in declared order.
791    Follow,
792    Random,
793    /// Any wire value this crate doesn't recognize.
794    Unknown(String),
795}
796
797impl RingGroupOrder {
798    /// The wire string for this variant.
799    pub fn as_wire(&self) -> &str {
800        match self {
801            RingGroupOrder::Follow => "follow",
802            RingGroupOrder::Random => "random",
803            RingGroupOrder::Unknown(s) => s.as_str(),
804        }
805    }
806
807    /// Parse a wire string. Unknown values are preserved.
808    pub fn from_wire(s: &str) -> Self {
809        match s {
810            "follow" => RingGroupOrder::Follow,
811            "random" => RingGroupOrder::Random,
812            other => RingGroupOrder::Unknown(other.to_string()),
813        }
814    }
815}
816
817impl std::fmt::Display for RingGroupOrder {
818    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
819        f.write_str(self.as_wire())
820    }
821}
822
823impl serde::Serialize for RingGroupOrder {
824    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
825        s.serialize_str(self.as_wire())
826    }
827}
828
829impl<'de> serde::Deserialize<'de> for RingGroupOrder {
830    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
831        let s = crate::responses::deserialize_enum_wire_string(d)?;
832        Ok(RingGroupOrder::from_wire(&s))
833    }
834}
835
836#[allow(dead_code)]
837pub(crate) fn deserialize_opt_ring_group_order<'de, D>(
838    d: D,
839) -> std::result::Result<Option<RingGroupOrder>, D::Error>
840where
841    D: serde::Deserializer<'de>,
842{
843    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
844    Ok(opt.and_then(|s| {
845        let t = s.trim();
846        if t.is_empty() {
847            None
848        } else {
849            Some(RingGroupOrder::from_wire(t))
850        }
851    }))
852}
853
854/// Queue ring strategy. Mirrors Asterisk's queue strategy options.
855#[derive(Debug, Clone, PartialEq, Eq, Hash)]
856pub enum RingStrategy {
857    RingAll,
858    LeastRecent,
859    FewestCalls,
860    Random,
861    RrMemory,
862    Linear,
863    WRandom,
864    /// Any wire value this crate doesn't recognize.
865    Unknown(String),
866}
867
868impl RingStrategy {
869    /// The wire string for this variant.
870    pub fn as_wire(&self) -> &str {
871        match self {
872            RingStrategy::RingAll => "ringall",
873            RingStrategy::LeastRecent => "leastrecent",
874            RingStrategy::FewestCalls => "fewestcalls",
875            RingStrategy::Random => "random",
876            RingStrategy::RrMemory => "rrmemory",
877            RingStrategy::Linear => "linear",
878            RingStrategy::WRandom => "wrandom",
879            RingStrategy::Unknown(s) => s.as_str(),
880        }
881    }
882
883    /// Parse a wire string. Unknown values are preserved.
884    pub fn from_wire(s: &str) -> Self {
885        match s {
886            "ringall" => RingStrategy::RingAll,
887            "leastrecent" => RingStrategy::LeastRecent,
888            "fewestcalls" => RingStrategy::FewestCalls,
889            "random" => RingStrategy::Random,
890            "rrmemory" => RingStrategy::RrMemory,
891            "linear" => RingStrategy::Linear,
892            "wrandom" => RingStrategy::WRandom,
893            other => RingStrategy::Unknown(other.to_string()),
894        }
895    }
896}
897
898impl std::fmt::Display for RingStrategy {
899    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
900        f.write_str(self.as_wire())
901    }
902}
903
904impl serde::Serialize for RingStrategy {
905    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
906        s.serialize_str(self.as_wire())
907    }
908}
909
910impl<'de> serde::Deserialize<'de> for RingStrategy {
911    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
912        let s = crate::responses::deserialize_enum_wire_string(d)?;
913        Ok(RingStrategy::from_wire(&s))
914    }
915}
916
917#[allow(dead_code)]
918pub(crate) fn deserialize_opt_ring_strategy<'de, D>(
919    d: D,
920) -> std::result::Result<Option<RingStrategy>, D::Error>
921where
922    D: serde::Deserializer<'de>,
923{
924    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
925    Ok(opt.and_then(|s| {
926        let t = s.trim();
927        if t.is_empty() {
928            None
929        } else {
930            Some(RingStrategy::from_wire(t))
931        }
932    }))
933}
934
935/// How a DID / toll-free search string is matched.
936#[derive(Debug, Clone, PartialEq, Eq, Hash)]
937pub enum SearchType {
938    Starts,
939    Contains,
940    Ends,
941    /// Any wire value this crate doesn't recognize.
942    Unknown(String),
943}
944
945impl SearchType {
946    /// The wire string for this variant.
947    pub fn as_wire(&self) -> &str {
948        match self {
949            SearchType::Starts => "starts",
950            SearchType::Contains => "contains",
951            SearchType::Ends => "ends",
952            SearchType::Unknown(s) => s.as_str(),
953        }
954    }
955
956    /// Parse a wire string. Unknown values are preserved.
957    pub fn from_wire(s: &str) -> Self {
958        match s {
959            "starts" => SearchType::Starts,
960            "contains" => SearchType::Contains,
961            "ends" => SearchType::Ends,
962            other => SearchType::Unknown(other.to_string()),
963        }
964    }
965}
966
967impl std::fmt::Display for SearchType {
968    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
969        f.write_str(self.as_wire())
970    }
971}
972
973impl serde::Serialize for SearchType {
974    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
975        s.serialize_str(self.as_wire())
976    }
977}
978
979impl<'de> serde::Deserialize<'de> for SearchType {
980    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
981        let s = crate::responses::deserialize_enum_wire_string(d)?;
982        Ok(SearchType::from_wire(&s))
983    }
984}
985
986#[allow(dead_code)]
987pub(crate) fn deserialize_opt_search_type<'de, D>(
988    d: D,
989) -> std::result::Result<Option<SearchType>, D::Error>
990where
991    D: serde::Deserializer<'de>,
992{
993    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
994    Ok(opt.and_then(|s| {
995        let t = s.trim();
996        if t.is_empty() {
997            None
998        } else {
999            Some(SearchType::from_wire(t))
1000        }
1001    }))
1002}
1003
1004/// Carrier for outgoing calls to toll-free numbers.
1005#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1006pub enum TollFreeCarrier {
1007    /// Use the main account setting.
1008    MainAccount,
1009    /// Default server setting.
1010    Default,
1011    Us,
1012    Canadian,
1013    /// Any wire value this crate doesn't recognize.
1014    Unknown(String),
1015}
1016
1017impl TollFreeCarrier {
1018    /// The wire string for this variant.
1019    pub fn as_wire(&self) -> &str {
1020        match self {
1021            TollFreeCarrier::MainAccount => "-1",
1022            TollFreeCarrier::Default => "0",
1023            TollFreeCarrier::Us => "1",
1024            TollFreeCarrier::Canadian => "2",
1025            TollFreeCarrier::Unknown(s) => s.as_str(),
1026        }
1027    }
1028
1029    /// Parse a wire string. Unknown values are preserved.
1030    pub fn from_wire(s: &str) -> Self {
1031        match s {
1032            "-1" => TollFreeCarrier::MainAccount,
1033            "0" => TollFreeCarrier::Default,
1034            "1" => TollFreeCarrier::Us,
1035            "2" => TollFreeCarrier::Canadian,
1036            other => TollFreeCarrier::Unknown(other.to_string()),
1037        }
1038    }
1039}
1040
1041impl std::fmt::Display for TollFreeCarrier {
1042    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1043        f.write_str(self.as_wire())
1044    }
1045}
1046
1047impl serde::Serialize for TollFreeCarrier {
1048    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1049        s.serialize_str(self.as_wire())
1050    }
1051}
1052
1053impl<'de> serde::Deserialize<'de> for TollFreeCarrier {
1054    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1055        let s = crate::responses::deserialize_enum_wire_string(d)?;
1056        Ok(TollFreeCarrier::from_wire(&s))
1057    }
1058}
1059
1060#[allow(dead_code)]
1061pub(crate) fn deserialize_opt_toll_free_carrier<'de, D>(
1062    d: D,
1063) -> std::result::Result<Option<TollFreeCarrier>, D::Error>
1064where
1065    D: serde::Deserializer<'de>,
1066{
1067    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1068    Ok(opt.and_then(|s| {
1069        let t = s.trim();
1070        if t.is_empty() {
1071            None
1072        } else {
1073            Some(TollFreeCarrier::from_wire(t))
1074        }
1075    }))
1076}
1077
1078/// Voicemail transcription output format.
1079#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1080pub enum TranscriptionFormat {
1081    Text,
1082    Html,
1083    /// Any wire value this crate doesn't recognize.
1084    Unknown(String),
1085}
1086
1087impl TranscriptionFormat {
1088    /// The wire string for this variant.
1089    pub fn as_wire(&self) -> &str {
1090        match self {
1091            TranscriptionFormat::Text => "text",
1092            TranscriptionFormat::Html => "html",
1093            TranscriptionFormat::Unknown(s) => s.as_str(),
1094        }
1095    }
1096
1097    /// Parse a wire string. Unknown values are preserved.
1098    pub fn from_wire(s: &str) -> Self {
1099        match s {
1100            "text" => TranscriptionFormat::Text,
1101            "html" => TranscriptionFormat::Html,
1102            other => TranscriptionFormat::Unknown(other.to_string()),
1103        }
1104    }
1105}
1106
1107impl std::fmt::Display for TranscriptionFormat {
1108    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1109        f.write_str(self.as_wire())
1110    }
1111}
1112
1113impl serde::Serialize for TranscriptionFormat {
1114    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1115        s.serialize_str(self.as_wire())
1116    }
1117}
1118
1119impl<'de> serde::Deserialize<'de> for TranscriptionFormat {
1120    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1121        let s = crate::responses::deserialize_enum_wire_string(d)?;
1122        Ok(TranscriptionFormat::from_wire(&s))
1123    }
1124}
1125
1126#[allow(dead_code)]
1127pub(crate) fn deserialize_opt_transcription_format<'de, D>(
1128    d: D,
1129) -> std::result::Result<Option<TranscriptionFormat>, D::Error>
1130where
1131    D: serde::Deserializer<'de>,
1132{
1133    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1134    Ok(opt.and_then(|s| {
1135        let t = s.trim();
1136        if t.is_empty() {
1137            None
1138        } else {
1139            Some(TranscriptionFormat::from_wire(t))
1140        }
1141    }))
1142}
1143
1144/// Toll-free prefix to search for a vanity number.
1145#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1146pub enum VanityType {
1147    /// Any toll-free prefix.
1148    Any,
1149    N800,
1150    N833,
1151    N844,
1152    N855,
1153    N866,
1154    N877,
1155    N888,
1156    /// Any wire value this crate doesn't recognize.
1157    Unknown(String),
1158}
1159
1160impl VanityType {
1161    /// The wire string for this variant.
1162    pub fn as_wire(&self) -> &str {
1163        match self {
1164            VanityType::Any => "8**",
1165            VanityType::N800 => "800",
1166            VanityType::N833 => "833",
1167            VanityType::N844 => "844",
1168            VanityType::N855 => "855",
1169            VanityType::N866 => "866",
1170            VanityType::N877 => "877",
1171            VanityType::N888 => "888",
1172            VanityType::Unknown(s) => s.as_str(),
1173        }
1174    }
1175
1176    /// Parse a wire string. Unknown values are preserved.
1177    pub fn from_wire(s: &str) -> Self {
1178        match s {
1179            "8**" => VanityType::Any,
1180            "800" => VanityType::N800,
1181            "833" => VanityType::N833,
1182            "844" => VanityType::N844,
1183            "855" => VanityType::N855,
1184            "866" => VanityType::N866,
1185            "877" => VanityType::N877,
1186            "888" => VanityType::N888,
1187            other => VanityType::Unknown(other.to_string()),
1188        }
1189    }
1190}
1191
1192impl std::fmt::Display for VanityType {
1193    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1194        f.write_str(self.as_wire())
1195    }
1196}
1197
1198impl serde::Serialize for VanityType {
1199    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1200        s.serialize_str(self.as_wire())
1201    }
1202}
1203
1204impl<'de> serde::Deserialize<'de> for VanityType {
1205    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1206        let s = crate::responses::deserialize_enum_wire_string(d)?;
1207        Ok(VanityType::from_wire(&s))
1208    }
1209}
1210
1211#[allow(dead_code)]
1212pub(crate) fn deserialize_opt_vanity_type<'de, D>(
1213    d: D,
1214) -> std::result::Result<Option<VanityType>, D::Error>
1215where
1216    D: serde::Deserializer<'de>,
1217{
1218    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1219    Ok(opt.and_then(|s| {
1220        let t = s.trim();
1221        if t.is_empty() {
1222            None
1223        } else {
1224            Some(VanityType::from_wire(t))
1225        }
1226    }))
1227}
1228
1229/// Voicemail message folder.
1230#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1231pub enum VoicemailFolder {
1232    Inbox,
1233    Old,
1234    Urgent,
1235    Family,
1236    Friends,
1237    Work,
1238    /// Any wire value this crate doesn't recognize.
1239    Unknown(String),
1240}
1241
1242impl VoicemailFolder {
1243    /// The wire string for this variant.
1244    pub fn as_wire(&self) -> &str {
1245        match self {
1246            VoicemailFolder::Inbox => "INBOX",
1247            VoicemailFolder::Old => "Old",
1248            VoicemailFolder::Urgent => "Urgent",
1249            VoicemailFolder::Family => "Family",
1250            VoicemailFolder::Friends => "Friends",
1251            VoicemailFolder::Work => "Work",
1252            VoicemailFolder::Unknown(s) => s.as_str(),
1253        }
1254    }
1255
1256    /// Parse a wire string. Unknown values are preserved.
1257    pub fn from_wire(s: &str) -> Self {
1258        match s {
1259            "INBOX" => VoicemailFolder::Inbox,
1260            "Old" => VoicemailFolder::Old,
1261            "Urgent" => VoicemailFolder::Urgent,
1262            "Family" => VoicemailFolder::Family,
1263            "Friends" => VoicemailFolder::Friends,
1264            "Work" => VoicemailFolder::Work,
1265            other => VoicemailFolder::Unknown(other.to_string()),
1266        }
1267    }
1268}
1269
1270impl std::fmt::Display for VoicemailFolder {
1271    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1272        f.write_str(self.as_wire())
1273    }
1274}
1275
1276impl serde::Serialize for VoicemailFolder {
1277    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1278        s.serialize_str(self.as_wire())
1279    }
1280}
1281
1282impl<'de> serde::Deserialize<'de> for VoicemailFolder {
1283    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1284        let s = crate::responses::deserialize_enum_wire_string(d)?;
1285        Ok(VoicemailFolder::from_wire(&s))
1286    }
1287}
1288
1289#[allow(dead_code)]
1290pub(crate) fn deserialize_opt_voicemail_folder<'de, D>(
1291    d: D,
1292) -> std::result::Result<Option<VoicemailFolder>, D::Error>
1293where
1294    D: serde::Deserializer<'de>,
1295{
1296    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1297    Ok(opt.and_then(|s| {
1298        let t = s.trim();
1299        if t.is_empty() {
1300            None
1301        } else {
1302            Some(VoicemailFolder::from_wire(t))
1303        }
1304    }))
1305}
1306
1307/// A non-success `status` returned by the VoIP.ms API.
1308///
1309/// Every documented error code from the official API docs' global
1310/// error-code table is a variant; [`ApiStatus::description`] returns its
1311/// documented meaning. The set of codes is documentation, not a stable
1312/// contract — a code VoIP.ms returns but hasn't documented is preserved
1313/// verbatim in [`ApiStatus::Unknown`] rather than lost.
1314///
1315/// ```
1316/// # use voip_ms::ApiStatus;
1317/// let status = ApiStatus::from_wire("invalid_credentials");
1318/// assert_eq!(status, ApiStatus::InvalidCredentials);
1319/// assert_eq!(status.as_str(), "invalid_credentials");
1320/// assert_eq!(status.description(), Some("Username or Password is incorrect"));
1321/// assert!(status.is_documented());
1322///
1323/// let unknown = ApiStatus::from_wire("some_new_code");
1324/// assert_eq!(unknown, ApiStatus::Unknown("some_new_code".to_string()));
1325/// assert_eq!(unknown.description(), None);
1326/// assert!(!unknown.is_documented());
1327/// ```
1328#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1329pub enum ApiStatus {
1330    /// `account_with_dids` — The Account has DIDs assigned to it.
1331    AccountWithDIDs,
1332    /// `api_limit_exceeded` — API requests limit per minute has been reached
1333    APILimitExceeded,
1334    /// `api_not_enabled` — API has not been enabled or has been disabled
1335    APINotEnabled,
1336    /// `cancel_failed` — The cancellation wasn't completed.
1337    CancelFailed,
1338    /// `can_have_only_one_profile_without_pin` — The conference can just have one profile member without pin
1339    CANHaveOnlyOneProfileWithoutPIN,
1340    /// `conference_member_relation_not_found` — There is no relation between the profile member and the conference.
1341    ConferenceMemberRelationNotFound,
1342    /// `did_in_use` — DID Number is already in use
1343    DIDInUse,
1344    /// `did_limit_reached` — You have reached the maximum number of DID numbers allowed for your account type. Please contact our team if you have a specific use case or if you would like to upgrade to a Business account.
1345    DIDLimitReached,
1346    /// `duplicated_name` — There is already another entry with this name
1347    DuplicatedName,
1348    /// `duplicated_pin` — The given pin has been duplicated
1349    DuplicatedPIN,
1350    /// `e911_disabled` — DID e911 service it's not enabled.
1351    E911Disabled,
1352    /// `e911_pending` — DID e911 service has been requested and is in validation process.
1353    E911Pending,
1354    /// `error_deleting_msg` — Error when deleting message
1355    ErrorDeletingMsg,
1356    /// `error_moving_msg` — Error when move the voicemail message to folder
1357    ErrorMovingMsg,
1358    /// `exceeds_file_size` — The file exceeds the limite size allowed.
1359    ExceedsFileSize,
1360    /// `existing_did` — You can't set a callback to an existing VoIP.ms DID number
1361    ExistingDID,
1362    /// `forwards_exceeded` — Your account is limited to 4 forward entries
1363    ForwardsExceeded,
1364    /// `invalid_account` — This is not a valid account
1365    InvalidAccount,
1366    /// `invalid_address` — Address is missing or the format is invalid.
1367    InvalidAddress,
1368    /// `invalid_admin` — This is not a valid admin
1369    InvalidAdmin,
1370    /// `invalid_agent_ring_timeout` — This is not a valid Agent ring time out value
1371    InvalidAgentRingTimeout,
1372    /// `invalid_allowedcodecs` — One of the codecs provided is invalid Format and Values: ulaw;g729;gsm;all
1373    InvalidAllowedcodecs,
1374    /// `invalid_announce_join_leave` — This is not a valid "Announce join leave"
1375    InvalidAnnounceJoinLeave,
1376    /// `invalid_announce_only_user` — This is not a valid "Announce only user"
1377    InvalidAnnounceOnlyUser,
1378    /// `invalid_announce_position_frequency` — This is not a valid Announce position frequency
1379    InvalidAnnouncePositionFrequency,
1380    /// `invalid_announce_round_seconds` — This is not a valid "Announce round seconds"
1381    InvalidAnnounceRoundSeconds,
1382    /// `invalid_announce_user_count` — This is not a valid "Announce user count"
1383    InvalidAnnounceUserCount,
1384    /// `invalid_area_code` — this is not a valid Area Code.
1385    InvalidAreaCode,
1386    /// `invalid_attachid` — The given ID is invalid or doesn't exist.
1387    InvalidAttachid,
1388    /// `invalid_attachmessage` — this is not a valid AttachMessage Should be: yes/no
1389    InvalidAttachmessage,
1390    /// `invalid_attach_file` — Valid formats: PDF, MS Word, BMP, JPG
1391    InvalidAttachFile,
1392    /// `invalid_authtype` — This is not a valid Auth Type
1393    InvalidAuthtype,
1394    /// `invalid_authtype_h323` — You must select IP Auth to use H.323
1395    InvalidAuthtypeH323,
1396    /// `invalid_authtype_iax2` — You must use User/Password Authentication for IAX2
1397    InvalidAuthtypeIax2,
1398    /// `invalid_balancemanagement` — This is not a valid BalanceManagement
1399    InvalidBalancemanagement,
1400    /// `invalid_base_recording` — This is not a valid recording path
1401    InvalidBaseRecording,
1402    /// `invalid_billingtype` — This is not a valid Billing Type Allowed values: 1 = PerMinute, 2 = Flat
1403    InvalidBillingtype,
1404    /// `invalid_callback` — This is not a valid Callback
1405    InvalidCallback,
1406    /// `invalid_callback_enable` — This is not a valid Callback enable value
1407    InvalidCallbackEnable,
1408    /// `invalid_callback_retry` — This is not a valid Callback retry
1409    InvalidCallbackRetry,
1410    /// `invalid_callerid` — This is not a valid CallerID
1411    InvalidCallerid,
1412    /// `invalid_calleridprefix` — This is not a valid CID Prefix, lenght should be less than 20 chars
1413    InvalidCalleridprefix,
1414    /// `invalid_callerid_override` — This is not a valid CallerID Override
1415    InvalidCalleridOverride,
1416    /// `invalid_callhunting` — This is not a valid Call Hunting
1417    InvalidCallhunting,
1418    /// `invalid_callparking` — This is not a valid Call Parking
1419    InvalidCallparking,
1420    /// `invalid_callrecording` — This is not a valid Call recording
1421    InvalidCallrecording,
1422    /// `invalid_call_type` — Call Type is not valid.
1423    InvalidCallType,
1424    /// `invalid_canada_routing` — This is not a valid Canada Route
1425    InvalidCanadaRouting,
1426    /// `invalid_carrier` — This is not a valid Carrier
1427    InvalidCarrier,
1428    /// `invalid_charge` — This is not a valid Charge
1429    InvalidCharge,
1430    /// `invalid_city` — City is missing or the format is invalid.
1431    InvalidCity,
1432    /// `invalid_client` — This is not a valid Client
1433    InvalidClient,
1434    /// `invalid_cnam` — This is not a valid CNAM Should be: 1/0
1435    InvalidCNAM,
1436    /// `invalid_codec` — This is not a valid Codec
1437    InvalidCodec,
1438    /// `invalid_conference` — This is not a valid Conference ID
1439    InvalidConference,
1440    /// `invalid_contact` — This is not a valid Contact Number
1441    InvalidContact,
1442    /// `invalid_country` — Country is missing or the format is invalid, must be in format ISO 3166-1 alpha-2, example: US, CA, etc. (You can use the values returned by the method getCountries)
1443    InvalidCountry,
1444    /// `invalid_countryid` — This is not a valid Country ID
1445    InvalidCountryid,
1446    /// `invalid_credentials` — Username or Password is incorrect
1447    InvalidCredentials,
1448    /// `invalid_date` — This is not a valid date Format is: yyyy-mm-dd
1449    InvalidDate,
1450    /// `invalid_daterange` — Date Range should be 92 days or less
1451    InvalidDaterange,
1452    /// `invalid_datetime` — This is not a valid datetime Format is: yyyy-mm-dd hh:mm:ss
1453    InvalidDatetime,
1454    /// `invalid_date_from` — The "From" date should be prior to the "To" date.
1455    InvalidDateFrom,
1456    /// `invalid_dayrange` — This is not a valid Day Range
1457    InvalidDayrange,
1458    /// `invalid_delay_before` — This is not a valid DelayBefore
1459    InvalidDelayBefore,
1460    /// `invalid_deletemessage` — This is not a valid DeleteMessage Should be: yes/no
1461    InvalidDeletemessage,
1462    /// `invalid_description` — This is not a valid Description
1463    InvalidDescription,
1464    /// `invalid_destination` — This is not a valid Destination
1465    InvalidDestination,
1466    /// `invalid_destination_folder` — This is not a valid Destination Folder
1467    InvalidDestinationFolder,
1468    /// `invalid_devicetype` — This is not a valid Device Type
1469    InvalidDevicetype,
1470    /// `invalid_dialtime` — This is not a valid Dialtime
1471    InvalidDialtime,
1472    /// `invalid_did` — This is not a valid DID
1473    InvalidDID,
1474    /// `invalid_digits` — These are not valid DigitsOrderDIDVirtual: Digits must be 3 numbers
1475    InvalidDigits,
1476    /// `invalid_digit_timeout` — This is not a valid DigitTimeOut
1477    InvalidDigitTimeout,
1478    /// `invalid_disa` — This is not a valid DISA
1479    InvalidDISA,
1480    /// `invalid_diversion_header` — This is not a valid Diversion Header. It must be a numeric value, accepting only 0 or 1.
1481    InvalidDiversionHeader,
1482    /// `invalid_drop_silence` — This is not a valid "drop silence" value
1483    InvalidDropSilence,
1484    /// `invalid_dst` — This is not a valid Destination Number
1485    InvalidDST,
1486    /// `invalid_dtmfmode` — This is no a valid DTMF Mode
1487    InvalidDtmfmode,
1488    /// `invalid_dtmf_digits` — This is no a valid DTMF digit
1489    InvalidDTMFDigits,
1490    /// `invalid_email` — This is not a valid email or email is already in database
1491    InvalidEmail,
1492    /// `invalid_email_attachment_format` — This is not a valid format value
1493    InvalidEmailAttachmentFormat,
1494    /// `invalid_email_enable` — This is not a valid email enable value
1495    InvalidEmailEnable,
1496    /// `invalid_enable_ip_restriction` — This is not a valid Enable IP Restriction value
1497    InvalidEnableIPRestriction,
1498    /// `invalid_enable_pop_restriction` — This is not a valid Enable POP Restriction value
1499    InvalidEnablePOPRestriction,
1500    /// `invalid_endhour` — This is not a valid End Hour
1501    InvalidEndhour,
1502    /// `invalid_endminute` — This is not a valid End Minute
1503    InvalidEndminute,
1504    /// `invalid_extension` — This is not a valid extension Extension can only contain digits
1505    InvalidExtension,
1506    /// `invalid_extensions` — Extensions cannot be: 098, 211, 311, 411, 4443, 4444, 4747, 511, 711, 811, 822, 911, 988
1507    InvalidExtensions,
1508    /// `invalid_extension_length` — Extensions should not contain more than 5 digits
1509    InvalidExtensionLength,
1510    /// `invalid_extension_prefix` — Extensions cannot start with: 068, 097
1511    InvalidExtensionPrefix,
1512    /// `invalid_failover_header` — This is not a valid failover header Should be: account/vm/fwd/none
1513    InvalidFailoverHeader,
1514    /// `invalid_fax_id` — This is not a valid Fax Message ID
1515    InvalidFAXID,
1516    /// `invalid_file` — This is not a valid File
1517    InvalidFile,
1518    /// `invalid_filter` — This is not a valid Filter
1519    InvalidFilter,
1520    /// `invalid_firstname` — First name is missing or the format is invalid.
1521    InvalidFirstname,
1522    /// `invalid_foc_enddate` — Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22
1523    InvalidFocEnddate,
1524    /// `invalid_foc_startdate` — Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22
1525    InvalidFocStartdate,
1526    /// `invalid_folder` — This is not a valid Folder
1527    InvalidFolder,
1528    /// `invalid_folder_id` — This is not a valid Fax Folder ID
1529    InvalidFolderID,
1530    /// `invalid_forwarding` — This is not a valid forwarding
1531    InvalidForwarding,
1532    /// `invalid_forwarding_did` — Forwarding to the same did is not allowed
1533    InvalidForwardingDID,
1534    /// `invalid_forward_enable` — This is not a valid forward enable value
1535    InvalidForwardEnable,
1536    /// `invalid_frequency_announcement` — This is not a valid Frequency announce
1537    InvalidFrequencyAnnouncement,
1538    /// `invalid_from_number` — This is not a valid sender number.
1539    InvalidFromNumber,
1540    /// `invalid_fullname` — This is not a valid Full Name
1541    InvalidFullname,
1542    /// `invalid_id` — This is not a valid ID
1543    InvalidID,
1544    /// `invalid_if_announce_position_enabled_report_e` — This is not a Report estimated hold time type
1545    InvalidIfAnnouncePositionEnabledReportE,
1546    /// `invalid_internaldialtime` — This is not a valid Internal Dialtime Should be: 1 to 60
1547    InvalidInternaldialtime,
1548    /// `invalid_internalvoicemail` — This is not a valid Internal Voicemail
1549    InvalidInternalvoicemail,
1550    /// `invalid_internationalroute` — This is not a valid International Route
1551    InvalidInternationalroute,
1552    /// `invalid_invoice_type` — Invalid invoice type, possible values: 0 = US, 1 = CAN.
1553    InvalidInvoiceType,
1554    /// `invalid_ip` — This is an invalid IP
1555    InvalidIP,
1556    /// `invalid_ip_auth` — Do not provide an IP address for User/Pass Authentication
1557    InvalidIPAuth,
1558    /// `invalid_ip_iax2` — Do not provide an IP address for IAX2
1559    InvalidIPIax2,
1560    /// `invalid_ivr` — This is not a valid IVR
1561    InvalidIVR,
1562    /// `invalid_jitter_buffer` — This is not a valid "jitter buffer" value
1563    InvalidJitterBuffer,
1564    /// `invalid_join_announcement` — This is not a valid 'Join Announcement' Type for a Queue
1565    InvalidJoinAnnouncement,
1566    /// `invalid_join_empty_type` — This is not a valid 'JoinWhenEmpty' Type for a Queue
1567    InvalidJoinEmptyType,
1568    /// `invalid_language` — This is not a valid Language Should be: es/en/fr
1569    InvalidLanguage,
1570    /// `invalid_lastname` — Lastname is missing or the format is invalid.
1571    InvalidLastname,
1572    /// `invalid_listened` — This is not a valid Listened value
1573    InvalidListened,
1574    /// `invalid_location` — This is not a valid Location
1575    InvalidLocation,
1576    /// `invalid_lockinternational` — This is not a valid Lock International
1577    InvalidLockinternational,
1578    /// `invalid_mailbox` — This is not a valid mailbox
1579    InvalidMailbox,
1580    /// `invalid_maximum_callers` — This is not a valid maximum callers value
1581    InvalidMaximumCallers,
1582    /// `invalid_maximum_wait_time` — This is not a valid maximum wait time value
1583    InvalidMaximumWaitTime,
1584    /// `invalid_max_expiry` — This is not a valid Max Expiry (value must be between 60 and 3600 seconds)
1585    InvalidMaxExpiry,
1586    /// `invalid_member` — This is not a valid Member
1587    InvalidMember,
1588    /// `invalid_member_delay` — This is not a valid Member Delay
1589    InvalidMemberDelay,
1590    /// `invalid_message_num` — This is not a valid Voicemail Message Number
1591    InvalidMessageNum,
1592    /// `invalid_method` — This is not a valid Method
1593    InvalidMethod,
1594    /// `invalid_minute` — This is not a valid Minute Rate
1595    InvalidMinute,
1596    /// `invalid_mixed_numbers` — Toll-free numbers and local numbers can not be mixed in the same order.
1597    InvalidMixedNumbers,
1598    /// `invalid_monthly` — This is not a valid Montly Fee
1599    InvalidMonthly,
1600    /// `invalid_musiconhold` — This is not a valid Music on Hold
1601    InvalidMusiconhold,
1602    /// `invalid_name` — This is not a valid name, Alphanumeric Only
1603    InvalidName,
1604    /// `invalid_nat` — This is not a valid NAT
1605    InvalidNAT,
1606    /// `invalid_note` — This is not a valid Note, lenght should be less than 50 chars
1607    InvalidNote,
1608    /// `invalid_number` — This is not a valid Number
1609    InvalidNumber,
1610    /// `invalid_numbermembers` — The element format of multiple data is not correct or it size does not match with other elements
1611    InvalidNumbermembers,
1612    /// `invalid_number_canadian` — You have entered a Canadian number (not valid in this portability process).
1613    InvalidNumberCanadian,
1614    /// `invalid_number_exist` — The number is already in our network
1615    InvalidNumberExist,
1616    /// `invalid_number_fax` — The Fax number can not be ported into our network
1617    InvalidNumberFAX,
1618    /// `invalid_number_porttype` — You have entered a local number (not valid in this portability process)
1619    InvalidNumberPorttype,
1620    /// `invalid_number_us` — You have entered a USA number (not valid in this portability process).
1621    InvalidNumberUS,
1622    /// `invalid_order` — This is not a valid "order" value
1623    InvalidOrder,
1624    /// `invalid_package` — This is not a valid Package
1625    InvalidPackage,
1626    /// `invalid_password` — This is not a valid passwordVoicemail: Must be 4 Digits SubAccounts: More than 6 chars, Must Contain Alphanumeric and !#$%&/()=?*[]_:.,{}+-
1627    InvalidPassword,
1628    /// `invalid_password_auth` — Do not provide a Password for IP Authentication
1629    InvalidPasswordAuth,
1630    /// `invalid_password_ilegal_characters` — This is not a valid password (Allowed characters: Alphanumeric and ! # $ % & / ( ) = ? * [ ] _ : . , { } + -)
1631    InvalidPasswordIlegalCharacters,
1632    /// `invalid_password_lessthan_8characters_long` — This is not a valid password (Less than 8 characters long)
1633    InvalidPasswordLessthan8charactersLong,
1634    /// `invalid_password_missing_lowercase` — This is not a valid password (Missing lower case character)
1635    InvalidPasswordMissingLowercase,
1636    /// `invalid_password_missing_number` — This is not a valid password (Missing a number)
1637    InvalidPasswordMissingNumber,
1638    /// `invalid_password_missing_uppercase` — This is not a valid password (Missing upper case character)
1639    InvalidPasswordMissingUppercase,
1640    /// `invalid_pause` — This is not a valid Pause
1641    InvalidPause,
1642    /// `invalid_payment` — This is not a valid Payment
1643    InvalidPayment,
1644    /// `invalid_phonebook` — This is not a valid Phonebook
1645    InvalidPhonebook,
1646    /// `invalid_phonenumber` — This is not a valid Phone Number
1647    InvalidPhonenumber,
1648    /// `invalid_pin` — This is not a valid PIN
1649    InvalidPIN,
1650    /// `invalid_pin_number` — Must provide the account PIN number.
1651    InvalidPINNumber,
1652    /// `invalid_playinstructions` — This is not a valid PlayInstructions Should be: u/su
1653    InvalidPlayinstructions,
1654    /// `invalid_pop_restriction` — This is not a valid POP Restriction
1655    InvalidPOPRestriction,
1656    /// `invalid_portingid` — The given ID is invalid or doesn't exist.
1657    InvalidPortingid,
1658    /// `invalid_porttype` — Must provide a valid port type.
1659    InvalidPorttype,
1660    /// `invalid_port_status` — The status code is invalid. (You can use the values returned by the method getListStatus)
1661    InvalidPortStatus,
1662    /// `invalid_priority` — This is not a valid Priority
1663    InvalidPriority,
1664    /// `invalid_priority_weight` — This is not valid weight/priority value
1665    InvalidPriorityWeight,
1666    /// `invalid_protocol` — This is not a valid Protocol
1667    InvalidProtocol,
1668    /// `invalid_provider_account` — You must provide your account # with the current provider
1669    InvalidProviderAccount,
1670    /// `invalid_provider_name` — You must provide the service provider name
1671    InvalidProviderName,
1672    /// `invalid_province` — This is not a valid Province
1673    InvalidProvince,
1674    /// `invalid_quantity` — This is not a valid quantity
1675    InvalidQuantity,
1676    /// `invalid_query` — This is not a valid Query
1677    InvalidQuery,
1678    /// `invalid_queue` — This is not a valid Queue
1679    InvalidQueue,
1680    /// `invalid_quiet` — This is not a valid "quiet" value
1681    InvalidQuiet,
1682    /// `invalid_recording` — This is not a valid recording
1683    InvalidRecording,
1684    /// `invalid_recording_sound_error_menu` — "error menu" is not a valid recording
1685    InvalidRecordingSoundErrorMenu,
1686    /// `invalid_recording_sound_get_pin` — "get pin" is not a valid recording
1687    InvalidRecordingSoundGetPIN,
1688    /// `invalid_recording_sound_has_joined` — "has_joined" is not a valid recording
1689    InvalidRecordingSoundHasJoined,
1690    /// `invalid_recording_sound_has_left` — "has_left" is not a valid recording
1691    InvalidRecordingSoundHasLeft,
1692    /// `invalid_recording_sound_invalid_pin` — "invalid pin" is not a valid recording
1693    InvalidRecordingSoundInvalidPIN,
1694    /// `invalid_recording_sound_join` — "join" is not a valid recording
1695    InvalidRecordingSoundJoin,
1696    /// `invalid_recording_sound_kicked` — "kicked" is not a valid recording
1697    InvalidRecordingSoundKicked,
1698    /// `invalid_recording_sound_leave` — "leave" is not a valid recording
1699    InvalidRecordingSoundLeave,
1700    /// `invalid_recording_sound_locked` — "locked" is not a valid recording
1701    InvalidRecordingSoundLocked,
1702    /// `invalid_recording_sound_locked_now` — "locked now" is not a valid recording
1703    InvalidRecordingSoundLockedNow,
1704    /// `invalid_recording_sound_muted` — "muted" is not a valid recording
1705    InvalidRecordingSoundMuted,
1706    /// `invalid_recording_sound_only_one` — "only one" is not a valid recording
1707    InvalidRecordingSoundOnlyOne,
1708    /// `invalid_recording_sound_only_person` — "only person" is not a valid recording
1709    InvalidRecordingSoundOnlyPerson,
1710    /// `invalid_recording_sound_other_in_party` — "other in party" is not a valid recording
1711    InvalidRecordingSoundOtherInParty,
1712    /// `invalid_recording_sound_participants_muted` — "participants muted" is not a valid recording
1713    InvalidRecordingSoundParticipantsMuted,
1714    /// `invalid_recording_sound_participants_unmuted` — "participants unmuted" is not a valid recording
1715    InvalidRecordingSoundParticipantsUnmuted,
1716    /// `invalid_recording_sound_place_into_conference` — "place into conference" is not a valid recording
1717    InvalidRecordingSoundPlaceIntoConference,
1718    /// `invalid_recording_sound_there_are` — "there are" is not a valid recording
1719    InvalidRecordingSoundThereAre,
1720    /// `invalid_recording_sound_unlocked_now` — "unlocked now" is not a valid recording
1721    InvalidRecordingSoundUnlockedNow,
1722    /// `invalid_recording_sound_unmuted` — "unmuted" is not a valid recording
1723    InvalidRecordingSoundUnmuted,
1724    /// `invalid_record_calls` — Record calls is not valid.
1725    InvalidRecordCalls,
1726    /// `invalid_report_hold_time_agent` — This is not a valid Report hold time agent
1727    InvalidReportHoldTimeAgent,
1728    /// `invalid_resellerclient` — This is not a valid Reseller Client
1729    InvalidResellerclient,
1730    /// `invalid_resellernextbilling` — This is not a valid Reseller Next Billing date, date should not be set in the past.
1731    InvalidResellernextbilling,
1732    /// `invalid_resellerpackage` — This is not a valid Reseller Package
1733    InvalidResellerpackage,
1734    /// `invalid_response_timeout` — This is not a valid ResponseTimeOut
1735    InvalidResponseTimeout,
1736    /// `invalid_retry_timer` — This is not a valid Retry timer
1737    InvalidRetryTimer,
1738    /// `invalid_ringgroup` — This is not a valid Ring group
1739    InvalidRinggroup,
1740    /// `invalid_ring_inuse` — This is not a valid Ring in use value
1741    InvalidRingInuse,
1742    /// `invalid_route` — This is not a valid Route
1743    InvalidRoute,
1744    /// `invalid_routing_header` — This is not a valid Routing header Should be: account/vm/fwd
1745    InvalidRoutingHeader,
1746    /// `invalid_rtp_hold_timeout` — This is not a valid RTP Hold Time Out (value must be between 1 and 3600 seconds)
1747    InvalidRTPHoldTimeout,
1748    /// `invalid_rtp_timeout` — This is not a valid RTP Time Out (value must be between 1 and 3600 seconds)
1749    InvalidRTPTimeout,
1750    /// `invalid_saycallerid` — This is not a valid SayCallerID Should be: yes/no
1751    InvalidSaycallerid,
1752    /// `invalid_saytime` — This is not a valid SayTime Should be: yes/no
1753    InvalidSaytime,
1754    /// `invalid_security_code` — This is not a valid Security Code. Should be alphanumeric.
1755    InvalidSecurityCode,
1756    /// `invalid_serverpop` — This is not a valid Server POP
1757    InvalidServerpop,
1758    /// `invalid_setup` — This is not a valid Setup Fee
1759    InvalidSetup,
1760    /// `invalid_silence_threshold` — This is not a valid "silence threshold" value
1761    InvalidSilenceThreshold,
1762    /// `invalid_sipuri` — This is not a valid SIPURI
1763    InvalidSIPURI,
1764    /// `invalid_sip_traffic` — This is not a valid Encrypted SIP Traffic value
1765    InvalidSIPTraffic,
1766    /// `invalid_skippassword` — This is not a valid skippassword Should be: 1/0 - or - yes/no
1767    InvalidSkippassword,
1768    /// `invalid_smpp_password` — This is not a valid SMPP Password
1769    InvalidSmppPassword,
1770    /// `invalid_smpp_url` — This is not a valid SMPP URL
1771    InvalidSmppURL,
1772    /// `invalid_smpp_username` — This is not a valid SMPP Username
1773    InvalidSmppUsername,
1774    /// `invalid_sms` — This is not a valid SMS
1775    InvalidSMS,
1776    /// `invalid_sms_forward` — This is not a valid SMS forward
1777    InvalidSMSForward,
1778    /// `invalid_snn` — Must provide the 4 last digits of the SSN.
1779    InvalidSnn,
1780    /// `invalid_speed_dial` — This is not a valid Speed Dial
1781    InvalidSpeedDial,
1782    /// `invalid_starthour` — This is not a valid Start Hour
1783    InvalidStarthour,
1784    /// `invalid_startminute` — This is not a valid Start Minute
1785    InvalidStartminute,
1786    /// `invalid_start_muted` — This is not a valid Start Muted
1787    InvalidStartMuted,
1788    /// `invalid_state` — This is not a valid State
1789    InvalidState,
1790    /// `invalid_statement_name` — Statement Name is missing or the format is invalid.
1791    InvalidStatementName,
1792    /// `invalid_strategy` — This is not a valid Ring Strategy
1793    InvalidStrategy,
1794    /// `invalid_street_name` — This is not a valid Street Name
1795    InvalidStreetName,
1796    /// `invalid_street_number` — This is not a valid Street Number
1797    InvalidStreetNumber,
1798    /// `invalid_talking_threshold` — This is not a valid "talking threshold" value
1799    InvalidTalkingThreshold,
1800    /// `invalid_talk_detection` — This is not a valid talk detection value
1801    InvalidTalkDetection,
1802    /// `invalid_tfnumber_porttype` — You have entered a toll-free number (not valid in this portability process).
1803    InvalidTfnumberPorttype,
1804    /// `invalid_thankyou_for_your_patience` — This is not a valid Thankyou for your patience value
1805    InvalidThankyouForYourPatience,
1806    /// `Invalid_threshold` — This is not a valid Threshold Amount. The Threshold Amount should be between 1 and 250
1807    InvalidThreshold,
1808    /// `invalid_timecondition` — This is not a valid Time Condition
1809    InvalidTimecondition,
1810    /// `invalid_timeout` — This is not a valid timeout
1811    InvalidTimeout,
1812    /// `invalid_timerange` — This is not a valid Timer Range
1813    InvalidTimerange,
1814    /// `invalid_timezone` — This is not a valid TimezoneCDR and resellerCDR: Must be numeric Voicemail: Values from getTimezone
1815    InvalidTimezone,
1816    /// `invalid_to_number` — This is not a valid destination number
1817    InvalidToNumber,
1818    /// `invalid_transcription_email` — Transcription email is not valid
1819    InvalidTranscriptionEmail,
1820    /// `invalid_transcription_format` — Invalid Transcription Format
1821    InvalidTranscriptionFormat,
1822    /// `invalid_transcription_locale` — Transcription locale is not valid.
1823    InvalidTranscriptionLocale,
1824    /// `invalid_transcription_redaction` — Invalid Transcription Redaction
1825    InvalidTranscriptionRedaction,
1826    /// `invalid_transcription_sentiment` — Invalid Transcription Sentiment
1827    InvalidTranscriptionSentiment,
1828    /// `invalid_transcription_summary` — Invalid Transcription Summary
1829    InvalidTranscriptionSummary,
1830    /// `invalid_type` — This is not a valid Type
1831    InvalidType,
1832    /// `invalid_urgent` — This is not valid urgent value
1833    InvalidUrgent,
1834    /// `invalid_username` — This is not a valid Username
1835    InvalidUsername,
1836    /// `invalid_voicemailsetup` — This is not a valid voicemail
1837    InvalidVoicemailsetup,
1838    /// `invalid_voice_announcement` — This is not a valid Voice announce
1839    InvalidVoiceAnnouncement,
1840    /// `invalid_weekdayend` — This is not a valid Week End
1841    InvalidWeekdayend,
1842    /// `invalid_weekdaystart` — This is not a valid Week Start
1843    InvalidWeekdaystart,
1844    /// `invalid_wrapup_time` — This is not a valid Wrapup time
1845    InvalidWrapupTime,
1846    /// `invalid_zip` — Zip Code is missing or the format is invalid.
1847    InvalidZip,
1848    /// `ip_not_enabled` — This IP is not enabled for API use
1849    IPNotEnabled,
1850    /// `limit_reached` — You have reached the maximum number of messages allowed per day. - SMS limit using the API. - Fax limit applies using any method.
1851    LimitReached,
1852    /// `location_already_exists` — A location with this name already exists
1853    LocationAlreadyExists,
1854    /// `location_linked_to_subaccount` — This location is in use by one or more sub accounts and cannot be deleted
1855    LocationLinkedToSubaccount,
1856    /// `location_not_found` — The specified location could not be found
1857    LocationNotFound,
1858    /// `max_phonebook` — Your account is limited to 8 SIP, IAX or SIP URI members
1859    MaxPhonebook,
1860    /// `members_exceeded` — You have reached the maximum allowed entries for the Phonebook
1861    MembersExceeded,
1862    /// `member_already_included` — The member has been included already
1863    MemberAlreadyIncluded,
1864    /// `message_empty` — The SMS Message is empty
1865    MessageEmpty,
1866    /// `message_not_found` — The voicemail message was not found
1867    MessageNotFound,
1868    /// `method_maintenance` — This API method is under maintenance
1869    MethodMaintenance,
1870    /// `mismatch_email_confirm` — e-mail confirm does not match with e-mail
1871    MismatchEmailConfirm,
1872    /// `mismatch_password_confirm` — Pasword confirm does not match with Password
1873    MismatchPasswordConfirm,
1874    /// `missing_account` — Account was not provided
1875    MissingAccount,
1876    /// `missing_address` — Address was not provided
1877    MissingAddress,
1878    /// `missing_agent_ring_timeout` — Agent ring time out was not provided
1879    MissingAgentRingTimeout,
1880    /// `missing_allowedcodecs` — Allowed Codecs were not provided
1881    MissingAllowedcodecs,
1882    /// `missing_attachmessage` — AttachMessage was not provided
1883    MissingAttachmessage,
1884    /// `missing_authtype` — Auth Type was not provided
1885    MissingAuthtype,
1886    /// `missing_balancemanagement` — BalanceManagemente was not provided
1887    MissingBalancemanagement,
1888    /// `missing_billingtype` — Billing Type was not provided
1889    MissingBillingtype,
1890    /// `missing_callback` — Callback was not provided
1891    MissingCallback,
1892    /// `missing_callerid` — CallerID was not provided
1893    MissingCallerid,
1894    /// `missing_callhunting` — Call hunting was not provided
1895    MissingCallhunting,
1896    /// `missing_callparking` — Call Parking was not provided
1897    MissingCallparking,
1898    /// `missing_callrecording` — Call recording was not provided
1899    MissingCallrecording,
1900    /// `missing_carrier` — Carrier was not provided
1901    MissingCarrier,
1902    /// `missing_charge` — Charge was not provided.
1903    MissingCharge,
1904    /// `missing_choices` — Choices was not provided
1905    MissingChoices,
1906    /// `missing_city` — City was not provided
1907    MissingCity,
1908    /// `missing_client` — Client was not provided
1909    MissingClient,
1910    /// `missing_cnam` — CNAM was not provided
1911    MissingCNAM,
1912    /// `missing_codec` — Codec was not provided
1913    MissingCodec,
1914    /// `missing_conference` — Conference was not provided
1915    MissingConference,
1916    /// `missing_country` — Country was not provided
1917    MissingCountry,
1918    /// `missing_countryid` — Country ID was not provided
1919    MissingCountryid,
1920    /// `missing_credentials` — Username or Password was not provided
1921    MissingCredentials,
1922    /// `missing_datetime` — DateTime value was not provided
1923    MissingDatetime,
1924    /// `missing_delay_before` — DelayBefore was not provided
1925    MissingDelayBefore,
1926    /// `missing_deletemessage` — DeleteMessage was not provided
1927    MissingDeletemessage,
1928    /// `missing_description` — Description was not provided
1929    MissingDescription,
1930    /// `missing_devicetype` — Device Type was not provided
1931    MissingDevicetype,
1932    /// `missing_dialtime` — Dialtime was not provided
1933    MissingDialtime,
1934    /// `missing_did` — DID was not provided
1935    MissingDID,
1936    /// `missing_digits` — Digits were not provided
1937    MissingDigits,
1938    /// `missing_digit_timeout` — DigitTimeOut was not provided
1939    MissingDigitTimeout,
1940    /// `missing_disa` — DISA was not provided
1941    MissingDISA,
1942    /// `missing_dtmfmode` — DTMF Mode was not provided
1943    MissingDtmfmode,
1944    /// `missing_email` — e-mail was not provided
1945    MissingEmail,
1946    /// `missing_email_confirm` — e-mail confirm was not provided
1947    MissingEmailConfirm,
1948    /// `missing_enable` — Enable was not provided
1949    MissingEnable,
1950    /// `missing_endhour` — End Hour was not provided
1951    MissingEndhour,
1952    /// `missing_endminute` — End Minute was not provided
1953    MissingEndminute,
1954    /// `missing_failover_busy` — Failover Busy was not provided
1955    MissingFailoverBusy,
1956    /// `missing_failover_noanswer` — Failover NoAnswer was not provided
1957    MissingFailoverNoanswer,
1958    /// `missing_failover_unreachable` — Failover Unreachable was not provided
1959    MissingFailoverUnreachable,
1960    /// `missing_file` — File was not provided
1961    MissingFile,
1962    /// `missing_filter` — Filter was not provided
1963    MissingFilter,
1964    /// `missing_firstname` — Firstname was not provided
1965    MissingFirstname,
1966    /// `missing_folder` — folder was not provided
1967    MissingFolder,
1968    /// `missing_forwarding` — Forwarding was not provided
1969    MissingForwarding,
1970    /// `missing_from_date` — From date was not provided
1971    MissingFromDate,
1972    /// `missing_fullname` — Full Name was not provided
1973    MissingFullname,
1974    /// `missing_id` — ID was not provided
1975    MissingID,
1976    /// `missing_if_announce_position_enabled_report_e` — If announce position enabled report estimated hold time' type was not provided
1977    MissingIfAnnouncePositionEnabledReportE,
1978    /// `missing_internationalroute` — International Route was not provided
1979    MissingInternationalroute,
1980    /// `missing_ip` — You need to provide an IP if you select IP Authentication Method
1981    MissingIP,
1982    /// `missing_ip_h323` — You must enter an IP Address for H.323
1983    MissingIPH323,
1984    /// `missing_ip_restriction` — IP Restriction was not provided
1985    MissingIPRestriction,
1986    /// `missing_ivr` — IVR was not provided
1987    MissingIVR,
1988    /// `missing_join_when_empty` — JoinWhenEmpty' type was not provided
1989    MissingJoinWhenEmpty,
1990    /// `missing_language` — Language was not provided
1991    MissingLanguage,
1992    /// `missing_lastname` — Lastname was not provided
1993    MissingLastname,
1994    /// `missing_leave_when_empty` — LeaveWhenEmpty' type was not provided
1995    MissingLeaveWhenEmpty,
1996    /// `missing_length` — Length was not provided
1997    MissingLength,
1998    /// `missing_listened` — Listened code was not provided
1999    MissingListened,
2000    /// `missing_location` — Location was not provided
2001    MissingLocation,
2002    /// `missing_location_name` — Location Name Missing
2003    MissingLocationName,
2004    /// `missing_lockinternational` — Lock International was not provided
2005    MissingLockinternational,
2006    /// `missing_mailbox` — Mailbox was not provided
2007    MissingMailbox,
2008    /// `missing_member` — Member was not provided
2009    MissingMember,
2010    /// `missing_members` — You need at least 1 member to create a ring group
2011    MissingMembers,
2012    /// `missing_message_num` — Voicemail message number was not provided
2013    MissingMessageNum,
2014    /// `missing_method` — Method must be provided when using the REST/JSON API
2015    MissingMethod,
2016    /// `missing_minute` — Minute Rate was not provided
2017    MissingMinute,
2018    /// `missing_monthly` — Monthly Fee was not provided
2019    MissingMonthly,
2020    /// `missing_musiconhold` — Music on Hold was not provided
2021    MissingMusiconhold,
2022    /// `missing_name` — Name was not provided
2023    MissingName,
2024    /// `missing_nat` — NAT was not provided
2025    MissingNAT,
2026    /// `missing_number` — Number was not provided
2027    MissingNumber,
2028    /// `missing_numbers` — You must enter at least one valid phone number.
2029    MissingNumbers,
2030    /// `missing_package` — Package was not provided
2031    MissingPackage,
2032    /// `missing_params` — Required parameters were not provided
2033    MissingParams,
2034    /// `missing_password` — Password was not provided
2035    MissingPassword,
2036    /// `missing_password_confirm` — Password Confirm was not provided
2037    MissingPasswordConfirm,
2038    /// `missing_payment` — Payment was not provided.
2039    MissingPayment,
2040    /// `missing_phonebook` — Phonebook was not provided
2041    MissingPhonebook,
2042    /// `missing_phonenumber` — Phone Number was not provided
2043    MissingPhonenumber,
2044    /// `missing_pin` — PIN was not provided
2045    MissingPIN,
2046    /// `missing_playinstructions` — PlayInstructions was not provided
2047    MissingPlayinstructions,
2048    /// `missing_pop_restriction` — POP Restriction was not provided
2049    MissingPOPRestriction,
2050    /// `missing_priority` — Priority was not provided
2051    MissingPriority,
2052    /// `missing_priority_weight` — Priority/Weight was not provided
2053    MissingPriorityWeight,
2054    /// `missing_protocol` — Protocol was not provided
2055    MissingProtocol,
2056    /// `missing_province` — Province was not provided
2057    MissingProvince,
2058    /// `missing_query` — Query was not provided
2059    MissingQuery,
2060    /// `missing_recording` — Recording was not provided
2061    MissingRecording,
2062    /// `missing_report_hold_time_agent` — Report hold time agent was not provided
2063    MissingReportHoldTimeAgent,
2064    /// `missing_resellerclient` — Provide a Reseller Client or don't provide a Reseller Package
2065    MissingResellerclient,
2066    /// `missing_resellerpackage` — Provide a Reseller Package or don't provide a Reseller Client
2067    MissingResellerpackage,
2068    /// `missing_response_timeout` — ResponseTimeOut was not provided
2069    MissingResponseTimeout,
2070    /// `missing_ringgroup` — Ring group was not provided
2071    MissingRinggroup,
2072    /// `missing_ring_inuse` — Ring in use was not provided
2073    MissingRingInuse,
2074    /// `missing_ring_strategy` — Ring strategy was not provided
2075    MissingRingStrategy,
2076    /// `missing_route` — Route was not provided
2077    MissingRoute,
2078    /// `missing_routing` — Routing was not provided
2079    MissingRouting,
2080    /// `missing_saycallerid` — SayCallerID was not provided
2081    MissingSaycallerid,
2082    /// `missing_saytime` — SayTime was not provided
2083    MissingSaytime,
2084    /// `missing_serverpop` — Server POP was not provided
2085    MissingServerpop,
2086    /// `missing_setup` — Setup Fee was not provided
2087    MissingSetup,
2088    /// `missing_sipuri` — SIPURI was not provided
2089    MissingSIPURI,
2090    /// `missing_skippassword` — SkipPassword was not provided
2091    MissingSkippassword,
2092    /// `missing_sms` — SMS was not provided
2093    MissingSMS,
2094    /// `missing_speed_dial` — Speed Dial was not provided
2095    MissingSpeedDial,
2096    /// `missing_start` — Start date was not provided
2097    MissingStart,
2098    /// `missing_starthour` — Start Hour was not provided
2099    MissingStarthour,
2100    /// `missing_startminute` — Start Minute was not provided
2101    MissingStartminute,
2102    /// `missing_state` — State was not provided
2103    MissingState,
2104    /// `missing_street_name` — Street Name was not provided
2105    MissingStreetName,
2106    /// `missing_street_number` — Street Number was not provided
2107    MissingStreetNumber,
2108    /// `missing_thankyou_for_your_patience` — Thankyou for your patience was not provided
2109    MissingThankyouForYourPatience,
2110    /// `missing_timecondition` — Time Condition was not provided
2111    MissingTimecondition,
2112    /// `missing_timeout` — Timeout was not provided
2113    MissingTimeout,
2114    /// `missing_timezone` — Timezone was not provided
2115    MissingTimezone,
2116    /// `missing_to_date` — To date was not provided
2117    MissingToDate,
2118    /// `missing_transcription_email` — Transcription email is required.
2119    MissingTranscriptionEmail,
2120    /// `missing_transcription_locale` — Transcription locale is required.
2121    MissingTranscriptionLocale,
2122    /// `missing_type` — Type was not provided
2123    MissingType,
2124    /// `missing_urgent` — Urgent code was not provided
2125    MissingUrgent,
2126    /// `missing_uri` — URI was not provided
2127    MissingURI,
2128    /// `missing_username` — Username was not provided
2129    MissingUsername,
2130    /// `missing_voicemailsetup` — Voice mail setup was not provided
2131    MissingVoicemailsetup,
2132    /// `missing_weekdayend` — Week End was not provide
2133    MissingWeekdayend,
2134    /// `missing_weekdaystart` — Week Start was not provided
2135    MissingWeekdaystart,
2136    /// `missing_zip` — Zip Code was not provided
2137    MissingZip,
2138    /// `moving_fail` — The Fax Message was not moved
2139    MovingFail,
2140    /// `name_toolong` — The name exceeds character size limit
2141    NameToolong,
2142    /// `non_sufficient_funds` — Your account does not have sufficient funds to proceed
2143    NonSufficientFunds,
2144    /// `note_toolong` — The note exceeds character size limit
2145    NoteToolong,
2146    /// `no_account` — There are no accounts
2147    NoAccount,
2148    /// `no_attachments` — Theres no attachments records to show.
2149    NoAttachments,
2150    /// `no_base64file` — File not encoded in base64
2151    NoBase64file,
2152    /// `no_callback` — There are not Callbacks
2153    NoCallback,
2154    /// `no_callhunting` — There are no Call Huntings
2155    NoCallhunting,
2156    /// `no_callparking` — There are no Call Parking
2157    NoCallparking,
2158    /// `no_callstatus` — No Call Status was provided. One of the following parameters needs to be set to "1": answered, noanswer, busy, failed
2159    NoCallstatus,
2160    /// `no_cdr` — There are no CDR entries for the filter
2161    NoCDR,
2162    /// `no_change_billingtype` — Imposible change DID billing plan
2163    NoChangeBillingtype,
2164    /// `no_client` — There are no Clients
2165    NoClient,
2166    /// `no_conference` — There are no Conferences
2167    NoConference,
2168    /// `no_did` — There are no DIDs
2169    NoDID,
2170    /// `no_disa` — There are no DISAs
2171    NoDISA,
2172    /// `no_filter` — There are no Filters
2173    NoFilter,
2174    /// `no_forwarding` — There was no Forwarding
2175    NoForwarding,
2176    /// `no_ivr` — There are no ivr
2177    NoIVR,
2178    /// `no_mailbox` — There are no Mailboxes
2179    NoMailbox,
2180    /// `no_member` — There are no Static Members
2181    NoMember,
2182    /// `no_message` — There are no Fax Message(s)
2183    NoMessage,
2184    /// `no_messages` — There are no Voicemail Message(s)
2185    NoMessages,
2186    /// `no_numbers` — There are no Fax Numbers
2187    NoNumbers,
2188    /// `no_package` — there are no Packages
2189    NoPackage,
2190    /// `no_phonebook` — There are no Phonebook entries
2191    NoPhonebook,
2192    /// `no_provision` — E911 service wasn't activated, this response comes with a description of the error.
2193    NoProvision,
2194    /// `no_provision_update` — E911 service wasn't updated, this response comes with a description of the error.
2195    NoProvisionUpdate,
2196    /// `no_queue` — There are no Queue entries
2197    NoQueue,
2198    /// `no_rate` — There are no Rates
2199    NoRate,
2200    /// `no_recording` — There are no recordings
2201    NoRecording,
2202    /// `no_ringgroup` — There are no Ring groups
2203    NoRinggroup,
2204    /// `no_sequences` — No sequence has been found
2205    NoSequences,
2206    /// `no_sipuri` — There are no SIP URIs
2207    NoSIPURI,
2208    /// `no_sms` — There are no SMS messages
2209    NoSMS,
2210    /// `no_timecondition` — There are no Time Conditions
2211    NoTimecondition,
2212    /// `order_failed` — The order wasn't completed.
2213    OrderFailed,
2214    /// `problem_sending_mail` — There was a problem sending an email.
2215    ProblemSendingMail,
2216    /// `provider_outofservice` — One of our providers is out of service
2217    ProviderOutofservice,
2218    /// `recording_in_use_caller_id_filtering` — You have a Caller ID Filtering using this Recording
2219    RecordingInUseCallerIDFiltering,
2220    /// `recording_in_use_caller_timecondition` — You have a Time Condition using this Recording
2221    RecordingInUseCallerTimecondition,
2222    /// `recording_in_use_did` — You have a DID using this Recording
2223    RecordingInUseDID,
2224    /// `recording_in_use_ivr` — You have an IVR using this Recording
2225    RecordingInUseIVR,
2226    /// `recording_in_use_queue` — You have a Calling Queue using this Recording
2227    RecordingInUseQueue,
2228    /// `repeated_ip` — You already have a Subaccount using this IP and Protocol
2229    RepeatedIP,
2230    /// `reserved_ip` — This is a reserved IP used by VoIP.ms or other Companies
2231    ReservedIP,
2232    /// `rtp_timeout_greater_than_rtp_hold_timeout` — RTP Time Out can't be greater than RTP Hold Time Out
2233    RTPTimeoutGreaterThanRTPHoldTimeout,
2234    /// `same_did_billingtype` — The Billing Type provided and DID billing type are the same
2235    SameDIDBillingtype,
2236    /// `sent_fail` — The Fax Message it wasn't send.
2237    SentFail,
2238    /// `sipuri_in_phonebook` — This SIPURI can't be deleted, it is mapped in the phonebook
2239    SIPURIInPhonebook,
2240    /// `sms_apply_regulations` — The number was not updated due to SMS regulations, please contact customer service for more information
2241    SMSApplyRegulations,
2242    /// `sms_failed` — The SMS message was not sent
2243    SMSFailed,
2244    /// `sms_toolong` — The SMS message exceeds 160 characters
2245    SMSToolong,
2246    /// `sms_wait_message` — SMS was not (Enabled/Disabled) for this DID, please wait a minute before you try again.
2247    SMSWaitMessage,
2248    /// `tls_error` — Theres was a TLS error, please try later.
2249    TlsError,
2250    /// `Unable_to_purchase` — Unable to purchase DIDs
2251    UnableToPurchase,
2252    /// `unavailable_info` — The information you requested is unavailable at this moment
2253    UnavailableInfo,
2254    /// `unsifficient_stock` — Theres no sufficient stock to complete the order.
2255    UnsifficientStock,
2256    /// `used_description` — You already have a record with this Description
2257    UsedDescription,
2258    /// `used_email` — You already have an entry with this Email
2259    UsedEmail,
2260    /// `used_extension` — You already have a subaccount using this extension
2261    UsedExtension,
2262    /// `used_extension_in_location` — You already have a subaccount using extension in this location
2263    UsedExtensionInLocation,
2264    /// `used_filter` — You already have a record with this Filter
2265    UsedFilter,
2266    /// `used_ip` — There is already another customer using this IP Address
2267    UsedIP,
2268    /// `used_name` — You already have an entry using this name
2269    UsedName,
2270    /// `used_number` — You already have a record with this Number
2271    UsedNumber,
2272    /// `used_password` — This password has been used previously by this account.
2273    UsedPassword,
2274    /// `used_speed_dial` — You have an entry with this Speed Dial
2275    UsedSpeedDial,
2276    /// `used_username` — You already have a subaccount using this Username.
2277    UsedUsername,
2278    /// `weak_password` — This Password is too weak or too common
2279    WeakPassword,
2280    /// A `status` value not present in the documented table,
2281    /// preserved verbatim.
2282    Unknown(String),
2283}
2284
2285impl ApiStatus {
2286    /// The verbatim wire `status` string.
2287    pub fn as_str(&self) -> &str {
2288        match self {
2289            ApiStatus::AccountWithDIDs => "account_with_dids",
2290            ApiStatus::APILimitExceeded => "api_limit_exceeded",
2291            ApiStatus::APINotEnabled => "api_not_enabled",
2292            ApiStatus::CancelFailed => "cancel_failed",
2293            ApiStatus::CANHaveOnlyOneProfileWithoutPIN => "can_have_only_one_profile_without_pin",
2294            ApiStatus::ConferenceMemberRelationNotFound => "conference_member_relation_not_found",
2295            ApiStatus::DIDInUse => "did_in_use",
2296            ApiStatus::DIDLimitReached => "did_limit_reached",
2297            ApiStatus::DuplicatedName => "duplicated_name",
2298            ApiStatus::DuplicatedPIN => "duplicated_pin",
2299            ApiStatus::E911Disabled => "e911_disabled",
2300            ApiStatus::E911Pending => "e911_pending",
2301            ApiStatus::ErrorDeletingMsg => "error_deleting_msg",
2302            ApiStatus::ErrorMovingMsg => "error_moving_msg",
2303            ApiStatus::ExceedsFileSize => "exceeds_file_size",
2304            ApiStatus::ExistingDID => "existing_did",
2305            ApiStatus::ForwardsExceeded => "forwards_exceeded",
2306            ApiStatus::InvalidAccount => "invalid_account",
2307            ApiStatus::InvalidAddress => "invalid_address",
2308            ApiStatus::InvalidAdmin => "invalid_admin",
2309            ApiStatus::InvalidAgentRingTimeout => "invalid_agent_ring_timeout",
2310            ApiStatus::InvalidAllowedcodecs => "invalid_allowedcodecs",
2311            ApiStatus::InvalidAnnounceJoinLeave => "invalid_announce_join_leave",
2312            ApiStatus::InvalidAnnounceOnlyUser => "invalid_announce_only_user",
2313            ApiStatus::InvalidAnnouncePositionFrequency => "invalid_announce_position_frequency",
2314            ApiStatus::InvalidAnnounceRoundSeconds => "invalid_announce_round_seconds",
2315            ApiStatus::InvalidAnnounceUserCount => "invalid_announce_user_count",
2316            ApiStatus::InvalidAreaCode => "invalid_area_code",
2317            ApiStatus::InvalidAttachid => "invalid_attachid",
2318            ApiStatus::InvalidAttachmessage => "invalid_attachmessage",
2319            ApiStatus::InvalidAttachFile => "invalid_attach_file",
2320            ApiStatus::InvalidAuthtype => "invalid_authtype",
2321            ApiStatus::InvalidAuthtypeH323 => "invalid_authtype_h323",
2322            ApiStatus::InvalidAuthtypeIax2 => "invalid_authtype_iax2",
2323            ApiStatus::InvalidBalancemanagement => "invalid_balancemanagement",
2324            ApiStatus::InvalidBaseRecording => "invalid_base_recording",
2325            ApiStatus::InvalidBillingtype => "invalid_billingtype",
2326            ApiStatus::InvalidCallback => "invalid_callback",
2327            ApiStatus::InvalidCallbackEnable => "invalid_callback_enable",
2328            ApiStatus::InvalidCallbackRetry => "invalid_callback_retry",
2329            ApiStatus::InvalidCallerid => "invalid_callerid",
2330            ApiStatus::InvalidCalleridprefix => "invalid_calleridprefix",
2331            ApiStatus::InvalidCalleridOverride => "invalid_callerid_override",
2332            ApiStatus::InvalidCallhunting => "invalid_callhunting",
2333            ApiStatus::InvalidCallparking => "invalid_callparking",
2334            ApiStatus::InvalidCallrecording => "invalid_callrecording",
2335            ApiStatus::InvalidCallType => "invalid_call_type",
2336            ApiStatus::InvalidCanadaRouting => "invalid_canada_routing",
2337            ApiStatus::InvalidCarrier => "invalid_carrier",
2338            ApiStatus::InvalidCharge => "invalid_charge",
2339            ApiStatus::InvalidCity => "invalid_city",
2340            ApiStatus::InvalidClient => "invalid_client",
2341            ApiStatus::InvalidCNAM => "invalid_cnam",
2342            ApiStatus::InvalidCodec => "invalid_codec",
2343            ApiStatus::InvalidConference => "invalid_conference",
2344            ApiStatus::InvalidContact => "invalid_contact",
2345            ApiStatus::InvalidCountry => "invalid_country",
2346            ApiStatus::InvalidCountryid => "invalid_countryid",
2347            ApiStatus::InvalidCredentials => "invalid_credentials",
2348            ApiStatus::InvalidDate => "invalid_date",
2349            ApiStatus::InvalidDaterange => "invalid_daterange",
2350            ApiStatus::InvalidDatetime => "invalid_datetime",
2351            ApiStatus::InvalidDateFrom => "invalid_date_from",
2352            ApiStatus::InvalidDayrange => "invalid_dayrange",
2353            ApiStatus::InvalidDelayBefore => "invalid_delay_before",
2354            ApiStatus::InvalidDeletemessage => "invalid_deletemessage",
2355            ApiStatus::InvalidDescription => "invalid_description",
2356            ApiStatus::InvalidDestination => "invalid_destination",
2357            ApiStatus::InvalidDestinationFolder => "invalid_destination_folder",
2358            ApiStatus::InvalidDevicetype => "invalid_devicetype",
2359            ApiStatus::InvalidDialtime => "invalid_dialtime",
2360            ApiStatus::InvalidDID => "invalid_did",
2361            ApiStatus::InvalidDigits => "invalid_digits",
2362            ApiStatus::InvalidDigitTimeout => "invalid_digit_timeout",
2363            ApiStatus::InvalidDISA => "invalid_disa",
2364            ApiStatus::InvalidDiversionHeader => "invalid_diversion_header",
2365            ApiStatus::InvalidDropSilence => "invalid_drop_silence",
2366            ApiStatus::InvalidDST => "invalid_dst",
2367            ApiStatus::InvalidDtmfmode => "invalid_dtmfmode",
2368            ApiStatus::InvalidDTMFDigits => "invalid_dtmf_digits",
2369            ApiStatus::InvalidEmail => "invalid_email",
2370            ApiStatus::InvalidEmailAttachmentFormat => "invalid_email_attachment_format",
2371            ApiStatus::InvalidEmailEnable => "invalid_email_enable",
2372            ApiStatus::InvalidEnableIPRestriction => "invalid_enable_ip_restriction",
2373            ApiStatus::InvalidEnablePOPRestriction => "invalid_enable_pop_restriction",
2374            ApiStatus::InvalidEndhour => "invalid_endhour",
2375            ApiStatus::InvalidEndminute => "invalid_endminute",
2376            ApiStatus::InvalidExtension => "invalid_extension",
2377            ApiStatus::InvalidExtensions => "invalid_extensions",
2378            ApiStatus::InvalidExtensionLength => "invalid_extension_length",
2379            ApiStatus::InvalidExtensionPrefix => "invalid_extension_prefix",
2380            ApiStatus::InvalidFailoverHeader => "invalid_failover_header",
2381            ApiStatus::InvalidFAXID => "invalid_fax_id",
2382            ApiStatus::InvalidFile => "invalid_file",
2383            ApiStatus::InvalidFilter => "invalid_filter",
2384            ApiStatus::InvalidFirstname => "invalid_firstname",
2385            ApiStatus::InvalidFocEnddate => "invalid_foc_enddate",
2386            ApiStatus::InvalidFocStartdate => "invalid_foc_startdate",
2387            ApiStatus::InvalidFolder => "invalid_folder",
2388            ApiStatus::InvalidFolderID => "invalid_folder_id",
2389            ApiStatus::InvalidForwarding => "invalid_forwarding",
2390            ApiStatus::InvalidForwardingDID => "invalid_forwarding_did",
2391            ApiStatus::InvalidForwardEnable => "invalid_forward_enable",
2392            ApiStatus::InvalidFrequencyAnnouncement => "invalid_frequency_announcement",
2393            ApiStatus::InvalidFromNumber => "invalid_from_number",
2394            ApiStatus::InvalidFullname => "invalid_fullname",
2395            ApiStatus::InvalidID => "invalid_id",
2396            ApiStatus::InvalidIfAnnouncePositionEnabledReportE => {
2397                "invalid_if_announce_position_enabled_report_e"
2398            }
2399            ApiStatus::InvalidInternaldialtime => "invalid_internaldialtime",
2400            ApiStatus::InvalidInternalvoicemail => "invalid_internalvoicemail",
2401            ApiStatus::InvalidInternationalroute => "invalid_internationalroute",
2402            ApiStatus::InvalidInvoiceType => "invalid_invoice_type",
2403            ApiStatus::InvalidIP => "invalid_ip",
2404            ApiStatus::InvalidIPAuth => "invalid_ip_auth",
2405            ApiStatus::InvalidIPIax2 => "invalid_ip_iax2",
2406            ApiStatus::InvalidIVR => "invalid_ivr",
2407            ApiStatus::InvalidJitterBuffer => "invalid_jitter_buffer",
2408            ApiStatus::InvalidJoinAnnouncement => "invalid_join_announcement",
2409            ApiStatus::InvalidJoinEmptyType => "invalid_join_empty_type",
2410            ApiStatus::InvalidLanguage => "invalid_language",
2411            ApiStatus::InvalidLastname => "invalid_lastname",
2412            ApiStatus::InvalidListened => "invalid_listened",
2413            ApiStatus::InvalidLocation => "invalid_location",
2414            ApiStatus::InvalidLockinternational => "invalid_lockinternational",
2415            ApiStatus::InvalidMailbox => "invalid_mailbox",
2416            ApiStatus::InvalidMaximumCallers => "invalid_maximum_callers",
2417            ApiStatus::InvalidMaximumWaitTime => "invalid_maximum_wait_time",
2418            ApiStatus::InvalidMaxExpiry => "invalid_max_expiry",
2419            ApiStatus::InvalidMember => "invalid_member",
2420            ApiStatus::InvalidMemberDelay => "invalid_member_delay",
2421            ApiStatus::InvalidMessageNum => "invalid_message_num",
2422            ApiStatus::InvalidMethod => "invalid_method",
2423            ApiStatus::InvalidMinute => "invalid_minute",
2424            ApiStatus::InvalidMixedNumbers => "invalid_mixed_numbers",
2425            ApiStatus::InvalidMonthly => "invalid_monthly",
2426            ApiStatus::InvalidMusiconhold => "invalid_musiconhold",
2427            ApiStatus::InvalidName => "invalid_name",
2428            ApiStatus::InvalidNAT => "invalid_nat",
2429            ApiStatus::InvalidNote => "invalid_note",
2430            ApiStatus::InvalidNumber => "invalid_number",
2431            ApiStatus::InvalidNumbermembers => "invalid_numbermembers",
2432            ApiStatus::InvalidNumberCanadian => "invalid_number_canadian",
2433            ApiStatus::InvalidNumberExist => "invalid_number_exist",
2434            ApiStatus::InvalidNumberFAX => "invalid_number_fax",
2435            ApiStatus::InvalidNumberPorttype => "invalid_number_porttype",
2436            ApiStatus::InvalidNumberUS => "invalid_number_us",
2437            ApiStatus::InvalidOrder => "invalid_order",
2438            ApiStatus::InvalidPackage => "invalid_package",
2439            ApiStatus::InvalidPassword => "invalid_password",
2440            ApiStatus::InvalidPasswordAuth => "invalid_password_auth",
2441            ApiStatus::InvalidPasswordIlegalCharacters => "invalid_password_ilegal_characters",
2442            ApiStatus::InvalidPasswordLessthan8charactersLong => {
2443                "invalid_password_lessthan_8characters_long"
2444            }
2445            ApiStatus::InvalidPasswordMissingLowercase => "invalid_password_missing_lowercase",
2446            ApiStatus::InvalidPasswordMissingNumber => "invalid_password_missing_number",
2447            ApiStatus::InvalidPasswordMissingUppercase => "invalid_password_missing_uppercase",
2448            ApiStatus::InvalidPause => "invalid_pause",
2449            ApiStatus::InvalidPayment => "invalid_payment",
2450            ApiStatus::InvalidPhonebook => "invalid_phonebook",
2451            ApiStatus::InvalidPhonenumber => "invalid_phonenumber",
2452            ApiStatus::InvalidPIN => "invalid_pin",
2453            ApiStatus::InvalidPINNumber => "invalid_pin_number",
2454            ApiStatus::InvalidPlayinstructions => "invalid_playinstructions",
2455            ApiStatus::InvalidPOPRestriction => "invalid_pop_restriction",
2456            ApiStatus::InvalidPortingid => "invalid_portingid",
2457            ApiStatus::InvalidPorttype => "invalid_porttype",
2458            ApiStatus::InvalidPortStatus => "invalid_port_status",
2459            ApiStatus::InvalidPriority => "invalid_priority",
2460            ApiStatus::InvalidPriorityWeight => "invalid_priority_weight",
2461            ApiStatus::InvalidProtocol => "invalid_protocol",
2462            ApiStatus::InvalidProviderAccount => "invalid_provider_account",
2463            ApiStatus::InvalidProviderName => "invalid_provider_name",
2464            ApiStatus::InvalidProvince => "invalid_province",
2465            ApiStatus::InvalidQuantity => "invalid_quantity",
2466            ApiStatus::InvalidQuery => "invalid_query",
2467            ApiStatus::InvalidQueue => "invalid_queue",
2468            ApiStatus::InvalidQuiet => "invalid_quiet",
2469            ApiStatus::InvalidRecording => "invalid_recording",
2470            ApiStatus::InvalidRecordingSoundErrorMenu => "invalid_recording_sound_error_menu",
2471            ApiStatus::InvalidRecordingSoundGetPIN => "invalid_recording_sound_get_pin",
2472            ApiStatus::InvalidRecordingSoundHasJoined => "invalid_recording_sound_has_joined",
2473            ApiStatus::InvalidRecordingSoundHasLeft => "invalid_recording_sound_has_left",
2474            ApiStatus::InvalidRecordingSoundInvalidPIN => "invalid_recording_sound_invalid_pin",
2475            ApiStatus::InvalidRecordingSoundJoin => "invalid_recording_sound_join",
2476            ApiStatus::InvalidRecordingSoundKicked => "invalid_recording_sound_kicked",
2477            ApiStatus::InvalidRecordingSoundLeave => "invalid_recording_sound_leave",
2478            ApiStatus::InvalidRecordingSoundLocked => "invalid_recording_sound_locked",
2479            ApiStatus::InvalidRecordingSoundLockedNow => "invalid_recording_sound_locked_now",
2480            ApiStatus::InvalidRecordingSoundMuted => "invalid_recording_sound_muted",
2481            ApiStatus::InvalidRecordingSoundOnlyOne => "invalid_recording_sound_only_one",
2482            ApiStatus::InvalidRecordingSoundOnlyPerson => "invalid_recording_sound_only_person",
2483            ApiStatus::InvalidRecordingSoundOtherInParty => {
2484                "invalid_recording_sound_other_in_party"
2485            }
2486            ApiStatus::InvalidRecordingSoundParticipantsMuted => {
2487                "invalid_recording_sound_participants_muted"
2488            }
2489            ApiStatus::InvalidRecordingSoundParticipantsUnmuted => {
2490                "invalid_recording_sound_participants_unmuted"
2491            }
2492            ApiStatus::InvalidRecordingSoundPlaceIntoConference => {
2493                "invalid_recording_sound_place_into_conference"
2494            }
2495            ApiStatus::InvalidRecordingSoundThereAre => "invalid_recording_sound_there_are",
2496            ApiStatus::InvalidRecordingSoundUnlockedNow => "invalid_recording_sound_unlocked_now",
2497            ApiStatus::InvalidRecordingSoundUnmuted => "invalid_recording_sound_unmuted",
2498            ApiStatus::InvalidRecordCalls => "invalid_record_calls",
2499            ApiStatus::InvalidReportHoldTimeAgent => "invalid_report_hold_time_agent",
2500            ApiStatus::InvalidResellerclient => "invalid_resellerclient",
2501            ApiStatus::InvalidResellernextbilling => "invalid_resellernextbilling",
2502            ApiStatus::InvalidResellerpackage => "invalid_resellerpackage",
2503            ApiStatus::InvalidResponseTimeout => "invalid_response_timeout",
2504            ApiStatus::InvalidRetryTimer => "invalid_retry_timer",
2505            ApiStatus::InvalidRinggroup => "invalid_ringgroup",
2506            ApiStatus::InvalidRingInuse => "invalid_ring_inuse",
2507            ApiStatus::InvalidRoute => "invalid_route",
2508            ApiStatus::InvalidRoutingHeader => "invalid_routing_header",
2509            ApiStatus::InvalidRTPHoldTimeout => "invalid_rtp_hold_timeout",
2510            ApiStatus::InvalidRTPTimeout => "invalid_rtp_timeout",
2511            ApiStatus::InvalidSaycallerid => "invalid_saycallerid",
2512            ApiStatus::InvalidSaytime => "invalid_saytime",
2513            ApiStatus::InvalidSecurityCode => "invalid_security_code",
2514            ApiStatus::InvalidServerpop => "invalid_serverpop",
2515            ApiStatus::InvalidSetup => "invalid_setup",
2516            ApiStatus::InvalidSilenceThreshold => "invalid_silence_threshold",
2517            ApiStatus::InvalidSIPURI => "invalid_sipuri",
2518            ApiStatus::InvalidSIPTraffic => "invalid_sip_traffic",
2519            ApiStatus::InvalidSkippassword => "invalid_skippassword",
2520            ApiStatus::InvalidSmppPassword => "invalid_smpp_password",
2521            ApiStatus::InvalidSmppURL => "invalid_smpp_url",
2522            ApiStatus::InvalidSmppUsername => "invalid_smpp_username",
2523            ApiStatus::InvalidSMS => "invalid_sms",
2524            ApiStatus::InvalidSMSForward => "invalid_sms_forward",
2525            ApiStatus::InvalidSnn => "invalid_snn",
2526            ApiStatus::InvalidSpeedDial => "invalid_speed_dial",
2527            ApiStatus::InvalidStarthour => "invalid_starthour",
2528            ApiStatus::InvalidStartminute => "invalid_startminute",
2529            ApiStatus::InvalidStartMuted => "invalid_start_muted",
2530            ApiStatus::InvalidState => "invalid_state",
2531            ApiStatus::InvalidStatementName => "invalid_statement_name",
2532            ApiStatus::InvalidStrategy => "invalid_strategy",
2533            ApiStatus::InvalidStreetName => "invalid_street_name",
2534            ApiStatus::InvalidStreetNumber => "invalid_street_number",
2535            ApiStatus::InvalidTalkingThreshold => "invalid_talking_threshold",
2536            ApiStatus::InvalidTalkDetection => "invalid_talk_detection",
2537            ApiStatus::InvalidTfnumberPorttype => "invalid_tfnumber_porttype",
2538            ApiStatus::InvalidThankyouForYourPatience => "invalid_thankyou_for_your_patience",
2539            ApiStatus::InvalidThreshold => "Invalid_threshold",
2540            ApiStatus::InvalidTimecondition => "invalid_timecondition",
2541            ApiStatus::InvalidTimeout => "invalid_timeout",
2542            ApiStatus::InvalidTimerange => "invalid_timerange",
2543            ApiStatus::InvalidTimezone => "invalid_timezone",
2544            ApiStatus::InvalidToNumber => "invalid_to_number",
2545            ApiStatus::InvalidTranscriptionEmail => "invalid_transcription_email",
2546            ApiStatus::InvalidTranscriptionFormat => "invalid_transcription_format",
2547            ApiStatus::InvalidTranscriptionLocale => "invalid_transcription_locale",
2548            ApiStatus::InvalidTranscriptionRedaction => "invalid_transcription_redaction",
2549            ApiStatus::InvalidTranscriptionSentiment => "invalid_transcription_sentiment",
2550            ApiStatus::InvalidTranscriptionSummary => "invalid_transcription_summary",
2551            ApiStatus::InvalidType => "invalid_type",
2552            ApiStatus::InvalidUrgent => "invalid_urgent",
2553            ApiStatus::InvalidUsername => "invalid_username",
2554            ApiStatus::InvalidVoicemailsetup => "invalid_voicemailsetup",
2555            ApiStatus::InvalidVoiceAnnouncement => "invalid_voice_announcement",
2556            ApiStatus::InvalidWeekdayend => "invalid_weekdayend",
2557            ApiStatus::InvalidWeekdaystart => "invalid_weekdaystart",
2558            ApiStatus::InvalidWrapupTime => "invalid_wrapup_time",
2559            ApiStatus::InvalidZip => "invalid_zip",
2560            ApiStatus::IPNotEnabled => "ip_not_enabled",
2561            ApiStatus::LimitReached => "limit_reached",
2562            ApiStatus::LocationAlreadyExists => "location_already_exists",
2563            ApiStatus::LocationLinkedToSubaccount => "location_linked_to_subaccount",
2564            ApiStatus::LocationNotFound => "location_not_found",
2565            ApiStatus::MaxPhonebook => "max_phonebook",
2566            ApiStatus::MembersExceeded => "members_exceeded",
2567            ApiStatus::MemberAlreadyIncluded => "member_already_included",
2568            ApiStatus::MessageEmpty => "message_empty",
2569            ApiStatus::MessageNotFound => "message_not_found",
2570            ApiStatus::MethodMaintenance => "method_maintenance",
2571            ApiStatus::MismatchEmailConfirm => "mismatch_email_confirm",
2572            ApiStatus::MismatchPasswordConfirm => "mismatch_password_confirm",
2573            ApiStatus::MissingAccount => "missing_account",
2574            ApiStatus::MissingAddress => "missing_address",
2575            ApiStatus::MissingAgentRingTimeout => "missing_agent_ring_timeout",
2576            ApiStatus::MissingAllowedcodecs => "missing_allowedcodecs",
2577            ApiStatus::MissingAttachmessage => "missing_attachmessage",
2578            ApiStatus::MissingAuthtype => "missing_authtype",
2579            ApiStatus::MissingBalancemanagement => "missing_balancemanagement",
2580            ApiStatus::MissingBillingtype => "missing_billingtype",
2581            ApiStatus::MissingCallback => "missing_callback",
2582            ApiStatus::MissingCallerid => "missing_callerid",
2583            ApiStatus::MissingCallhunting => "missing_callhunting",
2584            ApiStatus::MissingCallparking => "missing_callparking",
2585            ApiStatus::MissingCallrecording => "missing_callrecording",
2586            ApiStatus::MissingCarrier => "missing_carrier",
2587            ApiStatus::MissingCharge => "missing_charge",
2588            ApiStatus::MissingChoices => "missing_choices",
2589            ApiStatus::MissingCity => "missing_city",
2590            ApiStatus::MissingClient => "missing_client",
2591            ApiStatus::MissingCNAM => "missing_cnam",
2592            ApiStatus::MissingCodec => "missing_codec",
2593            ApiStatus::MissingConference => "missing_conference",
2594            ApiStatus::MissingCountry => "missing_country",
2595            ApiStatus::MissingCountryid => "missing_countryid",
2596            ApiStatus::MissingCredentials => "missing_credentials",
2597            ApiStatus::MissingDatetime => "missing_datetime",
2598            ApiStatus::MissingDelayBefore => "missing_delay_before",
2599            ApiStatus::MissingDeletemessage => "missing_deletemessage",
2600            ApiStatus::MissingDescription => "missing_description",
2601            ApiStatus::MissingDevicetype => "missing_devicetype",
2602            ApiStatus::MissingDialtime => "missing_dialtime",
2603            ApiStatus::MissingDID => "missing_did",
2604            ApiStatus::MissingDigits => "missing_digits",
2605            ApiStatus::MissingDigitTimeout => "missing_digit_timeout",
2606            ApiStatus::MissingDISA => "missing_disa",
2607            ApiStatus::MissingDtmfmode => "missing_dtmfmode",
2608            ApiStatus::MissingEmail => "missing_email",
2609            ApiStatus::MissingEmailConfirm => "missing_email_confirm",
2610            ApiStatus::MissingEnable => "missing_enable",
2611            ApiStatus::MissingEndhour => "missing_endhour",
2612            ApiStatus::MissingEndminute => "missing_endminute",
2613            ApiStatus::MissingFailoverBusy => "missing_failover_busy",
2614            ApiStatus::MissingFailoverNoanswer => "missing_failover_noanswer",
2615            ApiStatus::MissingFailoverUnreachable => "missing_failover_unreachable",
2616            ApiStatus::MissingFile => "missing_file",
2617            ApiStatus::MissingFilter => "missing_filter",
2618            ApiStatus::MissingFirstname => "missing_firstname",
2619            ApiStatus::MissingFolder => "missing_folder",
2620            ApiStatus::MissingForwarding => "missing_forwarding",
2621            ApiStatus::MissingFromDate => "missing_from_date",
2622            ApiStatus::MissingFullname => "missing_fullname",
2623            ApiStatus::MissingID => "missing_id",
2624            ApiStatus::MissingIfAnnouncePositionEnabledReportE => {
2625                "missing_if_announce_position_enabled_report_e"
2626            }
2627            ApiStatus::MissingInternationalroute => "missing_internationalroute",
2628            ApiStatus::MissingIP => "missing_ip",
2629            ApiStatus::MissingIPH323 => "missing_ip_h323",
2630            ApiStatus::MissingIPRestriction => "missing_ip_restriction",
2631            ApiStatus::MissingIVR => "missing_ivr",
2632            ApiStatus::MissingJoinWhenEmpty => "missing_join_when_empty",
2633            ApiStatus::MissingLanguage => "missing_language",
2634            ApiStatus::MissingLastname => "missing_lastname",
2635            ApiStatus::MissingLeaveWhenEmpty => "missing_leave_when_empty",
2636            ApiStatus::MissingLength => "missing_length",
2637            ApiStatus::MissingListened => "missing_listened",
2638            ApiStatus::MissingLocation => "missing_location",
2639            ApiStatus::MissingLocationName => "missing_location_name",
2640            ApiStatus::MissingLockinternational => "missing_lockinternational",
2641            ApiStatus::MissingMailbox => "missing_mailbox",
2642            ApiStatus::MissingMember => "missing_member",
2643            ApiStatus::MissingMembers => "missing_members",
2644            ApiStatus::MissingMessageNum => "missing_message_num",
2645            ApiStatus::MissingMethod => "missing_method",
2646            ApiStatus::MissingMinute => "missing_minute",
2647            ApiStatus::MissingMonthly => "missing_monthly",
2648            ApiStatus::MissingMusiconhold => "missing_musiconhold",
2649            ApiStatus::MissingName => "missing_name",
2650            ApiStatus::MissingNAT => "missing_nat",
2651            ApiStatus::MissingNumber => "missing_number",
2652            ApiStatus::MissingNumbers => "missing_numbers",
2653            ApiStatus::MissingPackage => "missing_package",
2654            ApiStatus::MissingParams => "missing_params",
2655            ApiStatus::MissingPassword => "missing_password",
2656            ApiStatus::MissingPasswordConfirm => "missing_password_confirm",
2657            ApiStatus::MissingPayment => "missing_payment",
2658            ApiStatus::MissingPhonebook => "missing_phonebook",
2659            ApiStatus::MissingPhonenumber => "missing_phonenumber",
2660            ApiStatus::MissingPIN => "missing_pin",
2661            ApiStatus::MissingPlayinstructions => "missing_playinstructions",
2662            ApiStatus::MissingPOPRestriction => "missing_pop_restriction",
2663            ApiStatus::MissingPriority => "missing_priority",
2664            ApiStatus::MissingPriorityWeight => "missing_priority_weight",
2665            ApiStatus::MissingProtocol => "missing_protocol",
2666            ApiStatus::MissingProvince => "missing_province",
2667            ApiStatus::MissingQuery => "missing_query",
2668            ApiStatus::MissingRecording => "missing_recording",
2669            ApiStatus::MissingReportHoldTimeAgent => "missing_report_hold_time_agent",
2670            ApiStatus::MissingResellerclient => "missing_resellerclient",
2671            ApiStatus::MissingResellerpackage => "missing_resellerpackage",
2672            ApiStatus::MissingResponseTimeout => "missing_response_timeout",
2673            ApiStatus::MissingRinggroup => "missing_ringgroup",
2674            ApiStatus::MissingRingInuse => "missing_ring_inuse",
2675            ApiStatus::MissingRingStrategy => "missing_ring_strategy",
2676            ApiStatus::MissingRoute => "missing_route",
2677            ApiStatus::MissingRouting => "missing_routing",
2678            ApiStatus::MissingSaycallerid => "missing_saycallerid",
2679            ApiStatus::MissingSaytime => "missing_saytime",
2680            ApiStatus::MissingServerpop => "missing_serverpop",
2681            ApiStatus::MissingSetup => "missing_setup",
2682            ApiStatus::MissingSIPURI => "missing_sipuri",
2683            ApiStatus::MissingSkippassword => "missing_skippassword",
2684            ApiStatus::MissingSMS => "missing_sms",
2685            ApiStatus::MissingSpeedDial => "missing_speed_dial",
2686            ApiStatus::MissingStart => "missing_start",
2687            ApiStatus::MissingStarthour => "missing_starthour",
2688            ApiStatus::MissingStartminute => "missing_startminute",
2689            ApiStatus::MissingState => "missing_state",
2690            ApiStatus::MissingStreetName => "missing_street_name",
2691            ApiStatus::MissingStreetNumber => "missing_street_number",
2692            ApiStatus::MissingThankyouForYourPatience => "missing_thankyou_for_your_patience",
2693            ApiStatus::MissingTimecondition => "missing_timecondition",
2694            ApiStatus::MissingTimeout => "missing_timeout",
2695            ApiStatus::MissingTimezone => "missing_timezone",
2696            ApiStatus::MissingToDate => "missing_to_date",
2697            ApiStatus::MissingTranscriptionEmail => "missing_transcription_email",
2698            ApiStatus::MissingTranscriptionLocale => "missing_transcription_locale",
2699            ApiStatus::MissingType => "missing_type",
2700            ApiStatus::MissingUrgent => "missing_urgent",
2701            ApiStatus::MissingURI => "missing_uri",
2702            ApiStatus::MissingUsername => "missing_username",
2703            ApiStatus::MissingVoicemailsetup => "missing_voicemailsetup",
2704            ApiStatus::MissingWeekdayend => "missing_weekdayend",
2705            ApiStatus::MissingWeekdaystart => "missing_weekdaystart",
2706            ApiStatus::MissingZip => "missing_zip",
2707            ApiStatus::MovingFail => "moving_fail",
2708            ApiStatus::NameToolong => "name_toolong",
2709            ApiStatus::NonSufficientFunds => "non_sufficient_funds",
2710            ApiStatus::NoteToolong => "note_toolong",
2711            ApiStatus::NoAccount => "no_account",
2712            ApiStatus::NoAttachments => "no_attachments",
2713            ApiStatus::NoBase64file => "no_base64file",
2714            ApiStatus::NoCallback => "no_callback",
2715            ApiStatus::NoCallhunting => "no_callhunting",
2716            ApiStatus::NoCallparking => "no_callparking",
2717            ApiStatus::NoCallstatus => "no_callstatus",
2718            ApiStatus::NoCDR => "no_cdr",
2719            ApiStatus::NoChangeBillingtype => "no_change_billingtype",
2720            ApiStatus::NoClient => "no_client",
2721            ApiStatus::NoConference => "no_conference",
2722            ApiStatus::NoDID => "no_did",
2723            ApiStatus::NoDISA => "no_disa",
2724            ApiStatus::NoFilter => "no_filter",
2725            ApiStatus::NoForwarding => "no_forwarding",
2726            ApiStatus::NoIVR => "no_ivr",
2727            ApiStatus::NoMailbox => "no_mailbox",
2728            ApiStatus::NoMember => "no_member",
2729            ApiStatus::NoMessage => "no_message",
2730            ApiStatus::NoMessages => "no_messages",
2731            ApiStatus::NoNumbers => "no_numbers",
2732            ApiStatus::NoPackage => "no_package",
2733            ApiStatus::NoPhonebook => "no_phonebook",
2734            ApiStatus::NoProvision => "no_provision",
2735            ApiStatus::NoProvisionUpdate => "no_provision_update",
2736            ApiStatus::NoQueue => "no_queue",
2737            ApiStatus::NoRate => "no_rate",
2738            ApiStatus::NoRecording => "no_recording",
2739            ApiStatus::NoRinggroup => "no_ringgroup",
2740            ApiStatus::NoSequences => "no_sequences",
2741            ApiStatus::NoSIPURI => "no_sipuri",
2742            ApiStatus::NoSMS => "no_sms",
2743            ApiStatus::NoTimecondition => "no_timecondition",
2744            ApiStatus::OrderFailed => "order_failed",
2745            ApiStatus::ProblemSendingMail => "problem_sending_mail",
2746            ApiStatus::ProviderOutofservice => "provider_outofservice",
2747            ApiStatus::RecordingInUseCallerIDFiltering => "recording_in_use_caller_id_filtering",
2748            ApiStatus::RecordingInUseCallerTimecondition => "recording_in_use_caller_timecondition",
2749            ApiStatus::RecordingInUseDID => "recording_in_use_did",
2750            ApiStatus::RecordingInUseIVR => "recording_in_use_ivr",
2751            ApiStatus::RecordingInUseQueue => "recording_in_use_queue",
2752            ApiStatus::RepeatedIP => "repeated_ip",
2753            ApiStatus::ReservedIP => "reserved_ip",
2754            ApiStatus::RTPTimeoutGreaterThanRTPHoldTimeout => {
2755                "rtp_timeout_greater_than_rtp_hold_timeout"
2756            }
2757            ApiStatus::SameDIDBillingtype => "same_did_billingtype",
2758            ApiStatus::SentFail => "sent_fail",
2759            ApiStatus::SIPURIInPhonebook => "sipuri_in_phonebook",
2760            ApiStatus::SMSApplyRegulations => "sms_apply_regulations",
2761            ApiStatus::SMSFailed => "sms_failed",
2762            ApiStatus::SMSToolong => "sms_toolong",
2763            ApiStatus::SMSWaitMessage => "sms_wait_message",
2764            ApiStatus::TlsError => "tls_error",
2765            ApiStatus::UnableToPurchase => "Unable_to_purchase",
2766            ApiStatus::UnavailableInfo => "unavailable_info",
2767            ApiStatus::UnsifficientStock => "unsifficient_stock",
2768            ApiStatus::UsedDescription => "used_description",
2769            ApiStatus::UsedEmail => "used_email",
2770            ApiStatus::UsedExtension => "used_extension",
2771            ApiStatus::UsedExtensionInLocation => "used_extension_in_location",
2772            ApiStatus::UsedFilter => "used_filter",
2773            ApiStatus::UsedIP => "used_ip",
2774            ApiStatus::UsedName => "used_name",
2775            ApiStatus::UsedNumber => "used_number",
2776            ApiStatus::UsedPassword => "used_password",
2777            ApiStatus::UsedSpeedDial => "used_speed_dial",
2778            ApiStatus::UsedUsername => "used_username",
2779            ApiStatus::WeakPassword => "weak_password",
2780            ApiStatus::Unknown(s) => s.as_str(),
2781        }
2782    }
2783
2784    /// Parse a wire `status` string. Unknown values are preserved
2785    /// in [`ApiStatus::Unknown`].
2786    pub fn from_wire(s: &str) -> Self {
2787        match s {
2788            "account_with_dids" => ApiStatus::AccountWithDIDs,
2789            "api_limit_exceeded" => ApiStatus::APILimitExceeded,
2790            "api_not_enabled" => ApiStatus::APINotEnabled,
2791            "cancel_failed" => ApiStatus::CancelFailed,
2792            "can_have_only_one_profile_without_pin" => ApiStatus::CANHaveOnlyOneProfileWithoutPIN,
2793            "conference_member_relation_not_found" => ApiStatus::ConferenceMemberRelationNotFound,
2794            "did_in_use" => ApiStatus::DIDInUse,
2795            "did_limit_reached" => ApiStatus::DIDLimitReached,
2796            "duplicated_name" => ApiStatus::DuplicatedName,
2797            "duplicated_pin" => ApiStatus::DuplicatedPIN,
2798            "e911_disabled" => ApiStatus::E911Disabled,
2799            "e911_pending" => ApiStatus::E911Pending,
2800            "error_deleting_msg" => ApiStatus::ErrorDeletingMsg,
2801            "error_moving_msg" => ApiStatus::ErrorMovingMsg,
2802            "exceeds_file_size" => ApiStatus::ExceedsFileSize,
2803            "existing_did" => ApiStatus::ExistingDID,
2804            "forwards_exceeded" => ApiStatus::ForwardsExceeded,
2805            "invalid_account" => ApiStatus::InvalidAccount,
2806            "invalid_address" => ApiStatus::InvalidAddress,
2807            "invalid_admin" => ApiStatus::InvalidAdmin,
2808            "invalid_agent_ring_timeout" => ApiStatus::InvalidAgentRingTimeout,
2809            "invalid_allowedcodecs" => ApiStatus::InvalidAllowedcodecs,
2810            "invalid_announce_join_leave" => ApiStatus::InvalidAnnounceJoinLeave,
2811            "invalid_announce_only_user" => ApiStatus::InvalidAnnounceOnlyUser,
2812            "invalid_announce_position_frequency" => ApiStatus::InvalidAnnouncePositionFrequency,
2813            "invalid_announce_round_seconds" => ApiStatus::InvalidAnnounceRoundSeconds,
2814            "invalid_announce_user_count" => ApiStatus::InvalidAnnounceUserCount,
2815            "invalid_area_code" => ApiStatus::InvalidAreaCode,
2816            "invalid_attachid" => ApiStatus::InvalidAttachid,
2817            "invalid_attachmessage" => ApiStatus::InvalidAttachmessage,
2818            "invalid_attach_file" => ApiStatus::InvalidAttachFile,
2819            "invalid_authtype" => ApiStatus::InvalidAuthtype,
2820            "invalid_authtype_h323" => ApiStatus::InvalidAuthtypeH323,
2821            "invalid_authtype_iax2" => ApiStatus::InvalidAuthtypeIax2,
2822            "invalid_balancemanagement" => ApiStatus::InvalidBalancemanagement,
2823            "invalid_base_recording" => ApiStatus::InvalidBaseRecording,
2824            "invalid_billingtype" => ApiStatus::InvalidBillingtype,
2825            "invalid_callback" => ApiStatus::InvalidCallback,
2826            "invalid_callback_enable" => ApiStatus::InvalidCallbackEnable,
2827            "invalid_callback_retry" => ApiStatus::InvalidCallbackRetry,
2828            "invalid_callerid" => ApiStatus::InvalidCallerid,
2829            "invalid_calleridprefix" => ApiStatus::InvalidCalleridprefix,
2830            "invalid_callerid_override" => ApiStatus::InvalidCalleridOverride,
2831            "invalid_callhunting" => ApiStatus::InvalidCallhunting,
2832            "invalid_callparking" => ApiStatus::InvalidCallparking,
2833            "invalid_callrecording" => ApiStatus::InvalidCallrecording,
2834            "invalid_call_type" => ApiStatus::InvalidCallType,
2835            "invalid_canada_routing" => ApiStatus::InvalidCanadaRouting,
2836            "invalid_carrier" => ApiStatus::InvalidCarrier,
2837            "invalid_charge" => ApiStatus::InvalidCharge,
2838            "invalid_city" => ApiStatus::InvalidCity,
2839            "invalid_client" => ApiStatus::InvalidClient,
2840            "invalid_cnam" => ApiStatus::InvalidCNAM,
2841            "invalid_codec" => ApiStatus::InvalidCodec,
2842            "invalid_conference" => ApiStatus::InvalidConference,
2843            "invalid_contact" => ApiStatus::InvalidContact,
2844            "invalid_country" => ApiStatus::InvalidCountry,
2845            "invalid_countryid" => ApiStatus::InvalidCountryid,
2846            "invalid_credentials" => ApiStatus::InvalidCredentials,
2847            "invalid_date" => ApiStatus::InvalidDate,
2848            "invalid_daterange" => ApiStatus::InvalidDaterange,
2849            "invalid_datetime" => ApiStatus::InvalidDatetime,
2850            "invalid_date_from" => ApiStatus::InvalidDateFrom,
2851            "invalid_dayrange" => ApiStatus::InvalidDayrange,
2852            "invalid_delay_before" => ApiStatus::InvalidDelayBefore,
2853            "invalid_deletemessage" => ApiStatus::InvalidDeletemessage,
2854            "invalid_description" => ApiStatus::InvalidDescription,
2855            "invalid_destination" => ApiStatus::InvalidDestination,
2856            "invalid_destination_folder" => ApiStatus::InvalidDestinationFolder,
2857            "invalid_devicetype" => ApiStatus::InvalidDevicetype,
2858            "invalid_dialtime" => ApiStatus::InvalidDialtime,
2859            "invalid_did" => ApiStatus::InvalidDID,
2860            "invalid_digits" => ApiStatus::InvalidDigits,
2861            "invalid_digit_timeout" => ApiStatus::InvalidDigitTimeout,
2862            "invalid_disa" => ApiStatus::InvalidDISA,
2863            "invalid_diversion_header" => ApiStatus::InvalidDiversionHeader,
2864            "invalid_drop_silence" => ApiStatus::InvalidDropSilence,
2865            "invalid_dst" => ApiStatus::InvalidDST,
2866            "invalid_dtmfmode" => ApiStatus::InvalidDtmfmode,
2867            "invalid_dtmf_digits" => ApiStatus::InvalidDTMFDigits,
2868            "invalid_email" => ApiStatus::InvalidEmail,
2869            "invalid_email_attachment_format" => ApiStatus::InvalidEmailAttachmentFormat,
2870            "invalid_email_enable" => ApiStatus::InvalidEmailEnable,
2871            "invalid_enable_ip_restriction" => ApiStatus::InvalidEnableIPRestriction,
2872            "invalid_enable_pop_restriction" => ApiStatus::InvalidEnablePOPRestriction,
2873            "invalid_endhour" => ApiStatus::InvalidEndhour,
2874            "invalid_endminute" => ApiStatus::InvalidEndminute,
2875            "invalid_extension" => ApiStatus::InvalidExtension,
2876            "invalid_extensions" => ApiStatus::InvalidExtensions,
2877            "invalid_extension_length" => ApiStatus::InvalidExtensionLength,
2878            "invalid_extension_prefix" => ApiStatus::InvalidExtensionPrefix,
2879            "invalid_failover_header" => ApiStatus::InvalidFailoverHeader,
2880            "invalid_fax_id" => ApiStatus::InvalidFAXID,
2881            "invalid_file" => ApiStatus::InvalidFile,
2882            "invalid_filter" => ApiStatus::InvalidFilter,
2883            "invalid_firstname" => ApiStatus::InvalidFirstname,
2884            "invalid_foc_enddate" => ApiStatus::InvalidFocEnddate,
2885            "invalid_foc_startdate" => ApiStatus::InvalidFocStartdate,
2886            "invalid_folder" => ApiStatus::InvalidFolder,
2887            "invalid_folder_id" => ApiStatus::InvalidFolderID,
2888            "invalid_forwarding" => ApiStatus::InvalidForwarding,
2889            "invalid_forwarding_did" => ApiStatus::InvalidForwardingDID,
2890            "invalid_forward_enable" => ApiStatus::InvalidForwardEnable,
2891            "invalid_frequency_announcement" => ApiStatus::InvalidFrequencyAnnouncement,
2892            "invalid_from_number" => ApiStatus::InvalidFromNumber,
2893            "invalid_fullname" => ApiStatus::InvalidFullname,
2894            "invalid_id" => ApiStatus::InvalidID,
2895            "invalid_if_announce_position_enabled_report_e" => {
2896                ApiStatus::InvalidIfAnnouncePositionEnabledReportE
2897            }
2898            "invalid_internaldialtime" => ApiStatus::InvalidInternaldialtime,
2899            "invalid_internalvoicemail" => ApiStatus::InvalidInternalvoicemail,
2900            "invalid_internationalroute" => ApiStatus::InvalidInternationalroute,
2901            "invalid_invoice_type" => ApiStatus::InvalidInvoiceType,
2902            "invalid_ip" => ApiStatus::InvalidIP,
2903            "invalid_ip_auth" => ApiStatus::InvalidIPAuth,
2904            "invalid_ip_iax2" => ApiStatus::InvalidIPIax2,
2905            "invalid_ivr" => ApiStatus::InvalidIVR,
2906            "invalid_jitter_buffer" => ApiStatus::InvalidJitterBuffer,
2907            "invalid_join_announcement" => ApiStatus::InvalidJoinAnnouncement,
2908            "invalid_join_empty_type" => ApiStatus::InvalidJoinEmptyType,
2909            "invalid_language" => ApiStatus::InvalidLanguage,
2910            "invalid_lastname" => ApiStatus::InvalidLastname,
2911            "invalid_listened" => ApiStatus::InvalidListened,
2912            "invalid_location" => ApiStatus::InvalidLocation,
2913            "invalid_lockinternational" => ApiStatus::InvalidLockinternational,
2914            "invalid_mailbox" => ApiStatus::InvalidMailbox,
2915            "invalid_maximum_callers" => ApiStatus::InvalidMaximumCallers,
2916            "invalid_maximum_wait_time" => ApiStatus::InvalidMaximumWaitTime,
2917            "invalid_max_expiry" => ApiStatus::InvalidMaxExpiry,
2918            "invalid_member" => ApiStatus::InvalidMember,
2919            "invalid_member_delay" => ApiStatus::InvalidMemberDelay,
2920            "invalid_message_num" => ApiStatus::InvalidMessageNum,
2921            "invalid_method" => ApiStatus::InvalidMethod,
2922            "invalid_minute" => ApiStatus::InvalidMinute,
2923            "invalid_mixed_numbers" => ApiStatus::InvalidMixedNumbers,
2924            "invalid_monthly" => ApiStatus::InvalidMonthly,
2925            "invalid_musiconhold" => ApiStatus::InvalidMusiconhold,
2926            "invalid_name" => ApiStatus::InvalidName,
2927            "invalid_nat" => ApiStatus::InvalidNAT,
2928            "invalid_note" => ApiStatus::InvalidNote,
2929            "invalid_number" => ApiStatus::InvalidNumber,
2930            "invalid_numbermembers" => ApiStatus::InvalidNumbermembers,
2931            "invalid_number_canadian" => ApiStatus::InvalidNumberCanadian,
2932            "invalid_number_exist" => ApiStatus::InvalidNumberExist,
2933            "invalid_number_fax" => ApiStatus::InvalidNumberFAX,
2934            "invalid_number_porttype" => ApiStatus::InvalidNumberPorttype,
2935            "invalid_number_us" => ApiStatus::InvalidNumberUS,
2936            "invalid_order" => ApiStatus::InvalidOrder,
2937            "invalid_package" => ApiStatus::InvalidPackage,
2938            "invalid_password" => ApiStatus::InvalidPassword,
2939            "invalid_password_auth" => ApiStatus::InvalidPasswordAuth,
2940            "invalid_password_ilegal_characters" => ApiStatus::InvalidPasswordIlegalCharacters,
2941            "invalid_password_lessthan_8characters_long" => {
2942                ApiStatus::InvalidPasswordLessthan8charactersLong
2943            }
2944            "invalid_password_missing_lowercase" => ApiStatus::InvalidPasswordMissingLowercase,
2945            "invalid_password_missing_number" => ApiStatus::InvalidPasswordMissingNumber,
2946            "invalid_password_missing_uppercase" => ApiStatus::InvalidPasswordMissingUppercase,
2947            "invalid_pause" => ApiStatus::InvalidPause,
2948            "invalid_payment" => ApiStatus::InvalidPayment,
2949            "invalid_phonebook" => ApiStatus::InvalidPhonebook,
2950            "invalid_phonenumber" => ApiStatus::InvalidPhonenumber,
2951            "invalid_pin" => ApiStatus::InvalidPIN,
2952            "invalid_pin_number" => ApiStatus::InvalidPINNumber,
2953            "invalid_playinstructions" => ApiStatus::InvalidPlayinstructions,
2954            "invalid_pop_restriction" => ApiStatus::InvalidPOPRestriction,
2955            "invalid_portingid" => ApiStatus::InvalidPortingid,
2956            "invalid_porttype" => ApiStatus::InvalidPorttype,
2957            "invalid_port_status" => ApiStatus::InvalidPortStatus,
2958            "invalid_priority" => ApiStatus::InvalidPriority,
2959            "invalid_priority_weight" => ApiStatus::InvalidPriorityWeight,
2960            "invalid_protocol" => ApiStatus::InvalidProtocol,
2961            "invalid_provider_account" => ApiStatus::InvalidProviderAccount,
2962            "invalid_provider_name" => ApiStatus::InvalidProviderName,
2963            "invalid_province" => ApiStatus::InvalidProvince,
2964            "invalid_quantity" => ApiStatus::InvalidQuantity,
2965            "invalid_query" => ApiStatus::InvalidQuery,
2966            "invalid_queue" => ApiStatus::InvalidQueue,
2967            "invalid_quiet" => ApiStatus::InvalidQuiet,
2968            "invalid_recording" => ApiStatus::InvalidRecording,
2969            "invalid_recording_sound_error_menu" => ApiStatus::InvalidRecordingSoundErrorMenu,
2970            "invalid_recording_sound_get_pin" => ApiStatus::InvalidRecordingSoundGetPIN,
2971            "invalid_recording_sound_has_joined" => ApiStatus::InvalidRecordingSoundHasJoined,
2972            "invalid_recording_sound_has_left" => ApiStatus::InvalidRecordingSoundHasLeft,
2973            "invalid_recording_sound_invalid_pin" => ApiStatus::InvalidRecordingSoundInvalidPIN,
2974            "invalid_recording_sound_join" => ApiStatus::InvalidRecordingSoundJoin,
2975            "invalid_recording_sound_kicked" => ApiStatus::InvalidRecordingSoundKicked,
2976            "invalid_recording_sound_leave" => ApiStatus::InvalidRecordingSoundLeave,
2977            "invalid_recording_sound_locked" => ApiStatus::InvalidRecordingSoundLocked,
2978            "invalid_recording_sound_locked_now" => ApiStatus::InvalidRecordingSoundLockedNow,
2979            "invalid_recording_sound_muted" => ApiStatus::InvalidRecordingSoundMuted,
2980            "invalid_recording_sound_only_one" => ApiStatus::InvalidRecordingSoundOnlyOne,
2981            "invalid_recording_sound_only_person" => ApiStatus::InvalidRecordingSoundOnlyPerson,
2982            "invalid_recording_sound_other_in_party" => {
2983                ApiStatus::InvalidRecordingSoundOtherInParty
2984            }
2985            "invalid_recording_sound_participants_muted" => {
2986                ApiStatus::InvalidRecordingSoundParticipantsMuted
2987            }
2988            "invalid_recording_sound_participants_unmuted" => {
2989                ApiStatus::InvalidRecordingSoundParticipantsUnmuted
2990            }
2991            "invalid_recording_sound_place_into_conference" => {
2992                ApiStatus::InvalidRecordingSoundPlaceIntoConference
2993            }
2994            "invalid_recording_sound_there_are" => ApiStatus::InvalidRecordingSoundThereAre,
2995            "invalid_recording_sound_unlocked_now" => ApiStatus::InvalidRecordingSoundUnlockedNow,
2996            "invalid_recording_sound_unmuted" => ApiStatus::InvalidRecordingSoundUnmuted,
2997            "invalid_record_calls" => ApiStatus::InvalidRecordCalls,
2998            "invalid_report_hold_time_agent" => ApiStatus::InvalidReportHoldTimeAgent,
2999            "invalid_resellerclient" => ApiStatus::InvalidResellerclient,
3000            "invalid_resellernextbilling" => ApiStatus::InvalidResellernextbilling,
3001            "invalid_resellerpackage" => ApiStatus::InvalidResellerpackage,
3002            "invalid_response_timeout" => ApiStatus::InvalidResponseTimeout,
3003            "invalid_retry_timer" => ApiStatus::InvalidRetryTimer,
3004            "invalid_ringgroup" => ApiStatus::InvalidRinggroup,
3005            "invalid_ring_inuse" => ApiStatus::InvalidRingInuse,
3006            "invalid_route" => ApiStatus::InvalidRoute,
3007            "invalid_routing_header" => ApiStatus::InvalidRoutingHeader,
3008            "invalid_rtp_hold_timeout" => ApiStatus::InvalidRTPHoldTimeout,
3009            "invalid_rtp_timeout" => ApiStatus::InvalidRTPTimeout,
3010            "invalid_saycallerid" => ApiStatus::InvalidSaycallerid,
3011            "invalid_saytime" => ApiStatus::InvalidSaytime,
3012            "invalid_security_code" => ApiStatus::InvalidSecurityCode,
3013            "invalid_serverpop" => ApiStatus::InvalidServerpop,
3014            "invalid_setup" => ApiStatus::InvalidSetup,
3015            "invalid_silence_threshold" => ApiStatus::InvalidSilenceThreshold,
3016            "invalid_sipuri" => ApiStatus::InvalidSIPURI,
3017            "invalid_sip_traffic" => ApiStatus::InvalidSIPTraffic,
3018            "invalid_skippassword" => ApiStatus::InvalidSkippassword,
3019            "invalid_smpp_password" => ApiStatus::InvalidSmppPassword,
3020            "invalid_smpp_url" => ApiStatus::InvalidSmppURL,
3021            "invalid_smpp_username" => ApiStatus::InvalidSmppUsername,
3022            "invalid_sms" => ApiStatus::InvalidSMS,
3023            "invalid_sms_forward" => ApiStatus::InvalidSMSForward,
3024            "invalid_snn" => ApiStatus::InvalidSnn,
3025            "invalid_speed_dial" => ApiStatus::InvalidSpeedDial,
3026            "invalid_starthour" => ApiStatus::InvalidStarthour,
3027            "invalid_startminute" => ApiStatus::InvalidStartminute,
3028            "invalid_start_muted" => ApiStatus::InvalidStartMuted,
3029            "invalid_state" => ApiStatus::InvalidState,
3030            "invalid_statement_name" => ApiStatus::InvalidStatementName,
3031            "invalid_strategy" => ApiStatus::InvalidStrategy,
3032            "invalid_street_name" => ApiStatus::InvalidStreetName,
3033            "invalid_street_number" => ApiStatus::InvalidStreetNumber,
3034            "invalid_talking_threshold" => ApiStatus::InvalidTalkingThreshold,
3035            "invalid_talk_detection" => ApiStatus::InvalidTalkDetection,
3036            "invalid_tfnumber_porttype" => ApiStatus::InvalidTfnumberPorttype,
3037            "invalid_thankyou_for_your_patience" => ApiStatus::InvalidThankyouForYourPatience,
3038            "Invalid_threshold" => ApiStatus::InvalidThreshold,
3039            "invalid_timecondition" => ApiStatus::InvalidTimecondition,
3040            "invalid_timeout" => ApiStatus::InvalidTimeout,
3041            "invalid_timerange" => ApiStatus::InvalidTimerange,
3042            "invalid_timezone" => ApiStatus::InvalidTimezone,
3043            "invalid_to_number" => ApiStatus::InvalidToNumber,
3044            "invalid_transcription_email" => ApiStatus::InvalidTranscriptionEmail,
3045            "invalid_transcription_format" => ApiStatus::InvalidTranscriptionFormat,
3046            "invalid_transcription_locale" => ApiStatus::InvalidTranscriptionLocale,
3047            "invalid_transcription_redaction" => ApiStatus::InvalidTranscriptionRedaction,
3048            "invalid_transcription_sentiment" => ApiStatus::InvalidTranscriptionSentiment,
3049            "invalid_transcription_summary" => ApiStatus::InvalidTranscriptionSummary,
3050            "invalid_type" => ApiStatus::InvalidType,
3051            "invalid_urgent" => ApiStatus::InvalidUrgent,
3052            "invalid_username" => ApiStatus::InvalidUsername,
3053            "invalid_voicemailsetup" => ApiStatus::InvalidVoicemailsetup,
3054            "invalid_voice_announcement" => ApiStatus::InvalidVoiceAnnouncement,
3055            "invalid_weekdayend" => ApiStatus::InvalidWeekdayend,
3056            "invalid_weekdaystart" => ApiStatus::InvalidWeekdaystart,
3057            "invalid_wrapup_time" => ApiStatus::InvalidWrapupTime,
3058            "invalid_zip" => ApiStatus::InvalidZip,
3059            "ip_not_enabled" => ApiStatus::IPNotEnabled,
3060            "limit_reached" => ApiStatus::LimitReached,
3061            "location_already_exists" => ApiStatus::LocationAlreadyExists,
3062            "location_linked_to_subaccount" => ApiStatus::LocationLinkedToSubaccount,
3063            "location_not_found" => ApiStatus::LocationNotFound,
3064            "max_phonebook" => ApiStatus::MaxPhonebook,
3065            "members_exceeded" => ApiStatus::MembersExceeded,
3066            "member_already_included" => ApiStatus::MemberAlreadyIncluded,
3067            "message_empty" => ApiStatus::MessageEmpty,
3068            "message_not_found" => ApiStatus::MessageNotFound,
3069            "method_maintenance" => ApiStatus::MethodMaintenance,
3070            "mismatch_email_confirm" => ApiStatus::MismatchEmailConfirm,
3071            "mismatch_password_confirm" => ApiStatus::MismatchPasswordConfirm,
3072            "missing_account" => ApiStatus::MissingAccount,
3073            "missing_address" => ApiStatus::MissingAddress,
3074            "missing_agent_ring_timeout" => ApiStatus::MissingAgentRingTimeout,
3075            "missing_allowedcodecs" => ApiStatus::MissingAllowedcodecs,
3076            "missing_attachmessage" => ApiStatus::MissingAttachmessage,
3077            "missing_authtype" => ApiStatus::MissingAuthtype,
3078            "missing_balancemanagement" => ApiStatus::MissingBalancemanagement,
3079            "missing_billingtype" => ApiStatus::MissingBillingtype,
3080            "missing_callback" => ApiStatus::MissingCallback,
3081            "missing_callerid" => ApiStatus::MissingCallerid,
3082            "missing_callhunting" => ApiStatus::MissingCallhunting,
3083            "missing_callparking" => ApiStatus::MissingCallparking,
3084            "missing_callrecording" => ApiStatus::MissingCallrecording,
3085            "missing_carrier" => ApiStatus::MissingCarrier,
3086            "missing_charge" => ApiStatus::MissingCharge,
3087            "missing_choices" => ApiStatus::MissingChoices,
3088            "missing_city" => ApiStatus::MissingCity,
3089            "missing_client" => ApiStatus::MissingClient,
3090            "missing_cnam" => ApiStatus::MissingCNAM,
3091            "missing_codec" => ApiStatus::MissingCodec,
3092            "missing_conference" => ApiStatus::MissingConference,
3093            "missing_country" => ApiStatus::MissingCountry,
3094            "missing_countryid" => ApiStatus::MissingCountryid,
3095            "missing_credentials" => ApiStatus::MissingCredentials,
3096            "missing_datetime" => ApiStatus::MissingDatetime,
3097            "missing_delay_before" => ApiStatus::MissingDelayBefore,
3098            "missing_deletemessage" => ApiStatus::MissingDeletemessage,
3099            "missing_description" => ApiStatus::MissingDescription,
3100            "missing_devicetype" => ApiStatus::MissingDevicetype,
3101            "missing_dialtime" => ApiStatus::MissingDialtime,
3102            "missing_did" => ApiStatus::MissingDID,
3103            "missing_digits" => ApiStatus::MissingDigits,
3104            "missing_digit_timeout" => ApiStatus::MissingDigitTimeout,
3105            "missing_disa" => ApiStatus::MissingDISA,
3106            "missing_dtmfmode" => ApiStatus::MissingDtmfmode,
3107            "missing_email" => ApiStatus::MissingEmail,
3108            "missing_email_confirm" => ApiStatus::MissingEmailConfirm,
3109            "missing_enable" => ApiStatus::MissingEnable,
3110            "missing_endhour" => ApiStatus::MissingEndhour,
3111            "missing_endminute" => ApiStatus::MissingEndminute,
3112            "missing_failover_busy" => ApiStatus::MissingFailoverBusy,
3113            "missing_failover_noanswer" => ApiStatus::MissingFailoverNoanswer,
3114            "missing_failover_unreachable" => ApiStatus::MissingFailoverUnreachable,
3115            "missing_file" => ApiStatus::MissingFile,
3116            "missing_filter" => ApiStatus::MissingFilter,
3117            "missing_firstname" => ApiStatus::MissingFirstname,
3118            "missing_folder" => ApiStatus::MissingFolder,
3119            "missing_forwarding" => ApiStatus::MissingForwarding,
3120            "missing_from_date" => ApiStatus::MissingFromDate,
3121            "missing_fullname" => ApiStatus::MissingFullname,
3122            "missing_id" => ApiStatus::MissingID,
3123            "missing_if_announce_position_enabled_report_e" => {
3124                ApiStatus::MissingIfAnnouncePositionEnabledReportE
3125            }
3126            "missing_internationalroute" => ApiStatus::MissingInternationalroute,
3127            "missing_ip" => ApiStatus::MissingIP,
3128            "missing_ip_h323" => ApiStatus::MissingIPH323,
3129            "missing_ip_restriction" => ApiStatus::MissingIPRestriction,
3130            "missing_ivr" => ApiStatus::MissingIVR,
3131            "missing_join_when_empty" => ApiStatus::MissingJoinWhenEmpty,
3132            "missing_language" => ApiStatus::MissingLanguage,
3133            "missing_lastname" => ApiStatus::MissingLastname,
3134            "missing_leave_when_empty" => ApiStatus::MissingLeaveWhenEmpty,
3135            "missing_length" => ApiStatus::MissingLength,
3136            "missing_listened" => ApiStatus::MissingListened,
3137            "missing_location" => ApiStatus::MissingLocation,
3138            "missing_location_name" => ApiStatus::MissingLocationName,
3139            "missing_lockinternational" => ApiStatus::MissingLockinternational,
3140            "missing_mailbox" => ApiStatus::MissingMailbox,
3141            "missing_member" => ApiStatus::MissingMember,
3142            "missing_members" => ApiStatus::MissingMembers,
3143            "missing_message_num" => ApiStatus::MissingMessageNum,
3144            "missing_method" => ApiStatus::MissingMethod,
3145            "missing_minute" => ApiStatus::MissingMinute,
3146            "missing_monthly" => ApiStatus::MissingMonthly,
3147            "missing_musiconhold" => ApiStatus::MissingMusiconhold,
3148            "missing_name" => ApiStatus::MissingName,
3149            "missing_nat" => ApiStatus::MissingNAT,
3150            "missing_number" => ApiStatus::MissingNumber,
3151            "missing_numbers" => ApiStatus::MissingNumbers,
3152            "missing_package" => ApiStatus::MissingPackage,
3153            "missing_params" => ApiStatus::MissingParams,
3154            "missing_password" => ApiStatus::MissingPassword,
3155            "missing_password_confirm" => ApiStatus::MissingPasswordConfirm,
3156            "missing_payment" => ApiStatus::MissingPayment,
3157            "missing_phonebook" => ApiStatus::MissingPhonebook,
3158            "missing_phonenumber" => ApiStatus::MissingPhonenumber,
3159            "missing_pin" => ApiStatus::MissingPIN,
3160            "missing_playinstructions" => ApiStatus::MissingPlayinstructions,
3161            "missing_pop_restriction" => ApiStatus::MissingPOPRestriction,
3162            "missing_priority" => ApiStatus::MissingPriority,
3163            "missing_priority_weight" => ApiStatus::MissingPriorityWeight,
3164            "missing_protocol" => ApiStatus::MissingProtocol,
3165            "missing_province" => ApiStatus::MissingProvince,
3166            "missing_query" => ApiStatus::MissingQuery,
3167            "missing_recording" => ApiStatus::MissingRecording,
3168            "missing_report_hold_time_agent" => ApiStatus::MissingReportHoldTimeAgent,
3169            "missing_resellerclient" => ApiStatus::MissingResellerclient,
3170            "missing_resellerpackage" => ApiStatus::MissingResellerpackage,
3171            "missing_response_timeout" => ApiStatus::MissingResponseTimeout,
3172            "missing_ringgroup" => ApiStatus::MissingRinggroup,
3173            "missing_ring_inuse" => ApiStatus::MissingRingInuse,
3174            "missing_ring_strategy" => ApiStatus::MissingRingStrategy,
3175            "missing_route" => ApiStatus::MissingRoute,
3176            "missing_routing" => ApiStatus::MissingRouting,
3177            "missing_saycallerid" => ApiStatus::MissingSaycallerid,
3178            "missing_saytime" => ApiStatus::MissingSaytime,
3179            "missing_serverpop" => ApiStatus::MissingServerpop,
3180            "missing_setup" => ApiStatus::MissingSetup,
3181            "missing_sipuri" => ApiStatus::MissingSIPURI,
3182            "missing_skippassword" => ApiStatus::MissingSkippassword,
3183            "missing_sms" => ApiStatus::MissingSMS,
3184            "missing_speed_dial" => ApiStatus::MissingSpeedDial,
3185            "missing_start" => ApiStatus::MissingStart,
3186            "missing_starthour" => ApiStatus::MissingStarthour,
3187            "missing_startminute" => ApiStatus::MissingStartminute,
3188            "missing_state" => ApiStatus::MissingState,
3189            "missing_street_name" => ApiStatus::MissingStreetName,
3190            "missing_street_number" => ApiStatus::MissingStreetNumber,
3191            "missing_thankyou_for_your_patience" => ApiStatus::MissingThankyouForYourPatience,
3192            "missing_timecondition" => ApiStatus::MissingTimecondition,
3193            "missing_timeout" => ApiStatus::MissingTimeout,
3194            "missing_timezone" => ApiStatus::MissingTimezone,
3195            "missing_to_date" => ApiStatus::MissingToDate,
3196            "missing_transcription_email" => ApiStatus::MissingTranscriptionEmail,
3197            "missing_transcription_locale" => ApiStatus::MissingTranscriptionLocale,
3198            "missing_type" => ApiStatus::MissingType,
3199            "missing_urgent" => ApiStatus::MissingUrgent,
3200            "missing_uri" => ApiStatus::MissingURI,
3201            "missing_username" => ApiStatus::MissingUsername,
3202            "missing_voicemailsetup" => ApiStatus::MissingVoicemailsetup,
3203            "missing_weekdayend" => ApiStatus::MissingWeekdayend,
3204            "missing_weekdaystart" => ApiStatus::MissingWeekdaystart,
3205            "missing_zip" => ApiStatus::MissingZip,
3206            "moving_fail" => ApiStatus::MovingFail,
3207            "name_toolong" => ApiStatus::NameToolong,
3208            "non_sufficient_funds" => ApiStatus::NonSufficientFunds,
3209            "note_toolong" => ApiStatus::NoteToolong,
3210            "no_account" => ApiStatus::NoAccount,
3211            "no_attachments" => ApiStatus::NoAttachments,
3212            "no_base64file" => ApiStatus::NoBase64file,
3213            "no_callback" => ApiStatus::NoCallback,
3214            "no_callhunting" => ApiStatus::NoCallhunting,
3215            "no_callparking" => ApiStatus::NoCallparking,
3216            "no_callstatus" => ApiStatus::NoCallstatus,
3217            "no_cdr" => ApiStatus::NoCDR,
3218            "no_change_billingtype" => ApiStatus::NoChangeBillingtype,
3219            "no_client" => ApiStatus::NoClient,
3220            "no_conference" => ApiStatus::NoConference,
3221            "no_did" => ApiStatus::NoDID,
3222            "no_disa" => ApiStatus::NoDISA,
3223            "no_filter" => ApiStatus::NoFilter,
3224            "no_forwarding" => ApiStatus::NoForwarding,
3225            "no_ivr" => ApiStatus::NoIVR,
3226            "no_mailbox" => ApiStatus::NoMailbox,
3227            "no_member" => ApiStatus::NoMember,
3228            "no_message" => ApiStatus::NoMessage,
3229            "no_messages" => ApiStatus::NoMessages,
3230            "no_numbers" => ApiStatus::NoNumbers,
3231            "no_package" => ApiStatus::NoPackage,
3232            "no_phonebook" => ApiStatus::NoPhonebook,
3233            "no_provision" => ApiStatus::NoProvision,
3234            "no_provision_update" => ApiStatus::NoProvisionUpdate,
3235            "no_queue" => ApiStatus::NoQueue,
3236            "no_rate" => ApiStatus::NoRate,
3237            "no_recording" => ApiStatus::NoRecording,
3238            "no_ringgroup" => ApiStatus::NoRinggroup,
3239            "no_sequences" => ApiStatus::NoSequences,
3240            "no_sipuri" => ApiStatus::NoSIPURI,
3241            "no_sms" => ApiStatus::NoSMS,
3242            "no_timecondition" => ApiStatus::NoTimecondition,
3243            "order_failed" => ApiStatus::OrderFailed,
3244            "problem_sending_mail" => ApiStatus::ProblemSendingMail,
3245            "provider_outofservice" => ApiStatus::ProviderOutofservice,
3246            "recording_in_use_caller_id_filtering" => ApiStatus::RecordingInUseCallerIDFiltering,
3247            "recording_in_use_caller_timecondition" => ApiStatus::RecordingInUseCallerTimecondition,
3248            "recording_in_use_did" => ApiStatus::RecordingInUseDID,
3249            "recording_in_use_ivr" => ApiStatus::RecordingInUseIVR,
3250            "recording_in_use_queue" => ApiStatus::RecordingInUseQueue,
3251            "repeated_ip" => ApiStatus::RepeatedIP,
3252            "reserved_ip" => ApiStatus::ReservedIP,
3253            "rtp_timeout_greater_than_rtp_hold_timeout" => {
3254                ApiStatus::RTPTimeoutGreaterThanRTPHoldTimeout
3255            }
3256            "same_did_billingtype" => ApiStatus::SameDIDBillingtype,
3257            "sent_fail" => ApiStatus::SentFail,
3258            "sipuri_in_phonebook" => ApiStatus::SIPURIInPhonebook,
3259            "sms_apply_regulations" => ApiStatus::SMSApplyRegulations,
3260            "sms_failed" => ApiStatus::SMSFailed,
3261            "sms_toolong" => ApiStatus::SMSToolong,
3262            "sms_wait_message" => ApiStatus::SMSWaitMessage,
3263            "tls_error" => ApiStatus::TlsError,
3264            "Unable_to_purchase" => ApiStatus::UnableToPurchase,
3265            "unavailable_info" => ApiStatus::UnavailableInfo,
3266            "unsifficient_stock" => ApiStatus::UnsifficientStock,
3267            "used_description" => ApiStatus::UsedDescription,
3268            "used_email" => ApiStatus::UsedEmail,
3269            "used_extension" => ApiStatus::UsedExtension,
3270            "used_extension_in_location" => ApiStatus::UsedExtensionInLocation,
3271            "used_filter" => ApiStatus::UsedFilter,
3272            "used_ip" => ApiStatus::UsedIP,
3273            "used_name" => ApiStatus::UsedName,
3274            "used_number" => ApiStatus::UsedNumber,
3275            "used_password" => ApiStatus::UsedPassword,
3276            "used_speed_dial" => ApiStatus::UsedSpeedDial,
3277            "used_username" => ApiStatus::UsedUsername,
3278            "weak_password" => ApiStatus::WeakPassword,
3279            other => ApiStatus::Unknown(other.to_string()),
3280        }
3281    }
3282
3283    /// The human-readable description of this status from the
3284    /// VoIP.ms docs, or `None` for [`ApiStatus::Unknown`].
3285    pub fn description(&self) -> Option<&'static str> {
3286        match self {
3287            ApiStatus::AccountWithDIDs => Some("The Account has DIDs assigned to it."),
3288            ApiStatus::APILimitExceeded => Some("API requests limit per minute has been reached"),
3289            ApiStatus::APINotEnabled => Some("API has not been enabled or has been disabled"),
3290            ApiStatus::CancelFailed => Some("The cancellation wasn't completed."),
3291            ApiStatus::CANHaveOnlyOneProfileWithoutPIN => {
3292                Some("The conference can just have one profile member without pin")
3293            }
3294            ApiStatus::ConferenceMemberRelationNotFound => {
3295                Some("There is no relation between the profile member and the conference.")
3296            }
3297            ApiStatus::DIDInUse => Some("DID Number is already in use"),
3298            ApiStatus::DIDLimitReached => Some(
3299                "You have reached the maximum number of DID numbers allowed for your account type. Please contact our team if you have a specific use case or if you would like to upgrade to a Business account.",
3300            ),
3301            ApiStatus::DuplicatedName => Some("There is already another entry with this name"),
3302            ApiStatus::DuplicatedPIN => Some("The given pin has been duplicated"),
3303            ApiStatus::E911Disabled => Some("DID e911 service it's not enabled."),
3304            ApiStatus::E911Pending => {
3305                Some("DID e911 service has been requested and is in validation process.")
3306            }
3307            ApiStatus::ErrorDeletingMsg => Some("Error when deleting message"),
3308            ApiStatus::ErrorMovingMsg => Some("Error when move the voicemail message to folder"),
3309            ApiStatus::ExceedsFileSize => Some("The file exceeds the limite size allowed."),
3310            ApiStatus::ExistingDID => {
3311                Some("You can't set a callback to an existing VoIP.ms DID number")
3312            }
3313            ApiStatus::ForwardsExceeded => Some("Your account is limited to 4 forward entries"),
3314            ApiStatus::InvalidAccount => Some("This is not a valid account"),
3315            ApiStatus::InvalidAddress => Some("Address is missing or the format is invalid."),
3316            ApiStatus::InvalidAdmin => Some("This is not a valid admin"),
3317            ApiStatus::InvalidAgentRingTimeout => {
3318                Some("This is not a valid Agent ring time out value")
3319            }
3320            ApiStatus::InvalidAllowedcodecs => {
3321                Some("One of the codecs provided is invalid Format and Values: ulaw;g729;gsm;all")
3322            }
3323            ApiStatus::InvalidAnnounceJoinLeave => {
3324                Some("This is not a valid \"Announce join leave\"")
3325            }
3326            ApiStatus::InvalidAnnounceOnlyUser => {
3327                Some("This is not a valid \"Announce only user\"")
3328            }
3329            ApiStatus::InvalidAnnouncePositionFrequency => {
3330                Some("This is not a valid Announce position frequency")
3331            }
3332            ApiStatus::InvalidAnnounceRoundSeconds => {
3333                Some("This is not a valid \"Announce round seconds\"")
3334            }
3335            ApiStatus::InvalidAnnounceUserCount => {
3336                Some("This is not a valid \"Announce user count\"")
3337            }
3338            ApiStatus::InvalidAreaCode => Some("this is not a valid Area Code."),
3339            ApiStatus::InvalidAttachid => Some("The given ID is invalid or doesn't exist."),
3340            ApiStatus::InvalidAttachmessage => {
3341                Some("this is not a valid AttachMessage Should be: yes/no")
3342            }
3343            ApiStatus::InvalidAttachFile => Some("Valid formats: PDF, MS Word, BMP, JPG"),
3344            ApiStatus::InvalidAuthtype => Some("This is not a valid Auth Type"),
3345            ApiStatus::InvalidAuthtypeH323 => Some("You must select IP Auth to use H.323"),
3346            ApiStatus::InvalidAuthtypeIax2 => {
3347                Some("You must use User/Password Authentication for IAX2")
3348            }
3349            ApiStatus::InvalidBalancemanagement => Some("This is not a valid BalanceManagement"),
3350            ApiStatus::InvalidBaseRecording => Some("This is not a valid recording path"),
3351            ApiStatus::InvalidBillingtype => {
3352                Some("This is not a valid Billing Type Allowed values: 1 = PerMinute, 2 = Flat")
3353            }
3354            ApiStatus::InvalidCallback => Some("This is not a valid Callback"),
3355            ApiStatus::InvalidCallbackEnable => Some("This is not a valid Callback enable value"),
3356            ApiStatus::InvalidCallbackRetry => Some("This is not a valid Callback retry"),
3357            ApiStatus::InvalidCallerid => Some("This is not a valid CallerID"),
3358            ApiStatus::InvalidCalleridprefix => {
3359                Some("This is not a valid CID Prefix, lenght should be less than 20 chars")
3360            }
3361            ApiStatus::InvalidCalleridOverride => Some("This is not a valid CallerID Override"),
3362            ApiStatus::InvalidCallhunting => Some("This is not a valid Call Hunting"),
3363            ApiStatus::InvalidCallparking => Some("This is not a valid Call Parking"),
3364            ApiStatus::InvalidCallrecording => Some("This is not a valid Call recording"),
3365            ApiStatus::InvalidCallType => Some("Call Type is not valid."),
3366            ApiStatus::InvalidCanadaRouting => Some("This is not a valid Canada Route"),
3367            ApiStatus::InvalidCarrier => Some("This is not a valid Carrier"),
3368            ApiStatus::InvalidCharge => Some("This is not a valid Charge"),
3369            ApiStatus::InvalidCity => Some("City is missing or the format is invalid."),
3370            ApiStatus::InvalidClient => Some("This is not a valid Client"),
3371            ApiStatus::InvalidCNAM => Some("This is not a valid CNAM Should be: 1/0"),
3372            ApiStatus::InvalidCodec => Some("This is not a valid Codec"),
3373            ApiStatus::InvalidConference => Some("This is not a valid Conference ID"),
3374            ApiStatus::InvalidContact => Some("This is not a valid Contact Number"),
3375            ApiStatus::InvalidCountry => Some(
3376                "Country is missing or the format is invalid, must be in format ISO 3166-1 alpha-2, example: US, CA, etc. (You can use the values returned by the method getCountries)",
3377            ),
3378            ApiStatus::InvalidCountryid => Some("This is not a valid Country ID"),
3379            ApiStatus::InvalidCredentials => Some("Username or Password is incorrect"),
3380            ApiStatus::InvalidDate => Some("This is not a valid date Format is: yyyy-mm-dd"),
3381            ApiStatus::InvalidDaterange => Some("Date Range should be 92 days or less"),
3382            ApiStatus::InvalidDatetime => {
3383                Some("This is not a valid datetime Format is: yyyy-mm-dd hh:mm:ss")
3384            }
3385            ApiStatus::InvalidDateFrom => {
3386                Some("The \"From\" date should be prior to the \"To\" date.")
3387            }
3388            ApiStatus::InvalidDayrange => Some("This is not a valid Day Range"),
3389            ApiStatus::InvalidDelayBefore => Some("This is not a valid DelayBefore"),
3390            ApiStatus::InvalidDeletemessage => {
3391                Some("This is not a valid DeleteMessage Should be: yes/no")
3392            }
3393            ApiStatus::InvalidDescription => Some("This is not a valid Description"),
3394            ApiStatus::InvalidDestination => Some("This is not a valid Destination"),
3395            ApiStatus::InvalidDestinationFolder => Some("This is not a valid Destination Folder"),
3396            ApiStatus::InvalidDevicetype => Some("This is not a valid Device Type"),
3397            ApiStatus::InvalidDialtime => Some("This is not a valid Dialtime"),
3398            ApiStatus::InvalidDID => Some("This is not a valid DID"),
3399            ApiStatus::InvalidDigits => {
3400                Some("These are not valid DigitsOrderDIDVirtual: Digits must be 3 numbers")
3401            }
3402            ApiStatus::InvalidDigitTimeout => Some("This is not a valid DigitTimeOut"),
3403            ApiStatus::InvalidDISA => Some("This is not a valid DISA"),
3404            ApiStatus::InvalidDiversionHeader => Some(
3405                "This is not a valid Diversion Header. It must be a numeric value, accepting only 0 or 1.",
3406            ),
3407            ApiStatus::InvalidDropSilence => Some("This is not a valid \"drop silence\" value"),
3408            ApiStatus::InvalidDST => Some("This is not a valid Destination Number"),
3409            ApiStatus::InvalidDtmfmode => Some("This is no a valid DTMF Mode"),
3410            ApiStatus::InvalidDTMFDigits => Some("This is no a valid DTMF digit"),
3411            ApiStatus::InvalidEmail => {
3412                Some("This is not a valid email or email is already in database")
3413            }
3414            ApiStatus::InvalidEmailAttachmentFormat => Some("This is not a valid format value"),
3415            ApiStatus::InvalidEmailEnable => Some("This is not a valid email enable value"),
3416            ApiStatus::InvalidEnableIPRestriction => {
3417                Some("This is not a valid Enable IP Restriction value")
3418            }
3419            ApiStatus::InvalidEnablePOPRestriction => {
3420                Some("This is not a valid Enable POP Restriction value")
3421            }
3422            ApiStatus::InvalidEndhour => Some("This is not a valid End Hour"),
3423            ApiStatus::InvalidEndminute => Some("This is not a valid End Minute"),
3424            ApiStatus::InvalidExtension => {
3425                Some("This is not a valid extension Extension can only contain digits")
3426            }
3427            ApiStatus::InvalidExtensions => Some(
3428                "Extensions cannot be: 098, 211, 311, 411, 4443, 4444, 4747, 511, 711, 811, 822, 911, 988",
3429            ),
3430            ApiStatus::InvalidExtensionLength => {
3431                Some("Extensions should not contain more than 5 digits")
3432            }
3433            ApiStatus::InvalidExtensionPrefix => Some("Extensions cannot start with: 068, 097"),
3434            ApiStatus::InvalidFailoverHeader => {
3435                Some("This is not a valid failover header Should be: account/vm/fwd/none")
3436            }
3437            ApiStatus::InvalidFAXID => Some("This is not a valid Fax Message ID"),
3438            ApiStatus::InvalidFile => Some("This is not a valid File"),
3439            ApiStatus::InvalidFilter => Some("This is not a valid Filter"),
3440            ApiStatus::InvalidFirstname => Some("First name is missing or the format is invalid."),
3441            ApiStatus::InvalidFocEnddate => {
3442                Some("Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22")
3443            }
3444            ApiStatus::InvalidFocStartdate => {
3445                Some("Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22")
3446            }
3447            ApiStatus::InvalidFolder => Some("This is not a valid Folder"),
3448            ApiStatus::InvalidFolderID => Some("This is not a valid Fax Folder ID"),
3449            ApiStatus::InvalidForwarding => Some("This is not a valid forwarding"),
3450            ApiStatus::InvalidForwardingDID => Some("Forwarding to the same did is not allowed"),
3451            ApiStatus::InvalidForwardEnable => Some("This is not a valid forward enable value"),
3452            ApiStatus::InvalidFrequencyAnnouncement => {
3453                Some("This is not a valid Frequency announce")
3454            }
3455            ApiStatus::InvalidFromNumber => Some("This is not a valid sender number."),
3456            ApiStatus::InvalidFullname => Some("This is not a valid Full Name"),
3457            ApiStatus::InvalidID => Some("This is not a valid ID"),
3458            ApiStatus::InvalidIfAnnouncePositionEnabledReportE => {
3459                Some("This is not a Report estimated hold time type")
3460            }
3461            ApiStatus::InvalidInternaldialtime => {
3462                Some("This is not a valid Internal Dialtime Should be: 1 to 60")
3463            }
3464            ApiStatus::InvalidInternalvoicemail => Some("This is not a valid Internal Voicemail"),
3465            ApiStatus::InvalidInternationalroute => Some("This is not a valid International Route"),
3466            ApiStatus::InvalidInvoiceType => {
3467                Some("Invalid invoice type, possible values: 0 = US, 1 = CAN.")
3468            }
3469            ApiStatus::InvalidIP => Some("This is an invalid IP"),
3470            ApiStatus::InvalidIPAuth => {
3471                Some("Do not provide an IP address for User/Pass Authentication")
3472            }
3473            ApiStatus::InvalidIPIax2 => Some("Do not provide an IP address for IAX2"),
3474            ApiStatus::InvalidIVR => Some("This is not a valid IVR"),
3475            ApiStatus::InvalidJitterBuffer => Some("This is not a valid \"jitter buffer\" value"),
3476            ApiStatus::InvalidJoinAnnouncement => {
3477                Some("This is not a valid 'Join Announcement' Type for a Queue")
3478            }
3479            ApiStatus::InvalidJoinEmptyType => {
3480                Some("This is not a valid 'JoinWhenEmpty' Type for a Queue")
3481            }
3482            ApiStatus::InvalidLanguage => Some("This is not a valid Language Should be: es/en/fr"),
3483            ApiStatus::InvalidLastname => Some("Lastname is missing or the format is invalid."),
3484            ApiStatus::InvalidListened => Some("This is not a valid Listened value"),
3485            ApiStatus::InvalidLocation => Some("This is not a valid Location"),
3486            ApiStatus::InvalidLockinternational => Some("This is not a valid Lock International"),
3487            ApiStatus::InvalidMailbox => Some("This is not a valid mailbox"),
3488            ApiStatus::InvalidMaximumCallers => Some("This is not a valid maximum callers value"),
3489            ApiStatus::InvalidMaximumWaitTime => {
3490                Some("This is not a valid maximum wait time value")
3491            }
3492            ApiStatus::InvalidMaxExpiry => {
3493                Some("This is not a valid Max Expiry (value must be between 60 and 3600 seconds)")
3494            }
3495            ApiStatus::InvalidMember => Some("This is not a valid Member"),
3496            ApiStatus::InvalidMemberDelay => Some("This is not a valid Member Delay"),
3497            ApiStatus::InvalidMessageNum => Some("This is not a valid Voicemail Message Number"),
3498            ApiStatus::InvalidMethod => Some("This is not a valid Method"),
3499            ApiStatus::InvalidMinute => Some("This is not a valid Minute Rate"),
3500            ApiStatus::InvalidMixedNumbers => {
3501                Some("Toll-free numbers and local numbers can not be mixed in the same order.")
3502            }
3503            ApiStatus::InvalidMonthly => Some("This is not a valid Montly Fee"),
3504            ApiStatus::InvalidMusiconhold => Some("This is not a valid Music on Hold"),
3505            ApiStatus::InvalidName => Some("This is not a valid name, Alphanumeric Only"),
3506            ApiStatus::InvalidNAT => Some("This is not a valid NAT"),
3507            ApiStatus::InvalidNote => {
3508                Some("This is not a valid Note, lenght should be less than 50 chars")
3509            }
3510            ApiStatus::InvalidNumber => Some("This is not a valid Number"),
3511            ApiStatus::InvalidNumbermembers => Some(
3512                "The element format of multiple data is not correct or it size does not match with other elements",
3513            ),
3514            ApiStatus::InvalidNumberCanadian => {
3515                Some("You have entered a Canadian number (not valid in this portability process).")
3516            }
3517            ApiStatus::InvalidNumberExist => Some("The number is already in our network"),
3518            ApiStatus::InvalidNumberFAX => {
3519                Some("The Fax number can not be ported into our network")
3520            }
3521            ApiStatus::InvalidNumberPorttype => {
3522                Some("You have entered a local number (not valid in this portability process)")
3523            }
3524            ApiStatus::InvalidNumberUS => {
3525                Some("You have entered a USA number (not valid in this portability process).")
3526            }
3527            ApiStatus::InvalidOrder => Some("This is not a valid \"order\" value"),
3528            ApiStatus::InvalidPackage => Some("This is not a valid Package"),
3529            ApiStatus::InvalidPassword => Some(
3530                "This is not a valid passwordVoicemail: Must be 4 Digits SubAccounts: More than 6 chars, Must Contain Alphanumeric and !#$%&/()=?*[]_:.,{}+-",
3531            ),
3532            ApiStatus::InvalidPasswordAuth => {
3533                Some("Do not provide a Password for IP Authentication")
3534            }
3535            ApiStatus::InvalidPasswordIlegalCharacters => Some(
3536                "This is not a valid password (Allowed characters: Alphanumeric and ! # $ % & / ( ) = ? * [ ] _ : . , { } + -)",
3537            ),
3538            ApiStatus::InvalidPasswordLessthan8charactersLong => {
3539                Some("This is not a valid password (Less than 8 characters long)")
3540            }
3541            ApiStatus::InvalidPasswordMissingLowercase => {
3542                Some("This is not a valid password (Missing lower case character)")
3543            }
3544            ApiStatus::InvalidPasswordMissingNumber => {
3545                Some("This is not a valid password (Missing a number)")
3546            }
3547            ApiStatus::InvalidPasswordMissingUppercase => {
3548                Some("This is not a valid password (Missing upper case character)")
3549            }
3550            ApiStatus::InvalidPause => Some("This is not a valid Pause"),
3551            ApiStatus::InvalidPayment => Some("This is not a valid Payment"),
3552            ApiStatus::InvalidPhonebook => Some("This is not a valid Phonebook"),
3553            ApiStatus::InvalidPhonenumber => Some("This is not a valid Phone Number"),
3554            ApiStatus::InvalidPIN => Some("This is not a valid PIN"),
3555            ApiStatus::InvalidPINNumber => Some("Must provide the account PIN number."),
3556            ApiStatus::InvalidPlayinstructions => {
3557                Some("This is not a valid PlayInstructions Should be: u/su")
3558            }
3559            ApiStatus::InvalidPOPRestriction => Some("This is not a valid POP Restriction"),
3560            ApiStatus::InvalidPortingid => Some("The given ID is invalid or doesn't exist."),
3561            ApiStatus::InvalidPorttype => Some("Must provide a valid port type."),
3562            ApiStatus::InvalidPortStatus => Some(
3563                "The status code is invalid. (You can use the values returned by the method getListStatus)",
3564            ),
3565            ApiStatus::InvalidPriority => Some("This is not a valid Priority"),
3566            ApiStatus::InvalidPriorityWeight => Some("This is not valid weight/priority value"),
3567            ApiStatus::InvalidProtocol => Some("This is not a valid Protocol"),
3568            ApiStatus::InvalidProviderAccount => {
3569                Some("You must provide your account # with the current provider")
3570            }
3571            ApiStatus::InvalidProviderName => Some("You must provide the service provider name"),
3572            ApiStatus::InvalidProvince => Some("This is not a valid Province"),
3573            ApiStatus::InvalidQuantity => Some("This is not a valid quantity"),
3574            ApiStatus::InvalidQuery => Some("This is not a valid Query"),
3575            ApiStatus::InvalidQueue => Some("This is not a valid Queue"),
3576            ApiStatus::InvalidQuiet => Some("This is not a valid \"quiet\" value"),
3577            ApiStatus::InvalidRecording => Some("This is not a valid recording"),
3578            ApiStatus::InvalidRecordingSoundErrorMenu => {
3579                Some("\"error menu\" is not a valid recording")
3580            }
3581            ApiStatus::InvalidRecordingSoundGetPIN => Some("\"get pin\" is not a valid recording"),
3582            ApiStatus::InvalidRecordingSoundHasJoined => {
3583                Some("\"has_joined\" is not a valid recording")
3584            }
3585            ApiStatus::InvalidRecordingSoundHasLeft => {
3586                Some("\"has_left\" is not a valid recording")
3587            }
3588            ApiStatus::InvalidRecordingSoundInvalidPIN => {
3589                Some("\"invalid pin\" is not a valid recording")
3590            }
3591            ApiStatus::InvalidRecordingSoundJoin => Some("\"join\" is not a valid recording"),
3592            ApiStatus::InvalidRecordingSoundKicked => Some("\"kicked\" is not a valid recording"),
3593            ApiStatus::InvalidRecordingSoundLeave => Some("\"leave\" is not a valid recording"),
3594            ApiStatus::InvalidRecordingSoundLocked => Some("\"locked\" is not a valid recording"),
3595            ApiStatus::InvalidRecordingSoundLockedNow => {
3596                Some("\"locked now\" is not a valid recording")
3597            }
3598            ApiStatus::InvalidRecordingSoundMuted => Some("\"muted\" is not a valid recording"),
3599            ApiStatus::InvalidRecordingSoundOnlyOne => {
3600                Some("\"only one\" is not a valid recording")
3601            }
3602            ApiStatus::InvalidRecordingSoundOnlyPerson => {
3603                Some("\"only person\" is not a valid recording")
3604            }
3605            ApiStatus::InvalidRecordingSoundOtherInParty => {
3606                Some("\"other in party\" is not a valid recording")
3607            }
3608            ApiStatus::InvalidRecordingSoundParticipantsMuted => {
3609                Some("\"participants muted\" is not a valid recording")
3610            }
3611            ApiStatus::InvalidRecordingSoundParticipantsUnmuted => {
3612                Some("\"participants unmuted\" is not a valid recording")
3613            }
3614            ApiStatus::InvalidRecordingSoundPlaceIntoConference => {
3615                Some("\"place into conference\" is not a valid recording")
3616            }
3617            ApiStatus::InvalidRecordingSoundThereAre => {
3618                Some("\"there are\" is not a valid recording")
3619            }
3620            ApiStatus::InvalidRecordingSoundUnlockedNow => {
3621                Some("\"unlocked now\" is not a valid recording")
3622            }
3623            ApiStatus::InvalidRecordingSoundUnmuted => Some("\"unmuted\" is not a valid recording"),
3624            ApiStatus::InvalidRecordCalls => Some("Record calls is not valid."),
3625            ApiStatus::InvalidReportHoldTimeAgent => {
3626                Some("This is not a valid Report hold time agent")
3627            }
3628            ApiStatus::InvalidResellerclient => Some("This is not a valid Reseller Client"),
3629            ApiStatus::InvalidResellernextbilling => Some(
3630                "This is not a valid Reseller Next Billing date, date should not be set in the past.",
3631            ),
3632            ApiStatus::InvalidResellerpackage => Some("This is not a valid Reseller Package"),
3633            ApiStatus::InvalidResponseTimeout => Some("This is not a valid ResponseTimeOut"),
3634            ApiStatus::InvalidRetryTimer => Some("This is not a valid Retry timer"),
3635            ApiStatus::InvalidRinggroup => Some("This is not a valid Ring group"),
3636            ApiStatus::InvalidRingInuse => Some("This is not a valid Ring in use value"),
3637            ApiStatus::InvalidRoute => Some("This is not a valid Route"),
3638            ApiStatus::InvalidRoutingHeader => {
3639                Some("This is not a valid Routing header Should be: account/vm/fwd")
3640            }
3641            ApiStatus::InvalidRTPHoldTimeout => Some(
3642                "This is not a valid RTP Hold Time Out (value must be between 1 and 3600 seconds)",
3643            ),
3644            ApiStatus::InvalidRTPTimeout => {
3645                Some("This is not a valid RTP Time Out (value must be between 1 and 3600 seconds)")
3646            }
3647            ApiStatus::InvalidSaycallerid => {
3648                Some("This is not a valid SayCallerID Should be: yes/no")
3649            }
3650            ApiStatus::InvalidSaytime => Some("This is not a valid SayTime Should be: yes/no"),
3651            ApiStatus::InvalidSecurityCode => {
3652                Some("This is not a valid Security Code. Should be alphanumeric.")
3653            }
3654            ApiStatus::InvalidServerpop => Some("This is not a valid Server POP"),
3655            ApiStatus::InvalidSetup => Some("This is not a valid Setup Fee"),
3656            ApiStatus::InvalidSilenceThreshold => {
3657                Some("This is not a valid \"silence threshold\" value")
3658            }
3659            ApiStatus::InvalidSIPURI => Some("This is not a valid SIPURI"),
3660            ApiStatus::InvalidSIPTraffic => Some("This is not a valid Encrypted SIP Traffic value"),
3661            ApiStatus::InvalidSkippassword => {
3662                Some("This is not a valid skippassword Should be: 1/0 - or - yes/no")
3663            }
3664            ApiStatus::InvalidSmppPassword => Some("This is not a valid SMPP Password"),
3665            ApiStatus::InvalidSmppURL => Some("This is not a valid SMPP URL"),
3666            ApiStatus::InvalidSmppUsername => Some("This is not a valid SMPP Username"),
3667            ApiStatus::InvalidSMS => Some("This is not a valid SMS"),
3668            ApiStatus::InvalidSMSForward => Some("This is not a valid SMS forward"),
3669            ApiStatus::InvalidSnn => Some("Must provide the 4 last digits of the SSN."),
3670            ApiStatus::InvalidSpeedDial => Some("This is not a valid Speed Dial"),
3671            ApiStatus::InvalidStarthour => Some("This is not a valid Start Hour"),
3672            ApiStatus::InvalidStartminute => Some("This is not a valid Start Minute"),
3673            ApiStatus::InvalidStartMuted => Some("This is not a valid Start Muted"),
3674            ApiStatus::InvalidState => Some("This is not a valid State"),
3675            ApiStatus::InvalidStatementName => {
3676                Some("Statement Name is missing or the format is invalid.")
3677            }
3678            ApiStatus::InvalidStrategy => Some("This is not a valid Ring Strategy"),
3679            ApiStatus::InvalidStreetName => Some("This is not a valid Street Name"),
3680            ApiStatus::InvalidStreetNumber => Some("This is not a valid Street Number"),
3681            ApiStatus::InvalidTalkingThreshold => {
3682                Some("This is not a valid \"talking threshold\" value")
3683            }
3684            ApiStatus::InvalidTalkDetection => Some("This is not a valid talk detection value"),
3685            ApiStatus::InvalidTfnumberPorttype => {
3686                Some("You have entered a toll-free number (not valid in this portability process).")
3687            }
3688            ApiStatus::InvalidThankyouForYourPatience => {
3689                Some("This is not a valid Thankyou for your patience value")
3690            }
3691            ApiStatus::InvalidThreshold => Some(
3692                "This is not a valid Threshold Amount. The Threshold Amount should be between 1 and 250",
3693            ),
3694            ApiStatus::InvalidTimecondition => Some("This is not a valid Time Condition"),
3695            ApiStatus::InvalidTimeout => Some("This is not a valid timeout"),
3696            ApiStatus::InvalidTimerange => Some("This is not a valid Timer Range"),
3697            ApiStatus::InvalidTimezone => Some(
3698                "This is not a valid TimezoneCDR and resellerCDR: Must be numeric Voicemail: Values from getTimezone",
3699            ),
3700            ApiStatus::InvalidToNumber => Some("This is not a valid destination number"),
3701            ApiStatus::InvalidTranscriptionEmail => Some("Transcription email is not valid"),
3702            ApiStatus::InvalidTranscriptionFormat => Some("Invalid Transcription Format"),
3703            ApiStatus::InvalidTranscriptionLocale => Some("Transcription locale is not valid."),
3704            ApiStatus::InvalidTranscriptionRedaction => Some("Invalid Transcription Redaction"),
3705            ApiStatus::InvalidTranscriptionSentiment => Some("Invalid Transcription Sentiment"),
3706            ApiStatus::InvalidTranscriptionSummary => Some("Invalid Transcription Summary"),
3707            ApiStatus::InvalidType => Some("This is not a valid Type"),
3708            ApiStatus::InvalidUrgent => Some("This is not valid urgent value"),
3709            ApiStatus::InvalidUsername => Some("This is not a valid Username"),
3710            ApiStatus::InvalidVoicemailsetup => Some("This is not a valid voicemail"),
3711            ApiStatus::InvalidVoiceAnnouncement => Some("This is not a valid Voice announce"),
3712            ApiStatus::InvalidWeekdayend => Some("This is not a valid Week End"),
3713            ApiStatus::InvalidWeekdaystart => Some("This is not a valid Week Start"),
3714            ApiStatus::InvalidWrapupTime => Some("This is not a valid Wrapup time"),
3715            ApiStatus::InvalidZip => Some("Zip Code is missing or the format is invalid."),
3716            ApiStatus::IPNotEnabled => Some("This IP is not enabled for API use"),
3717            ApiStatus::LimitReached => Some(
3718                "You have reached the maximum number of messages allowed per day. - SMS limit using the API. - Fax limit applies using any method.",
3719            ),
3720            ApiStatus::LocationAlreadyExists => Some("A location with this name already exists"),
3721            ApiStatus::LocationLinkedToSubaccount => {
3722                Some("This location is in use by one or more sub accounts and cannot be deleted")
3723            }
3724            ApiStatus::LocationNotFound => Some("The specified location could not be found"),
3725            ApiStatus::MaxPhonebook => {
3726                Some("Your account is limited to 8 SIP, IAX or SIP URI members")
3727            }
3728            ApiStatus::MembersExceeded => {
3729                Some("You have reached the maximum allowed entries for the Phonebook")
3730            }
3731            ApiStatus::MemberAlreadyIncluded => Some("The member has been included already"),
3732            ApiStatus::MessageEmpty => Some("The SMS Message is empty"),
3733            ApiStatus::MessageNotFound => Some("The voicemail message was not found"),
3734            ApiStatus::MethodMaintenance => Some("This API method is under maintenance"),
3735            ApiStatus::MismatchEmailConfirm => Some("e-mail confirm does not match with e-mail"),
3736            ApiStatus::MismatchPasswordConfirm => {
3737                Some("Pasword confirm does not match with Password")
3738            }
3739            ApiStatus::MissingAccount => Some("Account was not provided"),
3740            ApiStatus::MissingAddress => Some("Address was not provided"),
3741            ApiStatus::MissingAgentRingTimeout => Some("Agent ring time out was not provided"),
3742            ApiStatus::MissingAllowedcodecs => Some("Allowed Codecs were not provided"),
3743            ApiStatus::MissingAttachmessage => Some("AttachMessage was not provided"),
3744            ApiStatus::MissingAuthtype => Some("Auth Type was not provided"),
3745            ApiStatus::MissingBalancemanagement => Some("BalanceManagemente was not provided"),
3746            ApiStatus::MissingBillingtype => Some("Billing Type was not provided"),
3747            ApiStatus::MissingCallback => Some("Callback was not provided"),
3748            ApiStatus::MissingCallerid => Some("CallerID was not provided"),
3749            ApiStatus::MissingCallhunting => Some("Call hunting was not provided"),
3750            ApiStatus::MissingCallparking => Some("Call Parking was not provided"),
3751            ApiStatus::MissingCallrecording => Some("Call recording was not provided"),
3752            ApiStatus::MissingCarrier => Some("Carrier was not provided"),
3753            ApiStatus::MissingCharge => Some("Charge was not provided."),
3754            ApiStatus::MissingChoices => Some("Choices was not provided"),
3755            ApiStatus::MissingCity => Some("City was not provided"),
3756            ApiStatus::MissingClient => Some("Client was not provided"),
3757            ApiStatus::MissingCNAM => Some("CNAM was not provided"),
3758            ApiStatus::MissingCodec => Some("Codec was not provided"),
3759            ApiStatus::MissingConference => Some("Conference was not provided"),
3760            ApiStatus::MissingCountry => Some("Country was not provided"),
3761            ApiStatus::MissingCountryid => Some("Country ID was not provided"),
3762            ApiStatus::MissingCredentials => Some("Username or Password was not provided"),
3763            ApiStatus::MissingDatetime => Some("DateTime value was not provided"),
3764            ApiStatus::MissingDelayBefore => Some("DelayBefore was not provided"),
3765            ApiStatus::MissingDeletemessage => Some("DeleteMessage was not provided"),
3766            ApiStatus::MissingDescription => Some("Description was not provided"),
3767            ApiStatus::MissingDevicetype => Some("Device Type was not provided"),
3768            ApiStatus::MissingDialtime => Some("Dialtime was not provided"),
3769            ApiStatus::MissingDID => Some("DID was not provided"),
3770            ApiStatus::MissingDigits => Some("Digits were not provided"),
3771            ApiStatus::MissingDigitTimeout => Some("DigitTimeOut was not provided"),
3772            ApiStatus::MissingDISA => Some("DISA was not provided"),
3773            ApiStatus::MissingDtmfmode => Some("DTMF Mode was not provided"),
3774            ApiStatus::MissingEmail => Some("e-mail was not provided"),
3775            ApiStatus::MissingEmailConfirm => Some("e-mail confirm was not provided"),
3776            ApiStatus::MissingEnable => Some("Enable was not provided"),
3777            ApiStatus::MissingEndhour => Some("End Hour was not provided"),
3778            ApiStatus::MissingEndminute => Some("End Minute was not provided"),
3779            ApiStatus::MissingFailoverBusy => Some("Failover Busy was not provided"),
3780            ApiStatus::MissingFailoverNoanswer => Some("Failover NoAnswer was not provided"),
3781            ApiStatus::MissingFailoverUnreachable => Some("Failover Unreachable was not provided"),
3782            ApiStatus::MissingFile => Some("File was not provided"),
3783            ApiStatus::MissingFilter => Some("Filter was not provided"),
3784            ApiStatus::MissingFirstname => Some("Firstname was not provided"),
3785            ApiStatus::MissingFolder => Some("folder was not provided"),
3786            ApiStatus::MissingForwarding => Some("Forwarding was not provided"),
3787            ApiStatus::MissingFromDate => Some("From date was not provided"),
3788            ApiStatus::MissingFullname => Some("Full Name was not provided"),
3789            ApiStatus::MissingID => Some("ID was not provided"),
3790            ApiStatus::MissingIfAnnouncePositionEnabledReportE => Some(
3791                "If announce position enabled report estimated hold time' type was not provided",
3792            ),
3793            ApiStatus::MissingInternationalroute => Some("International Route was not provided"),
3794            ApiStatus::MissingIP => {
3795                Some("You need to provide an IP if you select IP Authentication Method")
3796            }
3797            ApiStatus::MissingIPH323 => Some("You must enter an IP Address for H.323"),
3798            ApiStatus::MissingIPRestriction => Some("IP Restriction was not provided"),
3799            ApiStatus::MissingIVR => Some("IVR was not provided"),
3800            ApiStatus::MissingJoinWhenEmpty => Some("JoinWhenEmpty' type was not provided"),
3801            ApiStatus::MissingLanguage => Some("Language was not provided"),
3802            ApiStatus::MissingLastname => Some("Lastname was not provided"),
3803            ApiStatus::MissingLeaveWhenEmpty => Some("LeaveWhenEmpty' type was not provided"),
3804            ApiStatus::MissingLength => Some("Length was not provided"),
3805            ApiStatus::MissingListened => Some("Listened code was not provided"),
3806            ApiStatus::MissingLocation => Some("Location was not provided"),
3807            ApiStatus::MissingLocationName => Some("Location Name Missing"),
3808            ApiStatus::MissingLockinternational => Some("Lock International was not provided"),
3809            ApiStatus::MissingMailbox => Some("Mailbox was not provided"),
3810            ApiStatus::MissingMember => Some("Member was not provided"),
3811            ApiStatus::MissingMembers => Some("You need at least 1 member to create a ring group"),
3812            ApiStatus::MissingMessageNum => Some("Voicemail message number was not provided"),
3813            ApiStatus::MissingMethod => {
3814                Some("Method must be provided when using the REST/JSON API")
3815            }
3816            ApiStatus::MissingMinute => Some("Minute Rate was not provided"),
3817            ApiStatus::MissingMonthly => Some("Monthly Fee was not provided"),
3818            ApiStatus::MissingMusiconhold => Some("Music on Hold was not provided"),
3819            ApiStatus::MissingName => Some("Name was not provided"),
3820            ApiStatus::MissingNAT => Some("NAT was not provided"),
3821            ApiStatus::MissingNumber => Some("Number was not provided"),
3822            ApiStatus::MissingNumbers => Some("You must enter at least one valid phone number."),
3823            ApiStatus::MissingPackage => Some("Package was not provided"),
3824            ApiStatus::MissingParams => Some("Required parameters were not provided"),
3825            ApiStatus::MissingPassword => Some("Password was not provided"),
3826            ApiStatus::MissingPasswordConfirm => Some("Password Confirm was not provided"),
3827            ApiStatus::MissingPayment => Some("Payment was not provided."),
3828            ApiStatus::MissingPhonebook => Some("Phonebook was not provided"),
3829            ApiStatus::MissingPhonenumber => Some("Phone Number was not provided"),
3830            ApiStatus::MissingPIN => Some("PIN was not provided"),
3831            ApiStatus::MissingPlayinstructions => Some("PlayInstructions was not provided"),
3832            ApiStatus::MissingPOPRestriction => Some("POP Restriction was not provided"),
3833            ApiStatus::MissingPriority => Some("Priority was not provided"),
3834            ApiStatus::MissingPriorityWeight => Some("Priority/Weight was not provided"),
3835            ApiStatus::MissingProtocol => Some("Protocol was not provided"),
3836            ApiStatus::MissingProvince => Some("Province was not provided"),
3837            ApiStatus::MissingQuery => Some("Query was not provided"),
3838            ApiStatus::MissingRecording => Some("Recording was not provided"),
3839            ApiStatus::MissingReportHoldTimeAgent => {
3840                Some("Report hold time agent was not provided")
3841            }
3842            ApiStatus::MissingResellerclient => {
3843                Some("Provide a Reseller Client or don't provide a Reseller Package")
3844            }
3845            ApiStatus::MissingResellerpackage => {
3846                Some("Provide a Reseller Package or don't provide a Reseller Client")
3847            }
3848            ApiStatus::MissingResponseTimeout => Some("ResponseTimeOut was not provided"),
3849            ApiStatus::MissingRinggroup => Some("Ring group was not provided"),
3850            ApiStatus::MissingRingInuse => Some("Ring in use was not provided"),
3851            ApiStatus::MissingRingStrategy => Some("Ring strategy was not provided"),
3852            ApiStatus::MissingRoute => Some("Route was not provided"),
3853            ApiStatus::MissingRouting => Some("Routing was not provided"),
3854            ApiStatus::MissingSaycallerid => Some("SayCallerID was not provided"),
3855            ApiStatus::MissingSaytime => Some("SayTime was not provided"),
3856            ApiStatus::MissingServerpop => Some("Server POP was not provided"),
3857            ApiStatus::MissingSetup => Some("Setup Fee was not provided"),
3858            ApiStatus::MissingSIPURI => Some("SIPURI was not provided"),
3859            ApiStatus::MissingSkippassword => Some("SkipPassword was not provided"),
3860            ApiStatus::MissingSMS => Some("SMS was not provided"),
3861            ApiStatus::MissingSpeedDial => Some("Speed Dial was not provided"),
3862            ApiStatus::MissingStart => Some("Start date was not provided"),
3863            ApiStatus::MissingStarthour => Some("Start Hour was not provided"),
3864            ApiStatus::MissingStartminute => Some("Start Minute was not provided"),
3865            ApiStatus::MissingState => Some("State was not provided"),
3866            ApiStatus::MissingStreetName => Some("Street Name was not provided"),
3867            ApiStatus::MissingStreetNumber => Some("Street Number was not provided"),
3868            ApiStatus::MissingThankyouForYourPatience => {
3869                Some("Thankyou for your patience was not provided")
3870            }
3871            ApiStatus::MissingTimecondition => Some("Time Condition was not provided"),
3872            ApiStatus::MissingTimeout => Some("Timeout was not provided"),
3873            ApiStatus::MissingTimezone => Some("Timezone was not provided"),
3874            ApiStatus::MissingToDate => Some("To date was not provided"),
3875            ApiStatus::MissingTranscriptionEmail => Some("Transcription email is required."),
3876            ApiStatus::MissingTranscriptionLocale => Some("Transcription locale is required."),
3877            ApiStatus::MissingType => Some("Type was not provided"),
3878            ApiStatus::MissingUrgent => Some("Urgent code was not provided"),
3879            ApiStatus::MissingURI => Some("URI was not provided"),
3880            ApiStatus::MissingUsername => Some("Username was not provided"),
3881            ApiStatus::MissingVoicemailsetup => Some("Voice mail setup was not provided"),
3882            ApiStatus::MissingWeekdayend => Some("Week End was not provide"),
3883            ApiStatus::MissingWeekdaystart => Some("Week Start was not provided"),
3884            ApiStatus::MissingZip => Some("Zip Code was not provided"),
3885            ApiStatus::MovingFail => Some("The Fax Message was not moved"),
3886            ApiStatus::NameToolong => Some("The name exceeds character size limit"),
3887            ApiStatus::NonSufficientFunds => {
3888                Some("Your account does not have sufficient funds to proceed")
3889            }
3890            ApiStatus::NoteToolong => Some("The note exceeds character size limit"),
3891            ApiStatus::NoAccount => Some("There are no accounts"),
3892            ApiStatus::NoAttachments => Some("Theres no attachments records to show."),
3893            ApiStatus::NoBase64file => Some("File not encoded in base64"),
3894            ApiStatus::NoCallback => Some("There are not Callbacks"),
3895            ApiStatus::NoCallhunting => Some("There are no Call Huntings"),
3896            ApiStatus::NoCallparking => Some("There are no Call Parking"),
3897            ApiStatus::NoCallstatus => Some(
3898                "No Call Status was provided. One of the following parameters needs to be set to \"1\": answered, noanswer, busy, failed",
3899            ),
3900            ApiStatus::NoCDR => Some("There are no CDR entries for the filter"),
3901            ApiStatus::NoChangeBillingtype => Some("Imposible change DID billing plan"),
3902            ApiStatus::NoClient => Some("There are no Clients"),
3903            ApiStatus::NoConference => Some("There are no Conferences"),
3904            ApiStatus::NoDID => Some("There are no DIDs"),
3905            ApiStatus::NoDISA => Some("There are no DISAs"),
3906            ApiStatus::NoFilter => Some("There are no Filters"),
3907            ApiStatus::NoForwarding => Some("There was no Forwarding"),
3908            ApiStatus::NoIVR => Some("There are no ivr"),
3909            ApiStatus::NoMailbox => Some("There are no Mailboxes"),
3910            ApiStatus::NoMember => Some("There are no Static Members"),
3911            ApiStatus::NoMessage => Some("There are no Fax Message(s)"),
3912            ApiStatus::NoMessages => Some("There are no Voicemail Message(s)"),
3913            ApiStatus::NoNumbers => Some("There are no Fax Numbers"),
3914            ApiStatus::NoPackage => Some("there are no Packages"),
3915            ApiStatus::NoPhonebook => Some("There are no Phonebook entries"),
3916            ApiStatus::NoProvision => Some(
3917                "E911 service wasn't activated, this response comes with a description of the error.",
3918            ),
3919            ApiStatus::NoProvisionUpdate => Some(
3920                "E911 service wasn't updated, this response comes with a description of the error.",
3921            ),
3922            ApiStatus::NoQueue => Some("There are no Queue entries"),
3923            ApiStatus::NoRate => Some("There are no Rates"),
3924            ApiStatus::NoRecording => Some("There are no recordings"),
3925            ApiStatus::NoRinggroup => Some("There are no Ring groups"),
3926            ApiStatus::NoSequences => Some("No sequence has been found"),
3927            ApiStatus::NoSIPURI => Some("There are no SIP URIs"),
3928            ApiStatus::NoSMS => Some("There are no SMS messages"),
3929            ApiStatus::NoTimecondition => Some("There are no Time Conditions"),
3930            ApiStatus::OrderFailed => Some("The order wasn't completed."),
3931            ApiStatus::ProblemSendingMail => Some("There was a problem sending an email."),
3932            ApiStatus::ProviderOutofservice => Some("One of our providers is out of service"),
3933            ApiStatus::RecordingInUseCallerIDFiltering => {
3934                Some("You have a Caller ID Filtering using this Recording")
3935            }
3936            ApiStatus::RecordingInUseCallerTimecondition => {
3937                Some("You have a Time Condition using this Recording")
3938            }
3939            ApiStatus::RecordingInUseDID => Some("You have a DID using this Recording"),
3940            ApiStatus::RecordingInUseIVR => Some("You have an IVR using this Recording"),
3941            ApiStatus::RecordingInUseQueue => Some("You have a Calling Queue using this Recording"),
3942            ApiStatus::RepeatedIP => {
3943                Some("You already have a Subaccount using this IP and Protocol")
3944            }
3945            ApiStatus::ReservedIP => {
3946                Some("This is a reserved IP used by VoIP.ms or other Companies")
3947            }
3948            ApiStatus::RTPTimeoutGreaterThanRTPHoldTimeout => {
3949                Some("RTP Time Out can't be greater than RTP Hold Time Out")
3950            }
3951            ApiStatus::SameDIDBillingtype => {
3952                Some("The Billing Type provided and DID billing type are the same")
3953            }
3954            ApiStatus::SentFail => Some("The Fax Message it wasn't send."),
3955            ApiStatus::SIPURIInPhonebook => {
3956                Some("This SIPURI can't be deleted, it is mapped in the phonebook")
3957            }
3958            ApiStatus::SMSApplyRegulations => Some(
3959                "The number was not updated due to SMS regulations, please contact customer service for more information",
3960            ),
3961            ApiStatus::SMSFailed => Some("The SMS message was not sent"),
3962            ApiStatus::SMSToolong => Some("The SMS message exceeds 160 characters"),
3963            ApiStatus::SMSWaitMessage => Some(
3964                "SMS was not (Enabled/Disabled) for this DID, please wait a minute before you try again.",
3965            ),
3966            ApiStatus::TlsError => Some("Theres was a TLS error, please try later."),
3967            ApiStatus::UnableToPurchase => Some("Unable to purchase DIDs"),
3968            ApiStatus::UnavailableInfo => {
3969                Some("The information you requested is unavailable at this moment")
3970            }
3971            ApiStatus::UnsifficientStock => {
3972                Some("Theres no sufficient stock to complete the order.")
3973            }
3974            ApiStatus::UsedDescription => Some("You already have a record with this Description"),
3975            ApiStatus::UsedEmail => Some("You already have an entry with this Email"),
3976            ApiStatus::UsedExtension => Some("You already have a subaccount using this extension"),
3977            ApiStatus::UsedExtensionInLocation => {
3978                Some("You already have a subaccount using extension in this location")
3979            }
3980            ApiStatus::UsedFilter => Some("You already have a record with this Filter"),
3981            ApiStatus::UsedIP => Some("There is already another customer using this IP Address"),
3982            ApiStatus::UsedName => Some("You already have an entry using this name"),
3983            ApiStatus::UsedNumber => Some("You already have a record with this Number"),
3984            ApiStatus::UsedPassword => {
3985                Some("This password has been used previously by this account.")
3986            }
3987            ApiStatus::UsedSpeedDial => Some("You have an entry with this Speed Dial"),
3988            ApiStatus::UsedUsername => Some("You already have a subaccount using this Username."),
3989            ApiStatus::WeakPassword => Some("This Password is too weak or too common"),
3990            ApiStatus::Unknown(_) => None,
3991        }
3992    }
3993
3994    /// Whether this status is a documented code (not
3995    /// [`ApiStatus::Unknown`]).
3996    pub fn is_documented(&self) -> bool {
3997        !matches!(self, ApiStatus::Unknown(_))
3998    }
3999
4000    /// Whether this status means "the requested collection is empty,"
4001    /// rather than a failure. VoIP.ms returns a distinct `no_*` status
4002    /// for each list method when the list has no entries; the typed
4003    /// `Client` methods treat such a status as a successful empty
4004    /// response (collection fields deserialize to `None`) instead of an
4005    /// [`crate::Error::Api`], while the `*_raw` methods still surface it
4006    /// verbatim. Codes that look like `no_*` but signal a real failure
4007    /// (`no_base64file`, `no_callstatus`, `no_provision`, ...) are not
4008    /// included.
4009    pub fn is_empty(&self) -> bool {
4010        matches!(
4011            self,
4012            ApiStatus::NoAccount
4013                | ApiStatus::NoAttachments
4014                | ApiStatus::NoCallback
4015                | ApiStatus::NoCallhunting
4016                | ApiStatus::NoCallparking
4017                | ApiStatus::NoCDR
4018                | ApiStatus::NoClient
4019                | ApiStatus::NoConference
4020                | ApiStatus::NoDID
4021                | ApiStatus::NoDISA
4022                | ApiStatus::NoFilter
4023                | ApiStatus::NoForwarding
4024                | ApiStatus::NoIVR
4025                | ApiStatus::NoMailbox
4026                | ApiStatus::NoMember
4027                | ApiStatus::NoMessage
4028                | ApiStatus::NoMessages
4029                | ApiStatus::NoNumbers
4030                | ApiStatus::NoPackage
4031                | ApiStatus::NoPhonebook
4032                | ApiStatus::NoQueue
4033                | ApiStatus::NoRate
4034                | ApiStatus::NoRecording
4035                | ApiStatus::NoRinggroup
4036                | ApiStatus::NoSIPURI
4037                | ApiStatus::NoSMS
4038                | ApiStatus::NoTimecondition
4039        )
4040    }
4041}
4042
4043impl std::fmt::Display for ApiStatus {
4044    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4045        f.write_str(self.as_str())
4046    }
4047}
4048
4049impl From<String> for ApiStatus {
4050    fn from(s: String) -> Self {
4051        ApiStatus::from_wire(&s)
4052    }
4053}
4054
4055impl From<&str> for ApiStatus {
4056    fn from(s: &str) -> Self {
4057        ApiStatus::from_wire(s)
4058    }
4059}
4060
4061impl serde::Serialize for ApiStatus {
4062    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
4063        s.serialize_str(self.as_str())
4064    }
4065}
4066
4067impl<'de> serde::Deserialize<'de> for ApiStatus {
4068    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
4069        let s = <String as serde::Deserialize>::deserialize(d)?;
4070        Ok(ApiStatus::from_wire(&s))
4071    }
4072}
4073
4074/// \- Adds a Charge to a specific Reseller Client
4075///
4076/// Parameters for [`Client::add_charge`] (wire method `addCharge`).
4077#[derive(Debug, Default, Clone, Serialize)]
4078pub struct AddChargeParams {
4079    /// ID for a specific Reseller Client (Example: 561115) (required)
4080    #[serde(skip_serializing_if = "Option::is_none")]
4081    pub client: Option<i64>,
4082    /// Amount of money that will be Debited from the customer (Example: 4.99)
4083    /// (required)
4084    #[serde(skip_serializing_if = "Option::is_none")]
4085    pub charge: Option<f64>,
4086    /// Charge Description
4087    #[serde(skip_serializing_if = "Option::is_none")]
4088    pub description: Option<String>,
4089    /// Set to true if testing how adding charges works
4090    #[serde(
4091        skip_serializing_if = "crate::responses::is_false",
4092        serialize_with = "crate::responses::serialize_flag_01"
4093    )]
4094    pub test: bool,
4095}
4096
4097/// \- Add an invoice file to a portability process.
4098///
4099/// Parameters for [`Client::add_lnp_file`] (wire method `addLNPFile`).
4100#[derive(Debug, Default, Clone, Serialize)]
4101pub struct AddLNPFileParams {
4102    /// ID of the port previously created. (required)
4103    #[serde(skip_serializing_if = "Option::is_none")]
4104    pub portid: Option<i64>,
4105    /// Base 64 code of the file to be attached (required)
4106    #[serde(skip_serializing_if = "Option::is_none")]
4107    pub file: Option<String>,
4108}
4109
4110/// \- Add one or more numbers to start a portability process.
4111///
4112/// Parameters for [`Client::add_lnp_port`] (wire method `addLNPPort`).
4113#[derive(Debug, Default, Clone, Serialize)]
4114pub struct AddLNPPortParams {
4115    /// Digits from 1 to 4: 1: United States Local numbers 2: Canadian Local
4116    /// Numbers 3: US/CA Toll Free Numbers 4: United States Fax numbers 5:
4117    /// Canadian Fax Numbers (required)
4118    #[serde(skip_serializing_if = "Option::is_none")]
4119    pub portType: Option<i64>,
4120    /// DID(s) to port into VoIP.ms network (Example: 5552341234,5552341233). If
4121    /// you are porting more than one number, please separate them with commas.
4122    /// (required)
4123    #[serde(skip_serializing_if = "Option::is_none")]
4124    pub numbers: Option<String>,
4125    /// If you have more then 1 number with your current carrier and not porting
4126    /// them all, choose yes. If you are porting all the numbers, choose no.
4127    /// Please note that you still need to include all numbers you want to port.
4128    /// If you have 2 numbers and want to port both, you need to include both
4129    /// numbers in the list of numbers to port. - (Values: 1 = true, 0 = false)
4130    /// \- Default: 0
4131    #[serde(
4132        skip_serializing_if = "Option::is_none",
4133        serialize_with = "crate::responses::serialize_opt_flag_01"
4134    )]
4135    pub isPartial: Option<bool>,
4136    /// \- (Values: 1 = Business, 0 = Residential) - Default: 0
4137    #[serde(skip_serializing_if = "Option::is_none")]
4138    pub locationType: Option<i64>,
4139    /// \- (Values: 1 = All the numbers are mobile numbers, 0 = false) - Default:
4140    /// 0
4141    #[serde(
4142        skip_serializing_if = "Option::is_none",
4143        serialize_with = "crate::responses::serialize_opt_flag_01"
4144    )]
4145    pub isMobile: Option<bool>,
4146    /// PIN Number
4147    #[serde(skip_serializing_if = "Option::is_none")]
4148    pub pin: Option<String>,
4149    /// \[Required If isMobile = 1\] BTN: It is the phone number to which all
4150    /// the other numbers of the customer are charged, in a consolidated
4151    /// telephone bill (instead of showing separate charges for each number you
4152    /// own). Please try to find the BTN on your invoice, and if you are unable
4153    /// to do so please contact the current provider to obtain it.
4154    #[serde(skip_serializing_if = "Option::is_none")]
4155    pub btn: Option<String>,
4156    /// \[Required If isMobile = 1\] Please be specific and describe ALL
4157    /// remaining services with the current carrier. This includes DSL/Data
4158    /// services, Hunt Group services, etc. Any services NOT listed below may be
4159    /// disconnected upon completion of this port order.
4160    #[serde(skip_serializing_if = "Option::is_none")]
4161    pub services: Option<String>,
4162    /// \[Required If portType = 3\] Values: 1 - American Carrier, American
4163    /// Callers Only, 2 - American Carrier, American and Canadian Callers
4164    /// allowed, 3 - Canadian Carrier
4165    #[serde(skip_serializing_if = "Option::is_none")]
4166    pub tfType: Option<i64>,
4167    /// This is for Business numbers only. Please type your Company Name if
4168    /// applicable, otherwise leave it blank. (required)
4169    #[serde(skip_serializing_if = "Option::is_none")]
4170    pub statementName: Option<String>,
4171    /// This is the "Customer First Name" as it appears on the CSR (Customer
4172    /// Service Record) of the losing carrier. Please Enter the first name of
4173    /// the owner of the number or the autorized contact. No company name must
4174    /// be entered in the field. (required)
4175    #[serde(skip_serializing_if = "Option::is_none")]
4176    pub firstName: Option<String>,
4177    /// This is the "Customer Last Name" as it appears on the CSR (Customer
4178    /// Service Record) of the losing carrier. Please Enter the last name of the
4179    /// owner of the number or the autorized contact. No company name must be
4180    /// entered in the field (required)
4181    #[serde(skip_serializing_if = "Option::is_none")]
4182    pub lastName: Option<String>,
4183    /// This is the "Customer Address" as it appears on the CSR (Customer
4184    /// Service Record) of the losing carrier. (required)
4185    #[serde(skip_serializing_if = "Option::is_none")]
4186    pub address1: Option<String>,
4187    /// Optional Address information (e.g: Suite 343)
4188    #[serde(skip_serializing_if = "Option::is_none")]
4189    pub address2: Option<String>,
4190    /// This is the "City" as it appears on the CSR (Customer Service Record) of
4191    /// the losing carrier. (required)
4192    #[serde(skip_serializing_if = "Option::is_none")]
4193    pub city: Option<String>,
4194    /// This is the "ZIP or Postal Code" as it appears on the CSR (Customer
4195    /// Service Record) of the losing carrier. (required)
4196    #[serde(skip_serializing_if = "Option::is_none")]
4197    pub zip: Option<String>,
4198    /// This is the "State or Province" as it appears on the CSR (Customer
4199    /// Service Record) of the losing carrier. (required)
4200    #[serde(skip_serializing_if = "Option::is_none")]
4201    pub state: Option<String>,
4202    /// This is the "Country" as it appears on the CSR (Customer Service Record)
4203    /// of the losing carrier. (required)
4204    #[serde(skip_serializing_if = "Option::is_none")]
4205    pub country: Option<String>,
4206    /// The name of your current service provider. (required)
4207    #[serde(skip_serializing_if = "Option::is_none")]
4208    pub providerName: Option<String>,
4209    /// Your Account with your current service provider. (required)
4210    #[serde(skip_serializing_if = "Option::is_none")]
4211    pub providerAccount: Option<String>,
4212    /// \- If you would like to include additional information regarding this
4213    /// port, you can use this parameter.
4214    #[serde(skip_serializing_if = "Option::is_none")]
4215    pub notes: Option<String>,
4216}
4217
4218/// \- Add Member to a Conference
4219///
4220/// Parameters for [`Client::add_member_to_conference`] (wire method `addMemberToConference`).
4221#[derive(Debug, Default, Clone, Serialize)]
4222pub struct AddMemberToConferenceParams {
4223    /// Specific Member ID (Example: 6547) (required)
4224    #[serde(skip_serializing_if = "Option::is_none")]
4225    pub member: Option<i64>,
4226    /// Specific Conference ID (Example: 234) (required)
4227    #[serde(skip_serializing_if = "Option::is_none")]
4228    pub conference: Option<i64>,
4229}
4230
4231/// \- Adds a Payment to a specific Reseller Client
4232///
4233/// Parameters for [`Client::add_payment`] (wire method `addPayment`).
4234#[derive(Debug, Default, Clone, Serialize)]
4235pub struct AddPaymentParams {
4236    /// ID for a specific Reseller Client (Example: 561115) (required)
4237    #[serde(skip_serializing_if = "Option::is_none")]
4238    pub client: Option<i64>,
4239    /// Amount of money that will be Credited to the customer (Example: 4.99)
4240    /// (required)
4241    #[serde(skip_serializing_if = "Option::is_none")]
4242    pub payment: Option<f64>,
4243    /// Payment Description
4244    #[serde(skip_serializing_if = "Option::is_none")]
4245    pub description: Option<String>,
4246    /// Set to true if testing how adding payments works
4247    #[serde(
4248        skip_serializing_if = "crate::responses::is_false",
4249        serialize_with = "crate::responses::serialize_flag_01"
4250    )]
4251    pub test: bool,
4252}
4253
4254/// \- Assigns a Per Minute DID to a VPRI (Flat Rate DIDs can&rsquo;t be
4255/// assigned)
4256///
4257/// Parameters for [`Client::assign_did_vpri`] (wire method `assignDIDvPRI`).
4258#[derive(Debug, Default, Clone, Serialize)]
4259pub struct AssignDIDvPRIParams {
4260    /// Id for specific Vpri (required)
4261    #[serde(skip_serializing_if = "Option::is_none")]
4262    pub vpri: Option<i64>,
4263    /// DID Number to be assign into our Vpri (Example: 561115) (required)
4264    #[serde(skip_serializing_if = "Option::is_none")]
4265    pub did: Option<String>,
4266}
4267
4268/// \- Backorder DID (CANADA) from a specific ratecenter and province.
4269///
4270/// Parameters for [`Client::back_order_did_can`] (wire method `backOrderDIDCAN`).
4271#[derive(Debug, Default, Clone, Serialize)]
4272pub struct BackOrderDIDCANParams {
4273    /// Number of DIDs to be Ordered (Example: 3) (required)
4274    #[serde(skip_serializing_if = "Option::is_none")]
4275    pub quantity: Option<i64>,
4276    /// Canadian Province (values from getProvinces) (required)
4277    #[serde(skip_serializing_if = "Option::is_none")]
4278    pub province: Option<String>,
4279    /// USA Ratecenter (Values from getRateCentersUSA) (required)
4280    #[serde(skip_serializing_if = "Option::is_none")]
4281    pub ratecenter: Option<String>,
4282    /// Main Routing for the DID (required)
4283    #[serde(skip_serializing_if = "Option::is_none")]
4284    pub routing: Option<crate::Routing>,
4285    /// Busy Routing for the DID
4286    #[serde(skip_serializing_if = "Option::is_none")]
4287    pub failover_busy: Option<crate::Routing>,
4288    /// Unreachable Routing for the DID
4289    #[serde(skip_serializing_if = "Option::is_none")]
4290    pub failover_unreachable: Option<crate::Routing>,
4291    /// NoAnswer Routing for the DID
4292    #[serde(skip_serializing_if = "Option::is_none")]
4293    pub failover_noanswer: Option<crate::Routing>,
4294    /// Voicemail for the DID (Example: 101)
4295    #[serde(skip_serializing_if = "Option::is_none")]
4296    pub voicemail: Option<String>,
4297    /// Point of Presence for the DID (Example: 5) (required)
4298    #[serde(skip_serializing_if = "Option::is_none")]
4299    pub pop: Option<i64>,
4300    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
4301    #[serde(skip_serializing_if = "Option::is_none")]
4302    pub dialtime: Option<i64>,
4303    /// CNAM for the DID (Boolean: 1/0) (required)
4304    #[serde(skip_serializing_if = "Option::is_none")]
4305    pub cnam: Option<i64>,
4306    /// Caller ID Prefix for the DID
4307    #[serde(skip_serializing_if = "Option::is_none")]
4308    pub callerid_prefix: Option<String>,
4309    /// Note for the DID
4310    #[serde(skip_serializing_if = "Option::is_none")]
4311    pub note: Option<String>,
4312    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
4313    #[serde(skip_serializing_if = "Option::is_none")]
4314    pub billing_type: Option<DidBillingType>,
4315    /// Set to true if testing how Orders work - Orders can not be undone - When
4316    /// testing, no Orders are made routing, failover_busy, failover_unreachable
4317    /// and failover_noanswer can receive values in the following format =>
4318    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
4319    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
4320    /// routing calls to Sub Accounts You can get all sub accounts using the
4321    /// getSubAccounts function fwd Used for routing calls to Forwarding
4322    /// entries. You can get the ID right after creating a Forwarding with
4323    /// setForwarding or by requesting all forwardings entries with
4324    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
4325    /// all voicemails and their IDs using the getVoicemails function sys System
4326    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
4327    /// Recording: Number not in service disconnected = System Recording: Number
4328    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
4329    /// Used to route calls to no action Examples: 'account:100001_VoIP'
4330    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
4331    #[serde(
4332        skip_serializing_if = "crate::responses::is_false",
4333        serialize_with = "crate::responses::serialize_flag_01"
4334    )]
4335    pub test: bool,
4336}
4337
4338/// \- Backorder DID (USA) from a specific ratecenter and state.
4339///
4340/// Parameters for [`Client::back_order_did_usa`] (wire method `backOrderDIDUSA`).
4341#[derive(Debug, Default, Clone, Serialize)]
4342pub struct BackOrderDIDUSAParams {
4343    /// Number of DIDs to be Ordered (Example: 3) (required)
4344    #[serde(skip_serializing_if = "Option::is_none")]
4345    pub quantity: Option<i64>,
4346    /// USA State (values from getStates) (required)
4347    #[serde(skip_serializing_if = "Option::is_none")]
4348    pub state: Option<String>,
4349    /// USA Ratecenter (Values from getRateCentersUSA) (required)
4350    #[serde(skip_serializing_if = "Option::is_none")]
4351    pub ratecenter: Option<String>,
4352    /// Main Routing for the DID (required)
4353    #[serde(skip_serializing_if = "Option::is_none")]
4354    pub routing: Option<crate::Routing>,
4355    /// Busy Routing for the DID
4356    #[serde(skip_serializing_if = "Option::is_none")]
4357    pub failover_busy: Option<crate::Routing>,
4358    /// Unreachable Routing for the DID
4359    #[serde(skip_serializing_if = "Option::is_none")]
4360    pub failover_unreachable: Option<crate::Routing>,
4361    /// NoAnswer Routing for the DID
4362    #[serde(skip_serializing_if = "Option::is_none")]
4363    pub failover_noanswer: Option<crate::Routing>,
4364    /// Voicemail for the DID (Example: 101)
4365    #[serde(skip_serializing_if = "Option::is_none")]
4366    pub voicemail: Option<String>,
4367    /// Point of Presence for the DID (Example: 5) (required)
4368    #[serde(skip_serializing_if = "Option::is_none")]
4369    pub pop: Option<i64>,
4370    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
4371    #[serde(skip_serializing_if = "Option::is_none")]
4372    pub dialtime: Option<i64>,
4373    /// CNAM for the DID (Boolean: 1/0) (required)
4374    #[serde(skip_serializing_if = "Option::is_none")]
4375    pub cnam: Option<i64>,
4376    /// Caller ID Prefix for the DID
4377    #[serde(skip_serializing_if = "Option::is_none")]
4378    pub callerid_prefix: Option<String>,
4379    /// Note for the DID
4380    #[serde(skip_serializing_if = "Option::is_none")]
4381    pub note: Option<String>,
4382    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
4383    #[serde(skip_serializing_if = "Option::is_none")]
4384    pub billing_type: Option<DidBillingType>,
4385    /// Set to true if testing how Orders work - Orders can not be undone - When
4386    /// testing, no Orders are made routing, failover_busy, failover_unreachable
4387    /// and failover_noanswer can receive values in the following format =>
4388    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
4389    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
4390    /// routing calls to Sub Accounts You can get all sub accounts using the
4391    /// getSubAccounts function fwd Used for routing calls to Forwarding
4392    /// entries. You can get the ID right after creating a Forwarding with
4393    /// setForwarding or by requesting all forwardings entries with
4394    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
4395    /// all voicemails and their IDs using the getVoicemails function sys System
4396    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
4397    /// Recording: Number not in service disconnected = System Recording: Number
4398    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
4399    /// Used to route calls to no action Examples: 'account:100001_VoIP'
4400    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
4401    #[serde(
4402        skip_serializing_if = "crate::responses::is_false",
4403        serialize_with = "crate::responses::serialize_flag_01"
4404    )]
4405    pub test: bool,
4406}
4407
4408/// \- Deletes a specific DID from your Account.
4409///
4410/// Parameters for [`Client::cancel_did`] (wire method `cancelDID`).
4411#[derive(Debug, Default, Clone, Serialize)]
4412pub struct CancelDIDParams {
4413    /// DID to be canceled and deleted (Example: 5551234567) (required)
4414    #[serde(skip_serializing_if = "Option::is_none")]
4415    pub did: Option<String>,
4416    /// Comment for DID cancellation
4417    #[serde(skip_serializing_if = "Option::is_none")]
4418    pub cancelcomment: Option<String>,
4419    /// Set to true if the DID is being ported out
4420    #[serde(
4421        skip_serializing_if = "Option::is_none",
4422        serialize_with = "crate::responses::serialize_opt_flag_01"
4423    )]
4424    pub portout: Option<bool>,
4425    /// Set to true if testing how cancellation works - Cancellation can not be
4426    /// undone - When testing, no changes are made
4427    #[serde(
4428        skip_serializing_if = "crate::responses::is_false",
4429        serialize_with = "crate::responses::serialize_flag_01"
4430    )]
4431    pub test: bool,
4432}
4433
4434/// \- Deletes a specific Fax Number from your Account.
4435///
4436/// Parameters for [`Client::cancel_fax_number`] (wire method `cancelFaxNumber`).
4437#[derive(Debug, Default, Clone, Serialize)]
4438pub struct CancelFAXNumberParams {
4439    /// ID for a specific Fax Number (Example: 923) (required)
4440    #[serde(skip_serializing_if = "Option::is_none")]
4441    pub id: Option<i64>,
4442    /// Set to true if testing how cancel a Fax Number
4443    #[serde(
4444        skip_serializing_if = "crate::responses::is_false",
4445        serialize_with = "crate::responses::serialize_flag_01"
4446    )]
4447    pub test: bool,
4448}
4449
4450/// \- Connects a specific DID to a specific Reseller Client Sub Account
4451///
4452/// Parameters for [`Client::connect_did`] (wire method `connectDID`).
4453#[derive(Debug, Default, Clone, Serialize)]
4454pub struct ConnectDIDParams {
4455    /// DID to be Connected to Reseler Sub Account (Example: 5551234567)
4456    /// (required)
4457    #[serde(skip_serializing_if = "Option::is_none")]
4458    pub did: Option<String>,
4459    /// Reseller Sub Account (Example: '100001_VoIP') (required)
4460    #[serde(skip_serializing_if = "Option::is_none")]
4461    pub account: Option<String>,
4462    /// Montly Fee for Reseller Client (Example: 3.50) (required)
4463    #[serde(skip_serializing_if = "Option::is_none")]
4464    pub monthly: Option<f64>,
4465    /// Setup Fee for Reseller Client (Example: 1.99) (required)
4466    #[serde(skip_serializing_if = "Option::is_none")]
4467    pub setup: Option<f64>,
4468    /// Minute Rate for Reseller Client (Example: 0.03) (required)
4469    #[serde(skip_serializing_if = "Option::is_none")]
4470    pub minute: Option<f64>,
4471    /// Next billing date (Example: '2014-03-30')
4472    #[serde(skip_serializing_if = "Option::is_none")]
4473    pub next_billing: Option<String>,
4474    /// If set to true, the setup value will not be charged after Connect
4475    #[serde(
4476        skip_serializing_if = "Option::is_none",
4477        serialize_with = "crate::responses::serialize_opt_flag_01"
4478    )]
4479    pub dont_charge_setup: Option<bool>,
4480    /// If set to true, the monthly value will not be charged after Connect
4481    #[serde(
4482        skip_serializing_if = "Option::is_none",
4483        serialize_with = "crate::responses::serialize_opt_flag_01"
4484    )]
4485    pub dont_charge_monthly: Option<bool>,
4486}
4487
4488/// \- Connects a specific FAX DID to a specific Reseller Client Sub Account
4489///
4490/// Parameters for [`Client::connect_fax`] (wire method `connectFAX`).
4491#[derive(Debug, Default, Clone, Serialize)]
4492pub struct ConnectFAXParams {
4493    /// FAX DID to be Connected to Reseller Sub Account (Example: 5551234567)
4494    /// (required)
4495    #[serde(skip_serializing_if = "Option::is_none")]
4496    pub did: Option<String>,
4497    /// Reseller Sub Account (Example: '100001_VoIP') (required)
4498    #[serde(skip_serializing_if = "Option::is_none")]
4499    pub account: Option<String>,
4500    /// Montly Fee for Reseller Client (Example: 3.50) (required)
4501    #[serde(skip_serializing_if = "Option::is_none")]
4502    pub monthly: Option<f64>,
4503    /// Setup Fee for Reseller Client (Example: 1.99) (required)
4504    #[serde(skip_serializing_if = "Option::is_none")]
4505    pub setup: Option<f64>,
4506    /// Minute Rate for Reseller Client (Example: 0.03) (required)
4507    #[serde(skip_serializing_if = "Option::is_none")]
4508    pub minute: Option<f64>,
4509    /// Next billing date (Example: '2014-03-30')
4510    #[serde(skip_serializing_if = "Option::is_none")]
4511    pub next_billing: Option<String>,
4512    /// If set to true, the setup value will not be charged after Connect
4513    #[serde(
4514        skip_serializing_if = "Option::is_none",
4515        serialize_with = "crate::responses::serialize_opt_flag_01"
4516    )]
4517    pub dont_charge_setup: Option<bool>,
4518    /// If set to true, the monthly value will not be charged after Connect
4519    #[serde(
4520        skip_serializing_if = "Option::is_none",
4521        serialize_with = "crate::responses::serialize_opt_flag_01"
4522    )]
4523    pub dont_charge_monthly: Option<bool>,
4524}
4525
4526/// \- Adds a new Sub Account entry to your Account
4527///
4528/// Parameters for [`Client::create_sub_account`] (wire method `createSubAccount`).
4529#[derive(Debug, Default, Clone, Serialize)]
4530pub struct CreateSubAccountParams {
4531    /// Username for the Sub Account (Example: 'VoIP') (required)
4532    #[serde(skip_serializing_if = "Option::is_none")]
4533    pub username: Option<String>,
4534    /// Protocol used for the Sub Account (Values from getProtocols) (required)
4535    #[serde(skip_serializing_if = "Option::is_none")]
4536    pub protocol: Option<i64>,
4537    /// Sub Account Description (Example: 'VoIP Account')
4538    #[serde(skip_serializing_if = "Option::is_none")]
4539    pub description: Option<String>,
4540    /// Authorization Type Code (Values from getAuthTypes) (required)
4541    #[serde(skip_serializing_if = "Option::is_none")]
4542    pub auth_type: Option<i64>,
4543    /// Sub Account Password (For Password Authentication)
4544    #[serde(skip_serializing_if = "Option::is_none")]
4545    pub password: Option<String>,
4546    /// Sub Account IP (For IP Authentication)
4547    #[serde(skip_serializing_if = "Option::is_none")]
4548    pub ip: Option<String>,
4549    /// Device Type Code (Values from getDeviceTypes) (required)
4550    #[serde(skip_serializing_if = "Option::is_none")]
4551    pub device_type: Option<i64>,
4552    /// Caller ID Override
4553    #[serde(skip_serializing_if = "Option::is_none")]
4554    pub callerid_number: Option<String>,
4555    /// Route Code (Values from getRoutes)
4556    #[serde(skip_serializing_if = "Option::is_none")]
4557    pub canada_routing: Option<String>,
4558    /// Lock International Code (Values from getLockInternational) (required)
4559    #[serde(skip_serializing_if = "Option::is_none")]
4560    pub lock_international: Option<i64>,
4561    /// Route Code (Values from getRoutes) (required)
4562    #[serde(skip_serializing_if = "Option::is_none")]
4563    pub international_route: Option<i64>,
4564    /// Music on Hold Code (Values from getMusicOnHold) (required)
4565    #[serde(skip_serializing_if = "Option::is_none")]
4566    pub music_on_hold: Option<String>,
4567    /// Language for system messages, such as "Invalid Option" (Values from
4568    /// getLanguages)
4569    #[serde(skip_serializing_if = "Option::is_none")]
4570    pub language: Option<String>,
4571    /// List of Allowed Codecs (Values from getAllowedCodecs) Codecs separated
4572    /// by semicolon (Example: ulaw;g729;gsm) (required)
4573    #[serde(skip_serializing_if = "Option::is_none")]
4574    pub allowed_codecs: Option<String>,
4575    /// DTMF Mode Code (Values from getDTMFModes) (required)
4576    #[serde(skip_serializing_if = "Option::is_none")]
4577    pub dtmf_mode: Option<DtmfMode>,
4578    /// NAT Mode Code (Values from getNAT) (required)
4579    #[serde(skip_serializing_if = "Option::is_none")]
4580    pub nat: Option<Nat>,
4581    /// Encrypted SIP Traffic (Boolean: 1/0)
4582    #[serde(skip_serializing_if = "Option::is_none")]
4583    pub sip_traffic: Option<i64>,
4584    /// Max Expiry between 60 and 3600 (Example: 3000)
4585    #[serde(skip_serializing_if = "Option::is_none")]
4586    pub max_expiry: Option<i64>,
4587    /// RTP Time Out between 1 and 3600 (Example: 60)
4588    #[serde(skip_serializing_if = "Option::is_none")]
4589    pub rtp_timeout: Option<i64>,
4590    /// RTP Hold Time Out between 1 and 3600 (Example: 600)
4591    #[serde(skip_serializing_if = "Option::is_none")]
4592    pub rtp_hold_timeout: Option<i64>,
4593    /// List of IP Addresses, IP Addresses/Netmask, or Fully Qualified Domain
4594    /// Names to allow outgoing calls separated by commas (Example:
4595    /// 123.45.3.21,10.255.12.0/22,device.mydomain.com)
4596    #[serde(skip_serializing_if = "Option::is_none")]
4597    pub ip_restriction: Option<String>,
4598    /// Enable IP Restriction (Boolean: 1/0)
4599    #[serde(
4600        skip_serializing_if = "Option::is_none",
4601        serialize_with = "crate::responses::serialize_opt_flag_01"
4602    )]
4603    pub enable_ip_restriction: Option<bool>,
4604    /// List of POP Servers to allow outgoing calls separated by commas (values
4605    /// from getServersInfo. Example: 10,23,45)
4606    #[serde(skip_serializing_if = "Option::is_none")]
4607    pub pop_restriction: Option<String>,
4608    /// Enable POP Restriction (Boolean: 1/0)
4609    #[serde(
4610        skip_serializing_if = "Option::is_none",
4611        serialize_with = "crate::responses::serialize_opt_flag_01"
4612    )]
4613    pub enable_pop_restriction: Option<bool>,
4614    /// Sub Account Internal Extension (Example: 1 -> Creates 101)
4615    #[serde(skip_serializing_if = "Option::is_none")]
4616    pub internal_extension: Option<String>,
4617    /// Sub Account Internal Voicemail (Example: 101)
4618    #[serde(skip_serializing_if = "Option::is_none")]
4619    pub internal_voicemail: Option<String>,
4620    /// Sub Account Internal Dialtime (Example: 60 -> seconds)
4621    #[serde(skip_serializing_if = "Option::is_none")]
4622    pub internal_dialtime: Option<String>,
4623    /// Reseller Account ID (Example: 561115)
4624    #[serde(skip_serializing_if = "Option::is_none")]
4625    pub reseller_client: Option<String>,
4626    /// Reseller Package (Example: 92364)
4627    #[serde(skip_serializing_if = "Option::is_none")]
4628    pub reseller_package: Option<String>,
4629    /// Reseller Next Billing Date (Example: '2012-12-31')
4630    #[serde(skip_serializing_if = "Option::is_none")]
4631    pub reseller_nextbilling: Option<String>,
4632    /// True if you want to charge Package Setup Fee after Save
4633    #[serde(skip_serializing_if = "Option::is_none")]
4634    pub reseller_chargesetup: Option<String>,
4635    /// Send BYE on successful transfer (Boolean: 1/0)
4636    #[serde(
4637        skip_serializing_if = "Option::is_none",
4638        serialize_with = "crate::responses::serialize_opt_flag_01"
4639    )]
4640    pub send_bye: Option<bool>,
4641    /// Record Calls (Boolean: 1/0)
4642    #[serde(
4643        skip_serializing_if = "Option::is_none",
4644        serialize_with = "crate::responses::serialize_opt_flag_01"
4645    )]
4646    pub record_calls: Option<bool>,
4647    /// Enable Call Transcription (Boolean: 1/0)
4648    #[serde(
4649        skip_serializing_if = "Option::is_none",
4650        serialize_with = "crate::responses::serialize_opt_flag_01"
4651    )]
4652    pub transcribe: Option<bool>,
4653    /// Transcription locale code (values from getLocales, comma separated for
4654    /// more than one locale up to 10 locales)
4655    #[serde(skip_serializing_if = "Option::is_none")]
4656    pub transcription_locale: Option<String>,
4657    /// Call Transcription Email
4658    #[serde(skip_serializing_if = "Option::is_none")]
4659    pub transcription_email: Option<String>,
4660    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
4661    /// (Example: 10 -> seconds)
4662    #[serde(skip_serializing_if = "Option::is_none")]
4663    pub transcription_start_delay: Option<i64>,
4664    /// Enable Internal CallerID
4665    #[serde(
4666        skip_serializing_if = "Option::is_none",
4667        serialize_with = "crate::responses::serialize_opt_flag_01"
4668    )]
4669    pub enable_internal_cnam: Option<bool>,
4670    /// Internal CallerID Name
4671    #[serde(skip_serializing_if = "Option::is_none")]
4672    pub internal_cnam: Option<String>,
4673    /// Allows you to dial outgoing calls using either the NANPA configuration
4674    /// or the E164 configuration. (Values: 0 = Use Main Account Setting, 1 =
4675    /// E164, 2 = NANPA)
4676    #[serde(skip_serializing_if = "Option::is_none")]
4677    pub dialing_mode: Option<DialingMode>,
4678    /// This allows you to select the carrier to be used for outgoing calls to
4679    /// toll-free numbers. (Values: -1 = Use main account settings, 0 = Default
4680    /// server setting, 1 = US carrier, 2 = Canadian carrier)
4681    #[serde(skip_serializing_if = "Option::is_none")]
4682    pub tfcarrier: Option<TollFreeCarrier>,
4683    /// Location group for the internal extension (Values from getLocations)
4684    #[serde(skip_serializing_if = "Option::is_none")]
4685    pub internal_extension_location: Option<i64>,
4686}
4687
4688/// \- Adds a new Voicemail entry to your Account
4689///
4690/// Parameters for [`Client::create_voicemail`] (wire method `createVoicemail`).
4691#[derive(Debug, Default, Clone, Serialize)]
4692pub struct CreateVoicemailParams {
4693    /// Digits used to create the voicemail (Example: 01) Minimum 1 digit,
4694    /// maximum 10 digits (required)
4695    #[serde(skip_serializing_if = "Option::is_none")]
4696    pub digits: Option<i64>,
4697    /// Name for the Mailbox (required)
4698    #[serde(skip_serializing_if = "Option::is_none")]
4699    pub name: Option<String>,
4700    /// Password for the Mailbox (required)
4701    #[serde(skip_serializing_if = "Option::is_none")]
4702    pub password: Option<String>,
4703    /// True if Skipping Password (Boolean: 1/0) (required)
4704    #[serde(
4705        skip_serializing_if = "Option::is_none",
4706        serialize_with = "crate::responses::serialize_opt_flag_01"
4707    )]
4708    pub skip_password: Option<bool>,
4709    /// Email address for receiving messages, multiple email addresses are
4710    /// allowed if separated by a comma
4711    #[serde(skip_serializing_if = "Option::is_none")]
4712    pub email: Option<String>,
4713    /// Yes for Attaching WAV files to Message (Values: 'yes'/'no') (required)
4714    #[serde(
4715        skip_serializing_if = "Option::is_none",
4716        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4717    )]
4718    pub attach_message: Option<bool>,
4719    /// Yes for Deleting Messages (Values: 'yes'/'no') (required)
4720    #[serde(
4721        skip_serializing_if = "Option::is_none",
4722        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4723    )]
4724    pub delete_message: Option<bool>,
4725    /// Yes for Saying Time Stamp (Values: 'yes'/'no') (required)
4726    #[serde(
4727        skip_serializing_if = "Option::is_none",
4728        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4729    )]
4730    pub say_time: Option<bool>,
4731    /// Time Zone for Mailbox (Values from getTimeZones) (required)
4732    #[serde(skip_serializing_if = "Option::is_none")]
4733    pub timezone: Option<String>,
4734    /// Yes for Saying the Caller ID (Values: 'yes'/'no') (required)
4735    #[serde(
4736        skip_serializing_if = "Option::is_none",
4737        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4738    )]
4739    pub say_callerid: Option<bool>,
4740    /// Code for Play Instructions Setting (Values from getPlayInstructions)
4741    /// (required)
4742    #[serde(skip_serializing_if = "Option::is_none")]
4743    pub play_instructions: Option<PlayInstructions>,
4744    /// Code for Language (Values from getLanguages) (required)
4745    #[serde(skip_serializing_if = "Option::is_none")]
4746    pub language: Option<String>,
4747    /// Code for Email Attachment format (Values from
4748    /// getVoicemailAttachmentFormats)
4749    #[serde(skip_serializing_if = "Option::is_none")]
4750    pub email_attachment_format: Option<EmailAttachmentFormat>,
4751    /// Recording for the Unavailable Message (values from getRecordings)
4752    #[serde(skip_serializing_if = "Option::is_none")]
4753    pub unavailable_message_recording: Option<String>,
4754    /// 'yes' to enable Voicemail Transcription
4755    #[serde(
4756        skip_serializing_if = "Option::is_none",
4757        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4758    )]
4759    pub transcription: Option<bool>,
4760    /// Transcription locale code (values from getLocales, comma separated for
4761    /// more than one locale up to 10 locales)
4762    #[serde(skip_serializing_if = "Option::is_none")]
4763    pub transcription_locale: Option<String>,
4764    /// Yes for Transcription redaction (Values: 'yes'/'no')
4765    #[serde(
4766        skip_serializing_if = "Option::is_none",
4767        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4768    )]
4769    pub transcription_redaction: Option<bool>,
4770    /// Yes for Transcription sentiment (Values: 'yes'/'no')
4771    #[serde(
4772        skip_serializing_if = "Option::is_none",
4773        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4774    )]
4775    pub transcription_sentiment: Option<bool>,
4776    /// Yes for Transcription summary (Values: 'yes'/'no')
4777    #[serde(
4778        skip_serializing_if = "Option::is_none",
4779        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4780    )]
4781    pub transcription_summary: Option<bool>,
4782    /// Transcription format ( Values: 'html'/'text')
4783    #[serde(skip_serializing_if = "Option::is_none")]
4784    pub transcription_format: Option<TranscriptionFormat>,
4785}
4786
4787/// \- Deletes a specific Call Hunting from your Account.
4788///
4789/// Parameters for [`Client::del_call_hunting`] (wire method `delCallHunting`).
4790#[derive(Debug, Default, Clone, Serialize)]
4791pub struct DelCallHuntingParams {
4792    /// ID for a specific Call Hunting (Example: 323) (required)
4793    #[serde(skip_serializing_if = "Option::is_none")]
4794    pub callhunting: Option<i64>,
4795}
4796
4797/// \- Deletes a specific Call Parking entry from your Account.
4798///
4799/// Parameters for [`Client::del_call_parking`] (wire method `delCallParking`).
4800#[derive(Debug, Default, Clone, Serialize)]
4801pub struct DelCallParkingParams {
4802    /// ID for a specific Call Parking (Example: 323) (required)
4803    #[serde(skip_serializing_if = "Option::is_none")]
4804    pub callparking: Option<i64>,
4805}
4806
4807/// \- Delete specific call recording, audio file and information related.
4808///
4809/// Parameters for [`Client::del_call_recording`] (wire method `delCallRecording`).
4810#[derive(Debug, Default, Clone, Serialize)]
4811pub struct DelCallRecordingParams {
4812    /// Call Recording (Values from getCallRecordings) (required)
4813    #[serde(skip_serializing_if = "Option::is_none")]
4814    pub callrecording: Option<String>,
4815    /// Filter Call Recordings by Account (Values from getCallAccounts)
4816    /// (required)
4817    #[serde(skip_serializing_if = "Option::is_none")]
4818    pub account: Option<String>,
4819}
4820
4821/// \- Deletes a specific Callback from your Account.
4822///
4823/// Parameters for [`Client::del_callback`] (wire method `delCallback`).
4824#[derive(Debug, Default, Clone, Serialize)]
4825pub struct DelCallbackParams {
4826    /// ID for a specific Callback (Example: 19183) (required)
4827    #[serde(skip_serializing_if = "Option::is_none")]
4828    pub callback: Option<i64>,
4829}
4830
4831/// \- Deletes a specific CallerID Filtering from your Account.
4832///
4833/// Parameters for [`Client::del_caller_id_filtering`] (wire method `delCallerIDFiltering`).
4834#[derive(Debug, Default, Clone, Serialize)]
4835pub struct DelCallerIDFilteringParams {
4836    /// ID for a specific CallerID Filtering (Example: 19183) (required)
4837    #[serde(skip_serializing_if = "Option::is_none")]
4838    pub filtering: Option<i64>,
4839}
4840
4841/// \- Deletes a specific reseller client from your Account.
4842///
4843/// Parameters for [`Client::del_client`] (wire method `delClient`).
4844#[derive(Debug, Default, Clone, Serialize)]
4845pub struct DelClientParams {
4846    /// ID for a specific Reseller Client (Example: 1998) (required)
4847    #[serde(skip_serializing_if = "Option::is_none")]
4848    pub client: Option<i64>,
4849}
4850
4851/// \- Deletes a specific Conference from your Account.
4852///
4853/// Parameters for [`Client::del_conference`] (wire method `delConference`).
4854#[derive(Debug, Default, Clone, Serialize)]
4855pub struct DelConferenceParams {
4856    /// ID for a specific Conference (Example: 737) (required)
4857    #[serde(skip_serializing_if = "Option::is_none")]
4858    pub conference: Option<i64>,
4859}
4860
4861/// \- Deletes a specific Member profile from your Account.
4862///
4863/// Parameters for [`Client::del_conference_member`] (wire method `delConferenceMember`).
4864#[derive(Debug, Default, Clone, Serialize)]
4865pub struct DelConferenceMemberParams {
4866    /// ID for a specific Member Profile (Example: 737) (required)
4867    #[serde(skip_serializing_if = "Option::is_none")]
4868    pub member: Option<i64>,
4869}
4870
4871/// \- Deletes a specific DISA from your Account.
4872///
4873/// Parameters for [`Client::del_disa`] (wire method `delDISA`).
4874#[derive(Debug, Default, Clone, Serialize)]
4875pub struct DelDISAParams {
4876    /// ID for a specific DISA (Example: 19183) (required)
4877    #[serde(skip_serializing_if = "Option::is_none")]
4878    pub disa: Option<i64>,
4879}
4880
4881/// \- Deletes a specific "Email to Fax configuration" from your Account.
4882///
4883/// Parameters for [`Client::del_email_to_fax`] (wire method `delEmailToFax`).
4884#[derive(Debug, Default, Clone, Serialize)]
4885pub struct DelEmailToFAXParams {
4886    /// ID for a specific "Email To Fax Configuration" (Example: 923) (required)
4887    #[serde(skip_serializing_if = "Option::is_none")]
4888    pub id: Option<i64>,
4889    /// Set to true if testing how cancel a "Email To Fax Configuration"
4890    #[serde(
4891        skip_serializing_if = "crate::responses::is_false",
4892        serialize_with = "crate::responses::serialize_flag_01"
4893    )]
4894    pub test: bool,
4895}
4896
4897/// \- Deletes a specific Fax Folder from your Account.
4898///
4899/// Parameters for [`Client::del_fax_folder`] (wire method `delFaxFolder`).
4900#[derive(Debug, Default, Clone, Serialize)]
4901pub struct DelFAXFolderParams {
4902    /// ID for a specific Fax Folder (Example: 923) (required)
4903    #[serde(skip_serializing_if = "Option::is_none")]
4904    pub id: Option<i64>,
4905    /// Set to true if testing how to delete a Fax Folder
4906    #[serde(
4907        skip_serializing_if = "crate::responses::is_false",
4908        serialize_with = "crate::responses::serialize_flag_01"
4909    )]
4910    pub test: bool,
4911}
4912
4913/// \- Deletes a specific Forwarding from your Account.
4914///
4915/// Parameters for [`Client::del_forwarding`] (wire method `delForwarding`).
4916#[derive(Debug, Default, Clone, Serialize)]
4917pub struct DelForwardingParams {
4918    /// ID for a specific Forwarding (Example: 19183)
4919    #[serde(skip_serializing_if = "Option::is_none")]
4920    pub forwarding: Option<i64>,
4921}
4922
4923/// \- Deletes a specific IVR from your Account.
4924///
4925/// Parameters for [`Client::del_ivr`] (wire method `delIVR`).
4926#[derive(Debug, Default, Clone, Serialize)]
4927pub struct DelIVRParams {
4928    /// ID for a specific IVR (Example: 19183) (required)
4929    #[serde(skip_serializing_if = "Option::is_none")]
4930    pub ivr: Option<i64>,
4931}
4932
4933/// Parameters for [`Client::del_location`] (wire method `delLocation`).
4934#[derive(Debug, Default, Clone, Serialize)]
4935pub struct DelLocationParams {
4936    /// Internal Extension Location name (Value from getLocations) (required)
4937    #[serde(skip_serializing_if = "Option::is_none")]
4938    pub name: Option<String>,
4939    /// Internal Extension Location id (Value from getLocations") (required)
4940    #[serde(skip_serializing_if = "Option::is_none")]
4941    pub id: Option<String>,
4942}
4943
4944/// \- Removes a member profile from a specific Conference from your Account
4945///
4946/// Parameters for [`Client::del_member_from_conference`] (wire method `delMemberFromConference`).
4947#[derive(Debug, Default, Clone, Serialize)]
4948pub struct DelMemberFromConferenceParams {
4949    /// ID for a specific Member (Example: 101) (required)
4950    #[serde(skip_serializing_if = "Option::is_none")]
4951    pub member: Option<i64>,
4952    /// ID for a specific Conference (Example: 3829)
4953    #[serde(skip_serializing_if = "Option::is_none")]
4954    pub conference: Option<i64>,
4955}
4956
4957/// \- Deletes all messages in all servers from a specific Voicemail from your
4958/// Account
4959///
4960/// Parameters for [`Client::del_messages`] (wire method `delMessages`).
4961#[derive(Debug, Default, Clone, Serialize)]
4962pub struct DelMessagesParams {
4963    /// ID for a specific Mailbox (Example: 1001) (required)
4964    #[serde(skip_serializing_if = "Option::is_none")]
4965    pub mailbox: Option<i64>,
4966    /// Name for specific Folder (Required if message id is passed, Example:
4967    /// 'INBOX', values from: getVoicemailFolders)
4968    #[serde(skip_serializing_if = "Option::is_none")]
4969    pub folder: Option<VoicemailFolder>,
4970    /// ID for specific Voicemail Message (Required if folder is passed,
4971    /// Example: 1)
4972    #[serde(skip_serializing_if = "Option::is_none")]
4973    pub message_num: Option<i64>,
4974}
4975
4976/// \- Deletes a specific custom Music on Hold.
4977///
4978/// Parameters for [`Client::del_music_on_hold`] (wire method `delMusicOnHold`).
4979#[derive(Debug, Default, Clone, Serialize)]
4980pub struct DelMusicOnHoldParams {
4981    /// Music on Hold Name (Values from getMusicOnHold) (required)
4982    #[serde(skip_serializing_if = "Option::is_none")]
4983    pub music_on_hold: Option<String>,
4984}
4985
4986/// \- Deletes a specific Phonebook from your Account.
4987///
4988/// Parameters for [`Client::del_phonebook`] (wire method `delPhonebook`).
4989#[derive(Debug, Default, Clone, Serialize)]
4990pub struct DelPhonebookParams {
4991    /// ID for a specific Phonebook (Example: 19183) (required)
4992    #[serde(skip_serializing_if = "Option::is_none")]
4993    pub phonebook: Option<i64>,
4994}
4995
4996/// \- Deletes a specific Phonebook group from your Account.
4997///
4998/// Parameters for [`Client::del_phonebook_group`] (wire method `delPhonebookGroup`).
4999#[derive(Debug, Default, Clone, Serialize)]
5000pub struct DelPhonebookGroupParams {
5001    /// ID for a specific Phonebook group (required)
5002    #[serde(skip_serializing_if = "Option::is_none")]
5003    pub group: Option<String>,
5004}
5005
5006/// \- Deletes a specific Queue from your Account.
5007///
5008/// Parameters for [`Client::del_queue`] (wire method `delQueue`).
5009#[derive(Debug, Default, Clone, Serialize)]
5010pub struct DelQueueParams {
5011    /// ID for a specific Queue (Example: 13183) (required)
5012    #[serde(skip_serializing_if = "Option::is_none")]
5013    pub queue: Option<i64>,
5014}
5015
5016/// \- Deletes a specific Recording from your Account.
5017///
5018/// Parameters for [`Client::del_recording`] (wire method `delRecording`).
5019#[derive(Debug, Default, Clone, Serialize)]
5020pub struct DelRecordingParams {
5021    /// ID for a specific Recording (Example: 19183) (required)
5022    #[serde(skip_serializing_if = "Option::is_none")]
5023    pub recording: Option<i64>,
5024}
5025
5026/// \- Deletes a specific Ring Group from your Account.
5027///
5028/// Parameters for [`Client::del_ring_group`] (wire method `delRingGroup`).
5029#[derive(Debug, Default, Clone, Serialize)]
5030pub struct DelRingGroupParams {
5031    /// ID for a specific Ring Group (Example: 19183) (required)
5032    #[serde(skip_serializing_if = "Option::is_none")]
5033    pub ringgroup: Option<i64>,
5034}
5035
5036/// \- Deletes a specific SIP URI from your Account.
5037///
5038/// Parameters for [`Client::del_sip_uri`] (wire method `delSIPURI`).
5039#[derive(Debug, Default, Clone, Serialize)]
5040pub struct DelSIPURIParams {
5041    /// ID for a specific SIP URI (Example: 19183) (required)
5042    #[serde(skip_serializing_if = "Option::is_none")]
5043    pub sipuri: Option<i64>,
5044}
5045
5046/// \- Deletes a specific Static Member from Queue.
5047///
5048/// Parameters for [`Client::del_static_member`] (wire method `delStaticMember`).
5049#[derive(Debug, Default, Clone, Serialize)]
5050pub struct DelStaticMemberParams {
5051    /// ID for a specific Member Queue (Example: 1918) (required)
5052    #[serde(skip_serializing_if = "Option::is_none")]
5053    pub member: Option<i64>,
5054    /// ID for a specific Queue (Example: 27183) (required)
5055    #[serde(skip_serializing_if = "Option::is_none")]
5056    pub queue: Option<i64>,
5057}
5058
5059/// \- Deletes a specific Sub Account from your Account
5060///
5061/// Parameters for [`Client::del_sub_account`] (wire method `delSubAccount`).
5062#[derive(Debug, Default, Clone, Serialize)]
5063pub struct DelSubAccountParams {
5064    /// ID for a specific Sub Account (Example: 99785)
5065    #[serde(skip_serializing_if = "Option::is_none")]
5066    pub id: Option<i64>,
5067}
5068
5069/// \- Deletes a specific Time Condition from your Account.
5070///
5071/// Parameters for [`Client::del_time_condition`] (wire method `delTimeCondition`).
5072#[derive(Debug, Default, Clone, Serialize)]
5073pub struct DelTimeConditionParams {
5074    /// ID for a specific Time Condition (Example: 19183) (required)
5075    #[serde(skip_serializing_if = "Option::is_none")]
5076    pub timecondition: Option<i64>,
5077}
5078
5079/// \- Deletes a specific Voicemail from your Account
5080///
5081/// Parameters for [`Client::del_voicemail`] (wire method `delVoicemail`).
5082#[derive(Debug, Default, Clone, Serialize)]
5083pub struct DelVoicemailParams {
5084    /// ID for a specific Mailbox (Example: 1001) (required)
5085    #[serde(skip_serializing_if = "Option::is_none")]
5086    pub mailbox: Option<i64>,
5087}
5088
5089/// \- Deletes a specific Fax Message from your Account.
5090///
5091/// Parameters for [`Client::delete_fax_message`] (wire method `deleteFaxMessage`).
5092#[derive(Debug, Default, Clone, Serialize)]
5093pub struct DeleteFAXMessageParams {
5094    /// ID for a specific Fax Message (Example: 923) (required)
5095    #[serde(skip_serializing_if = "Option::is_none")]
5096    pub id: Option<i64>,
5097    /// Set to true if testing how cancel a Fax Message
5098    #[serde(
5099        skip_serializing_if = "crate::responses::is_false",
5100        serialize_with = "crate::responses::serialize_flag_01"
5101    )]
5102    pub test: bool,
5103}
5104
5105/// \- Deletes a specific MMS from your Account.
5106///
5107/// Parameters for [`Client::delete_mms`] (wire method `deleteMMS`).
5108#[derive(Debug, Default, Clone, Serialize)]
5109pub struct DeleteMMSParams {
5110    /// ID for a specific MMS (Example: 1918) (required)
5111    #[serde(skip_serializing_if = "Option::is_none")]
5112    pub id: Option<i64>,
5113}
5114
5115/// \- Deletes a specific SMS from your Account.
5116///
5117/// Parameters for [`Client::delete_sms`] (wire method `deleteSMS`).
5118#[derive(Debug, Default, Clone, Serialize)]
5119pub struct DeleteSMSParams {
5120    /// ID for a specific SMS (Example: 1918) (required)
5121    #[serde(skip_serializing_if = "Option::is_none")]
5122    pub id: Option<i64>,
5123}
5124
5125/// \- Retrieves a list of e911 Address Types if no additional parameter is
5126/// provided.
5127/// \- Retrieves a specific e911 Address Type if an Address code is provided.
5128///
5129/// Parameters for [`Client::e911_address_types`] (wire method `e911AddressTypes`).
5130#[derive(Debug, Default, Clone, Serialize)]
5131pub struct E911AddressTypesParams {
5132    /// Code for a specific Address Type (Example: Apartment)
5133    #[serde(skip_serializing_if = "Option::is_none")]
5134    pub r#type: Option<String>,
5135}
5136
5137/// \- Cancel the e911 Service from a specific DID.
5138///
5139/// Parameters for [`Client::e911_cancel`] (wire method `e911Cancel`).
5140#[derive(Debug, Default, Clone, Serialize)]
5141pub struct E911CancelParams {
5142    /// DID to be canceled. (required)
5143    #[serde(skip_serializing_if = "Option::is_none")]
5144    pub did: Option<String>,
5145}
5146
5147/// \- Retrieves the e911 information from a specific DID.
5148///
5149/// Parameters for [`Client::e911_info`] (wire method `e911Info`).
5150#[derive(Debug, Default, Clone, Serialize)]
5151pub struct E911InfoParams {
5152    /// DID with e911 enabled / in process. (required)
5153    #[serde(skip_serializing_if = "Option::is_none")]
5154    pub did: Option<String>,
5155}
5156
5157/// \- Subscribes your DID to the e911 Emergency Services.
5158///
5159/// Parameters for [`Client::e911_provision`] (wire method `e911Provision`).
5160#[derive(Debug, Default, Clone, Serialize)]
5161pub struct E911ProvisionParams {
5162    /// DID that will be sent to the e911 service. (required)
5163    #[serde(skip_serializing_if = "Option::is_none")]
5164    pub did: Option<String>,
5165    /// Full Name that will be sent to the e911 service. (required)
5166    #[serde(skip_serializing_if = "Option::is_none")]
5167    pub full_name: Option<String>,
5168    /// Street Number that will be sent to the e911 service. (required)
5169    #[serde(skip_serializing_if = "Option::is_none")]
5170    pub street_number: Option<i64>,
5171    /// Street Name that will be sent to the e911 service. (required)
5172    #[serde(skip_serializing_if = "Option::is_none")]
5173    pub street_name: Option<String>,
5174    /// Address Type that will be sent to the e911 service (Values from
5175    /// e911AddressTypes).
5176    #[serde(skip_serializing_if = "Option::is_none")]
5177    pub address_type: Option<String>,
5178    /// Address Number that will be sent to the e911 service.
5179    #[serde(skip_serializing_if = "Option::is_none")]
5180    pub address_number: Option<i64>,
5181    /// City that will be sent to the e911 service. (required)
5182    #[serde(skip_serializing_if = "Option::is_none")]
5183    pub city: Option<String>,
5184    /// State / Province that will be sent to the e911 service. (required)
5185    #[serde(skip_serializing_if = "Option::is_none")]
5186    pub state: Option<String>,
5187    /// Country that will be sent to the e911 service. Value can be US (United
5188    /// states) or CA (Canada). (required)
5189    #[serde(skip_serializing_if = "Option::is_none")]
5190    pub country: Option<String>,
5191    #[serde(skip_serializing_if = "Option::is_none")]
5192    pub zip: Option<String>,
5193    /// Language that will be sent to the e911 service. Only available for
5194    /// addresses from Canada. Value can be EN (English) or FR (French).
5195    /// (required)
5196    #[serde(skip_serializing_if = "Option::is_none")]
5197    pub language: Option<String>,
5198    /// Additional Address Information that will be sent to the e911 service.
5199    /// Only available for addresses from Canada.
5200    #[serde(skip_serializing_if = "Option::is_none")]
5201    pub other_info: Option<String>,
5202}
5203
5204/// \- Subscribes your DID to the e911 Emergency Services.
5205/// \- All e911 information will be validated by the VoIP.ms staff.
5206///
5207/// Parameters for [`Client::e911_provision_manually`] (wire method `e911ProvisionManually`).
5208#[derive(Debug, Default, Clone, Serialize)]
5209pub struct E911ProvisionManuallyParams {
5210    /// DID that will be sent to the e911 service. (required)
5211    #[serde(skip_serializing_if = "Option::is_none")]
5212    pub did: Option<String>,
5213    /// Full Name that will be sent to the e911 service. (required)
5214    #[serde(skip_serializing_if = "Option::is_none")]
5215    pub full_name: Option<String>,
5216    /// Street Number that will be sent to the e911 service. (required)
5217    #[serde(skip_serializing_if = "Option::is_none")]
5218    pub street_number: Option<i64>,
5219    /// Street Name that will be sent to the e911 service. (required)
5220    #[serde(skip_serializing_if = "Option::is_none")]
5221    pub street_name: Option<String>,
5222    /// Address Type that will be sent to the e911 service (Values from
5223    /// e911AddressTypes).
5224    #[serde(skip_serializing_if = "Option::is_none")]
5225    pub address_type: Option<String>,
5226    /// Address Number that will be sent to the e911 service.
5227    #[serde(skip_serializing_if = "Option::is_none")]
5228    pub address_number: Option<i64>,
5229    /// City that will be sent to the e911 service. (required)
5230    #[serde(skip_serializing_if = "Option::is_none")]
5231    pub city: Option<String>,
5232    /// State / Province that will be sent to the e911 service. (required)
5233    #[serde(skip_serializing_if = "Option::is_none")]
5234    pub state: Option<String>,
5235    /// Country that will be sent to the e911 service. Value can be US (United
5236    /// states) or CA (Canada). (required)
5237    #[serde(skip_serializing_if = "Option::is_none")]
5238    pub country: Option<String>,
5239    #[serde(skip_serializing_if = "Option::is_none")]
5240    pub zip: Option<String>,
5241    /// Language that will be sent to the e911 service. Only available for
5242    /// addresses from Canada. Value can be EN (English) or FR (French).
5243    /// (required)
5244    #[serde(skip_serializing_if = "Option::is_none")]
5245    pub language: Option<String>,
5246    /// Additional Address Information that will be sent to the e911 service.
5247    /// Only available for addresses from Canada.
5248    #[serde(skip_serializing_if = "Option::is_none")]
5249    pub other_info: Option<String>,
5250}
5251
5252/// \- Updates the Information from your e911 Emergency Services Subscription.
5253///
5254/// Parameters for [`Client::e911_update`] (wire method `e911Update`).
5255#[derive(Debug, Default, Clone, Serialize)]
5256pub struct E911UpdateParams {
5257    /// DID with e911 enabled / in process. (required)
5258    #[serde(skip_serializing_if = "Option::is_none")]
5259    pub did: Option<String>,
5260    /// Full Name that will be updated to the e911 service. (required)
5261    #[serde(skip_serializing_if = "Option::is_none")]
5262    pub full_name: Option<String>,
5263    /// Street Number that will be updated to the e911 service. (required)
5264    #[serde(skip_serializing_if = "Option::is_none")]
5265    pub street_number: Option<i64>,
5266    /// Street Name that will be updated to the e911 service. (required)
5267    #[serde(skip_serializing_if = "Option::is_none")]
5268    pub street_name: Option<String>,
5269    /// Address Type that will be updated to the e911 service (Values from
5270    /// e911AddressTypes).
5271    #[serde(skip_serializing_if = "Option::is_none")]
5272    pub address_type: Option<String>,
5273    /// Address Number that will be updated to the e911 service.
5274    #[serde(skip_serializing_if = "Option::is_none")]
5275    pub address_number: Option<i64>,
5276    /// City that will be updated to the e911 service. (required)
5277    #[serde(skip_serializing_if = "Option::is_none")]
5278    pub city: Option<String>,
5279    /// State / Province that will be updated to the e911 service. (required)
5280    #[serde(skip_serializing_if = "Option::is_none")]
5281    pub state: Option<String>,
5282    /// Country that will be updated to the e911 service. Value can be US
5283    /// (United states) or CA (Canada). (required)
5284    #[serde(skip_serializing_if = "Option::is_none")]
5285    pub country: Option<String>,
5286    #[serde(skip_serializing_if = "Option::is_none")]
5287    pub zip: Option<String>,
5288    /// Language that will be updated to the e911 service. Only available for
5289    /// addresses from Canada. Value can be EN (English) or FR (French).
5290    /// (required)
5291    #[serde(skip_serializing_if = "Option::is_none")]
5292    pub language: Option<String>,
5293    /// Additional Address Information that will be updated to the e911 service.
5294    /// Only available for addresses from Canada.
5295    #[serde(skip_serializing_if = "Option::is_none")]
5296    pub other_info: Option<String>,
5297}
5298
5299/// \- Validates your e911 information in order to start your e911 Emergency
5300/// Services Subscription.
5301///
5302/// Parameters for [`Client::e911_validate`] (wire method `e911Validate`).
5303#[derive(Debug, Default, Clone, Serialize)]
5304pub struct E911ValidateParams {
5305    /// DID with e911 enabled / in process. (required)
5306    #[serde(skip_serializing_if = "Option::is_none")]
5307    pub did: Option<String>,
5308    /// Full Name that will be validated. (required)
5309    #[serde(skip_serializing_if = "Option::is_none")]
5310    pub full_name: Option<String>,
5311    /// Street Number that will be validated. (required)
5312    #[serde(skip_serializing_if = "Option::is_none")]
5313    pub street_number: Option<i64>,
5314    /// Street Name that will be validated. (required)
5315    #[serde(skip_serializing_if = "Option::is_none")]
5316    pub street_name: Option<String>,
5317    /// Address Type that will be validated (Values from e911AddressTypes).
5318    #[serde(skip_serializing_if = "Option::is_none")]
5319    pub address_type: Option<String>,
5320    /// Address Number that will be validated.
5321    #[serde(skip_serializing_if = "Option::is_none")]
5322    pub address_number: Option<i64>,
5323    /// City that will be validated. (required)
5324    #[serde(skip_serializing_if = "Option::is_none")]
5325    pub city: Option<String>,
5326    /// State / Province that will be validated. (required)
5327    #[serde(skip_serializing_if = "Option::is_none")]
5328    pub state: Option<String>,
5329    /// Country that will be validated. Value can be US (United states) or CA
5330    /// (Canada). (required)
5331    #[serde(skip_serializing_if = "Option::is_none")]
5332    pub country: Option<String>,
5333    #[serde(skip_serializing_if = "Option::is_none")]
5334    pub zip: Option<String>,
5335    /// Language that will be validated. Only available for addresses from
5336    /// Canada. Value can be EN (English) or FR (French).
5337    #[serde(skip_serializing_if = "Option::is_none")]
5338    pub language: Option<String>,
5339    /// Additional Address Information that will be validated. Only available
5340    /// for addresses from Canada.
5341    #[serde(skip_serializing_if = "Option::is_none")]
5342    pub other_info: Option<String>,
5343}
5344
5345/// \- Retrieves a list of Allowed Codecs if no additional parameter is provided.
5346/// \- Retrieves a specific Allowed Codec if a codec code is provided.
5347///
5348/// Parameters for [`Client::get_allowed_codecs`] (wire method `getAllowedCodecs`).
5349#[derive(Debug, Default, Clone, Serialize)]
5350pub struct GetAllowedCodecsParams {
5351    /// Code for a specific Codec (Example: 'ulaw')
5352    #[serde(skip_serializing_if = "Option::is_none")]
5353    pub codec: Option<String>,
5354}
5355
5356/// \- Retrieves a list of Authentication Types if no additional parameter is
5357/// provided.
5358/// \- Retrieves a specific Authentication Type if an auth type code is provided.
5359///
5360/// Parameters for [`Client::get_auth_types`] (wire method `getAuthTypes`).
5361#[derive(Debug, Default, Clone, Serialize)]
5362pub struct GetAuthTypesParams {
5363    /// Code for a specific Authorization Type (Example: 2)
5364    #[serde(skip_serializing_if = "Option::is_none")]
5365    pub r#type: Option<String>,
5366}
5367
5368/// \- Retrieves a list of backorder DIDs if no additional parameter is provided.
5369/// \- Retrieves a specific backorder DID if a backorder DID code is provided.
5370///
5371/// Parameters for [`Client::get_back_orders`] (wire method `getBackOrders`).
5372#[derive(Debug, Default, Clone, Serialize)]
5373pub struct GetBackOrdersParams {
5374    /// ID for a specific backorder DID
5375    #[serde(skip_serializing_if = "Option::is_none")]
5376    pub id: Option<String>,
5377}
5378
5379/// \- Retrieves Balance for your Account if no additional parameter is provided.
5380/// \- Retrieves Balance and Calls Statistics for your Account if "advanced"
5381/// parameter is true.
5382///
5383/// Parameters for [`Client::get_balance`] (wire method `getBalance`).
5384#[derive(Debug, Default, Clone, Serialize)]
5385pub struct GetBalanceParams {
5386    /// True for Calls Statistics
5387    #[serde(
5388        skip_serializing_if = "Option::is_none",
5389        serialize_with = "crate::responses::serialize_opt_flag_01"
5390    )]
5391    pub advanced: Option<bool>,
5392}
5393
5394/// \- Retrieves a list of Balance Management Options if no additional parameter
5395/// is provided.
5396/// \- Retrieves a specific Balance Management Option if a code is provided.
5397///
5398/// Parameters for [`Client::get_balance_management`] (wire method `getBalanceManagement`).
5399#[derive(Debug, Default, Clone, Serialize)]
5400pub struct GetBalanceManagementParams {
5401    /// Code for a specific Balance Management Setting (Example: 1)
5402    #[serde(skip_serializing_if = "Option::is_none")]
5403    pub balance_management: Option<String>,
5404}
5405
5406/// \- Retrieves the Call Detail Records of all your calls.
5407///
5408/// Parameters for [`Client::get_cdr`] (wire method `getCDR`).
5409#[derive(Debug, Default, Clone, Serialize)]
5410pub struct GetCDRParams {
5411    /// Start Date for Filtering CDR (Example: '2010-11-30') (required)
5412    #[serde(skip_serializing_if = "Option::is_none")]
5413    pub date_from: Option<String>,
5414    /// End Date for Filtering CDR (Example: '2010-11-30') (required)
5415    #[serde(skip_serializing_if = "Option::is_none")]
5416    pub date_to: Option<String>,
5417    /// Include Answered Calls to CDR (Boolean: 1/0)
5418    #[serde(
5419        skip_serializing_if = "Option::is_none",
5420        serialize_with = "crate::responses::serialize_opt_flag_01"
5421    )]
5422    pub answered: Option<bool>,
5423    /// Include NoAnswered calls to CDR (Boolean: 1/0)
5424    #[serde(
5425        skip_serializing_if = "Option::is_none",
5426        serialize_with = "crate::responses::serialize_opt_flag_01"
5427    )]
5428    pub noanswer: Option<bool>,
5429    /// Include Busy Calls to CDR (Boolean: 1/0)
5430    #[serde(
5431        skip_serializing_if = "Option::is_none",
5432        serialize_with = "crate::responses::serialize_opt_flag_01"
5433    )]
5434    pub busy: Option<bool>,
5435    /// Include Failed Calls to CDR (Boolean: 1/0)
5436    #[serde(
5437        skip_serializing_if = "Option::is_none",
5438        serialize_with = "crate::responses::serialize_opt_flag_01"
5439    )]
5440    pub failed: Option<bool>,
5441    /// Adjust time of calls according to Timezome (Numeric: -12 to 13)
5442    /// (required)
5443    #[serde(skip_serializing_if = "Option::is_none")]
5444    pub timezone: Option<f64>,
5445    /// Filters CDR by Call Type (Values from getCallTypes)
5446    #[serde(skip_serializing_if = "Option::is_none")]
5447    pub calltype: Option<String>,
5448    /// Filter CDR by Call Billing (Values from getCallBilling)
5449    #[serde(skip_serializing_if = "Option::is_none")]
5450    pub callbilling: Option<String>,
5451    /// Filter CDR by Account (Values from getCallAccounts)
5452    #[serde(skip_serializing_if = "Option::is_none")]
5453    pub account: Option<String>,
5454}
5455
5456/// \- Retrieves all Sub Accounts if no additional parameter is provided.
5457/// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
5458///
5459/// Parameters for [`Client::get_call_accounts`] (wire method `getCallAccounts`).
5460#[derive(Debug, Default, Clone, Serialize)]
5461pub struct GetCallAccountsParams {}
5462
5463/// \- Retrieves a list of Call Billing Options.
5464///
5465/// Parameters for [`Client::get_call_billing`] (wire method `getCallBilling`).
5466#[derive(Debug, Default, Clone, Serialize)]
5467pub struct GetCallBillingParams {}
5468
5469/// \- Retrieves a list of Call Huntings if no additional parameter is provided.
5470/// \- Retrieves a specific Call Huntings if a Call Hunting code is provided.
5471///
5472/// Parameters for [`Client::get_call_huntings`] (wire method `getCallHuntings`).
5473#[derive(Debug, Default, Clone, Serialize)]
5474pub struct GetCallHuntingsParams {
5475    /// ID for a specific Call Hunting (Example: 323)
5476    #[serde(skip_serializing_if = "Option::is_none")]
5477    pub callhunting: Option<i64>,
5478}
5479
5480/// \- Retrieves all Call Parking entries if no additional parameter is provided.
5481/// \- Retrieves a specific Parking entry if a Call Parking ID is provided.
5482///
5483/// Parameters for [`Client::get_call_parking`] (wire method `getCallParking`).
5484#[derive(Debug, Default, Clone, Serialize)]
5485pub struct GetCallParkingParams {
5486    /// ID for a specific Call Parking (Example: 737)
5487    #[serde(skip_serializing_if = "Option::is_none")]
5488    pub callparking: Option<i64>,
5489}
5490
5491/// \- Retrieves one especific call recording information, including the
5492/// recording file on mp3 format.
5493///
5494/// Parameters for [`Client::get_call_recording`] (wire method `getCallRecording`).
5495#[derive(Debug, Default, Clone, Serialize)]
5496pub struct GetCallRecordingParams {
5497    /// Call Recording (Values from getCallRecordings) (required)
5498    #[serde(skip_serializing_if = "Option::is_none")]
5499    pub callrecording: Option<String>,
5500    /// Main Account or Sub Account related to the call recording (Values from
5501    /// getCallRecordings) (required)
5502    #[serde(skip_serializing_if = "Option::is_none")]
5503    pub account: Option<String>,
5504}
5505
5506/// \- Retrieves all call recordings related to account.
5507///
5508/// Parameters for [`Client::get_call_recordings`] (wire method `getCallRecordings`).
5509#[derive(Debug, Default, Clone, Serialize)]
5510pub struct GetCallRecordingsParams {
5511    /// Filter Call Recordings by Account (Values from getCallAccounts)
5512    /// (required)
5513    #[serde(skip_serializing_if = "Option::is_none")]
5514    pub account: Option<String>,
5515    /// Number of records shown previously, used for pages
5516    #[serde(skip_serializing_if = "Option::is_none")]
5517    pub start: Option<i64>,
5518    /// Number of records to show
5519    #[serde(skip_serializing_if = "Option::is_none")]
5520    pub length: Option<i64>,
5521    /// Start Date for Filtering Call Recording (Example:'2018-11-01')
5522    /// (required)
5523    #[serde(skip_serializing_if = "Option::is_none")]
5524    pub date_from: Option<String>,
5525    /// End Date for Filtering Call Recording (Example:'2018-12-01') (required)
5526    #[serde(skip_serializing_if = "Option::is_none")]
5527    pub date_to: Option<String>,
5528}
5529
5530/// \- Retrieves all Call Transcriptions if no additional parameter is provided.
5531///
5532/// Parameters for [`Client::get_call_transcriptions`] (wire method `getCallTranscriptions`).
5533#[derive(Debug, Default, Clone, Serialize)]
5534pub struct GetCallTranscriptionsParams {
5535    /// Specific Account (Example: '100001_VoIP') (required)
5536    #[serde(skip_serializing_if = "Option::is_none")]
5537    pub account: Option<String>,
5538    /// End Date for Filtering (Example: '2010-11-30') (required)
5539    #[serde(skip_serializing_if = "Option::is_none")]
5540    pub date_to: Option<String>,
5541    /// Start Date for Filtering (Example: '2010-11-30') (required)
5542    #[serde(skip_serializing_if = "Option::is_none")]
5543    pub date_from: Option<String>,
5544    /// Filters by Call Type (Values from getCallTypes)
5545    #[serde(skip_serializing_if = "Option::is_none")]
5546    pub call_type: Option<String>,
5547}
5548
5549/// \- Retrieves a list of Call Types and All DIDs if no additional parameter is
5550/// provided.
5551/// \- Retrieves a list of Call Types and Reseller Client DIDs if a Reseller
5552/// Client ID is provided.
5553///
5554/// Parameters for [`Client::get_call_types`] (wire method `getCallTypes`).
5555#[derive(Debug, Default, Clone, Serialize)]
5556pub struct GetCallTypesParams {
5557    /// ID for a specific Reseller Client (Example: 561115)
5558    #[serde(skip_serializing_if = "Option::is_none")]
5559    pub client: Option<String>,
5560}
5561
5562/// \- Retrieves a list of Callbacks if no additional parameter is provided.
5563/// \- Retrieves a specific Callback if a Callback code is provided.
5564///
5565/// Parameters for [`Client::get_callbacks`] (wire method `getCallbacks`).
5566#[derive(Debug, Default, Clone, Serialize)]
5567pub struct GetCallbacksParams {
5568    /// ID for a specific Callback (Example: 2359)
5569    #[serde(skip_serializing_if = "Option::is_none")]
5570    pub callback: Option<String>,
5571}
5572
5573/// \- Retrieves a list of CallerID Filterings if no additional parameter is
5574/// provided.
5575/// \- Retrieves a specific CallerID Filtering if a CallerID Filtering code is
5576/// provided.
5577///
5578/// Parameters for [`Client::get_caller_id_filtering`] (wire method `getCallerIDFiltering`).
5579#[derive(Debug, Default, Clone, Serialize)]
5580pub struct GetCallerIDFilteringParams {
5581    /// ID for a specific CallerID Filtering (Example: 18915)
5582    #[serde(skip_serializing_if = "Option::is_none")]
5583    pub filtering: Option<String>,
5584    /// DID for a specific CallerID Filtering (Example: 5551234567)
5585    #[serde(skip_serializing_if = "Option::is_none")]
5586    pub did: Option<String>,
5587}
5588
5589/// \- Retrieves a list of Carriers for Vanity Numbers if no additional parameter
5590/// is provided.
5591/// \- Retrieves a specific Carrier for Vanity Numbers if a carrier code is
5592/// provided.
5593///
5594/// Parameters for [`Client::get_carriers`] (wire method `getCarriers`).
5595#[derive(Debug, Default, Clone, Serialize)]
5596pub struct GetCarriersParams {
5597    /// Code for a specific Carrier (Example: 2)
5598    #[serde(skip_serializing_if = "Option::is_none")]
5599    pub carrier: Option<String>,
5600}
5601
5602/// \- Retrieves Charges made to a specific Reseller Client.
5603///
5604/// Parameters for [`Client::get_charges`] (wire method `getCharges`).
5605#[derive(Debug, Default, Clone, Serialize)]
5606pub struct GetChargesParams {
5607    /// ID for a specific Reseller Client (Example: 561115) (required)
5608    #[serde(skip_serializing_if = "Option::is_none")]
5609    pub client: Option<String>,
5610}
5611
5612/// \- Retrieves a list of Packages for a specific Reseller Client.
5613///
5614/// Parameters for [`Client::get_client_packages`] (wire method `getClientPackages`).
5615#[derive(Debug, Default, Clone, Serialize)]
5616pub struct GetClientPackagesParams {
5617    /// ID for a specific Reseller Client (Example: 561115) (required)
5618    #[serde(skip_serializing_if = "Option::is_none")]
5619    pub client: Option<String>,
5620}
5621
5622/// \- Retrieves the Threshold Information for a specific Reseller Client.
5623///
5624/// Parameters for [`Client::get_client_threshold`] (wire method `getClientThreshold`).
5625#[derive(Debug, Default, Clone, Serialize)]
5626pub struct GetClientThresholdParams {
5627    /// ID for a specific Reseller Client (Example: 561115) (required)
5628    #[serde(skip_serializing_if = "Option::is_none")]
5629    pub client: Option<String>,
5630}
5631
5632/// \- Retrieves a list of all Clients if no additional parameter is provided.-
5633/// Retrieves a specific Reseller Client if a Reseller Client ID is provided.
5634/// \- Retrieves a specific Reseller Client if a Reseller Client e-mail is
5635/// provided.
5636///
5637/// Parameters for [`Client::get_clients`] (wire method `getClients`).
5638#[derive(Debug, Default, Clone, Serialize)]
5639pub struct GetClientsParams {
5640    /// Parameter could have the following values: * Empty Value \[Not
5641    /// Required\] * Specific Reseller Client ID (Example: 561115) * Specific
5642    /// Reseller Client e-mail (Example: '\[email protected\]')
5643    #[serde(skip_serializing_if = "Option::is_none")]
5644    pub client: Option<String>,
5645}
5646
5647/// \- Retrieves a list of Conferences if no additional parameter is provided.
5648/// \- Retrieves a specific Conference if a conference code is provided.
5649///
5650/// Parameters for [`Client::get_conference`] (wire method `getConference`).
5651#[derive(Debug, Default, Clone, Serialize)]
5652pub struct GetConferenceParams {
5653    /// Code for a specific Conference (Example: 1599)
5654    #[serde(skip_serializing_if = "Option::is_none")]
5655    pub conference: Option<i64>,
5656}
5657
5658/// \- Retrieves a list of Member profiles if no additional parameter is
5659/// provided.
5660/// \- Retrieves a specific member if a member code is provided.
5661///
5662/// Parameters for [`Client::get_conference_members`] (wire method `getConferenceMembers`).
5663#[derive(Debug, Default, Clone, Serialize)]
5664pub struct GetConferenceMembersParams {
5665    /// Code for a specific Member profile (Example: 1599)
5666    #[serde(skip_serializing_if = "Option::is_none")]
5667    pub member: Option<i64>,
5668}
5669
5670/// \- Retrieves a specific Recording File data in Base64 format.
5671///
5672/// Parameters for [`Client::get_conference_recording_file`] (wire method `getConferenceRecordingFile`).
5673#[derive(Debug, Default, Clone, Serialize)]
5674pub struct GetConferenceRecordingFileParams {
5675    /// ID for a specific Conference (Example: 5356) (required)
5676    #[serde(skip_serializing_if = "Option::is_none")]
5677    pub conference: Option<i64>,
5678    /// ID for a specific Conference Recording (Example: 1543338379) (required)
5679    #[serde(skip_serializing_if = "Option::is_none")]
5680    pub recording: Option<i64>,
5681}
5682
5683/// \- Retrieves a list of recordings of a specific conference.
5684///
5685/// Parameters for [`Client::get_conference_recordings`] (wire method `getConferenceRecordings`).
5686#[derive(Debug, Default, Clone, Serialize)]
5687pub struct GetConferenceRecordingsParams {
5688    /// ID for a specific Conference (Example: 5356) (required)
5689    #[serde(skip_serializing_if = "Option::is_none")]
5690    pub conference: Option<i64>,
5691    /// Start Date for Filtering Transactions (Example: '2016-06-03')
5692    #[serde(skip_serializing_if = "Option::is_none")]
5693    pub date_from: Option<String>,
5694    /// End Date for Filtering Transactions (Example: '2016-06-04')
5695    #[serde(skip_serializing_if = "Option::is_none")]
5696    pub date_to: Option<String>,
5697}
5698
5699/// \- Retrieves a list of Countries if no additional parameter is provided.
5700/// \- Retrieves a specific Country if a country code is provided.
5701///
5702/// Parameters for [`Client::get_countries`] (wire method `getCountries`).
5703#[derive(Debug, Default, Clone, Serialize)]
5704pub struct GetCountriesParams {
5705    /// Code for a specific Country (Example: 'CA')
5706    #[serde(skip_serializing_if = "Option::is_none")]
5707    pub country: Option<String>,
5708}
5709
5710/// \- Retrieves a list of Countries for International DIDs if no country code is
5711/// provided.
5712/// \- Retrieves a specific Country for International DIDs if a country code is
5713/// provided.
5714///
5715/// Parameters for [`Client::get_did_countries`] (wire method `getDIDCountries`).
5716#[derive(Debug, Default, Clone, Serialize)]
5717pub struct GetDIDCountriesParams {
5718    /// ID for a specific country (Example: 205)
5719    #[serde(skip_serializing_if = "Option::is_none")]
5720    pub country_id: Option<String>,
5721    /// Type of International DID (Values from getInternationalTypes) (required)
5722    #[serde(skip_serializing_if = "Option::is_none")]
5723    pub r#type: Option<String>,
5724}
5725
5726/// \- Retrives a list of Canadian DIDs by Province and Ratecenter.
5727///
5728/// Parameters for [`Client::get_dids_can`] (wire method `getDIDsCAN`).
5729#[derive(Debug, Default, Clone, Serialize)]
5730pub struct GetDIDsCANParams {
5731    /// Canadian Province (Values from getProvinces) (required)
5732    #[serde(skip_serializing_if = "Option::is_none")]
5733    pub province: Option<String>,
5734    /// Canadian Ratecenter (Values from getRateCentersCAN)
5735    #[serde(skip_serializing_if = "Option::is_none")]
5736    pub ratecenter: Option<String>,
5737}
5738
5739/// \- Retrieves information from all your DIDs if no additional parameter is
5740/// provided.
5741/// \- Retrieves information from Reseller Client's DIDs if a Reseller Client ID
5742/// is provided.
5743/// \- Retrieves information from Sub Account's DIDs if a Sub Accunt is provided.
5744/// \- Retrieves information from a specific DID if a DID Number is provided.
5745/// \- Retrieves SMS information from a specific DID if the SMS is available.
5746///
5747/// Parameters for [`Client::get_dids_info`] (wire method `getDIDsInfo`).
5748#[derive(Debug, Default, Clone, Serialize)]
5749pub struct GetDIDsInfoParams {
5750    /// Parameter could have the following values: * Empty Value \[Not
5751    /// Required\] * Specific Reseller Client ID (Example: 561115) * Specific
5752    /// Sub Account (Example: '100001_VoIP')
5753    #[serde(skip_serializing_if = "Option::is_none")]
5754    pub client: Option<String>,
5755    /// DID from Client or Sub Account (Example: 5551234567)
5756    #[serde(skip_serializing_if = "Option::is_none")]
5757    pub did: Option<String>,
5758}
5759
5760/// \- Retrieves a list of International Geographic DIDs by Country.
5761///
5762/// Parameters for [`Client::get_dids_international_geographic`] (wire method `getDIDsInternationalGeographic`).
5763#[derive(Debug, Default, Clone, Serialize)]
5764pub struct GetDIDsInternationalGeographicParams {
5765    /// ID for a specific Country (Values from getDIDCountries) (required)
5766    #[serde(skip_serializing_if = "Option::is_none")]
5767    pub country_id: Option<String>,
5768}
5769
5770/// \- Retrieves a list of International National DIDs by Country.
5771///
5772/// Parameters for [`Client::get_dids_international_national`] (wire method `getDIDsInternationalNational`).
5773#[derive(Debug, Default, Clone, Serialize)]
5774pub struct GetDIDsInternationalNationalParams {
5775    /// ID for a specific Country (Values from getDIDCountries) (required)
5776    #[serde(skip_serializing_if = "Option::is_none")]
5777    pub country_id: Option<String>,
5778}
5779
5780/// \- Retrieves a list of International TollFree DIDs by Country.
5781///
5782/// Parameters for [`Client::get_dids_international_toll_free`] (wire method `getDIDsInternationalTollFree`).
5783#[derive(Debug, Default, Clone, Serialize)]
5784pub struct GetDIDsInternationalTollFreeParams {
5785    /// ID for a specific Country (Values from getDIDCountries) (required)
5786    #[serde(skip_serializing_if = "Option::is_none")]
5787    pub country_id: Option<String>,
5788}
5789
5790/// \- Retrives a list of USA DIDs by State and Ratecenter.
5791///
5792/// Parameters for [`Client::get_dids_usa`] (wire method `getDIDsUSA`).
5793#[derive(Debug, Default, Clone, Serialize)]
5794pub struct GetDIDsUSAParams {
5795    /// United States State (Values from getStates) (required)
5796    #[serde(skip_serializing_if = "Option::is_none")]
5797    pub state: Option<String>,
5798    /// United States Ratecenter (Values from getRateCentersUSA)
5799    #[serde(skip_serializing_if = "Option::is_none")]
5800    pub ratecenter: Option<String>,
5801}
5802
5803/// \- Retrives the list of DIDs assigned to the VPRI.
5804///
5805/// Parameters for [`Client::get_did_vpri`] (wire method `getDIDvPRI`).
5806#[derive(Debug, Default, Clone, Serialize)]
5807pub struct GetDIDvPRIParams {
5808    /// Id for specific Vpri (required)
5809    #[serde(skip_serializing_if = "Option::is_none")]
5810    pub vpri: Option<String>,
5811}
5812
5813/// \- Retrieves a list of DISAs if no additional parameter is provided.
5814/// \- Retrieves a specific DISA if a DISA code is provided.
5815///
5816/// Parameters for [`Client::get_disas`] (wire method `getDISAs`).
5817#[derive(Debug, Default, Clone, Serialize)]
5818pub struct GetDISAsParams {
5819    /// ID for a specific DISA (Example: 2114)
5820    #[serde(skip_serializing_if = "Option::is_none")]
5821    pub disa: Option<String>,
5822}
5823
5824/// \- Retrieves a list of DTMF Modes if no additional parameter is provided.
5825/// \- Retrieves a specific DTMF Mode if a DTMF mode code is provided.
5826///
5827/// Parameters for [`Client::get_dtmf_modes`] (wire method `getDTMFModes`).
5828#[derive(Debug, Default, Clone, Serialize)]
5829pub struct GetDTMFModesParams {
5830    /// Code for a specific DTMF Mode (Example: 'inband')
5831    #[serde(skip_serializing_if = "Option::is_none")]
5832    pub dtmf_mode: Option<DtmfMode>,
5833}
5834
5835/// \- Retrieves Deposits made for a specific Reseller Client.
5836///
5837/// Parameters for [`Client::get_deposits`] (wire method `getDeposits`).
5838#[derive(Debug, Default, Clone, Serialize)]
5839pub struct GetDepositsParams {
5840    /// ID for a specific Reseller Client (Example: 561115) (required)
5841    #[serde(skip_serializing_if = "Option::is_none")]
5842    pub client: Option<String>,
5843}
5844
5845/// \- Retrieves a list of Device Types if no additional parameter is provided.
5846/// \- Retrieves a specific Device Type if a device type code is provided.
5847///
5848/// Parameters for [`Client::get_device_types`] (wire method `getDeviceTypes`).
5849#[derive(Debug, Default, Clone, Serialize)]
5850pub struct GetDeviceTypesParams {
5851    /// Code for a specific Device Type (Example: 1)
5852    #[serde(skip_serializing_if = "Option::is_none")]
5853    pub device_type: Option<String>,
5854}
5855
5856/// \- Retrieves a list of "Email to Fax configurations" from your account if no
5857/// additional parameter is provided.
5858/// \- Retrieves a specific "Email to Fax configuration" from your account if a
5859/// ID is provided.
5860///
5861/// Parameters for [`Client::get_email_to_fax`] (wire method `getEmailToFax`).
5862#[derive(Debug, Default, Clone, Serialize)]
5863pub struct GetEmailToFAXParams {
5864    #[serde(skip_serializing_if = "Option::is_none")]
5865    pub id: Option<i64>,
5866}
5867
5868/// \- Retrieves a list of Fax Folders from your account.
5869///
5870/// Parameters for [`Client::get_fax_folders`] (wire method `getFaxFolders`).
5871#[derive(Debug, Default, Clone, Serialize)]
5872pub struct GetFAXFoldersParams {
5873    #[serde(skip_serializing_if = "Option::is_none")]
5874    pub id: Option<i64>,
5875}
5876
5877/// \- Retrieves a Base64 code of the Fax Message to create a PDF file.
5878///
5879/// Parameters for [`Client::get_fax_message_pdf`] (wire method `getFaxMessagePDF`).
5880#[derive(Debug, Default, Clone, Serialize)]
5881pub struct GetFAXMessagePDFParams {
5882    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
5883    #[serde(skip_serializing_if = "Option::is_none")]
5884    pub id: Option<i64>,
5885}
5886
5887/// \- Retrieves a list of Fax Messages.
5888/// \- Retrieves a specific Fax Message if a Fax Message ID is provided.
5889///
5890/// Parameters for [`Client::get_fax_messages`] (wire method `getFaxMessages`).
5891#[derive(Debug, Default, Clone, Serialize)]
5892pub struct GetFAXMessagesParams {
5893    /// Start Date for Filtering Fax Messages (Example: '2014-03-30') - Default
5894    /// value: Today
5895    #[serde(skip_serializing_if = "Option::is_none")]
5896    pub from: Option<String>,
5897    /// End Date for Filtering Fax Messages (Example: '2014-03-30') - Default
5898    /// value: Today
5899    #[serde(skip_serializing_if = "Option::is_none")]
5900    pub to: Option<String>,
5901    /// Name of specific Fax Folder (Example: SENT) - Default value: ALL
5902    #[serde(skip_serializing_if = "Option::is_none")]
5903    pub folder: Option<String>,
5904    /// ID for a Specific Fax Message (Example: 23434)
5905    #[serde(skip_serializing_if = "Option::is_none")]
5906    pub id: Option<i64>,
5907}
5908
5909/// \- Retrieves a list of Fax Numbers.
5910///
5911/// Parameters for [`Client::get_fax_numbers_info`] (wire method `getFaxNumbersInfo`).
5912#[derive(Debug, Default, Clone, Serialize)]
5913pub struct GetFAXNumbersInfoParams {
5914    /// Fax Number to retrieves the information of a single number, or not send
5915    /// if you want retrieves the information of all your Fax Numbers.
5916    #[serde(skip_serializing_if = "Option::is_none")]
5917    pub did: Option<i64>,
5918}
5919
5920/// \- Shows if a Fax Number can be ported into our network
5921///
5922/// Parameters for [`Client::get_fax_numbers_portability`] (wire method `getFaxNumbersPortability`).
5923#[derive(Debug, Default, Clone, Serialize)]
5924pub struct GetFAXNumbersPortabilityParams {
5925    /// DID Number to be ported into our network (Example: 5552341234)
5926    /// (required)
5927    #[serde(skip_serializing_if = "Option::is_none")]
5928    pub did: Option<i64>,
5929}
5930
5931/// \- Retrieves a list of Canadian Fax Provinces if no additional parameter is
5932/// provided.
5933/// \- Retrieves a specific Canadian Fax Province if a province code is provided.
5934///
5935/// Parameters for [`Client::get_fax_provinces`] (wire method `getFaxProvinces`).
5936#[derive(Debug, Default, Clone, Serialize)]
5937pub struct GetFAXProvincesParams {
5938    /// CODE for a specific Province (Example: AB)
5939    #[serde(skip_serializing_if = "Option::is_none")]
5940    pub province: Option<String>,
5941}
5942
5943/// \- Retrieves a list of Canadian Ratecenters by Province.
5944///
5945/// Parameters for [`Client::get_fax_rate_centers_can`] (wire method `getFaxRateCentersCAN`).
5946#[derive(Debug, Default, Clone, Serialize)]
5947pub struct GetFAXRateCentersCANParams {
5948    /// Province two letters code (Example: AB) (required)
5949    #[serde(skip_serializing_if = "Option::is_none")]
5950    pub province: Option<String>,
5951}
5952
5953/// \- Retrieves a list of USA Ratecenters by State.
5954///
5955/// Parameters for [`Client::get_fax_rate_centers_usa`] (wire method `getFaxRateCentersUSA`).
5956#[derive(Debug, Default, Clone, Serialize)]
5957pub struct GetFAXRateCentersUSAParams {
5958    /// Province two letters code (Example: AL) (required)
5959    #[serde(skip_serializing_if = "Option::is_none")]
5960    pub state: Option<String>,
5961}
5962
5963/// \- Retrieves a list of American Fax States if no additional parameter is
5964/// provided.
5965/// \- Retrieves a specific American Fax State if a state code is provided.
5966///
5967/// Parameters for [`Client::get_fax_states`] (wire method `getFaxStates`).
5968#[derive(Debug, Default, Clone, Serialize)]
5969pub struct GetFAXStatesParams {
5970    /// CODE for a specific State (Example: AL)
5971    #[serde(skip_serializing_if = "Option::is_none")]
5972    pub state: Option<String>,
5973}
5974
5975/// \- Retrieves a list of Forwardings if no additional parameter is provided.
5976/// \- Retrieves a specific Forwarding if a fwd code is provided.
5977///
5978/// Parameters for [`Client::get_forwardings`] (wire method `getForwardings`).
5979#[derive(Debug, Default, Clone, Serialize)]
5980pub struct GetForwardingsParams {
5981    /// ID for a specific Forwarding (Example: 18635)
5982    #[serde(skip_serializing_if = "Option::is_none")]
5983    pub forwarding: Option<String>,
5984}
5985
5986/// \- Shows the IP used by the client application requesting information from
5987/// the API
5988/// \* this is the only function not using the IP for authentication.
5989/// \* the IP returned should be the one used in the API Configuration.
5990///
5991/// Parameters for [`Client::get_ip`] (wire method `getIP`).
5992#[derive(Debug, Default, Clone, Serialize)]
5993pub struct GetIPParams {}
5994
5995/// \- Retrieves a list of IVRs if no additional parameter is provided.
5996/// \- Retrieves a specific IVR if a IVR code is provided.
5997///
5998/// Parameters for [`Client::get_ivrs`] (wire method `getIVRs`).
5999#[derive(Debug, Default, Clone, Serialize)]
6000pub struct GetIVRsParams {
6001    /// ID for a specific IVR (Example: 4636)
6002    #[serde(skip_serializing_if = "Option::is_none")]
6003    pub ivr: Option<String>,
6004}
6005
6006/// \- Retrieves a list of Types for International DIDs if no additional
6007/// parameter is provided.
6008/// \- Retrieves a specific Types for International DIDs if a type code is
6009/// provided.
6010///
6011/// Parameters for [`Client::get_international_types`] (wire method `getInternationalTypes`).
6012#[derive(Debug, Default, Clone, Serialize)]
6013pub struct GetInternationalTypesParams {
6014    /// Code for a specific International Type (Example: 'NATIONAL')
6015    #[serde(skip_serializing_if = "Option::is_none")]
6016    pub r#type: Option<String>,
6017}
6018
6019/// \- Retrieves a list of 'JoinWhenEmpty' Types if no additional parameter is
6020/// provided.
6021/// \- Retrieves a specific 'JoinWhenEmpty' Types if a type code is provided.
6022///
6023/// Parameters for [`Client::get_join_when_empty_types`] (wire method `getJoinWhenEmptyTypes`).
6024#[derive(Debug, Default, Clone, Serialize)]
6025pub struct GetJoinWhenEmptyTypesParams {
6026    /// Code for a specific 'JoinWhenEmpty' Type (Example: 'yes')
6027    #[serde(skip_serializing_if = "Option::is_none")]
6028    pub r#type: Option<String>,
6029}
6030
6031/// \- Retrieve the details of an attached invoice.
6032///
6033/// Parameters for [`Client::get_lnp_attach`] (wire method `getLNPAttach`).
6034#[derive(Debug, Default, Clone, Serialize)]
6035pub struct GetLNPAttachParams {
6036    /// ID of the invoice (attachment) previously uploaded. (required)
6037    #[serde(skip_serializing_if = "Option::is_none")]
6038    pub attachid: Option<i64>,
6039}
6040
6041/// \- Retrieve the list of invoice (attached) files from a given portability
6042/// process.
6043///
6044/// Parameters for [`Client::get_lnp_attach_list`] (wire method `getLNPAttachList`).
6045#[derive(Debug, Default, Clone, Serialize)]
6046pub struct GetLNPAttachListParams {
6047    /// ID of the port previously created. (required)
6048    #[serde(skip_serializing_if = "Option::is_none")]
6049    pub portid: Option<i64>,
6050}
6051
6052/// \- Retrieve the details of a given portability process.
6053///
6054/// Parameters for [`Client::get_lnp_details`] (wire method `getLNPDetails`).
6055#[derive(Debug, Default, Clone, Serialize)]
6056pub struct GetLNPDetailsParams {
6057    /// ID of the port previously created. (required)
6058    #[serde(skip_serializing_if = "Option::is_none")]
6059    pub portid: Option<i64>,
6060}
6061
6062/// \- Retrieve the full list of all your portability processes.
6063///
6064/// Parameters for [`Client::get_lnp_list`] (wire method `getLNPList`).
6065#[derive(Debug, Default, Clone, Serialize)]
6066pub struct GetLNPListParams {
6067    /// ID of the port previously created. (required)
6068    #[serde(skip_serializing_if = "Option::is_none")]
6069    pub portid: Option<i64>,
6070    /// Status code to filtering Ports. Example: precessing. (You can use the
6071    /// values returned by the method getLNPListStatus)
6072    #[serde(skip_serializing_if = "Option::is_none")]
6073    pub portStatus: Option<String>,
6074    /// Start Date for filtering Ports. (Example: '2014-03-30')
6075    #[serde(skip_serializing_if = "Option::is_none")]
6076    pub startDate: Option<String>,
6077    /// End Date for filtering Ports. (Example: '2014-03-30')
6078    #[serde(skip_serializing_if = "Option::is_none")]
6079    pub endDate: Option<String>,
6080}
6081
6082/// \- Retrieve the list of possible status of a portability process.
6083///
6084/// Parameters for [`Client::get_lnp_list_status`] (wire method `getLNPListStatus`).
6085#[derive(Debug, Default, Clone, Serialize)]
6086pub struct GetLNPListStatusParams {}
6087
6088/// \- Retrieve the list of notes from the given portability process.
6089///
6090/// Parameters for [`Client::get_lnp_notes`] (wire method `getLNPNotes`).
6091#[derive(Debug, Default, Clone, Serialize)]
6092pub struct GetLNPNotesParams {
6093    /// ID of the port previously created. (required)
6094    #[serde(skip_serializing_if = "Option::is_none")]
6095    pub portid: Option<i64>,
6096}
6097
6098/// \- Retrieve the current status of a given portability process.
6099///
6100/// Parameters for [`Client::get_lnp_status`] (wire method `getLNPStatus`).
6101#[derive(Debug, Default, Clone, Serialize)]
6102pub struct GetLNPStatusParams {
6103    /// ID of the port previously created. (required)
6104    #[serde(skip_serializing_if = "Option::is_none")]
6105    pub portid: Option<i64>,
6106}
6107
6108/// \- Retrieves a list of Languages if no additional parameter is provided.
6109/// \- Retrieves a specific Language if a language code is provided.
6110///
6111/// Parameters for [`Client::get_languages`] (wire method `getLanguages`).
6112#[derive(Debug, Default, Clone, Serialize)]
6113pub struct GetLanguagesParams {
6114    /// Code for a specific Language (Example: 'en')
6115    #[serde(skip_serializing_if = "Option::is_none")]
6116    pub language: Option<String>,
6117}
6118
6119/// \- Retrieves a list of locale codes if no additional parameter is provided.
6120/// \- Retrieves a specific locale code if a language code is provided.
6121///
6122/// Parameters for [`Client::get_locales`] (wire method `getLocales`).
6123#[derive(Debug, Default, Clone, Serialize)]
6124pub struct GetLocalesParams {
6125    /// Code for a specific Locale Code (Example: 'en-US')
6126    #[serde(skip_serializing_if = "Option::is_none")]
6127    pub locale: Option<String>,
6128}
6129
6130/// Parameters for [`Client::get_locations`] (wire method `getLocations`).
6131#[derive(Debug, Default, Clone, Serialize)]
6132pub struct GetLocationsParams {}
6133
6134/// \- Retrieves a list of Lock Modes if no additional parameter is provided.
6135/// \- Retrieves a specific Lock Mode if a lock code is provided.
6136///
6137/// Parameters for [`Client::get_lock_international`] (wire method `getLockInternational`).
6138#[derive(Debug, Default, Clone, Serialize)]
6139pub struct GetLockInternationalParams {
6140    /// Code for a specific Lock International Mode (Example: 1)
6141    #[serde(skip_serializing_if = "Option::is_none")]
6142    pub lock_international: Option<String>,
6143}
6144
6145/// \- Retrieves a list of MMS messages by: date range, mms type, DID number, and
6146/// contact.
6147///
6148/// Parameters for [`Client::get_mms`] (wire method `getMMS`).
6149#[derive(Debug, Default, Clone, Serialize)]
6150pub struct GetMMSParams {
6151    /// ID for a specific MMS (Example: 1918)
6152    #[serde(skip_serializing_if = "Option::is_none")]
6153    pub mms: Option<i64>,
6154    /// Start Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6155    /// Today
6156    #[serde(skip_serializing_if = "Option::is_none")]
6157    pub from: Option<String>,
6158    /// End Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6159    /// Today
6160    #[serde(skip_serializing_if = "Option::is_none")]
6161    pub to: Option<String>,
6162    /// Filter MMSs by Type (Boolean: 1 = received / 0 = sent)
6163    #[serde(skip_serializing_if = "Option::is_none")]
6164    pub r#type: Option<MessageType>,
6165    /// DID number for Filtering MMSs (Example: 5551234567)
6166    #[serde(skip_serializing_if = "Option::is_none")]
6167    pub did: Option<String>,
6168    /// Contact number for Filtering MMSs (Example: 5551234567)
6169    #[serde(skip_serializing_if = "Option::is_none")]
6170    pub contact: Option<String>,
6171    /// Number of records to be displayed (Example: 20) - Default value: 50
6172    #[serde(skip_serializing_if = "Option::is_none")]
6173    pub limit: Option<String>,
6174    /// Adjust time of MMSs according to Timezome (Numeric: -12 to 13)
6175    #[serde(skip_serializing_if = "Option::is_none")]
6176    pub timezone: Option<String>,
6177    /// Filter to recive all MMSs and SMSs, 1 recive all SMS and MMS, 0 if only
6178    /// need MMS, important: the sms ID must be 0
6179    #[serde(skip_serializing_if = "Option::is_none")]
6180    pub all_messages: Option<i64>,
6181}
6182
6183/// \- Retrieves media files from the message.
6184///
6185/// Parameters for [`Client::get_media_mms`] (wire method `getMediaMMS`).
6186#[derive(Debug, Default, Clone, Serialize)]
6187pub struct GetMediaMMSParams {
6188    /// ID for a specific MMS (Example: 1918)
6189    #[serde(skip_serializing_if = "Option::is_none")]
6190    pub id: Option<i64>,
6191    /// Return the list of media attachments as an Array if the value is 1 or as
6192    /// a JSON Object if the value is 0 (Default: 0)
6193    #[serde(skip_serializing_if = "Option::is_none")]
6194    pub media_as_array: Option<i64>,
6195}
6196
6197/// \- Retrieves a list of Music on Hold Options if no additional parameter is
6198/// provided.
6199/// \- Retrieves a specific Music on Hold Option if a MOH code is provided.
6200///
6201/// Parameters for [`Client::get_music_on_hold`] (wire method `getMusicOnHold`).
6202#[derive(Debug, Default, Clone, Serialize)]
6203pub struct GetMusicOnHoldParams {
6204    /// Code for a specific Music on Hold (Example: 'jazz')
6205    #[serde(skip_serializing_if = "Option::is_none")]
6206    pub music_on_hold: Option<String>,
6207}
6208
6209/// \- Retrieves a list of NAT Options if no additional parameter is provided.
6210/// \- Retrieves a specific NAT Option if a NAT code is provided.
6211///
6212/// Parameters for [`Client::get_nat`] (wire method `getNAT`).
6213#[derive(Debug, Default, Clone, Serialize)]
6214pub struct GetNATParams {
6215    /// Code for a specific NAT Option (Example: 'route')
6216    #[serde(skip_serializing_if = "Option::is_none")]
6217    pub nat: Option<Nat>,
6218}
6219
6220/// \- Retrieves a list of Packages if no additional parameter is provided.-
6221/// Retrieves a specific Package if a package code is provided.
6222///
6223/// Parameters for [`Client::get_packages`] (wire method `getPackages`).
6224#[derive(Debug, Default, Clone, Serialize)]
6225pub struct GetPackagesParams {
6226    /// Code for a specific Package (Example: 8378)
6227    #[serde(skip_serializing_if = "Option::is_none")]
6228    pub package: Option<String>,
6229}
6230
6231/// \- Retrieves a list of Phonebook entries if no additional parameter is
6232/// provided.
6233/// \- Retrieves a list of Phonebook entries if a name is provided.
6234/// \- Retrieves a specific Phonebook entry if a Phonebook code is provided.
6235/// \- Retrieves a list of Phonebook entries if a phonebook group name is
6236/// provided.
6237/// \- Retrieves a list of Phonebook entries if a phonebook group code is
6238/// provided.
6239///
6240/// Parameters for [`Client::get_phonebook`] (wire method `getPhonebook`).
6241#[derive(Debug, Default, Clone, Serialize)]
6242pub struct GetPhonebookParams {
6243    /// ID for a specific Phonebook entry (Example: 32207)
6244    #[serde(skip_serializing_if = "Option::is_none")]
6245    pub phonebook: Option<String>,
6246    /// Name to be searched in database (Example: 'jane')
6247    #[serde(skip_serializing_if = "Option::is_none")]
6248    pub name: Option<String>,
6249    /// ID for a specific Phonebook group
6250    #[serde(skip_serializing_if = "Option::is_none")]
6251    pub group: Option<String>,
6252    /// Group Name
6253    #[serde(skip_serializing_if = "Option::is_none")]
6254    pub group_name: Option<String>,
6255}
6256
6257/// \- Retrieves a list of Phonebook groups if no additional parameter is
6258/// provided.
6259/// \- Retrieves a list of Phonebook groups if a name is provided.
6260/// \- Retrieves a specific Phonebook group if a group ID is provided.
6261///
6262/// Parameters for [`Client::get_phonebook_groups`] (wire method `getPhonebookGroups`).
6263#[derive(Debug, Default, Clone, Serialize)]
6264pub struct GetPhonebookGroupsParams {
6265    /// Group Name
6266    #[serde(skip_serializing_if = "Option::is_none")]
6267    pub name: Option<String>,
6268    /// ID for a specific Phonebook group
6269    #[serde(skip_serializing_if = "Option::is_none")]
6270    pub group: Option<String>,
6271}
6272
6273/// \- Retrieves a list of Play Instructions modes if no additional parameter is
6274/// provided.
6275/// \- Retrieves a specific Play Instructions mode if a play code is provided.
6276///
6277/// Parameters for [`Client::get_play_instructions`] (wire method `getPlayInstructions`).
6278#[derive(Debug, Default, Clone, Serialize)]
6279pub struct GetPlayInstructionsParams {
6280    /// Code for a specific Play Instructions setting (Example: 'u')
6281    #[serde(skip_serializing_if = "Option::is_none")]
6282    pub play_instructions: Option<PlayInstructions>,
6283}
6284
6285/// \- Shows if a DID Number can be ported into our network.
6286/// \- Display plans and rates available if the DID Number can be ported into our
6287/// network.
6288///
6289/// Parameters for [`Client::get_portability`] (wire method `getPortability`).
6290#[derive(Debug, Default, Clone, Serialize)]
6291pub struct GetPortabilityParams {
6292    /// DID Number to be ported into our network (Example: 5552341234)
6293    /// (required)
6294    #[serde(skip_serializing_if = "Option::is_none")]
6295    pub did: Option<String>,
6296}
6297
6298/// \- Retrieves a list of Protocols if no additional parameter is provided.
6299/// \- Retrieves a specific Protocol if a protocol code is provided.
6300///
6301/// Parameters for [`Client::get_protocols`] (wire method `getProtocols`).
6302#[derive(Debug, Default, Clone, Serialize)]
6303pub struct GetProtocolsParams {
6304    /// Code for a specific Protocol (Example: 3)
6305    #[serde(skip_serializing_if = "Option::is_none")]
6306    pub protocol: Option<String>,
6307}
6308
6309/// \- Retrieves a list of Canadian Provinces.
6310///
6311/// Parameters for [`Client::get_provinces`] (wire method `getProvinces`).
6312#[derive(Debug, Default, Clone, Serialize)]
6313pub struct GetProvincesParams {}
6314
6315/// \- Retrieves a list of Queue entries if no additional parameter is provided.
6316/// \- Retrieves a specific Queue entry if a Queue code is provided.
6317///
6318/// Parameters for [`Client::get_queues`] (wire method `getQueues`).
6319#[derive(Debug, Default, Clone, Serialize)]
6320pub struct GetQueuesParams {
6321    /// ID for a specific Queue (Example: 4764)
6322    #[serde(skip_serializing_if = "Option::is_none")]
6323    pub queue: Option<String>,
6324}
6325
6326/// \- Retrieves a list of Canadian Ratecenters by Province.
6327///
6328/// Parameters for [`Client::get_rate_centers_can`] (wire method `getRateCentersCAN`).
6329#[derive(Debug, Default, Clone, Serialize)]
6330pub struct GetRateCentersCANParams {
6331    /// Canadian Province (Values from getProvinces) (required)
6332    #[serde(skip_serializing_if = "Option::is_none")]
6333    pub province: Option<String>,
6334}
6335
6336/// \- Retrieves a list of USA Ratecenters by State.
6337///
6338/// Parameters for [`Client::get_rate_centers_usa`] (wire method `getRateCentersUSA`).
6339#[derive(Debug, Default, Clone, Serialize)]
6340pub struct GetRateCentersUSAParams {
6341    /// United States State (Values from getStates) (required)
6342    #[serde(skip_serializing_if = "Option::is_none")]
6343    pub state: Option<String>,
6344}
6345
6346/// \- Retrieves the Rates for a specific Package and a Search term.
6347///
6348/// Parameters for [`Client::get_rates`] (wire method `getRates`).
6349#[derive(Debug, Default, Clone, Serialize)]
6350pub struct GetRatesParams {
6351    /// ID for a specific Package (Example: 92364) (required)
6352    #[serde(skip_serializing_if = "Option::is_none")]
6353    pub package: Option<String>,
6354    /// Query for searching rates (Example: 'Canada') (required)
6355    #[serde(skip_serializing_if = "Option::is_none")]
6356    pub query: Option<String>,
6357}
6358
6359/// \- Retrieves a specific Recording File data in Base64 format.
6360///
6361/// Parameters for [`Client::get_recording_file`] (wire method `getRecordingFile`).
6362#[derive(Debug, Default, Clone, Serialize)]
6363pub struct GetRecordingFileParams {
6364    /// ID for a specific Recording (Example: 7567) (required)
6365    #[serde(skip_serializing_if = "Option::is_none")]
6366    pub recording: Option<String>,
6367}
6368
6369/// \- Retrieves a list of Recordings if no additional parameter is provided.
6370/// \- Retrieves a specific Recording if a Recording code is provided.
6371///
6372/// Parameters for [`Client::get_recordings`] (wire method `getRecordings`).
6373#[derive(Debug, Default, Clone, Serialize)]
6374pub struct GetRecordingsParams {
6375    /// ID for a specific Recording (Example: 7567)
6376    #[serde(skip_serializing_if = "Option::is_none")]
6377    pub recording: Option<String>,
6378}
6379
6380/// \- Retrieves the Registration Status of all accounts if no account is
6381/// provided.
6382///
6383/// Parameters for [`Client::get_registration_status`] (wire method `getRegistrationStatus`).
6384#[derive(Debug, Default, Clone, Serialize)]
6385pub struct GetRegistrationStatusParams {
6386    /// Specific Account (Example: '100001_VoIP') (required)
6387    #[serde(skip_serializing_if = "Option::is_none")]
6388    pub account: Option<String>,
6389}
6390
6391/// \- Retrieves a list of 'ReportEstimateHoldTime' Types if no additional
6392/// parameter is provided.
6393/// \- Retrieves a specific 'ReportEstimateHoldTime' Type if a type code is
6394/// provided.
6395///
6396/// Parameters for [`Client::get_report_estimated_hold_time`] (wire method `getReportEstimatedHoldTime`).
6397#[derive(Debug, Default, Clone, Serialize)]
6398pub struct GetReportEstimatedHoldTimeParams {
6399    /// Code for a specific 'ReportEstimatedHoldTime' Type (Example: 'yes')
6400    #[serde(skip_serializing_if = "Option::is_none")]
6401    pub r#type: Option<String>,
6402}
6403
6404/// \- Retrieves Balance and Calls Statistics for a specific Reseller Client for
6405/// the last 30 days and current day.
6406///
6407/// Parameters for [`Client::get_reseller_balance`] (wire method `getResellerBalance`).
6408#[derive(Debug, Default, Clone, Serialize)]
6409pub struct GetResellerBalanceParams {
6410    /// ID for a specific Reseller Client (Example: 561115) (required)
6411    #[serde(skip_serializing_if = "Option::is_none")]
6412    pub client: Option<String>,
6413}
6414
6415/// \- Retrieves the Call Detail Records for a specific Reseller Client.
6416///
6417/// Parameters for [`Client::get_reseller_cdr`] (wire method `getResellerCDR`).
6418#[derive(Debug, Default, Clone, Serialize)]
6419pub struct GetResellerCDRParams {
6420    /// Start Date for Filtering CDR (Example: '2010-11-30') (required)
6421    #[serde(skip_serializing_if = "Option::is_none")]
6422    pub date_from: Option<String>,
6423    /// End Date for Filtering CDR (Example: '2010-11-30') (required)
6424    #[serde(skip_serializing_if = "Option::is_none")]
6425    pub date_to: Option<String>,
6426    /// ID for a specific Reseller Client (Example: 561115) (required)
6427    #[serde(skip_serializing_if = "Option::is_none")]
6428    pub client: Option<i64>,
6429    /// Include Answered Calls to CDR (Boolean: 1/0)
6430    #[serde(
6431        skip_serializing_if = "Option::is_none",
6432        serialize_with = "crate::responses::serialize_opt_flag_01"
6433    )]
6434    pub answered: Option<bool>,
6435    /// Include NoAnswered calls to CDR (Boolean: 1/0)
6436    #[serde(
6437        skip_serializing_if = "Option::is_none",
6438        serialize_with = "crate::responses::serialize_opt_flag_01"
6439    )]
6440    pub noanswer: Option<bool>,
6441    /// Include Busy Calls to CDR (Boolean: 1/0)
6442    #[serde(
6443        skip_serializing_if = "Option::is_none",
6444        serialize_with = "crate::responses::serialize_opt_flag_01"
6445    )]
6446    pub busy: Option<bool>,
6447    /// Include Failed Calls to CDR (Boolean: 1/0)
6448    #[serde(
6449        skip_serializing_if = "Option::is_none",
6450        serialize_with = "crate::responses::serialize_opt_flag_01"
6451    )]
6452    pub failed: Option<bool>,
6453    /// Adjust time of calls according to Timezome (Numeric: -12 to 13)
6454    /// (required)
6455    #[serde(skip_serializing_if = "Option::is_none")]
6456    pub timezone: Option<f64>,
6457    /// Filters CDR by Call Type (Values from getCallTypes)
6458    #[serde(skip_serializing_if = "Option::is_none")]
6459    pub calltype: Option<String>,
6460    /// Filter CDR by Call Billing (Values from getCallBilling)
6461    #[serde(skip_serializing_if = "Option::is_none")]
6462    pub callbilling: Option<String>,
6463    /// Filter CDR by Account (Values from getCallAccounts)
6464    #[serde(skip_serializing_if = "Option::is_none")]
6465    pub account: Option<String>,
6466}
6467
6468/// \- Retrieves a list of MMS messages for a specific Reseller Client. by: date
6469/// range, mms type, DID number, and contact
6470///
6471/// Parameters for [`Client::get_reseller_mms`] (wire method `getResellerMMS`).
6472#[derive(Debug, Default, Clone, Serialize)]
6473pub struct GetResellerMMSParams {
6474    #[serde(skip_serializing_if = "Option::is_none")]
6475    pub mms: Option<i64>,
6476    #[serde(skip_serializing_if = "Option::is_none")]
6477    pub client: Option<i64>,
6478    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6479    /// Today
6480    #[serde(skip_serializing_if = "Option::is_none")]
6481    pub from: Option<String>,
6482    /// End Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6483    /// Todayclient => \[Required\] ID for a specific Reseller Client (Example:
6484    /// 561115)
6485    #[serde(skip_serializing_if = "Option::is_none")]
6486    pub to: Option<String>,
6487    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6488    #[serde(skip_serializing_if = "Option::is_none")]
6489    pub r#type: Option<MessageType>,
6490    /// DID number for Filtering MMSs (Example: 5551234567)
6491    #[serde(skip_serializing_if = "Option::is_none")]
6492    pub did: Option<String>,
6493    /// Contact number for Filtering MMSs (Example: 5551234567)
6494    #[serde(skip_serializing_if = "Option::is_none")]
6495    pub contact: Option<String>,
6496    /// Number of records to be displayed (Example: 20) - Default value: 50
6497    #[serde(skip_serializing_if = "Option::is_none")]
6498    pub limit: Option<String>,
6499    /// Adjust time of MMSs according to Timezome (Numeric: -12 to 13)
6500    #[serde(skip_serializing_if = "Option::is_none")]
6501    pub timezone: Option<String>,
6502    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6503    /// need SMS, important: the sms ID must be 0
6504    #[serde(skip_serializing_if = "Option::is_none")]
6505    pub all_messages: Option<i64>,
6506}
6507
6508/// \- Retrieves a list of SMS messages for a specific Reseller Client. by: date
6509/// range, sms type, DID number, and contact
6510///
6511/// Parameters for [`Client::get_reseller_sms`] (wire method `getResellerSMS`).
6512#[derive(Debug, Default, Clone, Serialize)]
6513pub struct GetResellerSMSParams {
6514    /// ID for a specific SMS (Example: 5853)
6515    #[serde(skip_serializing_if = "Option::is_none")]
6516    pub sms: Option<i64>,
6517    #[serde(skip_serializing_if = "Option::is_none")]
6518    pub client: Option<i64>,
6519    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6520    /// Today
6521    #[serde(skip_serializing_if = "Option::is_none")]
6522    pub from: Option<String>,
6523    /// End Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6524    /// Todayclient => \[Required\] ID for a specific Reseller Client (Example:
6525    /// 561115)
6526    #[serde(skip_serializing_if = "Option::is_none")]
6527    pub to: Option<String>,
6528    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6529    #[serde(skip_serializing_if = "Option::is_none")]
6530    pub r#type: Option<MessageType>,
6531    /// DID number for Filtering SMSs (Example: 5551234567)
6532    #[serde(skip_serializing_if = "Option::is_none")]
6533    pub did: Option<String>,
6534    /// Contact number for Filtering SMSs (Example: 5551234567)
6535    #[serde(skip_serializing_if = "Option::is_none")]
6536    pub contact: Option<String>,
6537    /// Number of records to be displayed (Example: 20) - Default value: 50
6538    #[serde(skip_serializing_if = "Option::is_none")]
6539    pub limit: Option<String>,
6540    /// Adjust time of SMSs according to Timezome (Numeric: -12 to 13)
6541    #[serde(skip_serializing_if = "Option::is_none")]
6542    pub timezone: Option<String>,
6543    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6544    /// need SMS, important: the sms ID must be 0
6545    #[serde(skip_serializing_if = "Option::is_none")]
6546    pub all_messages: Option<i64>,
6547}
6548
6549/// \- Retrieves a list of Ring Groups if no additional parameter is provided.
6550/// \- Retrieves a specific Ring Group if a ring group code is provided.
6551///
6552/// Parameters for [`Client::get_ring_groups`] (wire method `getRingGroups`).
6553#[derive(Debug, Default, Clone, Serialize)]
6554pub struct GetRingGroupsParams {
6555    /// ID for a specific Ring Group (Example: 4768)
6556    #[serde(skip_serializing_if = "Option::is_none")]
6557    pub ring_group: Option<String>,
6558}
6559
6560/// \- Retrieves a list of Ring Strategies if no additional parameter is
6561/// provided.
6562/// \- Retrieves a specific Ring Strategy if a ring strategy code is provided.
6563///
6564/// Parameters for [`Client::get_ring_strategies`] (wire method `getRingStrategies`).
6565#[derive(Debug, Default, Clone, Serialize)]
6566pub struct GetRingStrategiesParams {
6567    /// ID for a specific Ring Strategy (Example: 'rrmemory')
6568    #[serde(skip_serializing_if = "Option::is_none")]
6569    pub strategy: Option<String>,
6570}
6571
6572/// \- Retrieves a list of Route Options if no additional parameter is provided.
6573/// \- Retrieves a specific Route Option if a route code is provided.
6574///
6575/// Parameters for [`Client::get_routes`] (wire method `getRoutes`).
6576#[derive(Debug, Default, Clone, Serialize)]
6577pub struct GetRoutesParams {
6578    /// Code for a specific Route (Example: 2)
6579    #[serde(skip_serializing_if = "Option::is_none")]
6580    pub route: Option<String>,
6581}
6582
6583/// \- Retrieves a list of SIP URIs if no additional parameter is provided.
6584/// \- Retrieves a specific SIP URI if a SIP URI code is provided.
6585///
6586/// Parameters for [`Client::get_sip_uris`] (wire method `getSIPURIs`).
6587#[derive(Debug, Default, Clone, Serialize)]
6588pub struct GetSIPURIsParams {
6589    /// ID for a specific SIP URI (Example: 6199)
6590    #[serde(skip_serializing_if = "Option::is_none")]
6591    pub sipuri: Option<String>,
6592}
6593
6594/// \- Retrieves a list of SMS messages by: date range, sms type, DID number, and
6595/// contact.
6596///
6597/// Parameters for [`Client::get_sms`] (wire method `getSMS`).
6598#[derive(Debug, Default, Clone, Serialize)]
6599pub struct GetSMSParams {
6600    /// ID for a specific SMS (Example: 5853)
6601    #[serde(skip_serializing_if = "Option::is_none")]
6602    pub sms: Option<i64>,
6603    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6604    /// Today
6605    #[serde(skip_serializing_if = "Option::is_none")]
6606    pub from: Option<String>,
6607    /// End Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6608    /// Today
6609    #[serde(skip_serializing_if = "Option::is_none")]
6610    pub to: Option<String>,
6611    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6612    #[serde(skip_serializing_if = "Option::is_none")]
6613    pub r#type: Option<MessageType>,
6614    /// DID number for Filtering SMSs (Example: 5551234567)
6615    #[serde(skip_serializing_if = "Option::is_none")]
6616    pub did: Option<String>,
6617    /// Contact number for Filtering SMSs (Example: 5551234567)
6618    #[serde(skip_serializing_if = "Option::is_none")]
6619    pub contact: Option<String>,
6620    /// Number of records to be displayed (Example: 20) - Default value: 50
6621    #[serde(skip_serializing_if = "Option::is_none")]
6622    pub limit: Option<String>,
6623    /// Adjust time of SMSs according to Timezome (Numeric: -12 to 13)
6624    #[serde(skip_serializing_if = "Option::is_none")]
6625    pub timezone: Option<String>,
6626    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6627    /// need SMS, important: the sms ID must be 0
6628    #[serde(skip_serializing_if = "Option::is_none")]
6629    pub all_messages: Option<i64>,
6630}
6631
6632/// \- Retrieves a list of Servers with their info if no additional parameter is
6633/// provided.
6634/// \- Retrieves a specific Server with its info if a Server POP is provided.
6635///
6636/// Parameters for [`Client::get_servers_info`] (wire method `getServersInfo`).
6637#[derive(Debug, Default, Clone, Serialize)]
6638pub struct GetServersInfoParams {
6639    /// POP for a specific Server (Example: 1)
6640    #[serde(skip_serializing_if = "Option::is_none")]
6641    pub server_pop: Option<String>,
6642}
6643
6644/// \- Retrieves a list of USA States.
6645///
6646/// Parameters for [`Client::get_states`] (wire method `getStates`).
6647#[derive(Debug, Default, Clone, Serialize)]
6648pub struct GetStatesParams {}
6649
6650/// \- Retrieves a list of Static Members from a queue if no additional parameter
6651/// is provided.
6652/// \- Retrieves a specific Static Member from a queue if Queue ID and Member ID
6653/// are provided
6654///
6655/// Parameters for [`Client::get_static_members`] (wire method `getStaticMembers`).
6656#[derive(Debug, Default, Clone, Serialize)]
6657pub struct GetStaticMembersParams {
6658    /// ID for a specific Queue (Example: 4136) (required)
6659    #[serde(skip_serializing_if = "Option::is_none")]
6660    pub queue: Option<String>,
6661    /// ID for a specific Static Member (Example: 163) - The Member must belong
6662    /// to the queue provided
6663    #[serde(skip_serializing_if = "Option::is_none")]
6664    pub member: Option<String>,
6665}
6666
6667/// \- Retrieves all Sub Accounts if no additional parameter is provided.
6668/// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
6669/// \- Retrieves a specific Sub Account if a Sub Account is provided.
6670///
6671/// Parameters for [`Client::get_sub_accounts`] (wire method `getSubAccounts`).
6672#[derive(Debug, Default, Clone, Serialize)]
6673pub struct GetSubAccountsParams {
6674    /// Parameter could have the following values: * Empty Value \[Not
6675    /// Required\] * Specific Sub Account (Example: '100000_VoIP') * Specific
6676    /// Reseller Client ID (Example: 561115)
6677    #[serde(skip_serializing_if = "Option::is_none")]
6678    pub account: Option<String>,
6679}
6680
6681/// \- Retrieves the Rates for a specific Route (Premium, Value) and a Search
6682/// term.
6683///
6684/// Parameters for [`Client::get_termination_rates`] (wire method `getTerminationRates`).
6685#[derive(Debug, Default, Clone, Serialize)]
6686pub struct GetTerminationRatesParams {
6687    /// Query for searching rates (Example: 'Canada') (required)
6688    #[serde(skip_serializing_if = "Option::is_none")]
6689    pub query: Option<String>,
6690    /// Route Code (Values from getRoutes)(Example: '2') (required)
6691    #[serde(skip_serializing_if = "Option::is_none")]
6692    pub route: Option<i64>,
6693}
6694
6695/// \- Retrieves a list of Time Conditions if no additional parameter is
6696/// provided.
6697/// \- Retrieves a specific Time Condition if a time condition code is provided.
6698///
6699/// Parameters for [`Client::get_time_conditions`] (wire method `getTimeConditions`).
6700#[derive(Debug, Default, Clone, Serialize)]
6701pub struct GetTimeConditionsParams {
6702    /// ID for a specific Time Condition (Example: 1830)
6703    #[serde(skip_serializing_if = "Option::is_none")]
6704    pub timecondition: Option<i64>,
6705}
6706
6707/// \- Retrieves a list of Timezones if no additional parameter is provided.
6708/// \- Retrieves a specific Timezone if a timezone code is provided.
6709///
6710/// Parameters for [`Client::get_timezones`] (wire method `getTimezones`).
6711#[derive(Debug, Default, Clone, Serialize)]
6712pub struct GetTimezonesParams {
6713    /// Code for a specific Time Zone (Example: 'America/Buenos_Aires')
6714    #[serde(skip_serializing_if = "Option::is_none")]
6715    pub timezone: Option<String>,
6716}
6717
6718/// \- Retrieves the Transaction History records between two dates.
6719///
6720/// Parameters for [`Client::get_transaction_history`] (wire method `getTransactionHistory`).
6721#[derive(Debug, Default, Clone, Serialize)]
6722pub struct GetTransactionHistoryParams {
6723    /// Start Date for Filtering Transactions (Example: '2016-06-03') (required)
6724    #[serde(skip_serializing_if = "Option::is_none")]
6725    pub date_from: Option<String>,
6726    /// End Date for Filtering Transactions (Example: '2016-06-04') (required)
6727    #[serde(skip_serializing_if = "Option::is_none")]
6728    pub date_to: Option<String>,
6729}
6730
6731/// \- Retrieves a list of vpri.
6732///
6733/// Parameters for [`Client::get_vpris`] (wire method `getVPRIs`).
6734#[derive(Debug, Default, Clone, Serialize)]
6735pub struct GetVPRIsParams {}
6736
6737/// \- Retrieves a list of Email Attachment Format Options if no additional
6738/// parameter is provided.
6739/// \- Retrieves a specific Email Attachment Format Option if a format value is
6740/// provided.
6741///
6742/// Parameters for [`Client::get_voicemail_attachment_formats`] (wire method `getVoicemailAttachmentFormats`).
6743#[derive(Debug, Default, Clone, Serialize)]
6744pub struct GetVoicemailAttachmentFormatsParams {
6745    /// ID for a specific attachment format (Example: wav49)
6746    #[serde(skip_serializing_if = "Option::is_none")]
6747    pub email_attachment_format: Option<EmailAttachmentFormat>,
6748}
6749
6750/// \- Retrieves a list of default Voicemail Folders if no additional parameter
6751/// is provided.
6752/// \- Retrieves a list of Voicemail Folders within a mailbox if mailbox
6753/// parameter is provided.
6754/// \- Retrieves a specific Folder if a folder name is provided.
6755///
6756/// Parameters for [`Client::get_voicemail_folders`] (wire method `getVoicemailFolders`).
6757#[derive(Debug, Default, Clone, Serialize)]
6758pub struct GetVoicemailFoldersParams {
6759    /// Folder Name (Example: 'INBOX')
6760    #[serde(skip_serializing_if = "Option::is_none")]
6761    pub folder: Option<VoicemailFolder>,
6762}
6763
6764/// \- Retrieves a specific Voicemail Message File in Base64 format.
6765///
6766/// Parameters for [`Client::get_voicemail_message_file`] (wire method `getVoicemailMessageFile`).
6767#[derive(Debug, Default, Clone, Serialize)]
6768pub struct GetVoicemailMessageFileParams {
6769    /// ID for specific Mailbox (Example: 1001) (required)
6770    #[serde(skip_serializing_if = "Option::is_none")]
6771    pub mailbox: Option<String>,
6772    /// Name for specific Folder (Example: 'INBOX', values from:
6773    /// getVoicemailFolders) (required)
6774    #[serde(skip_serializing_if = "Option::is_none")]
6775    pub folder: Option<VoicemailFolder>,
6776    /// ID for specific Voicemail Message (Example: 1) (required)
6777    #[serde(skip_serializing_if = "Option::is_none")]
6778    pub message_num: Option<i64>,
6779}
6780
6781/// \- Retrieves a list of Voicemail Messages if mailbox parameter is provided.
6782/// \- Retrieves a list of Voicemail Messages in a Folder if a folder is
6783/// provided.
6784/// \- Retrieves a list of Voicemail Messages in a date range if a from and to
6785/// are provided.
6786///
6787/// Parameters for [`Client::get_voicemail_messages`] (wire method `getVoicemailMessages`).
6788#[derive(Debug, Default, Clone, Serialize)]
6789pub struct GetVoicemailMessagesParams {
6790    /// ID for specific Mailbox (Example: 1001) (required)
6791    #[serde(skip_serializing_if = "Option::is_none")]
6792    pub mailbox: Option<String>,
6793    /// Name for specific Folder (Example: 'INBOX', values from:
6794    /// getVoicemailFolders)
6795    #[serde(skip_serializing_if = "Option::is_none")]
6796    pub folder: Option<VoicemailFolder>,
6797    /// Start Date for Filtering Voicemail Messages (Example: '2016-01-30')
6798    #[serde(skip_serializing_if = "Option::is_none")]
6799    pub date_from: Option<String>,
6800    /// End Date for Filtering Voicemail Messages (Example: '2016-01-30')
6801    #[serde(skip_serializing_if = "Option::is_none")]
6802    pub date_to: Option<String>,
6803}
6804
6805/// \- Retrieves a list of Voicemail Setup Options if no additional parameter is
6806/// provided.
6807/// \- Retrieves a specific Voicemail Setup Option if a voicemail setup code is
6808/// provided.
6809///
6810/// Parameters for [`Client::get_voicemail_setups`] (wire method `getVoicemailSetups`).
6811#[derive(Debug, Default, Clone, Serialize)]
6812pub struct GetVoicemailSetupsParams {
6813    /// ID for a specific Voicemail Setup (Example: 2)
6814    #[serde(skip_serializing_if = "Option::is_none")]
6815    pub voicemailsetup: Option<String>,
6816}
6817
6818/// \- Retrieves all Voicemail Transcriptions if no additional parameter is
6819/// provided.
6820///
6821/// Parameters for [`Client::get_voicemail_transcriptions`] (wire method `getVoicemailTranscriptions`).
6822#[derive(Debug, Default, Clone, Serialize)]
6823pub struct GetVoicemailTranscriptionsParams {
6824    #[serde(skip_serializing_if = "Option::is_none")]
6825    pub account: Option<String>,
6826    /// ID for specific Mailbox (Example: 1001) (required)
6827    #[serde(skip_serializing_if = "Option::is_none")]
6828    pub mailbox: Option<String>,
6829    /// End Date for Filtering (Example: '2010-11-30') (required)
6830    #[serde(skip_serializing_if = "Option::is_none")]
6831    pub date_to: Option<String>,
6832    /// Start Date for Filtering (Example: '2010-11-30') (required)
6833    #[serde(skip_serializing_if = "Option::is_none")]
6834    pub date_from: Option<String>,
6835    /// Name for specific Folder (Example: 'INBOX', values from:
6836    /// getVoicemailFolders) (required)
6837    #[serde(skip_serializing_if = "Option::is_none")]
6838    pub folder: Option<VoicemailFolder>,
6839}
6840
6841/// \- Retrieves a list of Voicemails if no additional parameter is provided.
6842/// \- Retrieves a specific Voicemail if a voicemail code is provided.
6843///
6844/// Parameters for [`Client::get_voicemails`] (wire method `getVoicemails`).
6845#[derive(Debug, Default, Clone, Serialize)]
6846pub struct GetVoicemailsParams {
6847    /// ID for specific Mailbox (Example: 1001)
6848    #[serde(skip_serializing_if = "Option::is_none")]
6849    pub mailbox: Option<String>,
6850}
6851
6852/// \- Send a Fax Message attached as a PDF file to an email destination.
6853///
6854/// Parameters for [`Client::mail_fax_message_pdf`] (wire method `mailFaxMessagePDF`).
6855#[derive(Debug, Default, Clone, Serialize)]
6856pub struct MailFAXMessagePDFParams {
6857    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
6858    #[serde(skip_serializing_if = "Option::is_none")]
6859    pub id: Option<i64>,
6860    /// Destination email adreess (example: \[email protected\]) (required)
6861    #[serde(skip_serializing_if = "Option::is_none")]
6862    pub email: Option<String>,
6863}
6864
6865/// \- Mark a Voicemail Message as Listened or Unlistened.
6866/// \- If value is 'yes', the voicemail message will be marked as listened and
6867/// will be moved to the Old Folder.
6868/// \- If value is 'no', the voicemail message will be marked as not-listened and
6869/// will be moved to the INBOX Folder.
6870///
6871/// Parameters for [`Client::mark_listened_voicemail_message`] (wire method `markListenedVoicemailMessage`).
6872#[derive(Debug, Default, Clone, Serialize)]
6873pub struct MarkListenedVoicemailMessageParams {
6874    /// ID for specific Mailbox (Example: 1001) (required)
6875    #[serde(skip_serializing_if = "Option::is_none")]
6876    pub mailbox: Option<String>,
6877    /// Name for specific Folder (Example: 'INBOX', values from:
6878    /// getVoicemailFolders) (required)
6879    #[serde(skip_serializing_if = "Option::is_none")]
6880    pub folder: Option<VoicemailFolder>,
6881    /// ID for specific Voicemail Message (Example: 1) (required)
6882    #[serde(skip_serializing_if = "Option::is_none")]
6883    pub message_num: Option<i64>,
6884    /// Code for mark voicemail as listened or not-listened (Values: 'yes'/'no')
6885    /// (required)
6886    #[serde(
6887        skip_serializing_if = "Option::is_none",
6888        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
6889    )]
6890    pub listened: Option<bool>,
6891}
6892
6893/// \- Mark Voicemail Message as Urgent or not Urgent.
6894/// \- If value is 'yes', the voicemail message will be marked as urgent and will
6895/// be moved to the Urgent Folder.
6896/// \- If value is 'no', the voicemail message will be unmarked as urgent and
6897/// will be moved to the INBOX Folder.
6898///
6899/// Parameters for [`Client::mark_urgent_voicemail_message`] (wire method `markUrgentVoicemailMessage`).
6900#[derive(Debug, Default, Clone, Serialize)]
6901pub struct MarkUrgentVoicemailMessageParams {
6902    /// ID for specific Mailbox (Example: 1001) (required)
6903    #[serde(skip_serializing_if = "Option::is_none")]
6904    pub mailbox: Option<String>,
6905    /// Name for specific Folder (Example: 'INBOX', values from:
6906    /// getVoicemailFolders) (required)
6907    #[serde(skip_serializing_if = "Option::is_none")]
6908    pub folder: Option<VoicemailFolder>,
6909    /// ID for specific Voicemail Message (Example: 1) (required)
6910    #[serde(skip_serializing_if = "Option::is_none")]
6911    pub message_num: Option<i64>,
6912    /// Code for mark voicemail as urgent or not-urgent (Values: 'yes'/'no')
6913    /// (required)
6914    #[serde(
6915        skip_serializing_if = "Option::is_none",
6916        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
6917    )]
6918    pub urgent: Option<bool>,
6919}
6920
6921/// \- Moves a Fax Message to a different folder.
6922///
6923/// Parameters for [`Client::move_fax_message`] (wire method `moveFaxMessage`).
6924#[derive(Debug, Default, Clone, Serialize)]
6925pub struct MoveFAXMessageParams {
6926    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
6927    #[serde(skip_serializing_if = "Option::is_none")]
6928    pub fax_id: Option<i64>,
6929    /// ID of the destination Fax Folder (Values from getFaxFolders) (required)
6930    #[serde(skip_serializing_if = "Option::is_none")]
6931    pub folder_id: Option<i64>,
6932    /// Set to true if testing how to move a Fax Message
6933    #[serde(
6934        skip_serializing_if = "crate::responses::is_false",
6935        serialize_with = "crate::responses::serialize_flag_01"
6936    )]
6937    pub test: bool,
6938}
6939
6940/// \- Move Voicemail Message to a Destination Folder.
6941///
6942/// Parameters for [`Client::move_folder_voicemail_message`] (wire method `moveFolderVoicemailMessage`).
6943#[derive(Debug, Default, Clone, Serialize)]
6944pub struct MoveFolderVoicemailMessageParams {
6945    /// ID for specific Mailbox (Example: 1001) (required)
6946    #[serde(skip_serializing_if = "Option::is_none")]
6947    pub mailbox: Option<String>,
6948    /// Name for specific Folder (Example: 'INBOX', values from:
6949    /// getVoicemailFolders) (required)
6950    #[serde(skip_serializing_if = "Option::is_none")]
6951    pub folder: Option<VoicemailFolder>,
6952    /// ID for specific Voicemail Message (Example: 1) (required)
6953    #[serde(skip_serializing_if = "Option::is_none")]
6954    pub message_num: Option<i64>,
6955    /// Destination Folder (Example: 'Urgent', values from: getVoicemailFolders)
6956    /// (required)
6957    #[serde(skip_serializing_if = "Option::is_none")]
6958    pub new_folder: Option<String>,
6959}
6960
6961/// \- Orders and Adds a new DID Number to the Account.
6962///
6963/// Parameters for [`Client::order_did`] (wire method `orderDID`).
6964#[derive(Debug, Default, Clone, Serialize)]
6965pub struct OrderDIDParams {
6966    /// DID to be Ordered (Example: 5552223333) (required)
6967    #[serde(skip_serializing_if = "Option::is_none")]
6968    pub did: Option<String>,
6969    /// Main Routing for the DID (required)
6970    #[serde(skip_serializing_if = "Option::is_none")]
6971    pub routing: Option<crate::Routing>,
6972    /// Busy Routing for the DID
6973    #[serde(skip_serializing_if = "Option::is_none")]
6974    pub failover_busy: Option<crate::Routing>,
6975    /// Unreachable Routing for the DID
6976    #[serde(skip_serializing_if = "Option::is_none")]
6977    pub failover_unreachable: Option<crate::Routing>,
6978    /// NoAnswer Routing for the DID
6979    #[serde(skip_serializing_if = "Option::is_none")]
6980    pub failover_noanswer: Option<crate::Routing>,
6981    /// Voicemail for the DID (Example: 101)
6982    #[serde(skip_serializing_if = "Option::is_none")]
6983    pub voicemail: Option<String>,
6984    /// Point of Presence for the DID (Example: 5) (required)
6985    #[serde(skip_serializing_if = "Option::is_none")]
6986    pub pop: Option<i64>,
6987    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
6988    #[serde(skip_serializing_if = "Option::is_none")]
6989    pub dialtime: Option<i64>,
6990    /// CNAM for the DID (Boolean: 1/0) (required)
6991    #[serde(skip_serializing_if = "Option::is_none")]
6992    pub cnam: Option<i64>,
6993    /// Caller ID Prefix for the DID
6994    #[serde(skip_serializing_if = "Option::is_none")]
6995    pub callerid_prefix: Option<String>,
6996    /// Note for the DID
6997    #[serde(skip_serializing_if = "Option::is_none")]
6998    pub note: Option<String>,
6999    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7000    #[serde(skip_serializing_if = "Option::is_none")]
7001    pub billing_type: Option<DidBillingType>,
7002    /// Reseller Sub Account (Example: '100001_VoIP')
7003    #[serde(skip_serializing_if = "Option::is_none")]
7004    pub account: Option<String>,
7005    /// Montly Fee for Reseller Client (Example: 3.50)
7006    #[serde(skip_serializing_if = "Option::is_none")]
7007    pub monthly: Option<String>,
7008    /// Setup Fee for Reseller Client (Example: 1.99)
7009    #[serde(skip_serializing_if = "Option::is_none")]
7010    pub setup: Option<String>,
7011    /// Minute Rate for Reseller Client (Example: 0.03)
7012    #[serde(skip_serializing_if = "Option::is_none")]
7013    pub minute: Option<String>,
7014    /// Set to true if testing how Orders work - Orders can not be undone - When
7015    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7016    /// and failover_noanswer can receive values in the following format =>
7017    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7018    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7019    /// routing calls to Sub Accounts You can get all sub accounts using the
7020    /// getSubAccounts function fwd Used for routing calls to Forwarding
7021    /// entries. You can get the ID right after creating a Forwarding with
7022    /// setForwarding or by requesting all forwardings entries with
7023    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7024    /// all voicemails and their IDs using the getVoicemails function sys System
7025    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7026    /// Recording: Number not in service disconnected = System Recording: Number
7027    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7028    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7029    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7030    #[serde(
7031        skip_serializing_if = "crate::responses::is_false",
7032        serialize_with = "crate::responses::serialize_flag_01"
7033    )]
7034    pub test: bool,
7035}
7036
7037/// \- Orders and Adds new International Geographic DID Numbers to the Account.
7038///
7039/// Parameters for [`Client::order_did_international_geographic`] (wire method `orderDIDInternationalGeographic`).
7040#[derive(Debug, Default, Clone, Serialize)]
7041pub struct OrderDIDInternationalGeographicParams {
7042    /// ID for a specific International Location (Values from
7043    /// getDIDsInternationalGeographic) (required)
7044    #[serde(skip_serializing_if = "Option::is_none")]
7045    pub location_id: Option<String>,
7046    /// Number of dids to be purchased (Example: 2) (required)
7047    #[serde(skip_serializing_if = "Option::is_none")]
7048    pub quantity: Option<i64>,
7049    /// Main Routing for the DID (required)
7050    #[serde(skip_serializing_if = "Option::is_none")]
7051    pub routing: Option<crate::Routing>,
7052    /// Busy Routing for the DID
7053    #[serde(skip_serializing_if = "Option::is_none")]
7054    pub failover_busy: Option<crate::Routing>,
7055    /// Unreachable Routing for the DID
7056    #[serde(skip_serializing_if = "Option::is_none")]
7057    pub failover_unreachable: Option<crate::Routing>,
7058    /// NoAnswer Routing for the DID
7059    #[serde(skip_serializing_if = "Option::is_none")]
7060    pub failover_noanswer: Option<crate::Routing>,
7061    /// Voicemail for the DID (Example: 101)
7062    #[serde(skip_serializing_if = "Option::is_none")]
7063    pub voicemail: Option<String>,
7064    /// Point of Presence for the DID (Example: 5) (required)
7065    #[serde(skip_serializing_if = "Option::is_none")]
7066    pub pop: Option<i64>,
7067    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7068    #[serde(skip_serializing_if = "Option::is_none")]
7069    pub dialtime: Option<i64>,
7070    /// CNAM for the DID (Boolean: 1/0) (required)
7071    #[serde(skip_serializing_if = "Option::is_none")]
7072    pub cnam: Option<String>,
7073    /// Caller ID Prefix for the DID
7074    #[serde(skip_serializing_if = "Option::is_none")]
7075    pub callerid_prefix: Option<String>,
7076    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7077    #[serde(skip_serializing_if = "Option::is_none")]
7078    pub billing_type: Option<DidBillingType>,
7079    /// Note for the DID
7080    #[serde(skip_serializing_if = "Option::is_none")]
7081    pub note: Option<String>,
7082    /// Reseller Sub Account (Example: '100001_VoIP')
7083    #[serde(skip_serializing_if = "Option::is_none")]
7084    pub account: Option<String>,
7085    /// Montly Fee for Reseller Client (Example: 3.50)
7086    #[serde(skip_serializing_if = "Option::is_none")]
7087    pub monthly: Option<String>,
7088    /// Setup Fee for Reseller Client (Example: 1.99)
7089    #[serde(skip_serializing_if = "Option::is_none")]
7090    pub setup: Option<String>,
7091    /// Minute Rate for Reseller Client (Example: 0.03)
7092    #[serde(skip_serializing_if = "Option::is_none")]
7093    pub minute: Option<String>,
7094    /// Set to true if testing how Orders work - Orders can not be undone - When
7095    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7096    /// and failover_noanswer can receive values in the following format =>
7097    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7098    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7099    /// routing calls to Sub Accounts You can get all sub accounts using the
7100    /// getSubAccounts function fwd Used for routing calls to Forwarding
7101    /// entries. You can get the ID right after creating a Forwarding with
7102    /// setForwarding or by requesting all forwardings entries with
7103    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7104    /// all voicemails and their IDs using the getVoicemails function sys System
7105    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7106    /// Recording: Number not in service disconnected = System Recording: Number
7107    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7108    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7109    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7110    #[serde(
7111        skip_serializing_if = "crate::responses::is_false",
7112        serialize_with = "crate::responses::serialize_flag_01"
7113    )]
7114    pub test: bool,
7115}
7116
7117/// \- Orders and Adds new International National DID Numbers to the Account.
7118///
7119/// Parameters for [`Client::order_did_international_national`] (wire method `orderDIDInternationalNational`).
7120#[derive(Debug, Default, Clone, Serialize)]
7121pub struct OrderDIDInternationalNationalParams {
7122    /// ID for a specific International Location (Values from
7123    /// getDIDsInternationalNational) (required)
7124    #[serde(skip_serializing_if = "Option::is_none")]
7125    pub location_id: Option<String>,
7126    /// Number of dids to be purchased (Example: 2) (required)
7127    #[serde(skip_serializing_if = "Option::is_none")]
7128    pub quantity: Option<i64>,
7129    /// Main Routing for the DID (required)
7130    #[serde(skip_serializing_if = "Option::is_none")]
7131    pub routing: Option<crate::Routing>,
7132    /// Busy Routing for the DID
7133    #[serde(skip_serializing_if = "Option::is_none")]
7134    pub failover_busy: Option<crate::Routing>,
7135    /// Unreachable Routing for the DID
7136    #[serde(skip_serializing_if = "Option::is_none")]
7137    pub failover_unreachable: Option<crate::Routing>,
7138    /// NoAnswer Routing for the DID
7139    #[serde(skip_serializing_if = "Option::is_none")]
7140    pub failover_noanswer: Option<crate::Routing>,
7141    /// Voicemail for the DID (Example: 101)
7142    #[serde(skip_serializing_if = "Option::is_none")]
7143    pub voicemail: Option<String>,
7144    /// Point of Presence for the DID (Example: 5) (required)
7145    #[serde(skip_serializing_if = "Option::is_none")]
7146    pub pop: Option<i64>,
7147    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7148    #[serde(skip_serializing_if = "Option::is_none")]
7149    pub dialtime: Option<i64>,
7150    /// CNAM for the DID (Boolean: 1/0) (required)
7151    #[serde(skip_serializing_if = "Option::is_none")]
7152    pub cnam: Option<String>,
7153    /// Caller ID Prefix for the DID
7154    #[serde(skip_serializing_if = "Option::is_none")]
7155    pub callerid_prefix: Option<String>,
7156    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7157    #[serde(skip_serializing_if = "Option::is_none")]
7158    pub billing_type: Option<DidBillingType>,
7159    /// Note for the DID
7160    #[serde(skip_serializing_if = "Option::is_none")]
7161    pub note: Option<String>,
7162    /// Reseller Sub Account (Example: '100001_VoIP')
7163    #[serde(skip_serializing_if = "Option::is_none")]
7164    pub account: Option<String>,
7165    /// Montly Fee for Reseller Client (Example: 3.50)
7166    #[serde(skip_serializing_if = "Option::is_none")]
7167    pub monthly: Option<String>,
7168    /// Setup Fee for Reseller Client (Example: 1.99)
7169    #[serde(skip_serializing_if = "Option::is_none")]
7170    pub setup: Option<String>,
7171    /// Minute Rate for Reseller Client (Example: 0.03)
7172    #[serde(skip_serializing_if = "Option::is_none")]
7173    pub minute: Option<String>,
7174    /// Set to true if testing how Orders work - Orders can not be undone - When
7175    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7176    /// and failover_noanswer can receive values in the following format =>
7177    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7178    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7179    /// routing calls to Sub Accounts You can get all sub accounts using the
7180    /// getSubAccounts function fwd Used for routing calls to Forwarding
7181    /// entries. You can get the ID right after creating a Forwarding with
7182    /// setForwarding or by requesting all forwardings entries with
7183    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7184    /// all voicemails and their IDs using the getVoicemails function sys System
7185    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7186    /// Recording: Number not in service disconnected = System Recording: Number
7187    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7188    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7189    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7190    #[serde(
7191        skip_serializing_if = "crate::responses::is_false",
7192        serialize_with = "crate::responses::serialize_flag_01"
7193    )]
7194    pub test: bool,
7195}
7196
7197/// \- Orders and Adds new International TollFree DID Numbers to the Account.
7198///
7199/// Parameters for [`Client::order_did_international_toll_free`] (wire method `orderDIDInternationalTollFree`).
7200#[derive(Debug, Default, Clone, Serialize)]
7201pub struct OrderDIDInternationalTollFreeParams {
7202    /// ID for a specific International Location (Values from
7203    /// getDIDsInternationalTollFree) (required)
7204    #[serde(skip_serializing_if = "Option::is_none")]
7205    pub location_id: Option<String>,
7206    /// Number of dids to be purchased (Example: 2) (required)
7207    #[serde(skip_serializing_if = "Option::is_none")]
7208    pub quantity: Option<i64>,
7209    /// Main Routing for the DID (required)
7210    #[serde(skip_serializing_if = "Option::is_none")]
7211    pub routing: Option<crate::Routing>,
7212    /// Busy Routing for the DID
7213    #[serde(skip_serializing_if = "Option::is_none")]
7214    pub failover_busy: Option<crate::Routing>,
7215    /// Unreachable Routing for the DID
7216    #[serde(skip_serializing_if = "Option::is_none")]
7217    pub failover_unreachable: Option<crate::Routing>,
7218    /// NoAnswer Routing for the DID
7219    #[serde(skip_serializing_if = "Option::is_none")]
7220    pub failover_noanswer: Option<crate::Routing>,
7221    /// Voicemail for the DID (Example: 101)
7222    #[serde(skip_serializing_if = "Option::is_none")]
7223    pub voicemail: Option<String>,
7224    /// Point of Presence for the DID (Example: 5) (required)
7225    #[serde(skip_serializing_if = "Option::is_none")]
7226    pub pop: Option<i64>,
7227    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7228    #[serde(skip_serializing_if = "Option::is_none")]
7229    pub dialtime: Option<i64>,
7230    /// CNAM for the DID (Boolean: 1/0) (required)
7231    #[serde(skip_serializing_if = "Option::is_none")]
7232    pub cnam: Option<String>,
7233    /// Caller ID Prefix for the DID
7234    #[serde(skip_serializing_if = "Option::is_none")]
7235    pub callerid_prefix: Option<String>,
7236    /// Note for the DID
7237    #[serde(skip_serializing_if = "Option::is_none")]
7238    pub note: Option<String>,
7239    /// Reseller Sub Account (Example: '100001_VoIP')
7240    #[serde(skip_serializing_if = "Option::is_none")]
7241    pub account: Option<String>,
7242    /// Montly Fee for Reseller Client (Example: 3.50)
7243    #[serde(skip_serializing_if = "Option::is_none")]
7244    pub monthly: Option<String>,
7245    /// Setup Fee for Reseller Client (Example: 1.99)
7246    #[serde(skip_serializing_if = "Option::is_none")]
7247    pub setup: Option<String>,
7248    /// Minute Rate for Reseller Client (Example: 0.03)
7249    #[serde(skip_serializing_if = "Option::is_none")]
7250    pub minute: Option<String>,
7251    /// Set to true if testing how Orders work - Orders can not be undone - When
7252    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7253    /// and failover_noanswer can receive values in the following format =>
7254    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7255    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7256    /// routing calls to Sub Accounts You can get all sub accounts using the
7257    /// getSubAccounts function fwd Used for routing calls to Forwarding
7258    /// entries. You can get the ID right after creating a Forwarding with
7259    /// setForwarding or by requesting all forwardings entries with
7260    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7261    /// all voicemails and their IDs using the getVoicemails function sys System
7262    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7263    /// Recording: Number not in service disconnected = System Recording: Number
7264    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7265    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7266    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7267    #[serde(
7268        skip_serializing_if = "crate::responses::is_false",
7269        serialize_with = "crate::responses::serialize_flag_01"
7270    )]
7271    pub test: bool,
7272}
7273
7274/// \- Orders and Adds a new Virtual DID Number to the Account.
7275///
7276/// Parameters for [`Client::order_did_virtual`] (wire method `orderDIDVirtual`).
7277#[derive(Debug, Default, Clone, Serialize)]
7278pub struct OrderDIDVirtualParams {
7279    /// Three Digits for the new Virtual DID (Example: 001) (required)
7280    #[serde(skip_serializing_if = "Option::is_none")]
7281    pub digits: Option<i64>,
7282    /// Main Routing for the DID (required)
7283    #[serde(skip_serializing_if = "Option::is_none")]
7284    pub routing: Option<crate::Routing>,
7285    /// Busy Routing for the DID
7286    #[serde(skip_serializing_if = "Option::is_none")]
7287    pub failover_busy: Option<crate::Routing>,
7288    /// Unreachable Routing for the DID
7289    #[serde(skip_serializing_if = "Option::is_none")]
7290    pub failover_unreachable: Option<crate::Routing>,
7291    /// NoAnswer Routing for the DID
7292    #[serde(skip_serializing_if = "Option::is_none")]
7293    pub failover_noanswer: Option<crate::Routing>,
7294    /// Voicemail for the DID (Example: 101)
7295    #[serde(skip_serializing_if = "Option::is_none")]
7296    pub voicemail: Option<String>,
7297    /// Point of Presence for the DID (Example: 5) (required)
7298    #[serde(skip_serializing_if = "Option::is_none")]
7299    pub pop: Option<i64>,
7300    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7301    #[serde(skip_serializing_if = "Option::is_none")]
7302    pub dialtime: Option<i64>,
7303    /// CNAM for the DID (Boolean: 1/0) (required)
7304    #[serde(skip_serializing_if = "Option::is_none")]
7305    pub cnam: Option<String>,
7306    /// Caller ID Prefix for the DID
7307    #[serde(skip_serializing_if = "Option::is_none")]
7308    pub callerid_prefix: Option<String>,
7309    /// Note for the DID
7310    #[serde(skip_serializing_if = "Option::is_none")]
7311    pub note: Option<String>,
7312    /// Reseller Sub Account (Example: '100001_VoIP')
7313    #[serde(skip_serializing_if = "Option::is_none")]
7314    pub account: Option<String>,
7315    /// Montly Fee for Reseller Client (Example: 3.50)
7316    #[serde(skip_serializing_if = "Option::is_none")]
7317    pub monthly: Option<String>,
7318    /// Setup Fee for Reseller Client (Example: 1.99)
7319    #[serde(skip_serializing_if = "Option::is_none")]
7320    pub setup: Option<String>,
7321    /// Minute Rate for Reseller Client (Example: 0.03)
7322    #[serde(skip_serializing_if = "Option::is_none")]
7323    pub minute: Option<String>,
7324    /// Set to true if testing how Orders work - Orders can not be undone - When
7325    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7326    /// and failover_noanswer can receive values in the following format =>
7327    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7328    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7329    /// routing calls to Sub Accounts You can get all sub accounts using the
7330    /// getSubAccounts function fwd Used for routing calls to Forwarding
7331    /// entries. You can get the ID right after creating a Forwarding with
7332    /// setForwarding or by requesting all forwardings entries with
7333    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7334    /// all voicemails and their IDs using the getVoicemails function sys System
7335    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7336    /// Recording: Number not in service disconnected = System Recording: Number
7337    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7338    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7339    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7340    #[serde(
7341        skip_serializing_if = "crate::responses::is_false",
7342        serialize_with = "crate::responses::serialize_flag_01"
7343    )]
7344    pub test: bool,
7345}
7346
7347/// \- Orders and Adds a new Fax Number to the Account.
7348///
7349/// Parameters for [`Client::order_fax_number`] (wire method `orderFaxNumber`).
7350#[derive(Debug, Default, Clone, Serialize)]
7351pub struct OrderFAXNumberParams {
7352    /// Location ID of the Fax Number (Values from
7353    /// getFaxRateCentersCAN/getFaxRateCentersUSA) (required)
7354    #[serde(skip_serializing_if = "Option::is_none")]
7355    pub location: Option<i64>,
7356    /// Quantity of Fax Numbers to order (Example: 3) (required)
7357    #[serde(skip_serializing_if = "Option::is_none")]
7358    pub quantity: Option<i64>,
7359    /// Email address where send notifications when receive Fax Messages -
7360    /// (Example: \[email protected\])
7361    #[serde(skip_serializing_if = "Option::is_none")]
7362    pub email: Option<String>,
7363    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
7364    /// \- Default: 0
7365    #[serde(
7366        skip_serializing_if = "Option::is_none",
7367        serialize_with = "crate::responses::serialize_opt_flag_01"
7368    )]
7369    pub email_enable: Option<bool>,
7370    /// Flag to enable attach the Fax Message as a PDF file in the
7371    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
7372    #[serde(
7373        skip_serializing_if = "Option::is_none",
7374        serialize_with = "crate::responses::serialize_opt_flag_01"
7375    )]
7376    pub email_attach_file: Option<bool>,
7377    /// URL where make a POST when you receive a Fax Message.
7378    #[serde(skip_serializing_if = "Option::is_none")]
7379    pub url_callback: Option<String>,
7380    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
7381    /// false) - Default: 0
7382    #[serde(
7383        skip_serializing_if = "Option::is_none",
7384        serialize_with = "crate::responses::serialize_opt_flag_01"
7385    )]
7386    pub url_callback_enable: Option<bool>,
7387    /// Flag to enable retry the POST action in case we don't receive "ok".
7388    #[serde(
7389        skip_serializing_if = "Option::is_none",
7390        serialize_with = "crate::responses::serialize_opt_flag_01"
7391    )]
7392    pub url_callback_retry: Option<bool>,
7393    /// Set to true if testing how Orders work - Orders can not be undone - When
7394    /// testing, no Orders are made
7395    #[serde(
7396        skip_serializing_if = "crate::responses::is_false",
7397        serialize_with = "crate::responses::serialize_flag_01"
7398    )]
7399    pub test: bool,
7400}
7401
7402/// \- Orders and Adds a new Toll Free Number to the Account.
7403///
7404/// Parameters for [`Client::order_toll_free`] (wire method `orderTollFree`).
7405#[derive(Debug, Default, Clone, Serialize)]
7406pub struct OrderTollFreeParams {
7407    /// DID to be Ordered (Example: 8772223333) (required)
7408    #[serde(skip_serializing_if = "Option::is_none")]
7409    pub did: Option<String>,
7410    /// Main Routing for the DID (required)
7411    #[serde(skip_serializing_if = "Option::is_none")]
7412    pub routing: Option<crate::Routing>,
7413    /// Busy Routing for the DID
7414    #[serde(skip_serializing_if = "Option::is_none")]
7415    pub failover_busy: Option<crate::Routing>,
7416    /// Unreachable Routing for the DID
7417    #[serde(skip_serializing_if = "Option::is_none")]
7418    pub failover_unreachable: Option<crate::Routing>,
7419    /// NoAnswer Routing for the DID
7420    #[serde(skip_serializing_if = "Option::is_none")]
7421    pub failover_noanswer: Option<crate::Routing>,
7422    /// Voicemail for the DID (Example: 101)
7423    #[serde(skip_serializing_if = "Option::is_none")]
7424    pub voicemail: Option<String>,
7425    /// Point of Presence for the DID (Example: 5) (required)
7426    #[serde(skip_serializing_if = "Option::is_none")]
7427    pub pop: Option<i64>,
7428    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7429    #[serde(skip_serializing_if = "Option::is_none")]
7430    pub dialtime: Option<i64>,
7431    /// CNAM for the DID (Boolean: 1/0) (required)
7432    #[serde(skip_serializing_if = "Option::is_none")]
7433    pub cnam: Option<i64>,
7434    /// Caller ID Prefix for the DID
7435    #[serde(skip_serializing_if = "Option::is_none")]
7436    pub callerid_prefix: Option<String>,
7437    /// Note for the DID
7438    #[serde(skip_serializing_if = "Option::is_none")]
7439    pub note: Option<String>,
7440    /// Reseller Sub Account (Example: '100001_VoIP')
7441    #[serde(skip_serializing_if = "Option::is_none")]
7442    pub account: Option<String>,
7443    /// Montly Fee for Reseller Client (Example: 3.50)
7444    #[serde(skip_serializing_if = "Option::is_none")]
7445    pub monthly: Option<String>,
7446    /// Setup Fee for Reseller Client (Example: 1.99)
7447    #[serde(skip_serializing_if = "Option::is_none")]
7448    pub setup: Option<String>,
7449    /// Minute Rate for Reseller Client (Example: 0.03)
7450    #[serde(skip_serializing_if = "Option::is_none")]
7451    pub minute: Option<String>,
7452    /// Set to true if testing how Orders work - Orders can not be undone - When
7453    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7454    /// and failover_noanswer can receive values in the following format =>
7455    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7456    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7457    /// routing calls to Sub Accounts You can get all sub accounts using the
7458    /// getSubAccounts function fwd Used for routing calls to Forwarding
7459    /// entries. You can get the ID right after creating a Forwarding with
7460    /// setForwarding or by requesting all forwardings entries with
7461    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7462    /// all voicemails and their IDs using the getVoicemails function sys System
7463    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7464    /// Recording: Number not in service disconnected = System Recording: Number
7465    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7466    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7467    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7468    #[serde(
7469        skip_serializing_if = "crate::responses::is_false",
7470        serialize_with = "crate::responses::serialize_flag_01"
7471    )]
7472    pub test: bool,
7473}
7474
7475/// \- Orders and Adds a new Vanity Toll Free Number to the Account.
7476///
7477/// Parameters for [`Client::order_vanity`] (wire method `orderVanity`).
7478#[derive(Debug, Default, Clone, Serialize)]
7479pub struct OrderVanityParams {
7480    /// DID to be Ordered (Example: 8772223333) (required)
7481    #[serde(skip_serializing_if = "Option::is_none")]
7482    pub did: Option<String>,
7483    /// Main Routing for the DID (required)
7484    #[serde(skip_serializing_if = "Option::is_none")]
7485    pub routing: Option<crate::Routing>,
7486    /// Busy Routing for the DID
7487    #[serde(skip_serializing_if = "Option::is_none")]
7488    pub failover_busy: Option<crate::Routing>,
7489    /// Unreachable Routing for the DID
7490    #[serde(skip_serializing_if = "Option::is_none")]
7491    pub failover_unreachable: Option<crate::Routing>,
7492    /// NoAnswer Routing for the DID
7493    #[serde(skip_serializing_if = "Option::is_none")]
7494    pub failover_noanswer: Option<crate::Routing>,
7495    /// Voicemail for the DID (Example: 101)
7496    #[serde(skip_serializing_if = "Option::is_none")]
7497    pub voicemail: Option<String>,
7498    /// Point of Presence for the DID (Example: 5) (required)
7499    #[serde(skip_serializing_if = "Option::is_none")]
7500    pub pop: Option<i64>,
7501    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7502    #[serde(skip_serializing_if = "Option::is_none")]
7503    pub dialtime: Option<i64>,
7504    /// CNAM for the DID (Boolean: 1/0) (required)
7505    #[serde(skip_serializing_if = "Option::is_none")]
7506    pub cnam: Option<i64>,
7507    /// Caller ID Prefix for the DID
7508    #[serde(skip_serializing_if = "Option::is_none")]
7509    pub callerid_prefix: Option<String>,
7510    /// Note for the DID
7511    #[serde(skip_serializing_if = "Option::is_none")]
7512    pub note: Option<String>,
7513    /// Carrier for the DID (Values from getCarriers) (required)
7514    #[serde(skip_serializing_if = "Option::is_none")]
7515    pub carrier: Option<i64>,
7516    /// Reseller Sub Account (Example: '100001_VoIP')
7517    #[serde(skip_serializing_if = "Option::is_none")]
7518    pub account: Option<String>,
7519    /// Montly Fee for Reseller Client (Example: 3.50)
7520    #[serde(skip_serializing_if = "Option::is_none")]
7521    pub monthly: Option<String>,
7522    /// Setup Fee for Reseller Client (Example: 1.99)
7523    #[serde(skip_serializing_if = "Option::is_none")]
7524    pub setup: Option<String>,
7525    /// Minute Rate for Reseller Client (Example: 0.03)
7526    #[serde(skip_serializing_if = "Option::is_none")]
7527    pub minute: Option<String>,
7528    /// Set to true if testing how Orders work - Orders can not be undone - When
7529    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7530    /// and failover_noanswer can receive values in the following format =>
7531    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7532    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7533    /// routing calls to Sub Accounts You can get all sub accounts using the
7534    /// getSubAccounts function fwd Used for routing calls to Forwarding
7535    /// entries. You can get the ID right after creating a Forwarding with
7536    /// setForwarding or by requesting all forwardings entries with
7537    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7538    /// all voicemails and their IDs using the getVoicemails function sys System
7539    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7540    /// Recording: Number not in service disconnected = System Recording: Number
7541    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7542    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7543    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7544    #[serde(
7545        skip_serializing_if = "crate::responses::is_false",
7546        serialize_with = "crate::responses::serialize_flag_01"
7547    )]
7548    pub test: bool,
7549}
7550
7551/// \- Removes a DID from a VPRI
7552///
7553/// Parameters for [`Client::remove_did_vpri`] (wire method `removeDIDvPRI`).
7554#[derive(Debug, Default, Clone, Serialize)]
7555pub struct RemoveDIDvPRIParams {
7556    /// Id for specific Vpri
7557    #[serde(skip_serializing_if = "Option::is_none")]
7558    pub vpri: Option<i64>,
7559    /// DID Number to be remove from our Vpri (Example: 561115) (required)
7560    #[serde(skip_serializing_if = "Option::is_none")]
7561    pub did: Option<String>,
7562}
7563
7564/// \- Searches for Canadian DIDs by Province using a Search Criteria.
7565///
7566/// Parameters for [`Client::search_dids_can`] (wire method `searchDIDsCAN`).
7567#[derive(Debug, Default, Clone, Serialize)]
7568pub struct SearchDIDsCANParams {
7569    /// Canadian Province (Values from getProvinces)
7570    #[serde(skip_serializing_if = "Option::is_none")]
7571    pub province: Option<String>,
7572    /// Type of search (Values: 'starts', 'contains', 'ends') (required)
7573    #[serde(skip_serializing_if = "Option::is_none")]
7574    pub r#type: Option<SearchType>,
7575    /// Query for searching (Examples: 'JOHN', '555', '123ABC') (required)
7576    #[serde(skip_serializing_if = "Option::is_none")]
7577    pub query: Option<String>,
7578}
7579
7580/// \- Searches for USA DIDs by State using a Search Criteria.
7581///
7582/// Parameters for [`Client::search_dids_usa`] (wire method `searchDIDsUSA`).
7583#[derive(Debug, Default, Clone, Serialize)]
7584pub struct SearchDIDsUSAParams {
7585    /// United States State (Values from getStates)
7586    #[serde(skip_serializing_if = "Option::is_none")]
7587    pub state: Option<String>,
7588    /// Type of search (Values: 'starts', 'contains', 'ends') (required)
7589    #[serde(skip_serializing_if = "Option::is_none")]
7590    pub r#type: Option<SearchType>,
7591    /// Query for searching (Examples: 'JOHN', '555', '123ABC') (required)
7592    #[serde(skip_serializing_if = "Option::is_none")]
7593    pub query: Option<String>,
7594}
7595
7596/// \- Retrieves a list of Canadian Ratecenters searched by Area Code.
7597///
7598/// Parameters for [`Client::search_fax_area_code_can`] (wire method `searchFaxAreaCodeCAN`).
7599#[derive(Debug, Default, Clone, Serialize)]
7600pub struct SearchFAXAreaCodeCANParams {
7601    /// Area code number, as the initial of the Fax Number you looking for.
7602    /// (values from getFaxRateCentersCAN) (required)
7603    #[serde(skip_serializing_if = "Option::is_none")]
7604    pub area_code: Option<i64>,
7605}
7606
7607/// \- Retrieves a list of USA Ratecenters searched by Area Code.
7608///
7609/// Parameters for [`Client::search_fax_area_code_usa`] (wire method `searchFaxAreaCodeUSA`).
7610#[derive(Debug, Default, Clone, Serialize)]
7611pub struct SearchFAXAreaCodeUSAParams {
7612    /// Area code number, as the initial of the Fax Number you looking for.
7613    /// (values from getFaxRateCentersUSA) (required)
7614    #[serde(skip_serializing_if = "Option::is_none")]
7615    pub area_code: Option<i64>,
7616}
7617
7618/// \- Searches for USA/Canada Toll Free Numbers using a Search Criteria.
7619/// \- Shows all USA/Canada Toll Free Numbers available if no criteria is
7620/// provided.
7621///
7622/// Parameters for [`Client::search_toll_free_can_us`] (wire method `searchTollFreeCanUS`).
7623#[derive(Debug, Default, Clone, Serialize)]
7624pub struct SearchTollFreeCANUSParams {
7625    /// Type of search (Values: 'starts', 'contains', 'ends')
7626    #[serde(skip_serializing_if = "Option::is_none")]
7627    pub r#type: Option<SearchType>,
7628    /// Query for searching (Examples: 'JOHN', '555', '123ABC')
7629    #[serde(skip_serializing_if = "Option::is_none")]
7630    pub query: Option<String>,
7631}
7632
7633/// \- Searches for USA Toll Free Numbers using a Search Criteria.
7634/// \- Shows all USA Toll Free Numbers available if no criteria is provided.
7635///
7636/// Parameters for [`Client::search_toll_free_usa`] (wire method `searchTollFreeUSA`).
7637#[derive(Debug, Default, Clone, Serialize)]
7638pub struct SearchTollFreeUSAParams {
7639    /// Type of search (Values: 'starts', 'contains', 'ends')
7640    #[serde(skip_serializing_if = "Option::is_none")]
7641    pub r#type: Option<SearchType>,
7642    /// Query for searching (Examples: 'JOHN', '555', '123ABC')
7643    #[serde(skip_serializing_if = "Option::is_none")]
7644    pub query: Option<String>,
7645}
7646
7647/// \- Searches for Vanity Toll Free Numbers using a Search Criteria.
7648///
7649/// Parameters for [`Client::search_vanity`] (wire method `searchVanity`).
7650#[derive(Debug, Default, Clone, Serialize)]
7651pub struct SearchVanityParams {
7652    /// Type of Vanity Number Values: '8**', '800', '833', '844', '855', '866',
7653    /// '877', '888' (required)
7654    #[serde(skip_serializing_if = "Option::is_none")]
7655    pub r#type: Option<VanityType>,
7656    /// Query for searching : 7 Chars Examples: '***JHON', '**555**', '**HELLO'
7657    /// (required)
7658    #[serde(skip_serializing_if = "Option::is_none")]
7659    pub query: Option<String>,
7660}
7661
7662/// \- Send information and audio file to email account.
7663///
7664/// Parameters for [`Client::send_call_recording_email`] (wire method `sendCallRecordingEmail`).
7665#[derive(Debug, Default, Clone, Serialize)]
7666pub struct SendCallRecordingEmailParams {
7667    /// Call Recording (Values from getCallRecordings) (required)
7668    #[serde(skip_serializing_if = "Option::is_none")]
7669    pub callrecording: Option<String>,
7670    /// Filter Call Recordings by Account (Values from getCallAccounts)
7671    /// (required)
7672    #[serde(skip_serializing_if = "Option::is_none")]
7673    pub account: Option<String>,
7674    /// Email to send call recording (required)
7675    #[serde(skip_serializing_if = "Option::is_none")]
7676    pub email: Option<String>,
7677}
7678
7679/// \- Send a Fax message to a Destination Number.
7680///
7681/// Parameters for [`Client::send_fax_message`] (wire method `sendFaxMessage`).
7682#[derive(Debug, Default, Clone, Serialize)]
7683pub struct SendFAXMessageParams {
7684    /// Destination DID Number (Example: 5552341234) (required)
7685    #[serde(skip_serializing_if = "Option::is_none")]
7686    pub to_number: Option<String>,
7687    /// Name of the sender (Example: 5552341234) (required)
7688    #[serde(skip_serializing_if = "Option::is_none")]
7689    pub from_name: Option<String>,
7690    /// DID number of the Fax sender (required)
7691    #[serde(skip_serializing_if = "Option::is_none")]
7692    pub from_number: Option<String>,
7693    /// Flag to enable the send of a copy of your Fax via email. - (Values: 1 =
7694    /// true, 0 = false) - Default: 0
7695    #[serde(
7696        skip_serializing_if = "Option::is_none",
7697        serialize_with = "crate::responses::serialize_opt_flag_01"
7698    )]
7699    pub send_email_enabled: Option<bool>,
7700    /// Email address where you want send a copy of your Fax.
7701    #[serde(skip_serializing_if = "Option::is_none")]
7702    pub send_email: Option<String>,
7703    /// An word to identify a equipment or department sending the Fax.
7704    #[serde(skip_serializing_if = "Option::is_none")]
7705    pub station_id: Option<String>,
7706    /// The file must be encoded in Base64, and in one of the following formats:
7707    /// pdf, txt, jpg, gif, png, tif (required)
7708    #[serde(skip_serializing_if = "Option::is_none")]
7709    pub file: Option<String>,
7710    /// Set to true if testing how to send a Fax Message
7711    #[serde(
7712        skip_serializing_if = "crate::responses::is_false",
7713        serialize_with = "crate::responses::serialize_flag_01"
7714    )]
7715    pub test: bool,
7716}
7717
7718/// \- Send a MMS message to a Destination Number.
7719///
7720/// Parameters for [`Client::send_mms`] (wire method `sendMMS`).
7721#[derive(Debug, Default, Clone, Serialize)]
7722pub struct SendMMSParams {
7723    /// DID Numbers which is sending the message (Example: 5551234567)
7724    /// (required)
7725    #[serde(skip_serializing_if = "Option::is_none")]
7726    pub did: Option<String>,
7727    /// Destination Number (Example: 5551234568) (required)
7728    #[serde(skip_serializing_if = "Option::is_none")]
7729    pub dst: Option<String>,
7730    /// Message to be sent (Example: 'hello John Smith' max chars: 2048)
7731    /// (required)
7732    #[serde(skip_serializing_if = "Option::is_none")]
7733    pub message: Option<String>,
7734    /// Url to media file (Example:
7735    /// '<https://voip.ms/themes/voipms/assets/img/talent.jpg?v=2>' (optional)
7736    #[serde(skip_serializing_if = "Option::is_none")]
7737    pub media1: Option<String>,
7738    /// Base 64 image encode (Example:
7739    /// data:image/png;base64,iVBORw0KGgoAAAANSUh...) (optional)
7740    #[serde(skip_serializing_if = "Option::is_none")]
7741    pub media2: Option<String>,
7742    /// Empty value (Example: '' ) (optional)
7743    #[serde(skip_serializing_if = "Option::is_none")]
7744    pub media3: Option<String>,
7745}
7746
7747/// \- Send a SMS message to a Destination Number.
7748///
7749/// Parameters for [`Client::send_sms`] (wire method `sendSMS`).
7750#[derive(Debug, Default, Clone, Serialize)]
7751pub struct SendSMSParams {
7752    /// DID Numbers which is sending the message (Example: 5551234567)
7753    /// (required)
7754    #[serde(skip_serializing_if = "Option::is_none")]
7755    pub did: Option<String>,
7756    /// Destination Number (Example: 5551234568) (required)
7757    #[serde(skip_serializing_if = "Option::is_none")]
7758    pub dst: Option<String>,
7759    /// Message to be sent (Example: 'hello John Smith' max chars: 160)
7760    /// (required)
7761    #[serde(skip_serializing_if = "Option::is_none")]
7762    pub message: Option<String>,
7763}
7764
7765/// \- Send a Voicemail Message File to an Email Address.
7766///
7767/// Parameters for [`Client::send_voicemail_email`] (wire method `sendVoicemailEmail`).
7768#[derive(Debug, Default, Clone, Serialize)]
7769pub struct SendVoicemailEmailParams {
7770    /// ID for specific Mailbox (Example: 1001) (required)
7771    #[serde(skip_serializing_if = "Option::is_none")]
7772    pub mailbox: Option<String>,
7773    /// Name for specific Folder (Example: 'INBOX', values from:
7774    /// getVoicemailFolders) (required)
7775    #[serde(skip_serializing_if = "Option::is_none")]
7776    pub folder: Option<VoicemailFolder>,
7777    /// ID for specific Voicemail Message (Example: 1) (required)
7778    #[serde(skip_serializing_if = "Option::is_none")]
7779    pub message_num: Option<i64>,
7780    /// Destination Email address (Example: \[email protected\]) (required)
7781    #[serde(skip_serializing_if = "Option::is_none")]
7782    pub email_address: Option<String>,
7783}
7784
7785/// \- Updates a specific Call Hunting if a Call Hunting code is provided.
7786/// \- Adds a new Call Hunting if no Call Hunting code is provided.
7787///
7788/// Parameters for [`Client::set_call_hunting`] (wire method `setCallHunting`).
7789#[derive(Debug, Default, Clone, Serialize)]
7790pub struct SetCallHuntingParams {
7791    /// ID for a specific Call Hunting (Example: 235 / Leave empty to create a
7792    /// new one)
7793    #[serde(skip_serializing_if = "Option::is_none")]
7794    pub callhunting: Option<i64>,
7795    /// Description for the Call Hunting (required)
7796    #[serde(skip_serializing_if = "Option::is_none")]
7797    pub description: Option<String>,
7798    /// Music on Hold Code (Values from getMusicOnHold) (required)
7799    #[serde(skip_serializing_if = "Option::is_none")]
7800    pub music: Option<String>,
7801    /// Recording for the Call Hunting (values from getRecordings) (required)
7802    #[serde(skip_serializing_if = "Option::is_none")]
7803    pub recording: Option<String>,
7804    /// Language for the Call Hunting (values from getLanguages) (required)
7805    #[serde(skip_serializing_if = "Option::is_none")]
7806    pub language: Option<String>,
7807    /// The members will be called in follow or random order (values follow or
7808    /// random) (required)
7809    #[serde(skip_serializing_if = "Option::is_none")]
7810    pub order: Option<RingGroupOrder>,
7811    /// The list of members assigned to the call hunting (required)
7812    #[serde(skip_serializing_if = "Option::is_none")]
7813    pub members: Option<String>,
7814    /// The Maximum amount of time the call will ring the member (required)
7815    #[serde(skip_serializing_if = "Option::is_none")]
7816    pub ring_time: Option<String>,
7817    /// This option confirm if the member will take the call by pressing 1 *
7818    /// ring_time and press parameters need to have the same amount of items as
7819    /// the members parameter, one for each member. (required)
7820    #[serde(skip_serializing_if = "Option::is_none")]
7821    pub press: Option<String>,
7822}
7823
7824/// \- Updates a specific Call Parking entry if a Call Parking ID is provided.
7825/// \- Adds a new Call Parking entry if no Call Parking ID is provided.
7826///
7827/// Parameters for [`Client::set_call_parking`] (wire method `setCallParking`).
7828#[derive(Debug, Default, Clone, Serialize)]
7829pub struct SetCallParkingParams {
7830    /// ID for a specific Call Parking (Example: 235 / Leave empty to create a
7831    /// new one)
7832    #[serde(skip_serializing_if = "Option::is_none")]
7833    pub callparking: Option<i64>,
7834    /// Name for the Call Parking (required)
7835    #[serde(skip_serializing_if = "Option::is_none")]
7836    pub name: Option<String>,
7837    /// The number of seconds a call will stay parked before it is forwarded to
7838    /// the Failover Destination (required)
7839    #[serde(skip_serializing_if = "Option::is_none")]
7840    pub timeout: Option<i64>,
7841    /// Music on Hold Code (Values from getMusicOnHold) (required)
7842    #[serde(skip_serializing_if = "Option::is_none")]
7843    pub music: Option<String>,
7844    /// Final destination where the call will be forwarded if it isn&rsquo;t
7845    /// answered. (Values: callback, system:hangup, vm:mailbox) (required)
7846    #[serde(skip_serializing_if = "Option::is_none")]
7847    pub failover: Option<String>,
7848    /// Language for the Call Parking (values from getLanguages) (required)
7849    #[serde(skip_serializing_if = "Option::is_none")]
7850    pub language: Option<String>,
7851    /// The system will make an automatic call to this destination to announce
7852    /// the extension of the parked call. (Values: parker, main account or
7853    /// sub-accounts) (required)
7854    #[serde(skip_serializing_if = "Option::is_none")]
7855    pub destination: Option<String>,
7856    /// The number of seconds before the Announce Destination receives an
7857    /// automatic call from the system to announce the extension of the parked
7858    /// call (required)
7859    #[serde(skip_serializing_if = "Option::is_none")]
7860    pub delay: Option<i64>,
7861}
7862
7863/// \- Updates a specific Callback if a callback code is provided.
7864/// \- Adds a new Callback entry if no callback code is provided.
7865///
7866/// Parameters for [`Client::set_callback`] (wire method `setCallback`).
7867#[derive(Debug, Default, Clone, Serialize)]
7868pub struct SetCallbackParams {
7869    /// ID for a specific Callback (Example: 2359 / Leave empty to create a new
7870    /// one)
7871    #[serde(skip_serializing_if = "Option::is_none")]
7872    pub callback: Option<String>,
7873    /// Description for the Callback (required)
7874    #[serde(skip_serializing_if = "Option::is_none")]
7875    pub description: Option<String>,
7876    /// Number that will be called back (required)
7877    #[serde(skip_serializing_if = "Option::is_none")]
7878    pub number: Option<i64>,
7879    /// Delay befor calling back (required)
7880    #[serde(skip_serializing_if = "Option::is_none")]
7881    pub delay_before: Option<i64>,
7882    /// Time before hanging up for incomplete input (required)
7883    #[serde(skip_serializing_if = "Option::is_none")]
7884    pub response_timeout: Option<i64>,
7885    /// Time between digits input (required)
7886    #[serde(skip_serializing_if = "Option::is_none")]
7887    pub digit_timeout: Option<i64>,
7888    /// Caller ID Override for the callback
7889    #[serde(skip_serializing_if = "Option::is_none")]
7890    pub callerid_number: Option<String>,
7891}
7892
7893/// \- Updates a specific Caller ID Filtering if a filtering code is provided.
7894/// \- Adds a new Caller ID Filtering if no filtering code is provided.
7895///
7896/// Parameters for [`Client::set_caller_id_filtering`] (wire method `setCallerIDFiltering`).
7897#[derive(Debug, Default, Clone, Serialize)]
7898pub struct SetCallerIDFilteringParams {
7899    /// ID for a specific Caller ID Filtering (Example: 18915 / Leave empty to
7900    /// create a new one)
7901    #[serde(skip_serializing_if = "Option::is_none")]
7902    pub filter: Option<String>,
7903    /// Caller ID that triggers the Filter (i = Not North American format, 0 =
7904    /// Anonymous, NPANXXXXXX, s or sb or sc = STIR/SHAKEN Attestation Level, p
7905    /// = All Phone Book, p:XXXX = Specific Phone Book Group) (required)
7906    #[serde(skip_serializing_if = "Option::is_none")]
7907    pub callerid: Option<String>,
7908    /// DIDs affected by the filter (all, NPANXXXXXX) (required)
7909    #[serde(skip_serializing_if = "Option::is_none")]
7910    pub did: Option<String>,
7911    /// Route the call follows when filter is triggered (required)
7912    #[serde(skip_serializing_if = "Option::is_none")]
7913    pub routing: Option<crate::Routing>,
7914    /// Route the call follows when unreachable
7915    #[serde(skip_serializing_if = "Option::is_none")]
7916    pub failover_unreachable: Option<crate::Routing>,
7917    /// Route the call follows when busy
7918    #[serde(skip_serializing_if = "Option::is_none")]
7919    pub failover_busy: Option<crate::Routing>,
7920    /// Route the call follows when noanswer
7921    #[serde(skip_serializing_if = "Option::is_none")]
7922    pub failover_noanswer: Option<crate::Routing>,
7923    /// Note for the Caller ID Filtering
7924    #[serde(skip_serializing_if = "Option::is_none")]
7925    pub note: Option<String>,
7926}
7927
7928/// \- Updates Reseller Client information.
7929///
7930/// Parameters for [`Client::set_client`] (wire method `setClient`).
7931#[derive(Debug, Default, Clone, Serialize)]
7932pub struct SetClientParams {
7933    /// ID for a specific Reseller Client (Example: 561115) (required)
7934    #[serde(skip_serializing_if = "Option::is_none")]
7935    pub client: Option<i64>,
7936    /// Client's e-mail (required)
7937    #[serde(skip_serializing_if = "Option::is_none")]
7938    pub email: Option<String>,
7939    /// Client's Password (required)
7940    #[serde(skip_serializing_if = "Option::is_none")]
7941    pub password: Option<String>,
7942    /// Client's Company
7943    #[serde(skip_serializing_if = "Option::is_none")]
7944    pub company: Option<String>,
7945    /// Client's Firstname (required)
7946    #[serde(skip_serializing_if = "Option::is_none")]
7947    pub firstname: Option<String>,
7948    /// Client's Lastname (required)
7949    #[serde(skip_serializing_if = "Option::is_none")]
7950    pub lastname: Option<String>,
7951    /// Client's Address
7952    #[serde(skip_serializing_if = "Option::is_none")]
7953    pub address: Option<String>,
7954    /// Client's City
7955    #[serde(skip_serializing_if = "Option::is_none")]
7956    pub city: Option<String>,
7957    /// Client's State
7958    #[serde(skip_serializing_if = "Option::is_none")]
7959    pub state: Option<String>,
7960    /// Client's Country (Values from getCountries)
7961    #[serde(skip_serializing_if = "Option::is_none")]
7962    pub country: Option<String>,
7963    /// Client's Zip Code
7964    #[serde(skip_serializing_if = "Option::is_none")]
7965    pub zip: Option<String>,
7966    /// Client's Phone Number (required)
7967    #[serde(skip_serializing_if = "Option::is_none")]
7968    pub phone_number: Option<String>,
7969    /// Balance Management for Client (Values from getBalanceManagement)
7970    #[serde(skip_serializing_if = "Option::is_none")]
7971    pub balance_management: Option<i64>,
7972}
7973
7974/// \- Update the Threshold Amount for a specific Reseller Client.- Update the
7975/// Threshold notification e-mail for a specific Reseller Client if the e-mail
7976/// address is provided.
7977///
7978/// Parameters for [`Client::set_client_threshold`] (wire method `setClientThreshold`).
7979#[derive(Debug, Default, Clone, Serialize)]
7980pub struct SetClientThresholdParams {
7981    /// ID for a specific Reseller Client (Example: 561115) (required)
7982    #[serde(skip_serializing_if = "Option::is_none")]
7983    pub client: Option<i64>,
7984    /// Client's e-mail for balance threshold notification
7985    #[serde(skip_serializing_if = "Option::is_none")]
7986    pub email: Option<String>,
7987    /// Threshold amount between 1 and 250 (Example: 10) (required)
7988    #[serde(skip_serializing_if = "Option::is_none")]
7989    pub threshold: Option<i64>,
7990}
7991
7992/// \- Updates a specific Conference if a conference code is provided.
7993/// \- Adds a new Conference entry if no conference code is provided.
7994///
7995/// Parameters for [`Client::set_conference`] (wire method `setConference`).
7996#[derive(Debug, Default, Clone, Serialize)]
7997pub struct SetConferenceParams {
7998    /// ID for a specific Conference (Example: 5356) (required)
7999    #[serde(skip_serializing_if = "Option::is_none")]
8000    pub conference: Option<i64>,
8001    /// Conference name (required)
8002    #[serde(skip_serializing_if = "Option::is_none")]
8003    pub name: Option<String>,
8004    /// Conference description (required)
8005    #[serde(skip_serializing_if = "Option::is_none")]
8006    pub description: Option<String>,
8007    /// Conference Members
8008    #[serde(skip_serializing_if = "Option::is_none")]
8009    pub members: Option<String>,
8010    /// Members Max Value (required)
8011    #[serde(skip_serializing_if = "Option::is_none")]
8012    pub max_members: Option<String>,
8013    /// The recording played when a user joins, typically some kind of beep
8014    /// sound (Values from getRecordings)
8015    #[serde(skip_serializing_if = "Option::is_none")]
8016    pub sound_join: Option<String>,
8017    /// The recording played when a user leaves, typically some kind of beep
8018    /// sound (Values from getRecordings)
8019    #[serde(skip_serializing_if = "Option::is_none")]
8020    pub sound_leave: Option<String>,
8021    /// The recording played as a user intro (Values from getRecordings)
8022    #[serde(skip_serializing_if = "Option::is_none")]
8023    pub sound_has_joined: Option<String>,
8024    /// The recording played as a user leaves the conference (Values from
8025    /// getRecordings)
8026    #[serde(skip_serializing_if = "Option::is_none")]
8027    pub sound_has_left: Option<String>,
8028    /// The recording played to a user who has been kicked from the conference
8029    /// (Values from getRecordings)
8030    #[serde(skip_serializing_if = "Option::is_none")]
8031    pub sound_kicked: Option<String>,
8032    /// The recording played to a user when the mute option is toggled on
8033    /// (Values from getRecordings)
8034    #[serde(skip_serializing_if = "Option::is_none")]
8035    pub sound_muted: Option<String>,
8036    /// The recording played to a user when the mute option is toggled off
8037    /// (Values from getRecordings)
8038    #[serde(skip_serializing_if = "Option::is_none")]
8039    pub sound_unmuted: Option<String>,
8040    /// The recording played when a user is the only person in the conference
8041    /// (Values from getRecordings)
8042    #[serde(skip_serializing_if = "Option::is_none")]
8043    pub sound_only_person: Option<String>,
8044    /// The recording played to a user when there is only one other person in
8045    /// the conference. (Values from getRecordings)
8046    #[serde(skip_serializing_if = "Option::is_none")]
8047    pub sound_only_one: Option<String>,
8048    /// The recording played when announcing how many users there are in a
8049    /// conference. (Values from getRecordings)
8050    #[serde(skip_serializing_if = "Option::is_none")]
8051    pub sound_there_are: Option<String>,
8052    /// The recording used in conjunction with the There are option, used like
8053    /// There are (number of participants) Other in party (Values from
8054    /// getRecordings)
8055    #[serde(skip_serializing_if = "Option::is_none")]
8056    pub sound_other_in_party: Option<String>,
8057    /// The recording played when a user is placed into a conference that cannot
8058    /// start until a marked user enters (Values from getRecordings)
8059    #[serde(skip_serializing_if = "Option::is_none")]
8060    pub sound_place_into_conference: Option<String>,
8061    /// The recording played when prompting for a conference PIN (Values from
8062    /// getRecordings)
8063    #[serde(skip_serializing_if = "Option::is_none")]
8064    pub sound_get_pin: Option<String>,
8065    /// The recording played when an invalid PIN is entered too many (3) times
8066    /// (Values from getRecordings)
8067    #[serde(skip_serializing_if = "Option::is_none")]
8068    pub sound_invalid_pin: Option<String>,
8069    /// The recording played to a user trying to join a locked conference
8070    /// (Values from getRecordings)
8071    #[serde(skip_serializing_if = "Option::is_none")]
8072    pub sound_locked: Option<String>,
8073    /// The recording played to an Admin-level user after toggling the
8074    /// conference to locked mode (Values from getRecordings)
8075    #[serde(skip_serializing_if = "Option::is_none")]
8076    pub sound_locked_now: Option<String>,
8077    /// The recording played to an Admin-level user after toggling the
8078    /// conference to unlocked mode (Values from getRecordings)
8079    #[serde(skip_serializing_if = "Option::is_none")]
8080    pub sound_unlocked_now: Option<String>,
8081    /// The recording played when there is an error on the menu. (Values from
8082    /// getRecordings)
8083    #[serde(skip_serializing_if = "Option::is_none")]
8084    pub sound_error_menu: Option<String>,
8085    /// The recording played when all non-admin participants are muted. (Values
8086    /// from getRecordings)
8087    #[serde(skip_serializing_if = "Option::is_none")]
8088    pub sound_participants_muted: Option<String>,
8089    /// The recording played when all non-admin participants are unmuted.
8090    /// (Values from getRecordings)
8091    #[serde(skip_serializing_if = "Option::is_none")]
8092    pub sound_participants_unmuted: Option<String>,
8093    /// Conference Language (Values from getLanguages)
8094    #[serde(skip_serializing_if = "Option::is_none")]
8095    pub language: Option<String>,
8096}
8097
8098/// \- Updates a specific Member profile if a member code is provided.
8099/// \- Adds a new Member profile entry if no member code is provided.
8100///
8101/// Parameters for [`Client::set_conference_member`] (wire method `setConferenceMember`).
8102#[derive(Debug, Default, Clone, Serialize)]
8103pub struct SetConferenceMemberParams {
8104    /// ID for a specific Member profile (Example: 5356) (required)
8105    #[serde(skip_serializing_if = "Option::is_none")]
8106    pub member: Option<i64>,
8107    /// ID for a specific Conference (Example: 5356) (required)
8108    #[serde(skip_serializing_if = "Option::is_none")]
8109    pub conference: Option<i64>,
8110    /// Member name. (required)
8111    #[serde(skip_serializing_if = "Option::is_none")]
8112    pub name: Option<String>,
8113    /// Member description.
8114    #[serde(skip_serializing_if = "Option::is_none")]
8115    pub description: Option<String>,
8116    /// Assigned PIN.
8117    #[serde(skip_serializing_if = "Option::is_none")]
8118    pub pin: Option<i64>,
8119    /// Sets if the conference recording when a member joins or leaves will be
8120    /// played (yes/no).
8121    #[serde(
8122        skip_serializing_if = "Option::is_none",
8123        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8124    )]
8125    pub announce_join_leave: Option<bool>,
8126    /// Sets if the member is an admin or not (yes/no).
8127    #[serde(
8128        skip_serializing_if = "Option::is_none",
8129        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8130    )]
8131    pub admin: Option<bool>,
8132    /// Sets if the member should start out muted after entering the conference
8133    /// (yes/no).
8134    #[serde(
8135        skip_serializing_if = "Option::is_none",
8136        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8137    )]
8138    pub start_muted: Option<bool>,
8139    /// Sets if the number of members in the conference should be announced to
8140    /// the caller as he joins (yes/no).
8141    #[serde(
8142        skip_serializing_if = "Option::is_none",
8143        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8144    )]
8145    pub announce_user_count: Option<bool>,
8146    /// Sets if the "only user" announcement should be played when a caller
8147    /// enters an empty conference (yes/no).
8148    #[serde(
8149        skip_serializing_if = "Option::is_none",
8150        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8151    )]
8152    pub announce_only_user: Option<bool>,
8153    /// Sets whether music on hold (MOH) should be played when only one person
8154    /// is in the conference (Values from getMusicOnHold).
8155    #[serde(skip_serializing_if = "Option::is_none")]
8156    pub moh_when_empty: Option<String>,
8157    /// When set to "yes", enter/leave prompts and user introductions are not
8158    /// played (yes/no).
8159    #[serde(
8160        skip_serializing_if = "Option::is_none",
8161        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8162    )]
8163    pub quiet: Option<bool>,
8164    /// If set, this recording will be heard only by the user as he joins the
8165    /// conference (Values from getRecordings).
8166    #[serde(skip_serializing_if = "Option::is_none")]
8167    pub announcement: Option<i64>,
8168    /// The system will drop what is detected as silence from entering into the
8169    /// conference (yes/no).
8170    #[serde(
8171        skip_serializing_if = "Option::is_none",
8172        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8173    )]
8174    pub drop_silence: Option<bool>,
8175    /// The time, in milliseconds, that a users needs to be sending sound or
8176    /// voice before the system can consider them to be talking (allowed values
8177    /// are 100, 120, 140, 160, 180, 200, 220, 240 or 250).
8178    #[serde(skip_serializing_if = "Option::is_none")]
8179    pub talking_threshold: Option<i64>,
8180    /// The time, in milliseconds, that silence needs to be present in the
8181    /// user&rsquo;s sound stream before the system can consider it to be in
8182    /// fact silent and close the audio (allowed values are 2000, 2100, 2200,
8183    /// 2300, 2400, 2500, 2600, 2700, 2800, 2900 or 3000).
8184    #[serde(skip_serializing_if = "Option::is_none")]
8185    pub silence_threshold: Option<i64>,
8186    /// If set to YES, the conference dashboard will display a notification when
8187    /// a participant starts and stops talking (yes/no).
8188    #[serde(
8189        skip_serializing_if = "Option::is_none",
8190        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8191    )]
8192    pub talk_detection: Option<bool>,
8193    /// When set to YES, the system will place a jitter buffer on the caller's
8194    /// audio stream before any audio mixing is performed (yes/no).
8195    #[serde(
8196        skip_serializing_if = "Option::is_none",
8197        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8198    )]
8199    pub jitter_buffer: Option<bool>,
8200}
8201
8202/// \- Updates the Billing Plan from a specific DID.
8203///
8204/// Parameters for [`Client::set_did_billing_type`] (wire method `setDIDBillingType`).
8205#[derive(Debug, Default, Clone, Serialize)]
8206pub struct SetDIDBillingTypeParams {
8207    /// DID affected by the new billing plan (required)
8208    #[serde(skip_serializing_if = "Option::is_none")]
8209    pub did: Option<String>,
8210    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
8211    #[serde(skip_serializing_if = "Option::is_none")]
8212    pub billing_type: Option<DidBillingType>,
8213}
8214
8215/// \- Updates the information from a specific DID.
8216///
8217/// Parameters for [`Client::set_did_info`] (wire method `setDIDInfo`).
8218#[derive(Debug, Default, Clone, Serialize)]
8219pub struct SetDIDInfoParams {
8220    /// DID to be Updated (Example: 5551234567) (required)
8221    #[serde(skip_serializing_if = "Option::is_none")]
8222    pub did: Option<String>,
8223    /// Main Routing for the DID (required)
8224    #[serde(skip_serializing_if = "Option::is_none")]
8225    pub routing: Option<crate::Routing>,
8226    /// Busy Routing for the DID
8227    #[serde(skip_serializing_if = "Option::is_none")]
8228    pub failover_busy: Option<crate::Routing>,
8229    /// Unreachable Routing for the DID
8230    #[serde(skip_serializing_if = "Option::is_none")]
8231    pub failover_unreachable: Option<crate::Routing>,
8232    /// NoAnswer Routing for the DID
8233    #[serde(skip_serializing_if = "Option::is_none")]
8234    pub failover_noanswer: Option<crate::Routing>,
8235    /// Voicemail for the DID
8236    #[serde(skip_serializing_if = "Option::is_none")]
8237    pub voicemail: Option<String>,
8238    /// Point of Presence for the DID ("server_pop" values from getServersInfo.
8239    /// Example: 3) (required)
8240    #[serde(skip_serializing_if = "Option::is_none")]
8241    pub pop: Option<i64>,
8242    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
8243    #[serde(skip_serializing_if = "Option::is_none")]
8244    pub dialtime: Option<i64>,
8245    /// CNAM for the DID (Boolean: 1/0) (required)
8246    #[serde(skip_serializing_if = "Option::is_none")]
8247    pub cnam: Option<i64>,
8248    /// Caller ID Prefix for the DID
8249    #[serde(skip_serializing_if = "Option::is_none")]
8250    pub callerid_prefix: Option<String>,
8251    /// Note for the DID
8252    #[serde(skip_serializing_if = "Option::is_none")]
8253    pub note: Option<String>,
8254    /// Port Out PIN protection is used as a means of authorizing outgoing
8255    /// portability (only for selected US numbers with the lock icon)
8256    #[serde(skip_serializing_if = "Option::is_none")]
8257    pub port_out_pin: Option<i64>,
8258    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
8259    #[serde(skip_serializing_if = "Option::is_none")]
8260    pub billing_type: Option<DidBillingType>,
8261    /// Record Calls (Boolean: 1/0)
8262    #[serde(
8263        skip_serializing_if = "Option::is_none",
8264        serialize_with = "crate::responses::serialize_opt_flag_01"
8265    )]
8266    pub record_calls: Option<bool>,
8267    /// Enable Call Transcription (Boolean: 1/0)
8268    #[serde(
8269        skip_serializing_if = "Option::is_none",
8270        serialize_with = "crate::responses::serialize_opt_flag_01"
8271    )]
8272    pub transcribe: Option<bool>,
8273    /// Transcription locale code (values from getLocales, comma separated for
8274    /// more than one locale up to 10 locales)
8275    #[serde(skip_serializing_if = "Option::is_none")]
8276    pub transcription_locale: Option<String>,
8277    /// Call Transcription Email
8278    #[serde(skip_serializing_if = "Option::is_none")]
8279    pub transcription_email: Option<String>,
8280    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
8281    /// (Example: 10 -> seconds)
8282    #[serde(skip_serializing_if = "Option::is_none")]
8283    pub transcription_start_delay: Option<i64>,
8284    /// Voicemail Threshold Seconds between 0 and 60, Increments of 5 (Example:
8285    /// 10 -> seconds) routing, failover_busy, failover_unreachable and
8286    /// failover_noanswer can receive values in the following format =>
8287    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
8288    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
8289    /// routing calls to Sub Accounts You can get all sub accounts using the
8290    /// getSubAccounts function fwd Used for routing calls to Forwarding
8291    /// entries. You can get the ID right after creating a Forwarding with
8292    /// setForwarding or by requesting all forwardings entries with
8293    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
8294    /// all voicemails and their IDs using the getVoicemails function sys System
8295    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
8296    /// Recording: Number not in service disconnected = System Recording: Number
8297    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
8298    /// Used to route calls to no action Examples: 'account:100001_VoIP'
8299    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
8300    #[serde(skip_serializing_if = "Option::is_none")]
8301    pub voicemail_threshold: Option<i64>,
8302}
8303
8304/// \- Updates the POP from a specific DID.
8305///
8306/// Parameters for [`Client::set_did_pop`] (wire method `setDIDPOP`).
8307#[derive(Debug, Default, Clone, Serialize)]
8308pub struct SetDIDPOPParams {
8309    /// DID to be Updated (Example: 5551234567) (required)
8310    #[serde(skip_serializing_if = "Option::is_none")]
8311    pub did: Option<String>,
8312    /// Point of Presence for the DID ("server_pop" values from getServersInfo.
8313    /// Example: 3) (required)
8314    #[serde(skip_serializing_if = "Option::is_none")]
8315    pub pop: Option<i64>,
8316}
8317
8318/// \- Updates the Routing from a specific DID.
8319///
8320/// Parameters for [`Client::set_did_routing`] (wire method `setDIDRouting`).
8321#[derive(Debug, Default, Clone, Serialize)]
8322pub struct SetDIDRoutingParams {
8323    /// DID to be Updated (Example: 5551234567) (required)
8324    #[serde(skip_serializing_if = "Option::is_none")]
8325    pub did: Option<String>,
8326    /// Main Routing for the DID routing can receive values in the following
8327    /// format => header:record_id Where header could be: account, fwd, vm, sip,
8328    /// grp, ivr, sys, recording, queue, cb, tc, disa, none. Examples: account
8329    /// Used for routing calls to Sub Accounts You can get all sub accounts
8330    /// using the getSubAccounts function fwd Used for routing calls to
8331    /// Forwarding entries. You can get the ID right after creating a Forwarding
8332    /// with setForwarding or by requesting all forwardings entries with
8333    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
8334    /// all voicemails and their IDs using the getVoicemails function Examples:
8335    /// 'account:100001_VoIP' 'fwd:1026' 'vm:101' (required)
8336    #[serde(skip_serializing_if = "Option::is_none")]
8337    pub routing: Option<crate::Routing>,
8338}
8339
8340/// \- Updates the Voicemail from a specific DID.
8341///
8342/// Parameters for [`Client::set_did_voicemail`] (wire method `setDIDVoicemail`).
8343#[derive(Debug, Default, Clone, Serialize)]
8344pub struct SetDIDVoicemailParams {
8345    /// DID to be Updated (Example: 5551234567) (required)
8346    #[serde(skip_serializing_if = "Option::is_none")]
8347    pub did: Option<String>,
8348    /// Mailbox for the DID
8349    #[serde(skip_serializing_if = "Option::is_none")]
8350    pub voicemail: Option<String>,
8351}
8352
8353/// \- Updates a specific DISA if a disa code is provided.
8354/// \- Adds a new DISA entry if no disa code is provided.
8355///
8356/// Parameters for [`Client::set_disa`] (wire method `setDISA`).
8357#[derive(Debug, Default, Clone, Serialize)]
8358pub struct SetDISAParams {
8359    /// ID for a specific DISA (Example: 2114 / Leave empty to create a new one)
8360    #[serde(skip_serializing_if = "Option::is_none")]
8361    pub disa: Option<String>,
8362    /// Name for the DISA (required)
8363    #[serde(skip_serializing_if = "Option::is_none")]
8364    pub name: Option<String>,
8365    /// Password for the DISA (required)
8366    #[serde(skip_serializing_if = "Option::is_none")]
8367    pub pin: Option<i64>,
8368    /// Time between digits (required)
8369    #[serde(skip_serializing_if = "Option::is_none")]
8370    pub digit_timeout: Option<i64>,
8371    /// Caller ID Override for the DISA
8372    #[serde(skip_serializing_if = "Option::is_none")]
8373    pub callerid_override: Option<String>,
8374    /// Language for the DISA (en, fr, es)
8375    #[serde(skip_serializing_if = "Option::is_none")]
8376    pub language: Option<String>,
8377}
8378
8379/// \- Create or update the information of a specific "Email to Fax
8380/// configuration".
8381///
8382/// Parameters for [`Client::set_email_to_fax`] (wire method `setEmailToFax`).
8383#[derive(Debug, Default, Clone, Serialize)]
8384pub struct SetEmailToFAXParams {
8385    /// \[Only for updates\] ID of the "Email to Fax" to edit (Values from
8386    /// getEmailToFax)
8387    #[serde(skip_serializing_if = "Option::is_none")]
8388    pub id: Option<i64>,
8389    /// If Enable, we will send Fax Message when we receive an email from the
8390    /// provided address. (Values: 1=Enable / 0=Disable)
8391    #[serde(
8392        skip_serializing_if = "Option::is_none",
8393        serialize_with = "crate::responses::serialize_opt_flag_01"
8394    )]
8395    pub enabled: Option<bool>,
8396    /// Email address from you will sent Fax Messages (required)
8397    #[serde(skip_serializing_if = "Option::is_none")]
8398    pub auth_email: Option<String>,
8399    /// Fax number that will appear as fax sender. (values from
8400    /// getFaxNumbersInfo) (required)
8401    #[serde(skip_serializing_if = "Option::is_none")]
8402    pub from_number_id: Option<String>,
8403    /// If Enable, we will check the mail subject if this include a Security
8404    /// Code before send the Fax. (Values: 1=Enable / 0=Disable)
8405    #[serde(
8406        skip_serializing_if = "Option::is_none",
8407        serialize_with = "crate::responses::serialize_opt_flag_01"
8408    )]
8409    pub security_code_enabled: Option<bool>,
8410    /// An alphanumeric code to identify your emails before send as Fax.
8411    /// (required)
8412    #[serde(skip_serializing_if = "Option::is_none")]
8413    pub security_code: Option<String>,
8414    /// Set to true if testing.
8415    #[serde(
8416        skip_serializing_if = "crate::responses::is_false",
8417        serialize_with = "crate::responses::serialize_flag_01"
8418    )]
8419    pub test: bool,
8420}
8421
8422/// \- Create or update the information of a specific Fax Folder.
8423///
8424/// Parameters for [`Client::set_fax_folder`] (wire method `setFaxFolder`).
8425#[derive(Debug, Default, Clone, Serialize)]
8426pub struct SetFAXFolderParams {
8427    /// \[Only for updates\] ID of the Fax Folder to edit (Values from
8428    /// getFaxFolders)
8429    #[serde(skip_serializing_if = "Option::is_none")]
8430    pub id: Option<i64>,
8431    /// Name of the Fax Folder to create or update (Example: FAMILY) (required)
8432    #[serde(skip_serializing_if = "Option::is_none")]
8433    pub name: Option<String>,
8434    /// Set to true if testing how to create/update a Fax Folder
8435    #[serde(
8436        skip_serializing_if = "crate::responses::is_false",
8437        serialize_with = "crate::responses::serialize_flag_01"
8438    )]
8439    pub test: bool,
8440}
8441
8442/// \- Updates the email configuration from a specific Fax Number.
8443///
8444/// Parameters for [`Client::set_fax_number_email`] (wire method `setFaxNumberEmail`).
8445#[derive(Debug, Default, Clone, Serialize)]
8446pub struct SetFAXNumberEmailParams {
8447    /// DID Number to be ported into our network (Example: 5552341234)
8448    /// (required)
8449    #[serde(skip_serializing_if = "Option::is_none")]
8450    pub did: Option<i64>,
8451    /// Email address where send notifications when receive Fax Messages -
8452    /// (Example: \[email protected\])
8453    #[serde(skip_serializing_if = "Option::is_none")]
8454    pub email: Option<String>,
8455    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
8456    /// \- Default: 0
8457    #[serde(
8458        skip_serializing_if = "Option::is_none",
8459        serialize_with = "crate::responses::serialize_opt_flag_01"
8460    )]
8461    pub email_enable: Option<bool>,
8462    /// Flag to enable attach the Fax Message as a PDF file in the
8463    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
8464    #[serde(
8465        skip_serializing_if = "Option::is_none",
8466        serialize_with = "crate::responses::serialize_opt_flag_01"
8467    )]
8468    pub email_attach_file: Option<bool>,
8469    /// Set to true if testing how to set the email of a Fax Number
8470    #[serde(
8471        skip_serializing_if = "crate::responses::is_false",
8472        serialize_with = "crate::responses::serialize_flag_01"
8473    )]
8474    pub test: bool,
8475}
8476
8477/// \- Updates the information from a specific Fax Number.
8478///
8479/// Parameters for [`Client::set_fax_number_info`] (wire method `setFaxNumberInfo`).
8480#[derive(Debug, Default, Clone, Serialize)]
8481pub struct SetFAXNumberInfoParams {
8482    /// DID Number to be ported into our network (Example: 5552341234)
8483    /// (required)
8484    #[serde(skip_serializing_if = "Option::is_none")]
8485    pub did: Option<i64>,
8486    /// Email address where send notifications when receive Fax Messages -
8487    /// (Example: \[email protected\])
8488    #[serde(skip_serializing_if = "Option::is_none")]
8489    pub email: Option<String>,
8490    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
8491    /// \- Default: 0
8492    #[serde(
8493        skip_serializing_if = "Option::is_none",
8494        serialize_with = "crate::responses::serialize_opt_flag_01"
8495    )]
8496    pub email_enable: Option<bool>,
8497    /// Flag to enable attach the Fax Message as a PDF file in the
8498    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
8499    #[serde(
8500        skip_serializing_if = "Option::is_none",
8501        serialize_with = "crate::responses::serialize_opt_flag_01"
8502    )]
8503    pub email_attach_file: Option<bool>,
8504    /// URL where make a POST when you receive a Fax Message.
8505    #[serde(skip_serializing_if = "Option::is_none")]
8506    pub url_callback: Option<String>,
8507    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
8508    /// false) - Default: 0
8509    #[serde(
8510        skip_serializing_if = "Option::is_none",
8511        serialize_with = "crate::responses::serialize_opt_flag_01"
8512    )]
8513    pub url_callback_enable: Option<bool>,
8514    /// Flag to enable retry the POST action in case we don't receive "ok".
8515    #[serde(
8516        skip_serializing_if = "Option::is_none",
8517        serialize_with = "crate::responses::serialize_opt_flag_01"
8518    )]
8519    pub url_callback_retry: Option<bool>,
8520    /// Set to true if testing how to update the information of a Fax Number
8521    #[serde(
8522        skip_serializing_if = "crate::responses::is_false",
8523        serialize_with = "crate::responses::serialize_flag_01"
8524    )]
8525    pub test: bool,
8526}
8527
8528/// \- Updates the url callback configuration from a specific Fax Number.
8529///
8530/// Parameters for [`Client::set_fax_number_url_callback`] (wire method `setFaxNumberURLCallback`).
8531#[derive(Debug, Default, Clone, Serialize)]
8532pub struct SetFAXNumberURLCallbackParams {
8533    /// DID Number to be ported into our network (Example: 5552341234)
8534    /// (required)
8535    #[serde(skip_serializing_if = "Option::is_none")]
8536    pub did: Option<i64>,
8537    /// URL where make a POST when you receive a Fax Message.
8538    #[serde(skip_serializing_if = "Option::is_none")]
8539    pub url_callback: Option<String>,
8540    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
8541    /// false) - Default: 0
8542    #[serde(
8543        skip_serializing_if = "Option::is_none",
8544        serialize_with = "crate::responses::serialize_opt_flag_01"
8545    )]
8546    pub url_callback_enable: Option<bool>,
8547    /// Flag to enable retry the POST action in case we don't receive "ok".
8548    #[serde(
8549        skip_serializing_if = "Option::is_none",
8550        serialize_with = "crate::responses::serialize_opt_flag_01"
8551    )]
8552    pub url_callback_retry: Option<bool>,
8553    /// Set to true if testing how to set the URL callback of a Fax Number
8554    #[serde(
8555        skip_serializing_if = "crate::responses::is_false",
8556        serialize_with = "crate::responses::serialize_flag_01"
8557    )]
8558    pub test: bool,
8559}
8560
8561/// \- Updates a specific Forwarding if a fwd code is provided.
8562/// \- Adds a new Forwarding entry if no fwd code is provided.
8563///
8564/// Parameters for [`Client::set_forwarding`] (wire method `setForwarding`).
8565#[derive(Debug, Default, Clone, Serialize)]
8566pub struct SetForwardingParams {
8567    /// ID for a specific Forwarding (Example: 19183 / Leave empty to create a
8568    /// new one)
8569    #[serde(skip_serializing_if = "Option::is_none")]
8570    pub forwarding: Option<String>,
8571    /// Phone Number for the Forwarding (required)
8572    #[serde(skip_serializing_if = "Option::is_none")]
8573    pub phone_number: Option<String>,
8574    /// Caller ID Override for the Forwarding
8575    #[serde(skip_serializing_if = "Option::is_none")]
8576    pub callerid_override: Option<String>,
8577    /// Description for the Forwarding
8578    #[serde(skip_serializing_if = "Option::is_none")]
8579    pub description: Option<String>,
8580    /// Send DTMF digits when call is answered
8581    #[serde(skip_serializing_if = "Option::is_none")]
8582    pub dtmf_digits: Option<String>,
8583    /// Pause (seconds) when call is answered before sending digits (Example:
8584    /// 1.5 / Values: 0 to 10 in increments of 0.5)
8585    #[serde(skip_serializing_if = "Option::is_none")]
8586    pub pause: Option<String>,
8587    /// If enabled, we will add a Diversion Header to your forwarded call
8588    #[serde(
8589        skip_serializing_if = "Option::is_none",
8590        serialize_with = "crate::responses::serialize_opt_flag_01"
8591    )]
8592    pub diversion_header: Option<bool>,
8593}
8594
8595/// \- Updates a specific IVR if an IVR code is provided.
8596/// \- Adds a new IVR entry if no IVR code is provided.
8597///
8598/// Parameters for [`Client::set_ivr`] (wire method `setIVR`).
8599#[derive(Debug, Default, Clone, Serialize)]
8600pub struct SetIVRParams {
8601    /// ID for a specific IVR (Example: 4636 / Leave empty to create a new one)
8602    #[serde(skip_serializing_if = "Option::is_none")]
8603    pub ivr: Option<String>,
8604    /// Name for the IVR (required)
8605    #[serde(skip_serializing_if = "Option::is_none")]
8606    pub name: Option<String>,
8607    /// Recording for the IVR (values from getRecordings) (required)
8608    #[serde(skip_serializing_if = "Option::is_none")]
8609    pub recording: Option<i64>,
8610    /// Maximum time for type in a choice after recording (required)
8611    #[serde(skip_serializing_if = "Option::is_none")]
8612    pub timeout: Option<i64>,
8613    /// Language for the IVR (values from getLanguages) (required)
8614    #[serde(skip_serializing_if = "Option::is_none")]
8615    pub language: Option<String>,
8616    /// Voicemail Setup for the IVR (values from getVoicemailSetups) (required)
8617    #[serde(skip_serializing_if = "Option::is_none")]
8618    pub voicemailsetup: Option<i64>,
8619    /// Choices for the IVR (Example: '1=sip:5096 ; 2=fwd:20222') (required)
8620    #[serde(skip_serializing_if = "Option::is_none")]
8621    pub choices: Option<String>,
8622}
8623
8624/// Parameters for [`Client::set_location`] (wire method `setLocation`).
8625#[derive(Debug, Default, Clone, Serialize)]
8626pub struct SetLocationParams {
8627    /// Internal Extension Location name (Example: "Location1") (required)
8628    #[serde(skip_serializing_if = "Option::is_none")]
8629    pub name: Option<String>,
8630}
8631
8632/// Parameters for [`Client::set_music_on_hold`] (wire method `setMusicOnHold`).
8633#[derive(Debug, Default, Clone, Serialize)]
8634pub struct SetMusicOnHoldParams {
8635    /// Music on Hold Name (Values from getMusicOnHold)
8636    #[serde(skip_serializing_if = "Option::is_none")]
8637    pub name: Option<String>,
8638    /// Music on Hold Description (required)
8639    #[serde(skip_serializing_if = "Option::is_none")]
8640    pub description: Option<String>,
8641    /// Music on Hold Quiet Volume (Boolean: 1/0)
8642    #[serde(skip_serializing_if = "Option::is_none")]
8643    pub volume: Option<String>,
8644    /// Selected recordings sort mode (Example: "alpha", "random")
8645    #[serde(skip_serializing_if = "Option::is_none")]
8646    pub sort: Option<RecordingSort>,
8647    /// Selected recordings separated by commas (Values from getRecordings,
8648    /// example: (1234,1235,1236) (required)
8649    #[serde(skip_serializing_if = "Option::is_none")]
8650    pub recordings: Option<String>,
8651}
8652
8653/// \- Updates a specific Phonebook entry if a phonebook code is provided.
8654/// \- Adds a new Phonebook entry if no phonebook code is provided.
8655///
8656/// Parameters for [`Client::set_phonebook`] (wire method `setPhonebook`).
8657#[derive(Debug, Default, Clone, Serialize)]
8658pub struct SetPhonebookParams {
8659    /// ID for a specific Phonebook entry (Example: 32207 / Leave empty to
8660    /// create a new one)
8661    #[serde(skip_serializing_if = "Option::is_none")]
8662    pub phonebook: Option<String>,
8663    /// Speed Dial for the Phonebook entry
8664    #[serde(skip_serializing_if = "Option::is_none")]
8665    pub speed_dial: Option<String>,
8666    /// Name for the Phonebook Entry (required)
8667    #[serde(skip_serializing_if = "Option::is_none")]
8668    pub name: Option<String>,
8669    /// Number or SIP for the Phonebook entry (Example: 'sip:2563' or
8670    /// '5552223333') (required)
8671    #[serde(skip_serializing_if = "Option::is_none")]
8672    pub number: Option<i64>,
8673    /// Caller ID Override when dialing via Speed Dial
8674    #[serde(skip_serializing_if = "Option::is_none")]
8675    pub callerid: Option<String>,
8676    /// Note for the phonebook entry
8677    #[serde(skip_serializing_if = "Option::is_none")]
8678    pub note: Option<String>,
8679    /// ID for a specific Phonebook group
8680    #[serde(skip_serializing_if = "Option::is_none")]
8681    pub group: Option<i64>,
8682}
8683
8684/// \- Updates a specific Phonebook group if a phonebook code is provided.
8685/// \- Adds a new Phonebook group if no phonebook group code is provided.
8686/// \- Assigns or modifies group members if a member list is provided
8687///
8688/// Parameters for [`Client::set_phonebook_group`] (wire method `setPhonebookGroup`).
8689#[derive(Debug, Default, Clone, Serialize)]
8690pub struct SetPhonebookGroupParams {
8691    #[serde(skip_serializing_if = "Option::is_none")]
8692    pub phonebook: Option<String>,
8693    /// ID for a specific Phonebook group (Example: 32207 / Leave empty to
8694    /// create a new one)
8695    #[serde(skip_serializing_if = "Option::is_none")]
8696    pub group: Option<String>,
8697    /// Name for the Phonebook group (required)
8698    #[serde(skip_serializing_if = "Option::is_none")]
8699    pub name: Option<String>,
8700    /// Phonebook entry codes associated to this group separated by a semicolon
8701    #[serde(skip_serializing_if = "Option::is_none")]
8702    pub members: Option<String>,
8703}
8704
8705/// \- Updates a specific Queue entry if a queue code is provided.
8706/// \- Adds a new Queue entry if no queue code is provided.
8707///
8708/// Parameters for [`Client::set_queue`] (wire method `setQueue`).
8709#[derive(Debug, Default, Clone, Serialize)]
8710pub struct SetQueueParams {
8711    /// ID for a specific Queue entry (Example: 32208 / Leave empty to create a
8712    /// new one)
8713    #[serde(skip_serializing_if = "Option::is_none")]
8714    pub queue: Option<String>,
8715    /// Queue entry name (required)
8716    #[serde(skip_serializing_if = "Option::is_none")]
8717    pub queue_name: Option<String>,
8718    /// Queue entry number (required)
8719    #[serde(skip_serializing_if = "Option::is_none")]
8720    pub queue_number: Option<i64>,
8721    /// Language Code (Values from getLanguages) (required)
8722    #[serde(skip_serializing_if = "Option::is_none")]
8723    pub queue_language: Option<String>,
8724    /// Queue Password
8725    #[serde(skip_serializing_if = "Option::is_none")]
8726    pub queue_password: Option<String>,
8727    /// Caller ID Prefix for queue
8728    #[serde(skip_serializing_if = "Option::is_none")]
8729    pub callerid_prefix: Option<i64>,
8730    /// Recording Code (Values from getRecordings or 'none')
8731    #[serde(skip_serializing_if = "Option::is_none")]
8732    pub join_announcement: Option<String>,
8733    /// weight/priority of queue (Values 1 to 60) (required)
8734    #[serde(skip_serializing_if = "Option::is_none")]
8735    pub priority_weight: Option<String>,
8736    /// Recording Code (Values from getRecordings or 'none')
8737    #[serde(skip_serializing_if = "Option::is_none")]
8738    pub agent_announcement: Option<String>,
8739    /// Report hold time to agent (Values from getReportEstimatedHoldTime)
8740    /// (required)
8741    #[serde(skip_serializing_if = "Option::is_none")]
8742    pub report_hold_time_agent: Option<String>,
8743    /// Member delay when the agent is connected to the caller (Values 1 to 15
8744    /// in seconds or 'none')
8745    #[serde(skip_serializing_if = "Option::is_none")]
8746    pub member_delay: Option<crate::Seconds>,
8747    /// Ammount of time a caller can wait in queue (Values in seconds: multiples
8748    /// of 30, max value: 1200 or 'unlimited')
8749    #[serde(skip_serializing_if = "Option::is_none")]
8750    pub maximum_wait_time: Option<crate::WaitTime>,
8751    /// Maximum callers (Values: 1 to 60 or 'unlimited')
8752    #[serde(skip_serializing_if = "Option::is_none")]
8753    pub maximum_callers: Option<String>,
8754    /// How caller join to the queue (Values from getJoinWhenEmptyTypes)
8755    /// Examples: yes Callers can join a queue with no members or only
8756    /// unavailable members no Callers cannot join a queue with no members
8757    /// strict Callers cannot join a queue with no members or only unavailable
8758    /// members (required)
8759    #[serde(skip_serializing_if = "Option::is_none")]
8760    pub join_when_empty: Option<QueueEmptyBehavior>,
8761    /// How caller leave the queue (Values 'yes'/'no'/'strict') Examples: yes
8762    /// Callers are sent to failover when there are no members no Callers will
8763    /// remain in the queue even if there are no members strict Callers are sent
8764    /// to failover if there are members but none of them is available.
8765    /// (required)
8766    #[serde(skip_serializing_if = "Option::is_none")]
8767    pub leave_when_empty: Option<QueueEmptyBehavior>,
8768    /// Ring strategy (Values from getRingStrategies) (required)
8769    #[serde(skip_serializing_if = "Option::is_none")]
8770    pub ring_strategy: Option<RingStrategy>,
8771    /// If you want the queue to avoid sending calls to members (Values
8772    /// 'yes'/'no') (required)
8773    #[serde(
8774        skip_serializing_if = "Option::is_none",
8775        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8776    )]
8777    pub ring_inuse: Option<bool>,
8778    /// Number of seconds to ring an agent (Values 5 to 60)
8779    #[serde(skip_serializing_if = "Option::is_none")]
8780    pub agent_ring_timeout: Option<i64>,
8781    /// How long do we wait before trying all the members again (Values 5 to 60
8782    /// seconds or 'none'= No Delay)
8783    #[serde(skip_serializing_if = "Option::is_none")]
8784    pub retry_timer: Option<crate::Seconds>,
8785    /// After a successful call, the number of seconds to wait before sending a
8786    /// free agent another call (Values 1 to 60 seconds or 'none'= No Delay)
8787    #[serde(skip_serializing_if = "Option::is_none")]
8788    pub wrapup_time: Option<crate::Seconds>,
8789    /// Code for Recording (Values from getRecordings or 'none')
8790    #[serde(skip_serializing_if = "Option::is_none")]
8791    pub voice_announcement: Option<String>,
8792    /// Periodic interval to play voice announce recording (Values in seconds:
8793    /// multiples of 15, max value: 1200 or 'none' = No announcement)
8794    #[serde(skip_serializing_if = "Option::is_none")]
8795    pub frequency_announcement: Option<crate::Seconds>,
8796    /// How often to make any periodic announcement (Values in seconds:
8797    /// multiples of 15, max value: 1200 or 'none' = No announcement)
8798    #[serde(skip_serializing_if = "Option::is_none")]
8799    pub announce_position_frecuency: Option<crate::Seconds>,
8800    /// Announce seconds (Values in seconds: 1 to 60 or 'none' = Do not
8801    /// announce)
8802    #[serde(skip_serializing_if = "Option::is_none")]
8803    pub announce_round_seconds: Option<crate::Seconds>,
8804    /// Include estimated hold time in position announcements (Values
8805    /// 'yes'/'no'/'once')
8806    #[serde(skip_serializing_if = "Option::is_none")]
8807    pub if_announce_position_enabled_report_estimated_hold_time: Option<EstimatedHoldTimeAnnounce>,
8808    /// Yes to say "Thank you for your patience" immediatly after announcing
8809    /// Queue Position and Estimated hold time left (Values 'yes'/'no')
8810    #[serde(
8811        skip_serializing_if = "Option::is_none",
8812        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8813    )]
8814    pub thankyou_for_your_patience: Option<bool>,
8815    /// Music on Hold Code (Values from getMusicOnHold)
8816    #[serde(skip_serializing_if = "Option::is_none")]
8817    pub music_on_hold: Option<String>,
8818    /// Failover routing to Maximum wait time reached
8819    #[serde(skip_serializing_if = "Option::is_none")]
8820    pub fail_over_routing_timeout: Option<crate::Routing>,
8821    /// Failover routing to Maximum callers reached
8822    #[serde(skip_serializing_if = "Option::is_none")]
8823    pub fail_over_routing_full: Option<crate::Routing>,
8824    /// A call was sent to the queue but the queue had no members (Only works
8825    /// when Join when Empty is set to no)
8826    #[serde(skip_serializing_if = "Option::is_none")]
8827    pub fail_over_routing_join_empty: Option<crate::Routing>,
8828    /// The last agent was removed form the queue before alls calls were handled
8829    /// (Only works when Leave when Empty is set to yes)
8830    #[serde(skip_serializing_if = "Option::is_none")]
8831    pub fail_over_routing_leave_empty: Option<crate::Routing>,
8832    /// Same as routingjoinempty, except that there were still queue members,
8833    /// but all were status unavailable
8834    #[serde(skip_serializing_if = "Option::is_none")]
8835    pub fail_over_routing_join_unavail: Option<crate::Routing>,
8836    /// Same as routingleaveempty, except that there were still queue members,
8837    /// but all were status unavailable routings can receive values in the
8838    /// following format => header:record_id Where header could be: account,
8839    /// fwd, vm, sip, grp, ivr, sys, recording, queue, cb, tc, disa, none.
8840    /// Examples: account Used for routing calls to Sub Accounts You can get all
8841    /// sub accounts using the getSubAccounts function fwd Used for routing
8842    /// calls to Forwarding entries. You can get the ID right after creating a
8843    /// Forwarding with setForwarding or by requesting all forwardings entries
8844    /// with getForwardings. vm Used for routing calls to a Voicemail. You can
8845    /// get all voicemails and their IDs using the getVoicemails function
8846    /// Examples: 'account:100001_VoIP' 'fwd:1026' 'vm:101'
8847    #[serde(skip_serializing_if = "Option::is_none")]
8848    pub fail_over_routing_leave_unavail: Option<crate::Routing>,
8849}
8850
8851/// \- Updates a specific Recording File if a Recording ID is provided.
8852/// \- Adds a new Recording file entry if no Recording ID is provided.
8853///
8854/// Parameters for [`Client::set_recording`] (wire method `setRecording`).
8855#[derive(Debug, Default, Clone, Serialize)]
8856pub struct SetRecordingParams {
8857    /// ID for a specific Phonebook entry (Example: 33221 / Leave empty to
8858    /// create a new one)
8859    #[serde(skip_serializing_if = "Option::is_none")]
8860    pub recording: Option<String>,
8861    /// Base64 encoded file (Provide Recording ID and file if you want update
8862    /// the file only) (required)
8863    #[serde(skip_serializing_if = "Option::is_none")]
8864    pub file: Option<String>,
8865    /// Name for the Recording Entry (Example: 'recording1') (Provide Recording
8866    /// ID and name if you want update the name only) (Provide Recording ID,
8867    /// file and name if you want update both parameters at the same time)
8868    /// (required)
8869    #[serde(skip_serializing_if = "Option::is_none")]
8870    pub name: Option<String>,
8871}
8872
8873/// \- Updates a specific Ring Group if a ring group code is provided.
8874/// \- Adds a new Ring Group entry if no ring group code is provided.
8875///
8876/// Parameters for [`Client::set_ring_group`] (wire method `setRingGroup`).
8877#[derive(Debug, Default, Clone, Serialize)]
8878pub struct SetRingGroupParams {
8879    /// ID for a specific Ring Group (Example: 4768 / Leave empty to create a
8880    /// new one)
8881    #[serde(skip_serializing_if = "Option::is_none")]
8882    pub ring_group: Option<String>,
8883    /// Name for the Ring Group (required)
8884    #[serde(skip_serializing_if = "Option::is_none")]
8885    pub name: Option<String>,
8886    /// Members for the Ring Group (Example: 'account:100001;fwd:16006')
8887    /// (required)
8888    #[serde(skip_serializing_if = "Option::is_none")]
8889    pub members: Option<String>,
8890    /// Voicemail for the Ring Group (Values from getVoicemails) (required)
8891    #[serde(skip_serializing_if = "Option::is_none")]
8892    pub voicemail: Option<String>,
8893    /// Recording Code (Values from getRecordings)
8894    #[serde(skip_serializing_if = "Option::is_none")]
8895    pub caller_announcement: Option<String>,
8896    /// Music on Hold Code (Values from getMusicOnHold)
8897    #[serde(skip_serializing_if = "Option::is_none")]
8898    pub music_on_hold: Option<String>,
8899    /// Code for Language (Values from getLanguages) "members" can receive the
8900    /// following routing headers: account Used to route the call to an Account
8901    /// or a Sub Account fwd Used to route the call to a Forwarding entry sip
8902    /// Used to route the call to a SIP URI Each member can a specific ring time
8903    /// and press1 values, you can add those to the routing header as follow:
8904    /// Example: 'account:100001,25,0;fwd:16006,10,1' 25 = Default ring time
8905    /// value (Values from 1 to 60 sec) 0 = Default press1 value (Values allowed
8906    /// 0 and 1)
8907    #[serde(skip_serializing_if = "Option::is_none")]
8908    pub language: Option<String>,
8909}
8910
8911/// \- Updates a specific SIP URI if a SIP URI code is provided.
8912/// \- Adds a new SIP URI entry if no SIP URI code is provided.
8913///
8914/// Parameters for [`Client::set_sip_uri`] (wire method `setSIPURI`).
8915#[derive(Debug, Default, Clone, Serialize)]
8916pub struct SetSIPURIParams {
8917    /// ID for a specific SIP URI (Example: 6199 / Leave empty to create a new
8918    /// one)
8919    #[serde(skip_serializing_if = "Option::is_none")]
8920    pub sipuri: Option<String>,
8921    /// SIP URI (Example: '\[email protected\]') (required)
8922    #[serde(skip_serializing_if = "Option::is_none")]
8923    pub uri: Option<String>,
8924    /// Description for the SIP URI
8925    #[serde(skip_serializing_if = "Option::is_none")]
8926    pub description: Option<String>,
8927    /// This setting is optional. You can configure a 'CallerID Number
8928    /// Override'. Your default CallerID number will be changed to the override
8929    /// you have configured here when using this SIP URI.
8930    #[serde(skip_serializing_if = "Option::is_none")]
8931    pub callerid_override: Option<String>,
8932    /// If this option is Enabled, then your CallerID will be E164 compliant.
8933    #[serde(skip_serializing_if = "Option::is_none")]
8934    pub callerid_e164: Option<i64>,
8935}
8936
8937/// \- Enable/Disable the SMS Service for a DID
8938/// \- Change the SMS settings for a DID
8939///
8940/// Parameters for [`Client::set_sms`] (wire method `setSMS`).
8941#[derive(Debug, Default, Clone, Serialize)]
8942pub struct SetSMSParams {
8943    /// DID to be Updated (Example: 5551234567) (required)
8944    #[serde(skip_serializing_if = "Option::is_none")]
8945    pub did: Option<String>,
8946    /// Enable/Disable the DID to receive SMS Messages (Values: 1=Enable /
8947    /// 0=Disable) (required)
8948    #[serde(
8949        skip_serializing_if = "Option::is_none",
8950        serialize_with = "crate::responses::serialize_opt_flag_01"
8951    )]
8952    pub enable: Option<bool>,
8953    /// If Enable, SMS Messages received by your DID will be sent to the email
8954    /// address provided (Values: 1=Enable / 0=Disable)
8955    #[serde(
8956        skip_serializing_if = "Option::is_none",
8957        serialize_with = "crate::responses::serialize_opt_flag_01"
8958    )]
8959    pub email_enabled: Option<bool>,
8960    /// SMS Messages received by your DID will be sent to the email address
8961    /// provided
8962    #[serde(skip_serializing_if = "Option::is_none")]
8963    pub email_address: Option<String>,
8964    /// If Enable, SMS Messages received by your DID will be forwarded to the
8965    /// phone number provided (Values: 1=Enable / 0=Disable)
8966    #[serde(
8967        skip_serializing_if = "Option::is_none",
8968        serialize_with = "crate::responses::serialize_opt_flag_01"
8969    )]
8970    pub sms_forward_enable: Option<bool>,
8971    /// SMS Messages received by your DID will be forwarded to the phone number
8972    /// provided (Example: 5551234567)
8973    #[serde(skip_serializing_if = "Option::is_none")]
8974    pub sms_forward: Option<String>,
8975    /// If Enable, SMS Messages received by your DID will be send a GET request
8976    /// to the URL callback provided (Values: 1=Enable / 0=Disable)
8977    #[serde(
8978        skip_serializing_if = "Option::is_none",
8979        serialize_with = "crate::responses::serialize_opt_flag_01"
8980    )]
8981    pub url_callback_enable: Option<bool>,
8982    /// SMS Messages received by your DID will be send a GET request to the URL
8983    /// callback provided Available Variables for your URL {FROM} The phone
8984    /// number that sent you the message. {TO} The DID number that received the
8985    /// message. {MESSAGE} The content of the message. Example:
8986    /// <http://mysite.com/sms.php?to={TO}&from={FROM}&message={MESSAGE}>
8987    #[serde(skip_serializing_if = "Option::is_none")]
8988    pub url_callback: Option<String>,
8989    /// Enable URL callback Retry (Values: 1=Enable / 0=Disable) we will be
8990    /// expecting an 'ok' output (without quotes) from your URL callback page as
8991    /// an indicator that you have received the message correctly. If we don't
8992    /// receive the 'ok' letters (wihtout quotes) from your callback page, we
8993    /// will keep sending you the same message every 30 minutes.
8994    #[serde(
8995        skip_serializing_if = "Option::is_none",
8996        serialize_with = "crate::responses::serialize_opt_flag_01"
8997    )]
8998    pub url_callback_retry: Option<bool>,
8999    /// SIP account or sub-account that will receive the SMS Messages
9000    #[serde(skip_serializing_if = "Option::is_none")]
9001    pub sms_sipaccount: Option<String>,
9002    /// If Enable, SMS Messages received by your DID will be sent to the
9003    /// specified SIP account or sub-account (Values: 1=Enable / 0=Disable)
9004    #[serde(
9005        skip_serializing_if = "Option::is_none",
9006        serialize_with = "crate::responses::serialize_opt_flag_01"
9007    )]
9008    pub sms_sipaccount_enabled: Option<bool>,
9009}
9010
9011/// \- Updates a specific Member from queue if a Member code is provided.
9012/// \- Adds a new Member to Queue if no Member code is provided.
9013///
9014/// Parameters for [`Client::set_static_member`] (wire method `setStaticMember`).
9015#[derive(Debug, Default, Clone, Serialize)]
9016pub struct SetStaticMemberParams {
9017    /// ID for a specific Member (Example: 619 / Leave empty to create a new
9018    /// one)
9019    #[serde(skip_serializing_if = "Option::is_none")]
9020    pub member: Option<String>,
9021    /// ID for a specific Queue (required)
9022    #[serde(skip_serializing_if = "Option::is_none")]
9023    pub queue: Option<i64>,
9024    /// Member Description (required)
9025    #[serde(skip_serializing_if = "Option::is_none")]
9026    pub member_name: Option<String>,
9027    /// Static Member Routing to receive calls - You can get all sub accounts
9028    /// using the getSubAccounts function
9029    #[serde(skip_serializing_if = "Option::is_none")]
9030    pub account: Option<String>,
9031    /// Values for get calls first (Example: 0) (required)
9032    #[serde(skip_serializing_if = "Option::is_none")]
9033    pub priority: Option<i64>,
9034}
9035
9036/// \- Updates Sub Account information.
9037///
9038/// Parameters for [`Client::set_sub_account`] (wire method `setSubAccount`).
9039#[derive(Debug, Default, Clone, Serialize)]
9040pub struct SetSubAccountParams {
9041    /// Sub Account ID (Example: 10236) (required)
9042    #[serde(skip_serializing_if = "Option::is_none")]
9043    pub id: Option<i64>,
9044    /// Sub Account Description (Example: 'VoIP Account')
9045    #[serde(skip_serializing_if = "Option::is_none")]
9046    pub description: Option<String>,
9047    /// Authorization Type Code (Values from getAuthTypes) (required)
9048    #[serde(skip_serializing_if = "Option::is_none")]
9049    pub auth_type: Option<i64>,
9050    /// Sub Account Password (For Password Authentication)
9051    #[serde(skip_serializing_if = "Option::is_none")]
9052    pub password: Option<String>,
9053    /// Sub Account IP (For IP Authentication)
9054    #[serde(skip_serializing_if = "Option::is_none")]
9055    pub ip: Option<String>,
9056    /// Device Type Code (Values from getDeviceTypes) (required)
9057    #[serde(skip_serializing_if = "Option::is_none")]
9058    pub device_type: Option<i64>,
9059    /// Caller ID Override
9060    #[serde(skip_serializing_if = "Option::is_none")]
9061    pub callerid_number: Option<String>,
9062    /// Route Code (Values from getRoutes)
9063    #[serde(skip_serializing_if = "Option::is_none")]
9064    pub canada_routing: Option<String>,
9065    /// Lock International Code (Values from getLockInternational) (required)
9066    #[serde(skip_serializing_if = "Option::is_none")]
9067    pub lock_international: Option<i64>,
9068    /// Route Code (Values from getRoutes) (required)
9069    #[serde(skip_serializing_if = "Option::is_none")]
9070    pub international_route: Option<i64>,
9071    /// Music on Hold Code (Values from getMusicOnHold) (required)
9072    #[serde(skip_serializing_if = "Option::is_none")]
9073    pub music_on_hold: Option<String>,
9074    /// Language for system messages, such as "Invalid Option" (Values from
9075    /// getLanguages)
9076    #[serde(skip_serializing_if = "Option::is_none")]
9077    pub language: Option<String>,
9078    /// List of Allowed Codecs (Values from getAllowedCodecs) Codecs separated
9079    /// by semicolon (Example: ulaw;g729;gsm) (required)
9080    #[serde(skip_serializing_if = "Option::is_none")]
9081    pub allowed_codecs: Option<String>,
9082    /// DTMF Mode Code (Values from getDTMFModes) (required)
9083    #[serde(skip_serializing_if = "Option::is_none")]
9084    pub dtmf_mode: Option<DtmfMode>,
9085    /// NAT Mode Code (Values from getNAT) (required)
9086    #[serde(skip_serializing_if = "Option::is_none")]
9087    pub nat: Option<Nat>,
9088    /// Encrypted SIP Traffic (Boolean: 1/0)
9089    #[serde(skip_serializing_if = "Option::is_none")]
9090    pub sip_traffic: Option<i64>,
9091    /// Max Expiry between 60 and 3600 (Example: 3000)
9092    #[serde(skip_serializing_if = "Option::is_none")]
9093    pub max_expiry: Option<i64>,
9094    /// RTP Time Out between 1 and 3600 (Example: 60)
9095    #[serde(skip_serializing_if = "Option::is_none")]
9096    pub rtp_timeout: Option<i64>,
9097    /// RTP Hold Time Out between 1 and 3600 (Example: 600)
9098    #[serde(skip_serializing_if = "Option::is_none")]
9099    pub rtp_hold_timeout: Option<i64>,
9100    /// List of IP/Netmask to allow outgoing calls separated by commas (Example:
9101    /// 123.45.3.21,10.255.12.0/22,device.mydomain.com)
9102    #[serde(skip_serializing_if = "Option::is_none")]
9103    pub ip_restriction: Option<String>,
9104    /// Enable IP Restriction (Boolean: 1/0)
9105    #[serde(
9106        skip_serializing_if = "Option::is_none",
9107        serialize_with = "crate::responses::serialize_opt_flag_01"
9108    )]
9109    pub enable_ip_restriction: Option<bool>,
9110    /// List of POP Servers to allow outgoing calls separated by commas (values
9111    /// from getServersInfo. Example: 10,23,45)
9112    #[serde(skip_serializing_if = "Option::is_none")]
9113    pub pop_restriction: Option<String>,
9114    /// Enable POP Restriction (Boolean: 1/0)
9115    #[serde(
9116        skip_serializing_if = "Option::is_none",
9117        serialize_with = "crate::responses::serialize_opt_flag_01"
9118    )]
9119    pub enable_pop_restriction: Option<bool>,
9120    /// Sub Account Internal Extension (Example: 1 -> Creates 101)
9121    #[serde(skip_serializing_if = "Option::is_none")]
9122    pub internal_extension: Option<String>,
9123    /// Sub Account Internal Voicemail (Example: 101)
9124    #[serde(skip_serializing_if = "Option::is_none")]
9125    pub internal_voicemail: Option<String>,
9126    /// Sub Account Internal Dialtime (Example: 60 -> seconds)
9127    #[serde(skip_serializing_if = "Option::is_none")]
9128    pub internal_dialtime: Option<String>,
9129    /// Reseller Account ID (Example: 561115)
9130    #[serde(skip_serializing_if = "Option::is_none")]
9131    pub reseller_client: Option<String>,
9132    /// Reseller Package (Example: 92364)
9133    #[serde(skip_serializing_if = "Option::is_none")]
9134    pub reseller_package: Option<String>,
9135    /// Reseller Next Billing Date (Example: '2012-12-31')
9136    #[serde(skip_serializing_if = "Option::is_none")]
9137    pub reseller_nextbilling: Option<String>,
9138    /// True if you want to charge Package Setup Fee after Save
9139    #[serde(skip_serializing_if = "Option::is_none")]
9140    pub reseller_chargesetup: Option<String>,
9141    /// Send BYE on successful transfer (Boolean: 1/0)
9142    #[serde(
9143        skip_serializing_if = "Option::is_none",
9144        serialize_with = "crate::responses::serialize_opt_flag_01"
9145    )]
9146    pub send_bye: Option<bool>,
9147    /// Record Calls (Boolean: 1/0)
9148    #[serde(
9149        skip_serializing_if = "Option::is_none",
9150        serialize_with = "crate::responses::serialize_opt_flag_01"
9151    )]
9152    pub record_calls: Option<bool>,
9153    #[serde(
9154        skip_serializing_if = "Option::is_none",
9155        serialize_with = "crate::responses::serialize_opt_flag_01"
9156    )]
9157    pub transcribe: Option<bool>,
9158    #[serde(skip_serializing_if = "Option::is_none")]
9159    pub transcription_locale: Option<String>,
9160    #[serde(skip_serializing_if = "Option::is_none")]
9161    pub transcription_email: Option<String>,
9162    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
9163    /// (Example: 10 -> seconds)
9164    #[serde(skip_serializing_if = "Option::is_none")]
9165    pub transcription_start_delay: Option<i64>,
9166    /// Allows you to dial outgoing calls using either the NANPA configuration
9167    /// or the E164 configuration. (Values: 0 = Use Main Account Setting, 1 =
9168    /// E164, 2 = NANPA)
9169    #[serde(skip_serializing_if = "Option::is_none")]
9170    pub dialing_mode: Option<DialingMode>,
9171    /// This allows you to select the carrier to be used for outgoing calls to
9172    /// toll-free numbers. (Values: -1 = Use main account settings, 0 = Default
9173    /// server setting, 1 = US carrier, 2 = Canadian carrier)
9174    #[serde(skip_serializing_if = "Option::is_none")]
9175    pub tfcarrier: Option<TollFreeCarrier>,
9176    /// Location group for the internal extension (Values from getLocations)
9177    #[serde(skip_serializing_if = "Option::is_none")]
9178    pub internal_extension_location: Option<i64>,
9179    /// e911 Default CallerID
9180    #[serde(skip_serializing_if = "Option::is_none")]
9181    pub default_e911: Option<String>,
9182}
9183
9184/// \- Updates a specific Time Condition if a time condition code is provided.
9185/// \- Adds a new Time Condition entry if no time condition code is provided.
9186///
9187/// Parameters for [`Client::set_time_condition`] (wire method `setTimeCondition`).
9188#[derive(Debug, Default, Clone, Serialize)]
9189pub struct SetTimeConditionParams {
9190    /// ID for a specific Time Condition (Example: 1830 / Leave empty to create
9191    /// a new one)
9192    #[serde(skip_serializing_if = "Option::is_none")]
9193    pub timecondition: Option<String>,
9194    /// Name for the Time Condition (required)
9195    #[serde(skip_serializing_if = "Option::is_none")]
9196    pub name: Option<String>,
9197    /// Routing for the Call when condition matches (required)
9198    #[serde(skip_serializing_if = "Option::is_none")]
9199    pub routing_match: Option<crate::Routing>,
9200    /// Routing for the Call when condition does not matche (required)
9201    #[serde(skip_serializing_if = "Option::is_none")]
9202    pub routing_nomatch: Option<crate::Routing>,
9203    /// All the Start Hour Conditions (Example: '8;8') (required)
9204    #[serde(skip_serializing_if = "Option::is_none")]
9205    pub starthour: Option<String>,
9206    /// All the Start Minute Conditions (Example: '0;0') (required)
9207    #[serde(skip_serializing_if = "Option::is_none")]
9208    pub startminute: Option<String>,
9209    /// All the End Hour Conditions (Example: '16;12') (required)
9210    #[serde(skip_serializing_if = "Option::is_none")]
9211    pub endhour: Option<String>,
9212    /// All the End Minute Conditions (Example: '0;0') (required)
9213    #[serde(skip_serializing_if = "Option::is_none")]
9214    pub endminute: Option<String>,
9215    /// All the Week Day Start Conditions (Example: 'mon;sat') (required)
9216    #[serde(skip_serializing_if = "Option::is_none")]
9217    pub weekdaystart: Option<String>,
9218    /// All the Week Day End Conditions (Example: 'fri;sat') (required)
9219    #[serde(skip_serializing_if = "Option::is_none")]
9220    pub weekdayend: Option<String>,
9221}
9222
9223/// \- Updates the information from a specific Voicemail.
9224///
9225/// Parameters for [`Client::set_voicemail`] (wire method `setVoicemail`).
9226#[derive(Debug, Default, Clone, Serialize)]
9227pub struct SetVoicemailParams {
9228    /// ID for a specific Mailbox (Example: 1001) (required)
9229    #[serde(skip_serializing_if = "Option::is_none")]
9230    pub mailbox: Option<i64>,
9231    /// Name for the Mailbox (required)
9232    #[serde(skip_serializing_if = "Option::is_none")]
9233    pub name: Option<String>,
9234    /// Password for the Mailbox (required)
9235    #[serde(skip_serializing_if = "Option::is_none")]
9236    pub password: Option<String>,
9237    /// True if Skipping Password (Boolean: 1/0) (required)
9238    #[serde(
9239        skip_serializing_if = "Option::is_none",
9240        serialize_with = "crate::responses::serialize_opt_flag_01"
9241    )]
9242    pub skip_password: Option<bool>,
9243    /// Email address for receiving messages, multiple email addresses are
9244    /// allowed if separated by a comma
9245    #[serde(skip_serializing_if = "Option::is_none")]
9246    pub email: Option<String>,
9247    /// Yes for Attaching WAV files to Message (Values: 'yes'/'no') (required)
9248    #[serde(
9249        skip_serializing_if = "Option::is_none",
9250        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9251    )]
9252    pub attach_message: Option<bool>,
9253    /// Yes for Deleting Messages (Values: 'yes'/'no') (required)
9254    #[serde(
9255        skip_serializing_if = "Option::is_none",
9256        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9257    )]
9258    pub delete_message: Option<bool>,
9259    /// Yes for Saying Time Stamp (Values: 'yes'/'no') (required)
9260    #[serde(
9261        skip_serializing_if = "Option::is_none",
9262        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9263    )]
9264    pub say_time: Option<bool>,
9265    /// Time Zone for Mailbox (Values from getTimeZones) (required)
9266    #[serde(skip_serializing_if = "Option::is_none")]
9267    pub timezone: Option<String>,
9268    /// Yes for Saying the Caller ID (Values: 'yes'/'no') (required)
9269    #[serde(
9270        skip_serializing_if = "Option::is_none",
9271        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9272    )]
9273    pub say_callerid: Option<bool>,
9274    /// Code for Play Instructions Setting (Values from getPlayInstructions)
9275    /// (required)
9276    #[serde(skip_serializing_if = "Option::is_none")]
9277    pub play_instructions: Option<PlayInstructions>,
9278    /// Code for Language (Values from getLanguages) (required)
9279    #[serde(skip_serializing_if = "Option::is_none")]
9280    pub language: Option<String>,
9281    /// Code for Email Attachment format (Values from
9282    /// getVoicemailAttachmentFormats)
9283    #[serde(skip_serializing_if = "Option::is_none")]
9284    pub email_attachment_format: Option<EmailAttachmentFormat>,
9285    /// Recording for the Unavailable Message (values from getRecordings)
9286    #[serde(skip_serializing_if = "Option::is_none")]
9287    pub unavailable_message_recording: Option<String>,
9288    /// 'yes' to enable Voicemail Transcription
9289    #[serde(
9290        skip_serializing_if = "Option::is_none",
9291        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9292    )]
9293    pub transcription: Option<bool>,
9294    /// Transcription locale code (values from getLocales, comma separated for
9295    /// more than one locale up to 10 locales)
9296    #[serde(skip_serializing_if = "Option::is_none")]
9297    pub transcription_locale: Option<String>,
9298    /// Yes for Transcription redaction (Values: 'yes'/'no')
9299    #[serde(
9300        skip_serializing_if = "Option::is_none",
9301        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9302    )]
9303    pub transcription_redaction: Option<bool>,
9304    /// Yes for Transcription sentiment (Values: 'yes'/'no')
9305    #[serde(
9306        skip_serializing_if = "Option::is_none",
9307        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9308    )]
9309    pub transcription_sentiment: Option<bool>,
9310    /// Yes for Transcription summary (Values: 'yes'/'no')
9311    #[serde(
9312        skip_serializing_if = "Option::is_none",
9313        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9314    )]
9315    pub transcription_summary: Option<bool>,
9316    /// Transcription format ( Values: 'html'/'text')
9317    #[serde(skip_serializing_if = "Option::is_none")]
9318    pub transcription_format: Option<TranscriptionFormat>,
9319}
9320
9321/// \- Signs a new Reseller Client to your Reseller Account.
9322///
9323/// Parameters for [`Client::signup_client`] (wire method `signupClient`).
9324#[derive(Debug, Default, Clone, Serialize)]
9325pub struct SignupClientParams {
9326    /// Client's Firstname (required)
9327    #[serde(skip_serializing_if = "Option::is_none")]
9328    pub firstname: Option<String>,
9329    /// Client's Lastname (required)
9330    #[serde(skip_serializing_if = "Option::is_none")]
9331    pub lastname: Option<String>,
9332    /// Client's Company
9333    #[serde(skip_serializing_if = "Option::is_none")]
9334    pub company: Option<String>,
9335    /// Client's Address (required)
9336    #[serde(skip_serializing_if = "Option::is_none")]
9337    pub address: Option<String>,
9338    /// Client's City (required)
9339    #[serde(skip_serializing_if = "Option::is_none")]
9340    pub city: Option<String>,
9341    /// Client's State (required)
9342    #[serde(skip_serializing_if = "Option::is_none")]
9343    pub state: Option<String>,
9344    /// Client's Country (Values from getCountries) (required)
9345    #[serde(skip_serializing_if = "Option::is_none")]
9346    pub country: Option<String>,
9347    /// Client's Zip Code (required)
9348    #[serde(skip_serializing_if = "Option::is_none")]
9349    pub zip: Option<String>,
9350    /// Client's Phone Number (required)
9351    #[serde(skip_serializing_if = "Option::is_none")]
9352    pub phone_number: Option<String>,
9353    /// Client's e-mail (required)
9354    #[serde(skip_serializing_if = "Option::is_none")]
9355    pub email: Option<String>,
9356    /// Client's Confirmation e-mail (required)
9357    #[serde(skip_serializing_if = "Option::is_none")]
9358    pub confirm_email: Option<String>,
9359    /// Client's Password (required)
9360    #[serde(skip_serializing_if = "Option::is_none")]
9361    pub password: Option<String>,
9362    /// Client's Confirmation Password (required)
9363    #[serde(skip_serializing_if = "Option::is_none")]
9364    pub confirm_password: Option<String>,
9365    /// Activates Client (Boolean: 1/0)
9366    #[serde(
9367        skip_serializing_if = "Option::is_none",
9368        serialize_with = "crate::responses::serialize_opt_flag_01"
9369    )]
9370    pub activate: Option<bool>,
9371    /// Balance Management for Client (Values from getBalanceManagement)
9372    #[serde(skip_serializing_if = "Option::is_none")]
9373    pub balance_management: Option<i64>,
9374}
9375
9376/// \- Unconnects specific DID from Reseller Client Sub Account.
9377///
9378/// Parameters for [`Client::unconnect_did`] (wire method `unconnectDID`).
9379#[derive(Debug, Default, Clone, Serialize)]
9380pub struct UnconnectDIDParams {
9381    /// DID to be Unconnected from Reseller Sub Account(Example: 5551234567)
9382    /// (required)
9383    #[serde(skip_serializing_if = "Option::is_none")]
9384    pub did: Option<String>,
9385}
9386
9387/// \- Unconnects specific FAX DID from Reseller Client Sub Account.
9388///
9389/// Parameters for [`Client::unconnect_fax`] (wire method `unconnectFAX`).
9390#[derive(Debug, Default, Clone, Serialize)]
9391pub struct UnconnectFAXParams {
9392    /// FAX DID to be Unconnected from Reseller Sub Account (Example:
9393    /// 5551234567) (required)
9394    #[serde(skip_serializing_if = "Option::is_none")]
9395    pub did: Option<String>,
9396}
9397
9398/// Response body for [`Client::add_charge`] (wire method `addCharge`).
9399#[derive(Debug, Clone, Default, serde::Deserialize)]
9400pub struct AddChargeResponse {
9401    #[serde(
9402        default,
9403        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9404    )]
9405    pub status: Option<String>,
9406}
9407
9408/// Response body for [`Client::add_lnp_file`] (wire method `addLNPFile`).
9409#[derive(Debug, Clone, Default, serde::Deserialize)]
9410pub struct AddLNPFileResponse {
9411    #[serde(
9412        default,
9413        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9414    )]
9415    pub status: Option<String>,
9416    #[serde(
9417        default,
9418        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9419    )]
9420    pub attachment: Option<String>,
9421}
9422
9423/// Response body for [`Client::add_lnp_port`] (wire method `addLNPPort`).
9424#[derive(Debug, Clone, Default, serde::Deserialize)]
9425pub struct AddLNPPortResponse {
9426    #[serde(
9427        default,
9428        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9429    )]
9430    pub status: Option<String>,
9431    #[serde(
9432        default,
9433        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9434    )]
9435    pub port: Option<String>,
9436}
9437
9438/// Response body for [`Client::add_member_to_conference`] (wire method `addMemberToConference`).
9439#[derive(Debug, Clone, Default, serde::Deserialize)]
9440pub struct AddMemberToConferenceResponse {
9441    #[serde(
9442        default,
9443        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9444    )]
9445    pub status: Option<String>,
9446    #[serde(
9447        default,
9448        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9449    )]
9450    pub member: Option<u64>,
9451}
9452
9453/// Response body for [`Client::add_payment`] (wire method `addPayment`).
9454#[derive(Debug, Clone, Default, serde::Deserialize)]
9455pub struct AddPaymentResponse {
9456    #[serde(
9457        default,
9458        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9459    )]
9460    pub status: Option<String>,
9461}
9462
9463/// Response body for [`Client::assign_did_vpri`] (wire method `assignDIDvPRI`).
9464#[derive(Debug, Clone, Default, serde::Deserialize)]
9465pub struct AssignDIDvPRIResponse {
9466    #[serde(
9467        default,
9468        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9469    )]
9470    pub status: Option<String>,
9471    #[serde(
9472        default,
9473        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9474    )]
9475    pub vpri: Option<u64>,
9476    #[serde(
9477        default,
9478        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9479    )]
9480    pub DIDAdded: Option<u64>,
9481    #[serde(
9482        default,
9483        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
9484    )]
9485    pub monthly: Option<rust_decimal::Decimal>,
9486}
9487
9488/// Response body for [`Client::back_order_did_can`] (wire method `backOrderDIDCAN`).
9489#[derive(Debug, Clone, Default, serde::Deserialize)]
9490pub struct BackOrderDIDCANResponse {
9491    #[serde(
9492        default,
9493        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9494    )]
9495    pub status: Option<String>,
9496}
9497
9498/// Response body for [`Client::back_order_did_usa`] (wire method `backOrderDIDUSA`).
9499#[derive(Debug, Clone, Default, serde::Deserialize)]
9500pub struct BackOrderDIDUSAResponse {
9501    #[serde(
9502        default,
9503        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9504    )]
9505    pub status: Option<String>,
9506}
9507
9508/// Response body for [`Client::cancel_did`] (wire method `cancelDID`).
9509#[derive(Debug, Clone, Default, serde::Deserialize)]
9510pub struct CancelDIDResponse {
9511    #[serde(
9512        default,
9513        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9514    )]
9515    pub status: Option<String>,
9516}
9517
9518/// Response body for [`Client::cancel_fax_number`] (wire method `cancelFaxNumber`).
9519#[derive(Debug, Clone, Default, serde::Deserialize)]
9520pub struct CancelFAXNumberResponse {
9521    #[serde(
9522        default,
9523        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9524    )]
9525    pub status: Option<String>,
9526    #[serde(
9527        default,
9528        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9529    )]
9530    pub deleted_did: Option<u64>,
9531}
9532
9533/// Response body for [`Client::connect_did`] (wire method `connectDID`).
9534#[derive(Debug, Clone, Default, serde::Deserialize)]
9535pub struct ConnectDIDResponse {
9536    #[serde(
9537        default,
9538        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9539    )]
9540    pub status: Option<String>,
9541}
9542
9543/// Response body for [`Client::connect_fax`] (wire method `connectFAX`).
9544#[derive(Debug, Clone, Default, serde::Deserialize)]
9545pub struct ConnectFAXResponse {
9546    #[serde(
9547        default,
9548        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9549    )]
9550    pub status: Option<String>,
9551}
9552
9553/// Response body for [`Client::create_sub_account`] (wire method `createSubAccount`).
9554#[derive(Debug, Clone, Default, serde::Deserialize)]
9555pub struct CreateSubAccountResponse {
9556    #[serde(
9557        default,
9558        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9559    )]
9560    pub status: Option<String>,
9561    #[serde(
9562        default,
9563        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9564    )]
9565    pub id: Option<u64>,
9566    #[serde(
9567        default,
9568        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9569    )]
9570    pub account: Option<String>,
9571}
9572
9573/// Response body for [`Client::create_voicemail`] (wire method `createVoicemail`).
9574#[derive(Debug, Clone, Default, serde::Deserialize)]
9575pub struct CreateVoicemailResponse {
9576    #[serde(
9577        default,
9578        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9579    )]
9580    pub status: Option<String>,
9581}
9582
9583/// Response body for [`Client::del_call_hunting`] (wire method `delCallHunting`).
9584#[derive(Debug, Clone, Default, serde::Deserialize)]
9585pub struct DelCallHuntingResponse {
9586    #[serde(
9587        default,
9588        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9589    )]
9590    pub status: Option<String>,
9591}
9592
9593/// Response body for [`Client::del_call_parking`] (wire method `delCallParking`).
9594#[derive(Debug, Clone, Default, serde::Deserialize)]
9595pub struct DelCallParkingResponse {
9596    #[serde(
9597        default,
9598        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9599    )]
9600    pub status: Option<String>,
9601}
9602
9603/// Response body for [`Client::del_call_recording`] (wire method `delCallRecording`).
9604#[derive(Debug, Clone, Default, serde::Deserialize)]
9605pub struct DelCallRecordingResponse {
9606    #[serde(
9607        default,
9608        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9609    )]
9610    pub status: Option<String>,
9611}
9612
9613/// Response body for [`Client::del_callback`] (wire method `delCallback`).
9614#[derive(Debug, Clone, Default, serde::Deserialize)]
9615pub struct DelCallbackResponse {
9616    #[serde(
9617        default,
9618        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9619    )]
9620    pub status: Option<String>,
9621}
9622
9623/// Response body for [`Client::del_caller_id_filtering`] (wire method `delCallerIDFiltering`).
9624#[derive(Debug, Clone, Default, serde::Deserialize)]
9625pub struct DelCallerIDFilteringResponse {
9626    #[serde(
9627        default,
9628        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9629    )]
9630    pub status: Option<String>,
9631}
9632
9633/// Response body for [`Client::del_client`] (wire method `delClient`).
9634#[derive(Debug, Clone, Default, serde::Deserialize)]
9635pub struct DelClientResponse {
9636    #[serde(
9637        default,
9638        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9639    )]
9640    pub status: Option<String>,
9641}
9642
9643/// Response body for [`Client::del_conference`] (wire method `delConference`).
9644#[derive(Debug, Clone, Default, serde::Deserialize)]
9645pub struct DelConferenceResponse {
9646    #[serde(
9647        default,
9648        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9649    )]
9650    pub status: Option<String>,
9651}
9652
9653/// Response body for [`Client::del_conference_member`] (wire method `delConferenceMember`).
9654#[derive(Debug, Clone, Default, serde::Deserialize)]
9655pub struct DelConferenceMemberResponse {
9656    #[serde(
9657        default,
9658        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9659    )]
9660    pub status: Option<String>,
9661}
9662
9663/// Response body for [`Client::del_disa`] (wire method `delDISA`).
9664#[derive(Debug, Clone, Default, serde::Deserialize)]
9665pub struct DelDISAResponse {
9666    #[serde(
9667        default,
9668        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9669    )]
9670    pub status: Option<String>,
9671}
9672
9673/// Response body for [`Client::del_email_to_fax`] (wire method `delEmailToFax`).
9674#[derive(Debug, Clone, Default, serde::Deserialize)]
9675pub struct DelEmailToFAXResponse {
9676    #[serde(
9677        default,
9678        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9679    )]
9680    pub status: Option<String>,
9681}
9682
9683/// Response body for [`Client::del_fax_folder`] (wire method `delFaxFolder`).
9684#[derive(Debug, Clone, Default, serde::Deserialize)]
9685pub struct DelFAXFolderResponse {
9686    #[serde(
9687        default,
9688        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9689    )]
9690    pub status: Option<String>,
9691}
9692
9693/// Response body for [`Client::del_forwarding`] (wire method `delForwarding`).
9694#[derive(Debug, Clone, Default, serde::Deserialize)]
9695pub struct DelForwardingResponse {
9696    #[serde(
9697        default,
9698        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9699    )]
9700    pub status: Option<String>,
9701}
9702
9703/// Response body for [`Client::del_ivr`] (wire method `delIVR`).
9704#[derive(Debug, Clone, Default, serde::Deserialize)]
9705pub struct DelIVRResponse {
9706    #[serde(
9707        default,
9708        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9709    )]
9710    pub status: Option<String>,
9711}
9712
9713/// Response body for [`Client::del_location`] (wire method `delLocation`).
9714#[derive(Debug, Clone, Default, serde::Deserialize)]
9715pub struct DelLocationResponse {
9716    #[serde(
9717        default,
9718        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9719    )]
9720    pub status: Option<String>,
9721}
9722
9723/// Response body for [`Client::del_member_from_conference`] (wire method `delMemberFromConference`).
9724#[derive(Debug, Clone, Default, serde::Deserialize)]
9725pub struct DelMemberFromConferenceResponse {
9726    #[serde(
9727        default,
9728        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9729    )]
9730    pub status: Option<String>,
9731}
9732
9733/// Response body for [`Client::del_messages`] (wire method `delMessages`).
9734#[derive(Debug, Clone, Default, serde::Deserialize)]
9735pub struct DelMessagesResponse {
9736    #[serde(
9737        default,
9738        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9739    )]
9740    pub status: Option<String>,
9741}
9742
9743/// Response body for [`Client::del_music_on_hold`] (wire method `delMusicOnHold`).
9744#[derive(Debug, Clone, Default, serde::Deserialize)]
9745pub struct DelMusicOnHoldResponse {
9746    #[serde(
9747        default,
9748        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9749    )]
9750    pub status: Option<String>,
9751}
9752
9753/// Response body for [`Client::del_phonebook`] (wire method `delPhonebook`).
9754#[derive(Debug, Clone, Default, serde::Deserialize)]
9755pub struct DelPhonebookResponse {
9756    #[serde(
9757        default,
9758        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9759    )]
9760    pub status: Option<String>,
9761}
9762
9763/// Response body for [`Client::del_phonebook_group`] (wire method `delPhonebookGroup`).
9764#[derive(Debug, Clone, Default, serde::Deserialize)]
9765pub struct DelPhonebookGroupResponse {
9766    #[serde(
9767        default,
9768        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9769    )]
9770    pub status: Option<String>,
9771}
9772
9773/// Response body for [`Client::del_queue`] (wire method `delQueue`).
9774#[derive(Debug, Clone, Default, serde::Deserialize)]
9775pub struct DelQueueResponse {
9776    #[serde(
9777        default,
9778        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9779    )]
9780    pub status: Option<String>,
9781}
9782
9783/// Response body for [`Client::del_recording`] (wire method `delRecording`).
9784#[derive(Debug, Clone, Default, serde::Deserialize)]
9785pub struct DelRecordingResponse {
9786    #[serde(
9787        default,
9788        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9789    )]
9790    pub status: Option<String>,
9791}
9792
9793/// Response body for [`Client::del_ring_group`] (wire method `delRingGroup`).
9794#[derive(Debug, Clone, Default, serde::Deserialize)]
9795pub struct DelRingGroupResponse {
9796    #[serde(
9797        default,
9798        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9799    )]
9800    pub status: Option<String>,
9801}
9802
9803/// Response body for [`Client::del_sip_uri`] (wire method `delSIPURI`).
9804#[derive(Debug, Clone, Default, serde::Deserialize)]
9805pub struct DelSIPURIResponse {
9806    #[serde(
9807        default,
9808        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9809    )]
9810    pub status: Option<String>,
9811}
9812
9813/// Response body for [`Client::del_static_member`] (wire method `delStaticMember`).
9814#[derive(Debug, Clone, Default, serde::Deserialize)]
9815pub struct DelStaticMemberResponse {
9816    #[serde(
9817        default,
9818        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9819    )]
9820    pub status: Option<String>,
9821}
9822
9823/// Response body for [`Client::del_sub_account`] (wire method `delSubAccount`).
9824#[derive(Debug, Clone, Default, serde::Deserialize)]
9825pub struct DelSubAccountResponse {
9826    #[serde(
9827        default,
9828        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9829    )]
9830    pub status: Option<String>,
9831}
9832
9833/// Response body for [`Client::del_time_condition`] (wire method `delTimeCondition`).
9834#[derive(Debug, Clone, Default, serde::Deserialize)]
9835pub struct DelTimeConditionResponse {
9836    #[serde(
9837        default,
9838        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9839    )]
9840    pub status: Option<String>,
9841}
9842
9843/// Response body for [`Client::del_voicemail`] (wire method `delVoicemail`).
9844#[derive(Debug, Clone, Default, serde::Deserialize)]
9845pub struct DelVoicemailResponse {
9846    #[serde(
9847        default,
9848        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9849    )]
9850    pub status: Option<String>,
9851}
9852
9853/// Response body for [`Client::delete_fax_message`] (wire method `deleteFaxMessage`).
9854#[derive(Debug, Clone, Default, serde::Deserialize)]
9855pub struct DeleteFAXMessageResponse {
9856    #[serde(
9857        default,
9858        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9859    )]
9860    pub status: Option<String>,
9861}
9862
9863/// Response body for [`Client::delete_mms`] (wire method `deleteMMS`).
9864#[derive(Debug, Clone, Default, serde::Deserialize)]
9865pub struct DeleteMMSResponse {
9866    #[serde(
9867        default,
9868        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9869    )]
9870    pub status: Option<String>,
9871}
9872
9873/// Response body for [`Client::delete_sms`] (wire method `deleteSMS`).
9874#[derive(Debug, Clone, Default, serde::Deserialize)]
9875pub struct DeleteSMSResponse {
9876    #[serde(
9877        default,
9878        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9879    )]
9880    pub status: Option<String>,
9881}
9882
9883/// Response body for [`Client::e911_address_types`] (wire method `e911AddressTypes`).
9884#[derive(Debug, Clone, Default, serde::Deserialize)]
9885pub struct E911AddressTypesResponse {
9886    #[serde(
9887        default,
9888        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9889    )]
9890    pub status: Option<String>,
9891    #[serde(
9892        default,
9893        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9894    )]
9895    pub types: Option<String>,
9896    #[serde(
9897        default,
9898        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9899    )]
9900    pub value: Option<String>,
9901    #[serde(
9902        default,
9903        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9904    )]
9905    pub description: Option<String>,
9906}
9907
9908/// Response body for [`Client::e911_cancel`] (wire method `e911Cancel`).
9909#[derive(Debug, Clone, Default, serde::Deserialize)]
9910pub struct E911CancelResponse {
9911    #[serde(
9912        default,
9913        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9914    )]
9915    pub status: Option<String>,
9916}
9917
9918/// Response body for [`Client::e911_info`] (wire method `e911Info`).
9919#[derive(Debug, Clone, Default, serde::Deserialize)]
9920pub struct E911InfoResponse {
9921    #[serde(
9922        default,
9923        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9924    )]
9925    pub status: Option<String>,
9926    #[serde(
9927        default,
9928        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9929    )]
9930    pub info: Option<String>,
9931    #[serde(
9932        default,
9933        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9934    )]
9935    pub did: Option<String>,
9936    #[serde(
9937        default,
9938        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9939    )]
9940    pub full_name: Option<String>,
9941    #[serde(
9942        default,
9943        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9944    )]
9945    pub street_number: Option<String>,
9946    #[serde(
9947        default,
9948        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9949    )]
9950    pub street_name: Option<String>,
9951    #[serde(
9952        default,
9953        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9954    )]
9955    pub address_type: Option<String>,
9956    #[serde(
9957        default,
9958        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9959    )]
9960    pub address_number: Option<String>,
9961    #[serde(
9962        default,
9963        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9964    )]
9965    pub city: Option<String>,
9966    #[serde(
9967        default,
9968        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9969    )]
9970    pub state: Option<String>,
9971    #[serde(
9972        default,
9973        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9974    )]
9975    pub zip_code: Option<String>,
9976    #[serde(
9977        default,
9978        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9979    )]
9980    pub country: Option<String>,
9981    #[serde(
9982        default,
9983        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9984    )]
9985    pub language: Option<String>,
9986    #[serde(
9987        default,
9988        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9989    )]
9990    pub email: Option<String>,
9991    #[serde(
9992        default,
9993        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9994    )]
9995    pub other_info: Option<String>,
9996}
9997
9998/// Response body for [`Client::e911_provision`] (wire method `e911Provision`).
9999#[derive(Debug, Clone, Default, serde::Deserialize)]
10000pub struct E911ProvisionResponse {
10001    #[serde(
10002        default,
10003        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10004    )]
10005    pub status: Option<String>,
10006}
10007
10008/// Response body for [`Client::e911_provision_manually`] (wire method `e911ProvisionManually`).
10009#[derive(Debug, Clone, Default, serde::Deserialize)]
10010pub struct E911ProvisionManuallyResponse {
10011    #[serde(
10012        default,
10013        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10014    )]
10015    pub status: Option<String>,
10016}
10017
10018/// Response body for [`Client::e911_update`] (wire method `e911Update`).
10019#[derive(Debug, Clone, Default, serde::Deserialize)]
10020pub struct E911UpdateResponse {
10021    #[serde(
10022        default,
10023        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10024    )]
10025    pub status: Option<String>,
10026}
10027
10028/// Response body for [`Client::e911_validate`] (wire method `e911Validate`).
10029#[derive(Debug, Clone, Default, serde::Deserialize)]
10030pub struct E911ValidateResponse {
10031    #[serde(
10032        default,
10033        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10034    )]
10035    pub status: Option<String>,
10036}
10037
10038/// Response body for [`Client::get_allowed_codecs`] (wire method `getAllowedCodecs`).
10039#[derive(Debug, Clone, Default, serde::Deserialize)]
10040pub struct GetAllowedCodecsResponseAllowedCodec {
10041    #[serde(
10042        default,
10043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10044    )]
10045    pub value: Option<String>,
10046    #[serde(
10047        default,
10048        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10049    )]
10050    pub description: Option<String>,
10051}
10052
10053#[derive(Debug, Clone, Default, serde::Deserialize)]
10054pub struct GetAllowedCodecsResponse {
10055    #[serde(
10056        default,
10057        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10058    )]
10059    pub status: Option<String>,
10060    #[serde(default)]
10061    pub allowed_codecs: Option<Vec<GetAllowedCodecsResponseAllowedCodec>>,
10062}
10063
10064/// Response body for [`Client::get_auth_types`] (wire method `getAuthTypes`).
10065#[derive(Debug, Clone, Default, serde::Deserialize)]
10066pub struct GetAuthTypesResponseAuthType {
10067    #[serde(
10068        default,
10069        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10070    )]
10071    pub value: Option<u64>,
10072    #[serde(
10073        default,
10074        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10075    )]
10076    pub description: Option<String>,
10077}
10078
10079#[derive(Debug, Clone, Default, serde::Deserialize)]
10080pub struct GetAuthTypesResponse {
10081    #[serde(
10082        default,
10083        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10084    )]
10085    pub status: Option<String>,
10086    #[serde(default)]
10087    pub auth_types: Option<Vec<GetAuthTypesResponseAuthType>>,
10088}
10089
10090/// Response body for [`Client::get_back_orders`] (wire method `getBackOrders`).
10091#[derive(Debug, Clone, Default, serde::Deserialize)]
10092pub struct GetBackOrdersResponseBackOrder {
10093    #[serde(
10094        default,
10095        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10096    )]
10097    pub id: Option<u64>,
10098    #[serde(
10099        default,
10100        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10101    )]
10102    pub description: Option<String>,
10103    #[serde(
10104        default,
10105        deserialize_with = "crate::responses::deserialize_opt_routing"
10106    )]
10107    pub routing: Option<crate::Routing>,
10108    #[serde(
10109        default,
10110        deserialize_with = "crate::responses::deserialize_opt_routing"
10111    )]
10112    pub failover_busy: Option<crate::Routing>,
10113    #[serde(
10114        default,
10115        deserialize_with = "crate::responses::deserialize_opt_routing"
10116    )]
10117    pub failover_unreachable: Option<crate::Routing>,
10118    #[serde(
10119        default,
10120        deserialize_with = "crate::responses::deserialize_opt_routing"
10121    )]
10122    pub failover_noanswer: Option<crate::Routing>,
10123    #[serde(
10124        default,
10125        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10126    )]
10127    pub voicemail: Option<u64>,
10128    #[serde(
10129        default,
10130        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10131    )]
10132    pub pop: Option<u64>,
10133    #[serde(
10134        default,
10135        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10136    )]
10137    pub dialtime: Option<u64>,
10138    #[serde(
10139        default,
10140        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10141    )]
10142    pub cnam: Option<u64>,
10143    #[serde(default, deserialize_with = "deserialize_opt_did_billing_type")]
10144    pub billing_type: Option<DidBillingType>,
10145    #[serde(
10146        default,
10147        deserialize_with = "crate::responses::deserialize_opt_datetime"
10148    )]
10149    pub order_date: Option<chrono::NaiveDateTime>,
10150}
10151
10152#[derive(Debug, Clone, Default, serde::Deserialize)]
10153pub struct GetBackOrdersResponse {
10154    #[serde(
10155        default,
10156        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10157    )]
10158    pub status: Option<String>,
10159    #[serde(
10160        default,
10161        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10162    )]
10163    pub quantity: Option<u64>,
10164    #[serde(default)]
10165    pub back_orders: Option<Vec<GetBackOrdersResponseBackOrder>>,
10166}
10167
10168/// Response body for [`Client::get_balance`] (wire method `getBalance`).
10169#[derive(Debug, Clone, Default, serde::Deserialize)]
10170pub struct GetBalanceResponseBalance {
10171    #[serde(
10172        default,
10173        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10174    )]
10175    pub current_balance: Option<rust_decimal::Decimal>,
10176    #[serde(
10177        default,
10178        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10179    )]
10180    pub spent_total: Option<rust_decimal::Decimal>,
10181    #[serde(
10182        default,
10183        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10184    )]
10185    pub calls_total: Option<u64>,
10186    #[serde(
10187        default,
10188        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10189    )]
10190    pub time_total: Option<String>,
10191    #[serde(
10192        default,
10193        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10194    )]
10195    pub spent_today: Option<rust_decimal::Decimal>,
10196    #[serde(
10197        default,
10198        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10199    )]
10200    pub calls_today: Option<u64>,
10201    #[serde(
10202        default,
10203        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10204    )]
10205    pub time_today: Option<String>,
10206}
10207
10208#[derive(Debug, Clone, Default, serde::Deserialize)]
10209pub struct GetBalanceResponse {
10210    #[serde(
10211        default,
10212        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10213    )]
10214    pub status: Option<String>,
10215    #[serde(default)]
10216    pub balance: Option<GetBalanceResponseBalance>,
10217}
10218
10219/// Response body for [`Client::get_balance_management`] (wire method `getBalanceManagement`).
10220#[derive(Debug, Clone, Default, serde::Deserialize)]
10221pub struct GetBalanceManagementResponseBalanceManagement {
10222    #[serde(
10223        default,
10224        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10225    )]
10226    pub value: Option<u64>,
10227    #[serde(
10228        default,
10229        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10230    )]
10231    pub description: Option<String>,
10232}
10233
10234#[derive(Debug, Clone, Default, serde::Deserialize)]
10235pub struct GetBalanceManagementResponse {
10236    #[serde(
10237        default,
10238        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10239    )]
10240    pub status: Option<String>,
10241    #[serde(default)]
10242    pub balance_management: Option<Vec<GetBalanceManagementResponseBalanceManagement>>,
10243}
10244
10245/// Response body for [`Client::get_cdr`] (wire method `getCDR`).
10246#[derive(Debug, Clone, Default, serde::Deserialize)]
10247pub struct GetCDRResponseCDR {
10248    #[serde(
10249        default,
10250        deserialize_with = "crate::responses::deserialize_opt_datetime"
10251    )]
10252    pub date: Option<chrono::NaiveDateTime>,
10253    #[serde(
10254        default,
10255        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10256    )]
10257    pub callerid: Option<String>,
10258    #[serde(
10259        default,
10260        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10261    )]
10262    pub destination: Option<u64>,
10263    #[serde(
10264        default,
10265        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10266    )]
10267    pub description: Option<String>,
10268    #[serde(
10269        default,
10270        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10271    )]
10272    pub account: Option<String>,
10273    #[serde(
10274        default,
10275        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10276    )]
10277    pub disposition: Option<String>,
10278    #[serde(
10279        default,
10280        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10281    )]
10282    pub duration: Option<String>,
10283    #[serde(
10284        default,
10285        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10286    )]
10287    pub seconds: Option<u64>,
10288    #[serde(
10289        default,
10290        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10291    )]
10292    pub rate: Option<rust_decimal::Decimal>,
10293    #[serde(
10294        default,
10295        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10296    )]
10297    pub total: Option<rust_decimal::Decimal>,
10298    #[serde(
10299        default,
10300        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10301    )]
10302    pub uniqueid: Option<u64>,
10303    #[serde(
10304        default,
10305        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10306    )]
10307    pub destination_type: Option<String>,
10308    #[serde(
10309        default,
10310        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10311    )]
10312    pub call_logs: Option<String>,
10313}
10314
10315#[derive(Debug, Clone, Default, serde::Deserialize)]
10316pub struct GetCDRResponse {
10317    #[serde(
10318        default,
10319        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10320    )]
10321    pub status: Option<String>,
10322    #[serde(default)]
10323    pub cdr: Option<Vec<GetCDRResponseCDR>>,
10324}
10325
10326/// Response body for [`Client::get_call_accounts`] (wire method `getCallAccounts`).
10327#[derive(Debug, Clone, Default, serde::Deserialize)]
10328pub struct GetCallAccountsResponseAccount {
10329    #[serde(
10330        default,
10331        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10332    )]
10333    pub value: Option<String>,
10334    #[serde(
10335        default,
10336        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10337    )]
10338    pub description: Option<String>,
10339}
10340
10341#[derive(Debug, Clone, Default, serde::Deserialize)]
10342pub struct GetCallAccountsResponse {
10343    #[serde(
10344        default,
10345        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10346    )]
10347    pub status: Option<String>,
10348    #[serde(default)]
10349    pub accounts: Option<Vec<GetCallAccountsResponseAccount>>,
10350}
10351
10352/// Response body for [`Client::get_call_billing`] (wire method `getCallBilling`).
10353#[derive(Debug, Clone, Default, serde::Deserialize)]
10354pub struct GetCallBillingResponseCallBilling {
10355    #[serde(
10356        default,
10357        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10358    )]
10359    pub value: Option<String>,
10360    #[serde(
10361        default,
10362        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10363    )]
10364    pub description: Option<String>,
10365}
10366
10367#[derive(Debug, Clone, Default, serde::Deserialize)]
10368pub struct GetCallBillingResponse {
10369    #[serde(
10370        default,
10371        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10372    )]
10373    pub status: Option<String>,
10374    #[serde(default)]
10375    pub call_billing: Option<Vec<GetCallBillingResponseCallBilling>>,
10376}
10377
10378/// Response body for [`Client::get_call_huntings`] (wire method `getCallHuntings`).
10379#[derive(Debug, Clone, Default, serde::Deserialize)]
10380pub struct GetCallHuntingsResponseCallHunting {
10381    #[serde(
10382        default,
10383        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10384    )]
10385    pub callhunting: Option<u64>,
10386    #[serde(
10387        default,
10388        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10389    )]
10390    pub description: Option<String>,
10391    #[serde(
10392        default,
10393        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10394    )]
10395    pub members: Option<String>,
10396    #[serde(
10397        default,
10398        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10399    )]
10400    pub ring_time: Option<String>,
10401    #[serde(default, deserialize_with = "deserialize_opt_ring_group_order")]
10402    pub order: Option<RingGroupOrder>,
10403    #[serde(
10404        default,
10405        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10406    )]
10407    pub press: Option<String>,
10408    #[serde(
10409        default,
10410        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10411    )]
10412    pub music: Option<String>,
10413    #[serde(
10414        default,
10415        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10416    )]
10417    pub recording: Option<String>,
10418    #[serde(
10419        default,
10420        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10421    )]
10422    pub language: Option<String>,
10423}
10424
10425#[derive(Debug, Clone, Default, serde::Deserialize)]
10426pub struct GetCallHuntingsResponse {
10427    #[serde(
10428        default,
10429        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10430    )]
10431    pub status: Option<String>,
10432    #[serde(default)]
10433    pub call_hunting: Option<Vec<GetCallHuntingsResponseCallHunting>>,
10434}
10435
10436/// Response body for [`Client::get_call_parking`] (wire method `getCallParking`).
10437#[derive(Debug, Clone, Default, serde::Deserialize)]
10438pub struct GetCallParkingResponseCallHunting {
10439    #[serde(
10440        default,
10441        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10442    )]
10443    pub callparking: Option<u64>,
10444    #[serde(
10445        default,
10446        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10447    )]
10448    pub name: Option<String>,
10449    #[serde(
10450        default,
10451        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10452    )]
10453    pub timeout: Option<u64>,
10454    #[serde(
10455        default,
10456        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10457    )]
10458    pub musiconhold: Option<String>,
10459    #[serde(
10460        default,
10461        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10462    )]
10463    pub failover: Option<String>,
10464    #[serde(
10465        default,
10466        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10467    )]
10468    pub language: Option<String>,
10469    #[serde(
10470        default,
10471        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10472    )]
10473    pub destination: Option<String>,
10474    #[serde(
10475        default,
10476        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10477    )]
10478    pub delay: Option<u64>,
10479    #[serde(
10480        default,
10481        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10482    )]
10483    pub blf_lamps: Option<u64>,
10484}
10485
10486#[derive(Debug, Clone, Default, serde::Deserialize)]
10487pub struct GetCallParkingResponse {
10488    #[serde(
10489        default,
10490        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10491    )]
10492    pub status: Option<String>,
10493    #[serde(default)]
10494    pub call_hunting: Option<Vec<GetCallParkingResponseCallHunting>>,
10495}
10496
10497/// Response body for [`Client::get_call_recording`] (wire method `getCallRecording`).
10498#[derive(Debug, Clone, Default, serde::Deserialize)]
10499pub struct GetCallRecordingResponse {
10500    #[serde(
10501        default,
10502        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10503    )]
10504    pub status: Option<String>,
10505    #[serde(
10506        default,
10507        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10508    )]
10509    pub callrecording: Option<String>,
10510    #[serde(
10511        default,
10512        deserialize_with = "crate::responses::deserialize_opt_datetime"
10513    )]
10514    pub datetime: Option<chrono::NaiveDateTime>,
10515    #[serde(
10516        default,
10517        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10518    )]
10519    pub destination: Option<u64>,
10520    #[serde(
10521        default,
10522        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
10523        rename = "type"
10524    )]
10525    pub r#type: Option<String>,
10526    #[serde(
10527        default,
10528        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10529    )]
10530    pub subaccount: Option<u64>,
10531    #[serde(
10532        default,
10533        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10534    )]
10535    pub duration: Option<String>,
10536    #[serde(
10537        default,
10538        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10539    )]
10540    pub base64file: Option<String>,
10541}
10542
10543/// Response body for [`Client::get_call_recordings`] (wire method `getCallRecordings`).
10544#[derive(Debug, Clone, Default, serde::Deserialize)]
10545pub struct GetCallRecordingsResponseRecording {
10546    #[serde(
10547        default,
10548        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10549    )]
10550    pub callrecording: Option<String>,
10551    #[serde(
10552        default,
10553        deserialize_with = "crate::responses::deserialize_opt_datetime"
10554    )]
10555    pub datetime: Option<chrono::NaiveDateTime>,
10556    #[serde(
10557        default,
10558        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10559    )]
10560    pub destination: Option<u64>,
10561    #[serde(
10562        default,
10563        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
10564        rename = "type"
10565    )]
10566    pub r#type: Option<String>,
10567    #[serde(
10568        default,
10569        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10570    )]
10571    pub subaccount: Option<u64>,
10572    #[serde(
10573        default,
10574        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10575    )]
10576    pub duration: Option<String>,
10577}
10578
10579#[derive(Debug, Clone, Default, serde::Deserialize)]
10580pub struct GetCallRecordingsResponse {
10581    #[serde(
10582        default,
10583        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10584    )]
10585    pub status: Option<String>,
10586    #[serde(default)]
10587    pub recordings: Option<Vec<GetCallRecordingsResponseRecording>>,
10588}
10589
10590/// Response body for [`Client::get_call_transcriptions`] (wire method `getCallTranscriptions`).
10591#[derive(Debug, Clone, Default, serde::Deserialize)]
10592pub struct GetCallTranscriptionsResponseTranscriptionRecognizedPhrase {
10593    #[serde(
10594        default,
10595        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10596    )]
10597    pub time: Option<String>,
10598    #[serde(
10599        default,
10600        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10601    )]
10602    pub duration: Option<rust_decimal::Decimal>,
10603    #[serde(
10604        default,
10605        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10606    )]
10607    pub speaker: Option<u64>,
10608    #[serde(
10609        default,
10610        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10611    )]
10612    pub phrase: Option<String>,
10613}
10614
10615#[derive(Debug, Clone, Default, serde::Deserialize)]
10616pub struct GetCallTranscriptionsResponseTranscription {
10617    #[serde(
10618        default,
10619        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10620    )]
10621    pub date: Option<String>,
10622    #[serde(
10623        default,
10624        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10625    )]
10626    pub duration: Option<String>,
10627    #[serde(default)]
10628    pub speakers: Option<Vec<String>>,
10629    #[serde(
10630        default,
10631        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10632    )]
10633    pub locale: Option<String>,
10634    #[serde(
10635        default,
10636        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10637    )]
10638    pub confidence: Option<String>,
10639    #[serde(default)]
10640    pub recognized_phrases: Option<Vec<GetCallTranscriptionsResponseTranscriptionRecognizedPhrase>>,
10641}
10642
10643#[derive(Debug, Clone, Default, serde::Deserialize)]
10644pub struct GetCallTranscriptionsResponse {
10645    #[serde(
10646        default,
10647        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10648    )]
10649    pub status: Option<String>,
10650    #[serde(default)]
10651    pub transcriptions: Option<Vec<GetCallTranscriptionsResponseTranscription>>,
10652}
10653
10654/// Response body for [`Client::get_call_types`] (wire method `getCallTypes`).
10655#[derive(Debug, Clone, Default, serde::Deserialize)]
10656pub struct GetCallTypesResponseCallType {
10657    #[serde(
10658        default,
10659        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10660    )]
10661    pub value: Option<String>,
10662    #[serde(
10663        default,
10664        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10665    )]
10666    pub description: Option<String>,
10667}
10668
10669#[derive(Debug, Clone, Default, serde::Deserialize)]
10670pub struct GetCallTypesResponse {
10671    #[serde(
10672        default,
10673        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10674    )]
10675    pub status: Option<String>,
10676    #[serde(default)]
10677    pub call_types: Option<Vec<GetCallTypesResponseCallType>>,
10678}
10679
10680/// Response body for [`Client::get_callbacks`] (wire method `getCallbacks`).
10681#[derive(Debug, Clone, Default, serde::Deserialize)]
10682pub struct GetCallbacksResponseCallback {
10683    #[serde(
10684        default,
10685        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10686    )]
10687    pub callback: Option<u64>,
10688    #[serde(
10689        default,
10690        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10691    )]
10692    pub description: Option<String>,
10693    #[serde(
10694        default,
10695        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10696    )]
10697    pub number: Option<u64>,
10698    #[serde(
10699        default,
10700        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10701    )]
10702    pub delay_before: Option<u64>,
10703    #[serde(
10704        default,
10705        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10706    )]
10707    pub response_timeout: Option<u64>,
10708    #[serde(
10709        default,
10710        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10711    )]
10712    pub digit_timeout: Option<u64>,
10713    #[serde(
10714        default,
10715        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10716    )]
10717    pub callerid_number: Option<u64>,
10718}
10719
10720#[derive(Debug, Clone, Default, serde::Deserialize)]
10721pub struct GetCallbacksResponse {
10722    #[serde(
10723        default,
10724        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10725    )]
10726    pub status: Option<String>,
10727    #[serde(default)]
10728    pub callbacks: Option<Vec<GetCallbacksResponseCallback>>,
10729}
10730
10731/// Response body for [`Client::get_caller_id_filtering`] (wire method `getCallerIDFiltering`).
10732#[derive(Debug, Clone, Default, serde::Deserialize)]
10733pub struct GetCallerIDFilteringResponseFiltering {
10734    #[serde(
10735        default,
10736        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10737    )]
10738    pub filtering: Option<u64>,
10739    #[serde(
10740        default,
10741        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10742    )]
10743    pub callerid: Option<u64>,
10744    #[serde(
10745        default,
10746        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10747    )]
10748    pub did: Option<u64>,
10749    #[serde(
10750        default,
10751        deserialize_with = "crate::responses::deserialize_opt_routing"
10752    )]
10753    pub routing: Option<crate::Routing>,
10754    #[serde(
10755        default,
10756        deserialize_with = "crate::responses::deserialize_opt_routing"
10757    )]
10758    pub failover_unreachable: Option<crate::Routing>,
10759    #[serde(
10760        default,
10761        deserialize_with = "crate::responses::deserialize_opt_routing"
10762    )]
10763    pub failover_busy: Option<crate::Routing>,
10764    #[serde(
10765        default,
10766        deserialize_with = "crate::responses::deserialize_opt_routing"
10767    )]
10768    pub failover_noanswer: Option<crate::Routing>,
10769    #[serde(
10770        default,
10771        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10772    )]
10773    pub note: Option<String>,
10774}
10775
10776#[derive(Debug, Clone, Default, serde::Deserialize)]
10777pub struct GetCallerIDFilteringResponse {
10778    #[serde(
10779        default,
10780        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10781    )]
10782    pub status: Option<String>,
10783    #[serde(default)]
10784    pub filtering: Option<Vec<GetCallerIDFilteringResponseFiltering>>,
10785}
10786
10787/// Response body for [`Client::get_carriers`] (wire method `getCarriers`).
10788#[derive(Debug, Clone, Default, serde::Deserialize)]
10789pub struct GetCarriersResponseCarrier {
10790    #[serde(
10791        default,
10792        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10793    )]
10794    pub value: Option<u64>,
10795    #[serde(
10796        default,
10797        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10798    )]
10799    pub description: Option<String>,
10800}
10801
10802#[derive(Debug, Clone, Default, serde::Deserialize)]
10803pub struct GetCarriersResponse {
10804    #[serde(
10805        default,
10806        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10807    )]
10808    pub status: Option<String>,
10809    #[serde(default)]
10810    pub carriers: Option<Vec<GetCarriersResponseCarrier>>,
10811}
10812
10813/// Response body for [`Client::get_charges`] (wire method `getCharges`).
10814#[derive(Debug, Clone, Default, serde::Deserialize)]
10815pub struct GetChargesResponseCharge {
10816    #[serde(
10817        default,
10818        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10819    )]
10820    pub id: Option<u64>,
10821    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
10822    pub date: Option<chrono::NaiveDate>,
10823    #[serde(
10824        default,
10825        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10826    )]
10827    pub amount: Option<rust_decimal::Decimal>,
10828    #[serde(
10829        default,
10830        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10831    )]
10832    pub description: Option<String>,
10833}
10834
10835#[derive(Debug, Clone, Default, serde::Deserialize)]
10836pub struct GetChargesResponse {
10837    #[serde(
10838        default,
10839        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10840    )]
10841    pub status: Option<String>,
10842    #[serde(default)]
10843    pub charges: Option<Vec<GetChargesResponseCharge>>,
10844}
10845
10846/// Response body for [`Client::get_client_packages`] (wire method `getClientPackages`).
10847#[derive(Debug, Clone, Default, serde::Deserialize)]
10848pub struct GetClientPackagesResponsePackage {
10849    #[serde(
10850        default,
10851        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10852    )]
10853    pub value: Option<u64>,
10854    #[serde(
10855        default,
10856        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10857    )]
10858    pub description: Option<String>,
10859}
10860
10861#[derive(Debug, Clone, Default, serde::Deserialize)]
10862pub struct GetClientPackagesResponse {
10863    #[serde(
10864        default,
10865        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10866    )]
10867    pub status: Option<String>,
10868    #[serde(default)]
10869    pub packages: Option<Vec<GetClientPackagesResponsePackage>>,
10870}
10871
10872/// Response body for [`Client::get_client_threshold`] (wire method `getClientThreshold`).
10873#[derive(Debug, Clone, Default, serde::Deserialize)]
10874pub struct GetClientThresholdResponseThresholdInformation {
10875    #[serde(
10876        default,
10877        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10878    )]
10879    pub threshold: Option<u64>,
10880    #[serde(
10881        default,
10882        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10883    )]
10884    pub email: Option<String>,
10885}
10886
10887#[derive(Debug, Clone, Default, serde::Deserialize)]
10888pub struct GetClientThresholdResponse {
10889    #[serde(
10890        default,
10891        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10892    )]
10893    pub status: Option<String>,
10894    #[serde(default)]
10895    pub threshold_information: Option<GetClientThresholdResponseThresholdInformation>,
10896}
10897
10898/// Response body for [`Client::get_clients`] (wire method `getClients`).
10899#[derive(Debug, Clone, Default, serde::Deserialize)]
10900pub struct GetClientsResponseClient {
10901    #[serde(
10902        default,
10903        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10904    )]
10905    pub client: Option<u64>,
10906    #[serde(
10907        default,
10908        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10909    )]
10910    pub email: Option<String>,
10911    #[serde(
10912        default,
10913        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10914    )]
10915    pub password: Option<String>,
10916    #[serde(
10917        default,
10918        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10919    )]
10920    pub company: Option<String>,
10921    #[serde(
10922        default,
10923        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10924    )]
10925    pub firstname: Option<String>,
10926    #[serde(
10927        default,
10928        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10929    )]
10930    pub lastname: Option<String>,
10931    #[serde(
10932        default,
10933        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10934    )]
10935    pub address: Option<String>,
10936    #[serde(
10937        default,
10938        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10939    )]
10940    pub city: Option<String>,
10941    #[serde(
10942        default,
10943        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10944    )]
10945    pub state: Option<String>,
10946    #[serde(
10947        default,
10948        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10949    )]
10950    pub country: Option<String>,
10951    #[serde(
10952        default,
10953        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10954    )]
10955    pub zip: Option<u64>,
10956    #[serde(
10957        default,
10958        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10959    )]
10960    pub phone_number: Option<u64>,
10961    #[serde(
10962        default,
10963        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10964    )]
10965    pub balance_management: Option<u64>,
10966}
10967
10968#[derive(Debug, Clone, Default, serde::Deserialize)]
10969pub struct GetClientsResponse {
10970    #[serde(
10971        default,
10972        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10973    )]
10974    pub status: Option<String>,
10975    #[serde(default)]
10976    pub clients: Option<Vec<GetClientsResponseClient>>,
10977}
10978
10979/// Response body for [`Client::get_conference`] (wire method `getConference`).
10980#[derive(Debug, Clone, Default, serde::Deserialize)]
10981pub struct GetConferenceResponseConference {
10982    #[serde(
10983        default,
10984        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10985    )]
10986    pub conference: Option<u64>,
10987    #[serde(
10988        default,
10989        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10990    )]
10991    pub name: Option<String>,
10992    #[serde(
10993        default,
10994        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10995    )]
10996    pub description: Option<String>,
10997    #[serde(
10998        default,
10999        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11000    )]
11001    pub max_members: Option<u64>,
11002    #[serde(
11003        default,
11004        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11005    )]
11006    pub sound_join: Option<u64>,
11007    #[serde(
11008        default,
11009        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11010    )]
11011    pub sound_leave: Option<u64>,
11012    #[serde(
11013        default,
11014        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11015    )]
11016    pub sound_has_joined: Option<u64>,
11017    #[serde(
11018        default,
11019        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11020    )]
11021    pub sound_has_left: Option<u64>,
11022    #[serde(
11023        default,
11024        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11025    )]
11026    pub sound_kicked: Option<u64>,
11027    #[serde(
11028        default,
11029        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11030    )]
11031    pub sound_muted: Option<u64>,
11032    #[serde(
11033        default,
11034        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11035    )]
11036    pub sound_unmuted: Option<u64>,
11037    #[serde(
11038        default,
11039        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11040    )]
11041    pub sound_only_person: Option<u64>,
11042    #[serde(
11043        default,
11044        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11045    )]
11046    pub sound_only_one: Option<u64>,
11047    #[serde(
11048        default,
11049        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11050    )]
11051    pub sound_there_are: Option<u64>,
11052    #[serde(
11053        default,
11054        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11055    )]
11056    pub sound_other_in_party: Option<u64>,
11057    #[serde(
11058        default,
11059        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11060    )]
11061    pub sound_place_into_conference: Option<u64>,
11062    #[serde(
11063        default,
11064        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11065    )]
11066    pub sound_get_pin: Option<u64>,
11067    #[serde(
11068        default,
11069        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11070    )]
11071    pub sound_invalid_pin: Option<u64>,
11072    #[serde(
11073        default,
11074        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11075    )]
11076    pub sound_locked: Option<u64>,
11077    #[serde(
11078        default,
11079        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11080    )]
11081    pub sound_locked_now: Option<u64>,
11082    #[serde(
11083        default,
11084        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11085    )]
11086    pub sound_unlocked_now: Option<u64>,
11087    #[serde(
11088        default,
11089        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11090    )]
11091    pub sound_error_menu: Option<u64>,
11092    #[serde(
11093        default,
11094        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11095    )]
11096    pub sound_participants_muted: Option<u64>,
11097    #[serde(
11098        default,
11099        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11100    )]
11101    pub sound_participants_unmuted: Option<u64>,
11102    #[serde(
11103        default,
11104        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11105    )]
11106    pub language: Option<String>,
11107    #[serde(
11108        default,
11109        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11110    )]
11111    pub members: Option<String>,
11112}
11113
11114#[derive(Debug, Clone, Default, serde::Deserialize)]
11115pub struct GetConferenceResponse {
11116    #[serde(
11117        default,
11118        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11119    )]
11120    pub status: Option<String>,
11121    #[serde(default)]
11122    pub conference: Option<Vec<GetConferenceResponseConference>>,
11123}
11124
11125/// Response body for [`Client::get_conference_members`] (wire method `getConferenceMembers`).
11126#[derive(Debug, Clone, Default, serde::Deserialize)]
11127pub struct GetConferenceMembersResponseMember {
11128    #[serde(
11129        default,
11130        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11131    )]
11132    pub member: Option<u64>,
11133    #[serde(
11134        default,
11135        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11136    )]
11137    pub name: Option<String>,
11138    #[serde(
11139        default,
11140        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11141    )]
11142    pub description: Option<String>,
11143    #[serde(
11144        default,
11145        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11146    )]
11147    pub pin: Option<u64>,
11148    #[serde(
11149        default,
11150        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11151    )]
11152    pub announce_join_leave: Option<bool>,
11153    #[serde(
11154        default,
11155        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11156    )]
11157    pub admin: Option<bool>,
11158    #[serde(
11159        default,
11160        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11161    )]
11162    pub start_muted: Option<bool>,
11163    #[serde(
11164        default,
11165        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11166    )]
11167    pub announce_user_count: Option<bool>,
11168    #[serde(
11169        default,
11170        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11171    )]
11172    pub announce_only_user: Option<bool>,
11173    #[serde(
11174        default,
11175        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11176    )]
11177    pub moh_when_empty: Option<String>,
11178    #[serde(
11179        default,
11180        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11181    )]
11182    pub quiet: Option<bool>,
11183    #[serde(
11184        default,
11185        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11186    )]
11187    pub announcement: Option<u64>,
11188    #[serde(
11189        default,
11190        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11191    )]
11192    pub drop_silence: Option<bool>,
11193    #[serde(
11194        default,
11195        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11196    )]
11197    pub talking_threshold: Option<u64>,
11198    #[serde(
11199        default,
11200        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11201    )]
11202    pub silence_threshold: Option<u64>,
11203    #[serde(
11204        default,
11205        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11206    )]
11207    pub talk_detection: Option<bool>,
11208    #[serde(
11209        default,
11210        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11211    )]
11212    pub jitter_buffer: Option<bool>,
11213}
11214
11215#[derive(Debug, Clone, Default, serde::Deserialize)]
11216pub struct GetConferenceMembersResponse {
11217    #[serde(
11218        default,
11219        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11220    )]
11221    pub status: Option<String>,
11222    #[serde(default)]
11223    pub members: Option<Vec<GetConferenceMembersResponseMember>>,
11224}
11225
11226/// Response body for [`Client::get_conference_recording_file`] (wire method `getConferenceRecordingFile`).
11227#[derive(Debug, Clone, Default, serde::Deserialize)]
11228pub struct GetConferenceRecordingFileResponseRecording {
11229    #[serde(
11230        default,
11231        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11232    )]
11233    pub recording: Option<u64>,
11234    #[serde(
11235        default,
11236        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11237    )]
11238    pub data: Option<String>,
11239}
11240
11241#[derive(Debug, Clone, Default, serde::Deserialize)]
11242pub struct GetConferenceRecordingFileResponse {
11243    #[serde(
11244        default,
11245        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11246    )]
11247    pub status: Option<String>,
11248    #[serde(default)]
11249    pub recording: Option<Vec<GetConferenceRecordingFileResponseRecording>>,
11250}
11251
11252/// Response body for [`Client::get_conference_recordings`] (wire method `getConferenceRecordings`).
11253#[derive(Debug, Clone, Default, serde::Deserialize)]
11254pub struct GetConferenceRecordingsResponseRecording {
11255    #[serde(
11256        default,
11257        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11258    )]
11259    pub did: Option<u64>,
11260    #[serde(
11261        default,
11262        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11263    )]
11264    pub recording: Option<u64>,
11265    #[serde(
11266        default,
11267        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11268    )]
11269    pub conference: Option<u64>,
11270    #[serde(
11271        default,
11272        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11273    )]
11274    pub duration: Option<u64>,
11275    #[serde(
11276        default,
11277        deserialize_with = "crate::responses::deserialize_opt_datetime"
11278    )]
11279    pub date: Option<chrono::NaiveDateTime>,
11280}
11281
11282#[derive(Debug, Clone, Default, serde::Deserialize)]
11283pub struct GetConferenceRecordingsResponse {
11284    #[serde(
11285        default,
11286        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11287    )]
11288    pub status: Option<String>,
11289    #[serde(default)]
11290    pub recordings: Option<Vec<GetConferenceRecordingsResponseRecording>>,
11291}
11292
11293/// Response body for [`Client::get_countries`] (wire method `getCountries`).
11294#[derive(Debug, Clone, Default, serde::Deserialize)]
11295pub struct GetCountriesResponseCountry {
11296    #[serde(
11297        default,
11298        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11299    )]
11300    pub value: Option<String>,
11301    #[serde(
11302        default,
11303        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11304    )]
11305    pub description: Option<String>,
11306}
11307
11308#[derive(Debug, Clone, Default, serde::Deserialize)]
11309pub struct GetCountriesResponse {
11310    #[serde(
11311        default,
11312        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11313    )]
11314    pub status: Option<String>,
11315    #[serde(default)]
11316    pub countries: Option<Vec<GetCountriesResponseCountry>>,
11317}
11318
11319/// Response body for [`Client::get_did_countries`] (wire method `getDIDCountries`).
11320#[derive(Debug, Clone, Default, serde::Deserialize)]
11321pub struct GetDIDCountriesResponseCountry {
11322    #[serde(
11323        default,
11324        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11325    )]
11326    pub value: Option<u64>,
11327    #[serde(
11328        default,
11329        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11330    )]
11331    pub description: Option<String>,
11332}
11333
11334#[derive(Debug, Clone, Default, serde::Deserialize)]
11335pub struct GetDIDCountriesResponse {
11336    #[serde(
11337        default,
11338        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11339    )]
11340    pub status: Option<String>,
11341    #[serde(default)]
11342    pub countries: Option<Vec<GetDIDCountriesResponseCountry>>,
11343}
11344
11345/// Response body for [`Client::get_dids_can`] (wire method `getDIDsCAN`).
11346#[derive(Debug, Clone, Default, serde::Deserialize)]
11347pub struct GetDIDsCANResponseDID {
11348    #[serde(
11349        default,
11350        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11351    )]
11352    pub did: Option<u64>,
11353    #[serde(
11354        default,
11355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11356    )]
11357    pub ratecenter: Option<String>,
11358    #[serde(
11359        default,
11360        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11361    )]
11362    pub province: Option<String>,
11363    #[serde(
11364        default,
11365        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11366    )]
11367    pub province_description: Option<String>,
11368    #[serde(
11369        default,
11370        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11371    )]
11372    pub perminute_monthly: Option<rust_decimal::Decimal>,
11373    #[serde(
11374        default,
11375        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11376    )]
11377    pub perminute_minute: Option<rust_decimal::Decimal>,
11378    #[serde(
11379        default,
11380        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11381    )]
11382    pub perminute_setup: Option<rust_decimal::Decimal>,
11383    #[serde(
11384        default,
11385        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11386    )]
11387    pub flat_monthly: Option<rust_decimal::Decimal>,
11388    #[serde(
11389        default,
11390        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11391    )]
11392    pub flat_minute: Option<rust_decimal::Decimal>,
11393    #[serde(
11394        default,
11395        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11396    )]
11397    pub flat_setup: Option<rust_decimal::Decimal>,
11398    #[serde(
11399        default,
11400        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11401    )]
11402    pub sms: Option<u64>,
11403}
11404
11405#[derive(Debug, Clone, Default, serde::Deserialize)]
11406pub struct GetDIDsCANResponse {
11407    #[serde(
11408        default,
11409        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11410    )]
11411    pub status: Option<String>,
11412    #[serde(default)]
11413    pub dids: Option<Vec<GetDIDsCANResponseDID>>,
11414}
11415
11416/// Response body for [`Client::get_dids_info`] (wire method `getDIDsInfo`).
11417#[derive(Debug, Clone, Default, serde::Deserialize)]
11418pub struct GetDIDsInfoResponseDID {
11419    #[serde(
11420        default,
11421        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11422    )]
11423    pub did: Option<String>,
11424    #[serde(
11425        default,
11426        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11427    )]
11428    pub description: Option<String>,
11429    #[serde(
11430        default,
11431        deserialize_with = "crate::responses::deserialize_opt_routing"
11432    )]
11433    pub routing: Option<crate::Routing>,
11434    #[serde(
11435        default,
11436        deserialize_with = "crate::responses::deserialize_opt_routing"
11437    )]
11438    pub failover_busy: Option<crate::Routing>,
11439    #[serde(
11440        default,
11441        deserialize_with = "crate::responses::deserialize_opt_routing"
11442    )]
11443    pub failover_unreachable: Option<crate::Routing>,
11444    #[serde(
11445        default,
11446        deserialize_with = "crate::responses::deserialize_opt_routing"
11447    )]
11448    pub failover_noanswer: Option<crate::Routing>,
11449    #[serde(
11450        default,
11451        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11452    )]
11453    pub voicemail: Option<u64>,
11454    #[serde(
11455        default,
11456        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11457    )]
11458    pub pop: Option<u64>,
11459    #[serde(
11460        default,
11461        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11462    )]
11463    pub dialtime: Option<u64>,
11464    #[serde(
11465        default,
11466        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11467    )]
11468    pub cnam: Option<bool>,
11469    #[serde(
11470        default,
11471        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11472    )]
11473    pub e911: Option<u64>,
11474    #[serde(
11475        default,
11476        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11477    )]
11478    pub callerid_prefix: Option<String>,
11479    #[serde(
11480        default,
11481        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11482    )]
11483    pub note: Option<String>,
11484    #[serde(
11485        default,
11486        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11487    )]
11488    pub port_out_pin: Option<u64>,
11489    #[serde(default, deserialize_with = "deserialize_opt_did_billing_type")]
11490    pub billing_type: Option<DidBillingType>,
11491    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11492    pub next_billing: Option<chrono::NaiveDate>,
11493    #[serde(
11494        default,
11495        deserialize_with = "crate::responses::deserialize_opt_datetime"
11496    )]
11497    pub order_date: Option<chrono::NaiveDateTime>,
11498    #[serde(
11499        default,
11500        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11501    )]
11502    pub reseller_account: Option<String>,
11503    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11504    pub reseller_next_billing: Option<chrono::NaiveDate>,
11505    #[serde(
11506        default,
11507        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11508    )]
11509    pub reseller_monthly: Option<rust_decimal::Decimal>,
11510    #[serde(
11511        default,
11512        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11513    )]
11514    pub reseller_minute: Option<rust_decimal::Decimal>,
11515    #[serde(
11516        default,
11517        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11518    )]
11519    pub reseller_setup: Option<rust_decimal::Decimal>,
11520    #[serde(
11521        default,
11522        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11523    )]
11524    pub sms_available: Option<bool>,
11525    #[serde(
11526        default,
11527        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11528    )]
11529    pub sms_enabled: Option<bool>,
11530    #[serde(
11531        default,
11532        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11533    )]
11534    pub sms_email: Option<String>,
11535    #[serde(
11536        default,
11537        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11538    )]
11539    pub sms_email_enabled: Option<bool>,
11540    #[serde(
11541        default,
11542        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11543    )]
11544    pub sms_forward: Option<u64>,
11545    #[serde(
11546        default,
11547        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11548    )]
11549    pub sms_forward_enabled: Option<bool>,
11550    #[serde(
11551        default,
11552        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11553    )]
11554    pub sms_url_callback: Option<String>,
11555    #[serde(
11556        default,
11557        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11558    )]
11559    pub sms_url_callback_enabled: Option<bool>,
11560    #[serde(
11561        default,
11562        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11563    )]
11564    pub sms_url_callback_retry: Option<bool>,
11565    #[serde(
11566        default,
11567        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11568    )]
11569    pub smpp_enabled: Option<bool>,
11570    #[serde(
11571        default,
11572        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11573    )]
11574    pub smpp_url: Option<String>,
11575    #[serde(
11576        default,
11577        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11578    )]
11579    pub smpp_user: Option<String>,
11580    #[serde(
11581        default,
11582        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11583    )]
11584    pub smpp_pass: Option<String>,
11585    #[serde(
11586        default,
11587        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11588    )]
11589    pub transcribe: Option<bool>,
11590    #[serde(
11591        default,
11592        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11593    )]
11594    pub transcription_locale: Option<String>,
11595    #[serde(
11596        default,
11597        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11598    )]
11599    pub transcription_redaction: Option<bool>,
11600    #[serde(
11601        default,
11602        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11603    )]
11604    pub transcription_summary: Option<bool>,
11605    #[serde(
11606        default,
11607        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11608    )]
11609    pub transcription_sentiment: Option<bool>,
11610    #[serde(
11611        default,
11612        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11613    )]
11614    pub transcription_email: Option<String>,
11615}
11616
11617#[derive(Debug, Clone, Default, serde::Deserialize)]
11618pub struct GetDIDsInfoResponse {
11619    #[serde(
11620        default,
11621        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11622    )]
11623    pub status: Option<String>,
11624    #[serde(default)]
11625    pub dids: Option<Vec<GetDIDsInfoResponseDID>>,
11626}
11627
11628/// Response body for [`Client::get_dids_international_geographic`] (wire method `getDIDsInternationalGeographic`).
11629#[derive(Debug, Clone, Default, serde::Deserialize)]
11630pub struct GetDIDsInternationalGeographicResponseLocation {
11631    #[serde(
11632        default,
11633        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11634    )]
11635    pub location_id: Option<String>,
11636    #[serde(
11637        default,
11638        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11639    )]
11640    pub location_name: Option<String>,
11641    #[serde(
11642        default,
11643        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11644    )]
11645    pub country: Option<String>,
11646    #[serde(
11647        default,
11648        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11649    )]
11650    pub area_code: Option<u64>,
11651    #[serde(
11652        default,
11653        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11654    )]
11655    pub stock: Option<u64>,
11656    #[serde(
11657        default,
11658        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11659    )]
11660    pub monthly: Option<rust_decimal::Decimal>,
11661    #[serde(
11662        default,
11663        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11664    )]
11665    pub setup: Option<rust_decimal::Decimal>,
11666    #[serde(
11667        default,
11668        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11669    )]
11670    pub minute: Option<rust_decimal::Decimal>,
11671    #[serde(
11672        default,
11673        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11674    )]
11675    pub monthly_per_minute: Option<String>,
11676    #[serde(
11677        default,
11678        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11679    )]
11680    pub setup_per_minute: Option<String>,
11681    #[serde(
11682        default,
11683        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11684    )]
11685    pub channels: Option<u64>,
11686}
11687
11688#[derive(Debug, Clone, Default, serde::Deserialize)]
11689pub struct GetDIDsInternationalGeographicResponse {
11690    #[serde(
11691        default,
11692        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11693    )]
11694    pub status: Option<String>,
11695    #[serde(default)]
11696    pub locations: Option<Vec<GetDIDsInternationalGeographicResponseLocation>>,
11697}
11698
11699/// Response body for [`Client::get_dids_international_national`] (wire method `getDIDsInternationalNational`).
11700#[derive(Debug, Clone, Default, serde::Deserialize)]
11701pub struct GetDIDsInternationalNationalResponseLocation {
11702    #[serde(
11703        default,
11704        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11705    )]
11706    pub location_id: Option<String>,
11707    #[serde(
11708        default,
11709        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11710    )]
11711    pub location_name: Option<String>,
11712    #[serde(
11713        default,
11714        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11715    )]
11716    pub country: Option<String>,
11717    #[serde(
11718        default,
11719        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11720    )]
11721    pub area_code: Option<u64>,
11722    #[serde(
11723        default,
11724        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11725    )]
11726    pub stock: Option<u64>,
11727    #[serde(
11728        default,
11729        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11730    )]
11731    pub monthly: Option<rust_decimal::Decimal>,
11732    #[serde(
11733        default,
11734        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11735    )]
11736    pub setup: Option<u64>,
11737    #[serde(
11738        default,
11739        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11740    )]
11741    pub minute: Option<u64>,
11742    #[serde(
11743        default,
11744        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11745    )]
11746    pub monthly_per_minute: Option<String>,
11747    #[serde(
11748        default,
11749        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11750    )]
11751    pub setup_per_minute: Option<String>,
11752}
11753
11754#[derive(Debug, Clone, Default, serde::Deserialize)]
11755pub struct GetDIDsInternationalNationalResponse {
11756    #[serde(
11757        default,
11758        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11759    )]
11760    pub status: Option<String>,
11761    #[serde(default)]
11762    pub locations: Option<Vec<GetDIDsInternationalNationalResponseLocation>>,
11763}
11764
11765/// Response body for [`Client::get_dids_international_toll_free`] (wire method `getDIDsInternationalTollFree`).
11766#[derive(Debug, Clone, Default, serde::Deserialize)]
11767pub struct GetDIDsInternationalTollFreeResponseLocation {
11768    #[serde(
11769        default,
11770        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11771    )]
11772    pub location_id: Option<String>,
11773    #[serde(
11774        default,
11775        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11776    )]
11777    pub location_name: Option<String>,
11778    #[serde(
11779        default,
11780        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11781    )]
11782    pub country: Option<String>,
11783    #[serde(
11784        default,
11785        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11786    )]
11787    pub area_code: Option<u64>,
11788    #[serde(
11789        default,
11790        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11791    )]
11792    pub stock: Option<u64>,
11793    #[serde(
11794        default,
11795        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11796    )]
11797    pub monthly: Option<rust_decimal::Decimal>,
11798    #[serde(
11799        default,
11800        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11801    )]
11802    pub setup: Option<rust_decimal::Decimal>,
11803    #[serde(
11804        default,
11805        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11806    )]
11807    pub minute: Option<rust_decimal::Decimal>,
11808}
11809
11810#[derive(Debug, Clone, Default, serde::Deserialize)]
11811pub struct GetDIDsInternationalTollFreeResponse {
11812    #[serde(
11813        default,
11814        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11815    )]
11816    pub status: Option<String>,
11817    #[serde(default)]
11818    pub locations: Option<Vec<GetDIDsInternationalTollFreeResponseLocation>>,
11819}
11820
11821/// Response body for [`Client::get_dids_usa`] (wire method `getDIDsUSA`).
11822#[derive(Debug, Clone, Default, serde::Deserialize)]
11823pub struct GetDIDsUSAResponseDID {
11824    #[serde(
11825        default,
11826        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11827    )]
11828    pub did: Option<u64>,
11829    #[serde(
11830        default,
11831        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11832    )]
11833    pub ratecenter: Option<String>,
11834    #[serde(
11835        default,
11836        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11837    )]
11838    pub state: Option<String>,
11839    #[serde(
11840        default,
11841        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11842    )]
11843    pub state_description: Option<String>,
11844    #[serde(
11845        default,
11846        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11847    )]
11848    pub perminute_monthly: Option<rust_decimal::Decimal>,
11849    #[serde(
11850        default,
11851        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11852    )]
11853    pub perminute_minute: Option<rust_decimal::Decimal>,
11854    #[serde(
11855        default,
11856        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11857    )]
11858    pub perminute_setup: Option<rust_decimal::Decimal>,
11859    #[serde(
11860        default,
11861        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11862    )]
11863    pub flat_monthly: Option<rust_decimal::Decimal>,
11864    #[serde(
11865        default,
11866        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11867    )]
11868    pub flat_minute: Option<rust_decimal::Decimal>,
11869    #[serde(
11870        default,
11871        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11872    )]
11873    pub flat_setup: Option<rust_decimal::Decimal>,
11874    #[serde(
11875        default,
11876        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11877    )]
11878    pub has_port_out_pin: Option<u64>,
11879    #[serde(
11880        default,
11881        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11882    )]
11883    pub sms: Option<u64>,
11884}
11885
11886#[derive(Debug, Clone, Default, serde::Deserialize)]
11887pub struct GetDIDsUSAResponse {
11888    #[serde(
11889        default,
11890        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11891    )]
11892    pub status: Option<String>,
11893    #[serde(default)]
11894    pub dids: Option<Vec<GetDIDsUSAResponseDID>>,
11895}
11896
11897/// Response body for [`Client::get_did_vpri`] (wire method `getDIDvPRI`).
11898#[derive(Debug, Clone, Default, serde::Deserialize)]
11899pub struct GetDIDvPRIResponse {
11900    #[serde(
11901        default,
11902        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11903    )]
11904    pub status: Option<String>,
11905    #[serde(default)]
11906    pub dids: Option<Vec<u64>>,
11907}
11908
11909/// Response body for [`Client::get_disas`] (wire method `getDISAs`).
11910#[derive(Debug, Clone, Default, serde::Deserialize)]
11911pub struct GetDISAsResponseDISA {
11912    #[serde(
11913        default,
11914        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11915    )]
11916    pub disa: Option<u64>,
11917    #[serde(
11918        default,
11919        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11920    )]
11921    pub name: Option<String>,
11922    #[serde(
11923        default,
11924        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11925    )]
11926    pub pin: Option<u64>,
11927    #[serde(
11928        default,
11929        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11930    )]
11931    pub digit_timeout: Option<u64>,
11932    #[serde(
11933        default,
11934        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11935    )]
11936    pub callerid_override: Option<u64>,
11937    #[serde(
11938        default,
11939        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11940    )]
11941    pub language: Option<String>,
11942}
11943
11944#[derive(Debug, Clone, Default, serde::Deserialize)]
11945pub struct GetDISAsResponse {
11946    #[serde(
11947        default,
11948        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11949    )]
11950    pub status: Option<String>,
11951    #[serde(default)]
11952    pub disa: Option<Vec<GetDISAsResponseDISA>>,
11953}
11954
11955/// Response body for [`Client::get_dtmf_modes`] (wire method `getDTMFModes`).
11956#[derive(Debug, Clone, Default, serde::Deserialize)]
11957pub struct GetDTMFModesResponseDTMFMode {
11958    #[serde(
11959        default,
11960        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11961    )]
11962    pub value: Option<String>,
11963    #[serde(
11964        default,
11965        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11966    )]
11967    pub description: Option<String>,
11968}
11969
11970#[derive(Debug, Clone, Default, serde::Deserialize)]
11971pub struct GetDTMFModesResponse {
11972    #[serde(
11973        default,
11974        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11975    )]
11976    pub status: Option<String>,
11977    #[serde(default)]
11978    pub dtmf_modes: Option<Vec<GetDTMFModesResponseDTMFMode>>,
11979}
11980
11981/// Response body for [`Client::get_deposits`] (wire method `getDeposits`).
11982#[derive(Debug, Clone, Default, serde::Deserialize)]
11983pub struct GetDepositsResponseDeposit {
11984    #[serde(
11985        default,
11986        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11987    )]
11988    pub id: Option<u64>,
11989    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11990    pub date: Option<chrono::NaiveDate>,
11991    #[serde(
11992        default,
11993        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11994    )]
11995    pub amount: Option<rust_decimal::Decimal>,
11996    #[serde(
11997        default,
11998        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11999    )]
12000    pub description: Option<String>,
12001}
12002
12003#[derive(Debug, Clone, Default, serde::Deserialize)]
12004pub struct GetDepositsResponse {
12005    #[serde(
12006        default,
12007        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12008    )]
12009    pub status: Option<String>,
12010    #[serde(default)]
12011    pub deposits: Option<Vec<GetDepositsResponseDeposit>>,
12012}
12013
12014/// Response body for [`Client::get_device_types`] (wire method `getDeviceTypes`).
12015#[derive(Debug, Clone, Default, serde::Deserialize)]
12016pub struct GetDeviceTypesResponseDeviceType {
12017    #[serde(
12018        default,
12019        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12020    )]
12021    pub value: Option<u64>,
12022    #[serde(
12023        default,
12024        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12025    )]
12026    pub description: Option<String>,
12027}
12028
12029#[derive(Debug, Clone, Default, serde::Deserialize)]
12030pub struct GetDeviceTypesResponse {
12031    #[serde(
12032        default,
12033        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12034    )]
12035    pub status: Option<String>,
12036    #[serde(default)]
12037    pub device_types: Option<Vec<GetDeviceTypesResponseDeviceType>>,
12038}
12039
12040/// Response body for [`Client::get_email_to_fax`] (wire method `getEmailToFax`).
12041#[derive(Debug, Clone, Default, serde::Deserialize)]
12042pub struct GetEmailToFAXResponseEmailToFAX {
12043    #[serde(
12044        default,
12045        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12046    )]
12047    pub id: Option<String>,
12048    #[serde(
12049        default,
12050        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12051    )]
12052    pub enabled: Option<bool>,
12053    #[serde(
12054        default,
12055        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12056    )]
12057    pub email: Option<String>,
12058    #[serde(
12059        default,
12060        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12061    )]
12062    pub security_code: Option<u64>,
12063    #[serde(
12064        default,
12065        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12066    )]
12067    pub security_code_enabled: Option<bool>,
12068    #[serde(
12069        default,
12070        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12071    )]
12072    pub from: Option<u64>,
12073}
12074
12075#[derive(Debug, Clone, Default, serde::Deserialize)]
12076pub struct GetEmailToFAXResponse {
12077    #[serde(
12078        default,
12079        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12080    )]
12081    pub status: Option<String>,
12082    #[serde(default)]
12083    pub emailToFax: Option<Vec<GetEmailToFAXResponseEmailToFAX>>,
12084}
12085
12086/// Response body for [`Client::get_fax_folders`] (wire method `getFaxFolders`).
12087#[derive(Debug, Clone, Default, serde::Deserialize)]
12088pub struct GetFAXFoldersResponseFolder {
12089    #[serde(
12090        default,
12091        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12092    )]
12093    pub id: Option<String>,
12094    #[serde(
12095        default,
12096        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12097    )]
12098    pub name: Option<String>,
12099}
12100
12101#[derive(Debug, Clone, Default, serde::Deserialize)]
12102pub struct GetFAXFoldersResponse {
12103    #[serde(
12104        default,
12105        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12106    )]
12107    pub status: Option<String>,
12108    #[serde(default)]
12109    pub folders: Option<Vec<GetFAXFoldersResponseFolder>>,
12110}
12111
12112/// Response body for [`Client::get_fax_message_pdf`] (wire method `getFaxMessagePDF`).
12113#[derive(Debug, Clone, Default, serde::Deserialize)]
12114pub struct GetFAXMessagePDFResponse {
12115    #[serde(
12116        default,
12117        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12118    )]
12119    pub status: Option<String>,
12120    #[serde(
12121        default,
12122        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12123    )]
12124    pub message_base64: Option<String>,
12125}
12126
12127/// Response body for [`Client::get_fax_messages`] (wire method `getFaxMessages`).
12128#[derive(Debug, Clone, Default, serde::Deserialize)]
12129pub struct GetFAXMessagesResponseFAX {
12130    #[serde(
12131        default,
12132        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12133    )]
12134    pub id: Option<String>,
12135    #[serde(
12136        default,
12137        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12138    )]
12139    pub folder: Option<String>,
12140    #[serde(
12141        default,
12142        deserialize_with = "crate::responses::deserialize_opt_datetime"
12143    )]
12144    pub date: Option<chrono::NaiveDateTime>,
12145    #[serde(
12146        default,
12147        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12148    )]
12149    pub callerid: Option<u64>,
12150    #[serde(
12151        default,
12152        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12153    )]
12154    pub stationid: Option<u64>,
12155    #[serde(
12156        default,
12157        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12158    )]
12159    pub destination: Option<u64>,
12160    #[serde(
12161        default,
12162        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12163    )]
12164    pub description: Option<String>,
12165    #[serde(
12166        default,
12167        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12168    )]
12169    pub pages: Option<u64>,
12170    #[serde(
12171        default,
12172        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12173    )]
12174    pub duration: Option<String>,
12175    #[serde(
12176        default,
12177        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12178    )]
12179    pub status: Option<String>,
12180    #[serde(
12181        default,
12182        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12183    )]
12184    pub rate: Option<rust_decimal::Decimal>,
12185    #[serde(
12186        default,
12187        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12188    )]
12189    pub total: Option<rust_decimal::Decimal>,
12190    #[serde(
12191        default,
12192        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12193    )]
12194    pub msg: Option<String>,
12195}
12196
12197#[derive(Debug, Clone, Default, serde::Deserialize)]
12198pub struct GetFAXMessagesResponse {
12199    #[serde(
12200        default,
12201        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12202    )]
12203    pub status: Option<String>,
12204    #[serde(default)]
12205    pub faxes: Option<Vec<GetFAXMessagesResponseFAX>>,
12206}
12207
12208/// Response body for [`Client::get_fax_numbers_info`] (wire method `getFaxNumbersInfo`).
12209#[derive(Debug, Clone, Default, serde::Deserialize)]
12210pub struct GetFAXNumbersInfoResponseNumber {
12211    #[serde(
12212        default,
12213        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12214    )]
12215    pub id: Option<String>,
12216    #[serde(
12217        default,
12218        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12219    )]
12220    pub did: Option<u64>,
12221    #[serde(
12222        default,
12223        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12224    )]
12225    pub description: Option<String>,
12226    #[serde(
12227        default,
12228        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12229    )]
12230    pub state: Option<String>,
12231    #[serde(
12232        default,
12233        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12234    )]
12235    pub city: Option<String>,
12236    #[serde(
12237        default,
12238        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12239    )]
12240    pub country: Option<String>,
12241    #[serde(
12242        default,
12243        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12244    )]
12245    pub email_enabled: Option<bool>,
12246    #[serde(
12247        default,
12248        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12249    )]
12250    pub email: Option<String>,
12251    #[serde(
12252        default,
12253        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12254    )]
12255    pub url_enabled: Option<bool>,
12256    #[serde(
12257        default,
12258        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12259    )]
12260    pub url: Option<String>,
12261    #[serde(
12262        default,
12263        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12264    )]
12265    pub retry: Option<u64>,
12266    #[serde(
12267        default,
12268        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12269    )]
12270    pub attach_file: Option<u64>,
12271    #[serde(
12272        default,
12273        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12274    )]
12275    pub note: Option<String>,
12276    #[serde(
12277        default,
12278        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12279    )]
12280    pub reseller_account: Option<String>,
12281    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12282    pub reseller_next_billing: Option<chrono::NaiveDate>,
12283    #[serde(
12284        default,
12285        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12286    )]
12287    pub reseller_monthly: Option<rust_decimal::Decimal>,
12288    #[serde(
12289        default,
12290        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12291    )]
12292    pub reseller_minute: Option<rust_decimal::Decimal>,
12293    #[serde(
12294        default,
12295        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12296    )]
12297    pub reseller_setup: Option<rust_decimal::Decimal>,
12298    #[serde(
12299        default,
12300        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12301    )]
12302    pub fax_to_sip_enabled: Option<bool>,
12303    #[serde(
12304        default,
12305        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12306    )]
12307    pub fax_to_sip_enabled_account: Option<String>,
12308}
12309
12310#[derive(Debug, Clone, Default, serde::Deserialize)]
12311pub struct GetFAXNumbersInfoResponse {
12312    #[serde(
12313        default,
12314        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12315    )]
12316    pub status: Option<String>,
12317    #[serde(default)]
12318    pub numbers: Option<Vec<GetFAXNumbersInfoResponseNumber>>,
12319}
12320
12321/// Response body for [`Client::get_fax_numbers_portability`] (wire method `getFaxNumbersPortability`).
12322#[derive(Debug, Clone, Default, serde::Deserialize)]
12323pub struct GetFAXNumbersPortabilityResponse {
12324    #[serde(
12325        default,
12326        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12327    )]
12328    pub status: Option<String>,
12329    #[serde(
12330        default,
12331        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12332    )]
12333    pub getFaxNumbersPortability: Option<bool>,
12334}
12335
12336/// Response body for [`Client::get_fax_provinces`] (wire method `getFaxProvinces`).
12337#[derive(Debug, Clone, Default, serde::Deserialize)]
12338pub struct GetFAXProvincesResponseProvince {
12339    #[serde(
12340        default,
12341        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12342    )]
12343    pub province: Option<String>,
12344    #[serde(
12345        default,
12346        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12347    )]
12348    pub province_id: Option<u64>,
12349    #[serde(
12350        default,
12351        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12352    )]
12353    pub province_name: Option<String>,
12354    #[serde(
12355        default,
12356        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12357    )]
12358    pub country_code: Option<String>,
12359}
12360
12361#[derive(Debug, Clone, Default, serde::Deserialize)]
12362pub struct GetFAXProvincesResponse {
12363    #[serde(
12364        default,
12365        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12366    )]
12367    pub status: Option<String>,
12368    #[serde(default)]
12369    pub provinces: Option<Vec<GetFAXProvincesResponseProvince>>,
12370}
12371
12372/// Response body for [`Client::get_fax_rate_centers_can`] (wire method `getFaxRateCentersCAN`).
12373#[derive(Debug, Clone, Default, serde::Deserialize)]
12374pub struct GetFAXRateCentersCANResponseRatecenter {
12375    #[serde(
12376        default,
12377        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12378    )]
12379    pub location: Option<u64>,
12380    #[serde(
12381        default,
12382        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12383    )]
12384    pub area_code: Option<u64>,
12385    #[serde(
12386        default,
12387        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12388    )]
12389    pub ratecenter: Option<String>,
12390    #[serde(
12391        default,
12392        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12393    )]
12394    pub available: Option<bool>,
12395}
12396
12397#[derive(Debug, Clone, Default, serde::Deserialize)]
12398pub struct GetFAXRateCentersCANResponse {
12399    #[serde(
12400        default,
12401        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12402    )]
12403    pub status: Option<String>,
12404    #[serde(default)]
12405    pub ratecenters: Option<Vec<GetFAXRateCentersCANResponseRatecenter>>,
12406}
12407
12408/// Response body for [`Client::get_fax_rate_centers_usa`] (wire method `getFaxRateCentersUSA`).
12409#[derive(Debug, Clone, Default, serde::Deserialize)]
12410pub struct GetFAXRateCentersUSAResponseRatecenter {
12411    #[serde(
12412        default,
12413        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12414    )]
12415    pub location: Option<u64>,
12416    #[serde(
12417        default,
12418        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12419    )]
12420    pub area_code: Option<u64>,
12421    #[serde(
12422        default,
12423        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12424    )]
12425    pub ratecenter: Option<String>,
12426    #[serde(
12427        default,
12428        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12429    )]
12430    pub available: Option<bool>,
12431}
12432
12433#[derive(Debug, Clone, Default, serde::Deserialize)]
12434pub struct GetFAXRateCentersUSAResponse {
12435    #[serde(
12436        default,
12437        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12438    )]
12439    pub status: Option<String>,
12440    #[serde(default)]
12441    pub ratecenters: Option<Vec<GetFAXRateCentersUSAResponseRatecenter>>,
12442}
12443
12444/// Response body for [`Client::get_fax_states`] (wire method `getFaxStates`).
12445#[derive(Debug, Clone, Default, serde::Deserialize)]
12446pub struct GetFAXStatesResponseState {
12447    #[serde(
12448        default,
12449        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12450    )]
12451    pub state: Option<String>,
12452    #[serde(
12453        default,
12454        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12455    )]
12456    pub state_id: Option<u64>,
12457    #[serde(
12458        default,
12459        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12460    )]
12461    pub state_name: Option<String>,
12462    #[serde(
12463        default,
12464        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12465    )]
12466    pub country_code: Option<String>,
12467}
12468
12469#[derive(Debug, Clone, Default, serde::Deserialize)]
12470pub struct GetFAXStatesResponse {
12471    #[serde(
12472        default,
12473        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12474    )]
12475    pub status: Option<String>,
12476    #[serde(default)]
12477    pub states: Option<Vec<GetFAXStatesResponseState>>,
12478}
12479
12480/// Response body for [`Client::get_forwardings`] (wire method `getForwardings`).
12481#[derive(Debug, Clone, Default, serde::Deserialize)]
12482pub struct GetForwardingsResponseForwarding {
12483    #[serde(
12484        default,
12485        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12486    )]
12487    pub forwarding: Option<u64>,
12488    #[serde(
12489        default,
12490        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12491    )]
12492    pub phone_number: Option<u64>,
12493    #[serde(
12494        default,
12495        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12496    )]
12497    pub callerid_override: Option<u64>,
12498    #[serde(
12499        default,
12500        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12501    )]
12502    pub description: Option<String>,
12503    #[serde(
12504        default,
12505        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12506    )]
12507    pub dtmf_digits: Option<u64>,
12508    #[serde(
12509        default,
12510        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12511    )]
12512    pub pause: Option<rust_decimal::Decimal>,
12513    #[serde(
12514        default,
12515        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12516    )]
12517    pub diversion_header: Option<bool>,
12518}
12519
12520#[derive(Debug, Clone, Default, serde::Deserialize)]
12521pub struct GetForwardingsResponse {
12522    #[serde(
12523        default,
12524        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12525    )]
12526    pub status: Option<String>,
12527    #[serde(default)]
12528    pub forwardings: Option<Vec<GetForwardingsResponseForwarding>>,
12529}
12530
12531/// Response body for [`Client::get_ip`] (wire method `getIP`).
12532#[derive(Debug, Clone, Default, serde::Deserialize)]
12533pub struct GetIPResponse {
12534    #[serde(
12535        default,
12536        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12537    )]
12538    pub status: Option<String>,
12539    #[serde(
12540        default,
12541        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12542    )]
12543    pub ip: Option<String>,
12544}
12545
12546/// Response body for [`Client::get_ivrs`] (wire method `getIVRs`).
12547#[derive(Debug, Clone, Default, serde::Deserialize)]
12548pub struct GetIVRsResponseIVR {
12549    #[serde(
12550        default,
12551        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12552    )]
12553    pub ivr: Option<u64>,
12554    #[serde(
12555        default,
12556        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12557    )]
12558    pub name: Option<String>,
12559    #[serde(
12560        default,
12561        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12562    )]
12563    pub recording: Option<u64>,
12564    #[serde(
12565        default,
12566        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12567    )]
12568    pub timeout: Option<u64>,
12569    #[serde(
12570        default,
12571        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12572    )]
12573    pub language: Option<String>,
12574    #[serde(
12575        default,
12576        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12577    )]
12578    pub voicemailsetup: Option<u64>,
12579    #[serde(
12580        default,
12581        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12582    )]
12583    pub choices: Option<String>,
12584}
12585
12586#[derive(Debug, Clone, Default, serde::Deserialize)]
12587pub struct GetIVRsResponse {
12588    #[serde(
12589        default,
12590        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12591    )]
12592    pub status: Option<String>,
12593    #[serde(default)]
12594    pub ivrs: Option<Vec<GetIVRsResponseIVR>>,
12595}
12596
12597/// Response body for [`Client::get_international_types`] (wire method `getInternationalTypes`).
12598#[derive(Debug, Clone, Default, serde::Deserialize)]
12599pub struct GetInternationalTypesResponseType {
12600    #[serde(
12601        default,
12602        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12603    )]
12604    pub value: Option<String>,
12605    #[serde(
12606        default,
12607        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12608    )]
12609    pub description: Option<String>,
12610}
12611
12612#[derive(Debug, Clone, Default, serde::Deserialize)]
12613pub struct GetInternationalTypesResponse {
12614    #[serde(
12615        default,
12616        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12617    )]
12618    pub status: Option<String>,
12619    #[serde(default)]
12620    pub types: Option<Vec<GetInternationalTypesResponseType>>,
12621}
12622
12623/// Response body for [`Client::get_join_when_empty_types`] (wire method `getJoinWhenEmptyTypes`).
12624#[derive(Debug, Clone, Default, serde::Deserialize)]
12625pub struct GetJoinWhenEmptyTypesResponseType {
12626    #[serde(
12627        default,
12628        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12629    )]
12630    pub value: Option<bool>,
12631    #[serde(
12632        default,
12633        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12634    )]
12635    pub description: Option<bool>,
12636}
12637
12638#[derive(Debug, Clone, Default, serde::Deserialize)]
12639pub struct GetJoinWhenEmptyTypesResponse {
12640    #[serde(
12641        default,
12642        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12643    )]
12644    pub status: Option<String>,
12645    #[serde(default)]
12646    pub types: Option<Vec<GetJoinWhenEmptyTypesResponseType>>,
12647}
12648
12649/// Response body for [`Client::get_lnp_attach`] (wire method `getLNPAttach`).
12650#[derive(Debug, Clone, Default, serde::Deserialize)]
12651pub struct GetLNPAttachResponse {
12652    #[serde(
12653        default,
12654        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12655    )]
12656    pub status: Option<String>,
12657    #[serde(
12658        default,
12659        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12660        rename = "type"
12661    )]
12662    pub r#type: Option<String>,
12663    #[serde(
12664        default,
12665        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12666    )]
12667    pub size: Option<String>,
12668    #[serde(
12669        default,
12670        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12671    )]
12672    pub base64: Option<String>,
12673}
12674
12675/// Response body for [`Client::get_lnp_attach_list`] (wire method `getLNPAttachList`).
12676#[derive(Debug, Clone, Default, serde::Deserialize)]
12677pub struct GetLNPAttachListResponse {
12678    #[serde(
12679        default,
12680        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12681    )]
12682    pub status: Option<String>,
12683    #[serde(
12684        default,
12685        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12686    )]
12687    pub list: Option<String>,
12688    #[serde(
12689        default,
12690        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12691    )]
12692    pub attachid: Option<String>,
12693    #[serde(
12694        default,
12695        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12696        rename = "type"
12697    )]
12698    pub r#type: Option<String>,
12699    #[serde(
12700        default,
12701        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12702    )]
12703    pub size: Option<String>,
12704}
12705
12706/// Response body for [`Client::get_lnp_details`] (wire method `getLNPDetails`).
12707#[derive(Debug, Clone, Default, serde::Deserialize)]
12708pub struct GetLNPDetailsResponseNumber {
12709    #[serde(
12710        default,
12711        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12712    )]
12713    pub did: Option<String>,
12714    #[serde(
12715        default,
12716        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12717    )]
12718    pub rateCenter: Option<String>,
12719    #[serde(
12720        default,
12721        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12722    )]
12723    pub state: Option<String>,
12724}
12725
12726#[derive(Debug, Clone, Default, serde::Deserialize)]
12727pub struct GetLNPDetailsResponseNote {
12728    #[serde(
12729        default,
12730        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12731    )]
12732    pub note: Option<String>,
12733    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12734    pub date: Option<chrono::NaiveDate>,
12735    #[serde(
12736        default,
12737        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12738    )]
12739    pub time: Option<String>,
12740}
12741
12742#[derive(Debug, Clone, Default, serde::Deserialize)]
12743pub struct GetLNPDetailsResponseAttachment {
12744    #[serde(
12745        default,
12746        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12747    )]
12748    pub id: Option<String>,
12749    #[serde(
12750        default,
12751        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12752    )]
12753    pub description: Option<String>,
12754    #[serde(
12755        default,
12756        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12757        rename = "type"
12758    )]
12759    pub r#type: Option<String>,
12760    #[serde(
12761        default,
12762        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12763    )]
12764    pub bytes: Option<u64>,
12765}
12766
12767#[derive(Debug, Clone, Default, serde::Deserialize)]
12768pub struct GetLNPDetailsResponse {
12769    #[serde(
12770        default,
12771        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12772    )]
12773    pub status: Option<String>,
12774    #[serde(
12775        default,
12776        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12777    )]
12778    pub id: Option<u64>,
12779    #[serde(default)]
12780    pub numbers: Option<Vec<GetLNPDetailsResponseNumber>>,
12781    #[serde(
12782        default,
12783        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12784    )]
12785    pub isPartial: Option<bool>,
12786    #[serde(
12787        default,
12788        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12789    )]
12790    pub locationType: Option<u64>,
12791    #[serde(
12792        default,
12793        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12794    )]
12795    pub isMobile: Option<bool>,
12796    #[serde(
12797        default,
12798        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12799    )]
12800    pub mobileInfo: Option<String>,
12801    #[serde(
12802        default,
12803        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12804    )]
12805    pub tfType: Option<u64>,
12806    #[serde(
12807        default,
12808        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12809    )]
12810    pub portType: Option<u64>,
12811    #[serde(
12812        default,
12813        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12814    )]
12815    pub btn: Option<String>,
12816    #[serde(
12817        default,
12818        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12819    )]
12820    pub services: Option<String>,
12821    #[serde(
12822        default,
12823        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12824    )]
12825    pub statementName: Option<String>,
12826    #[serde(
12827        default,
12828        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12829    )]
12830    pub firstName: Option<String>,
12831    #[serde(
12832        default,
12833        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12834    )]
12835    pub lastName: Option<String>,
12836    #[serde(
12837        default,
12838        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12839    )]
12840    pub address1: Option<String>,
12841    #[serde(
12842        default,
12843        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12844    )]
12845    pub address2: Option<String>,
12846    #[serde(
12847        default,
12848        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12849    )]
12850    pub city: Option<String>,
12851    #[serde(
12852        default,
12853        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12854    )]
12855    pub zip: Option<String>,
12856    #[serde(
12857        default,
12858        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12859    )]
12860    pub state: Option<String>,
12861    #[serde(
12862        default,
12863        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12864    )]
12865    pub country: Option<String>,
12866    #[serde(
12867        default,
12868        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12869    )]
12870    pub providerName: Option<String>,
12871    #[serde(
12872        default,
12873        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12874    )]
12875    pub providerAccount: Option<String>,
12876    #[serde(
12877        default,
12878        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12879    )]
12880    pub customer_notes: Option<String>,
12881    #[serde(default)]
12882    pub notes: Option<Vec<GetLNPDetailsResponseNote>>,
12883    #[serde(
12884        default,
12885        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12886    )]
12887    pub post_status: Option<String>,
12888    #[serde(
12889        default,
12890        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12891    )]
12892    pub post_status_description: Option<String>,
12893    #[serde(
12894        default,
12895        deserialize_with = "crate::responses::deserialize_opt_datetime"
12896    )]
12897    pub date: Option<chrono::NaiveDateTime>,
12898    #[serde(
12899        default,
12900        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12901    )]
12902    pub focDate: Option<String>,
12903    #[serde(default)]
12904    pub attachments: Option<Vec<GetLNPDetailsResponseAttachment>>,
12905}
12906
12907/// Response body for [`Client::get_lnp_list`] (wire method `getLNPList`).
12908#[derive(Debug, Clone, Default, serde::Deserialize)]
12909pub struct GetLNPListResponse {
12910    #[serde(
12911        default,
12912        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12913    )]
12914    pub status: Option<String>,
12915    #[serde(
12916        default,
12917        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12918    )]
12919    pub list: Option<String>,
12920    #[serde(
12921        default,
12922        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12923    )]
12924    pub portid: Option<String>,
12925    #[serde(
12926        default,
12927        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12928    )]
12929    pub numbers: Option<String>,
12930    #[serde(
12931        default,
12932        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12933    )]
12934    pub foc_date: Option<String>,
12935}
12936
12937/// Response body for [`Client::get_lnp_list_status`] (wire method `getLNPListStatus`).
12938#[derive(Debug, Clone, Default, serde::Deserialize)]
12939pub struct GetLNPListStatusResponse {
12940    #[serde(
12941        default,
12942        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12943    )]
12944    pub status: Option<String>,
12945    #[serde(
12946        default,
12947        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12948    )]
12949    pub list_status: Option<String>,
12950}
12951
12952/// Response body for [`Client::get_lnp_notes`] (wire method `getLNPNotes`).
12953#[derive(Debug, Clone, Default, serde::Deserialize)]
12954pub struct GetLNPNotesResponse {
12955    #[serde(
12956        default,
12957        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12958    )]
12959    pub status: Option<String>,
12960    #[serde(
12961        default,
12962        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12963    )]
12964    pub list: Option<String>,
12965    #[serde(
12966        default,
12967        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12968    )]
12969    pub note: Option<String>,
12970    #[serde(
12971        default,
12972        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12973    )]
12974    pub date: Option<String>,
12975    #[serde(
12976        default,
12977        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12978    )]
12979    pub time: Option<String>,
12980}
12981
12982/// Response body for [`Client::get_lnp_status`] (wire method `getLNPStatus`).
12983#[derive(Debug, Clone, Default, serde::Deserialize)]
12984pub struct GetLNPStatusResponse {
12985    #[serde(
12986        default,
12987        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12988    )]
12989    pub status: Option<String>,
12990    #[serde(
12991        default,
12992        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12993    )]
12994    pub post_status: Option<String>,
12995    #[serde(
12996        default,
12997        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12998    )]
12999    pub post_status_description: Option<String>,
13000}
13001
13002/// Response body for [`Client::get_languages`] (wire method `getLanguages`).
13003#[derive(Debug, Clone, Default, serde::Deserialize)]
13004pub struct GetLanguagesResponseLanguage {
13005    #[serde(
13006        default,
13007        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13008    )]
13009    pub value: Option<String>,
13010    #[serde(
13011        default,
13012        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13013    )]
13014    pub description: Option<String>,
13015}
13016
13017#[derive(Debug, Clone, Default, serde::Deserialize)]
13018pub struct GetLanguagesResponse {
13019    #[serde(
13020        default,
13021        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13022    )]
13023    pub status: Option<String>,
13024    #[serde(default)]
13025    pub languages: Option<Vec<GetLanguagesResponseLanguage>>,
13026}
13027
13028/// Response body for [`Client::get_locales`] (wire method `getLocales`).
13029#[derive(Debug, Clone, Default, serde::Deserialize)]
13030pub struct GetLocalesResponseLocale {
13031    #[serde(
13032        default,
13033        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13034    )]
13035    pub value: Option<String>,
13036    #[serde(
13037        default,
13038        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13039    )]
13040    pub description: Option<String>,
13041}
13042
13043#[derive(Debug, Clone, Default, serde::Deserialize)]
13044pub struct GetLocalesResponse {
13045    #[serde(
13046        default,
13047        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13048    )]
13049    pub status: Option<String>,
13050    #[serde(default)]
13051    pub locales: Option<Vec<GetLocalesResponseLocale>>,
13052}
13053
13054/// Response body for [`Client::get_locations`] (wire method `getLocations`).
13055#[derive(Debug, Clone, Default, serde::Deserialize)]
13056pub struct GetLocationsResponse {
13057    #[serde(
13058        default,
13059        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13060    )]
13061    pub status: Option<String>,
13062    #[serde(default)]
13063    pub locations: Option<Vec<String>>,
13064}
13065
13066/// Response body for [`Client::get_lock_international`] (wire method `getLockInternational`).
13067#[derive(Debug, Clone, Default, serde::Deserialize)]
13068pub struct GetLockInternationalResponseLockInternational {
13069    #[serde(
13070        default,
13071        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13072    )]
13073    pub value: Option<u64>,
13074    #[serde(
13075        default,
13076        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13077    )]
13078    pub description: Option<String>,
13079}
13080
13081#[derive(Debug, Clone, Default, serde::Deserialize)]
13082pub struct GetLockInternationalResponse {
13083    #[serde(
13084        default,
13085        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13086    )]
13087    pub status: Option<String>,
13088    #[serde(default)]
13089    pub lock_international: Option<Vec<GetLockInternationalResponseLockInternational>>,
13090}
13091
13092/// Response body for [`Client::get_mms`] (wire method `getMMS`).
13093#[derive(Debug, Clone, Default, serde::Deserialize)]
13094pub struct GetMMSResponseSMS {
13095    #[serde(
13096        default,
13097        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13098    )]
13099    pub id: Option<u64>,
13100    #[serde(
13101        default,
13102        deserialize_with = "crate::responses::deserialize_opt_datetime"
13103    )]
13104    pub date: Option<chrono::NaiveDateTime>,
13105    #[serde(
13106        default,
13107        deserialize_with = "deserialize_opt_message_type",
13108        rename = "type"
13109    )]
13110    pub r#type: Option<MessageType>,
13111    #[serde(
13112        default,
13113        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13114    )]
13115    pub did: Option<u64>,
13116    #[serde(
13117        default,
13118        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13119    )]
13120    pub contact: Option<u64>,
13121    #[serde(
13122        default,
13123        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13124    )]
13125    pub message: Option<String>,
13126    #[serde(
13127        default,
13128        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13129    )]
13130    pub carrier_status: Option<String>,
13131    #[serde(
13132        default,
13133        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13134    )]
13135    pub col_media1: Option<String>,
13136    #[serde(
13137        default,
13138        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13139    )]
13140    pub col_media2: Option<String>,
13141    #[serde(
13142        default,
13143        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13144    )]
13145    pub col_media3: Option<String>,
13146    #[serde(default)]
13147    pub media: Option<Vec<String>>,
13148}
13149
13150#[derive(Debug, Clone, Default, serde::Deserialize)]
13151pub struct GetMMSResponse {
13152    #[serde(
13153        default,
13154        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13155    )]
13156    pub status: Option<String>,
13157    #[serde(default)]
13158    pub sms: Option<Vec<GetMMSResponseSMS>>,
13159}
13160
13161/// Response body for [`Client::get_media_mms`] (wire method `getMediaMMS`).
13162#[derive(Debug, Clone, Default, serde::Deserialize)]
13163pub struct GetMediaMMSResponse {
13164    #[serde(
13165        default,
13166        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13167    )]
13168    pub status: Option<String>,
13169    #[serde(
13170        default,
13171        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13172    )]
13173    pub id: Option<u64>,
13174    #[serde(
13175        default,
13176        deserialize_with = "crate::responses::deserialize_opt_datetime"
13177    )]
13178    pub date: Option<chrono::NaiveDateTime>,
13179    #[serde(
13180        default,
13181        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13182    )]
13183    pub media: Option<String>,
13184    #[serde(
13185        default,
13186        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13187        rename = "0"
13188    )]
13189    pub field_0: Option<String>,
13190    #[serde(
13191        default,
13192        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13193        rename = "1"
13194    )]
13195    pub field_1: Option<String>,
13196    #[serde(
13197        default,
13198        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13199        rename = "2"
13200    )]
13201    pub field_2: Option<String>,
13202}
13203
13204/// Response body for [`Client::get_music_on_hold`] (wire method `getMusicOnHold`).
13205#[derive(Debug, Clone, Default, serde::Deserialize)]
13206pub struct GetMusicOnHoldResponseMusicOnHold {
13207    #[serde(
13208        default,
13209        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13210    )]
13211    pub value: Option<String>,
13212    #[serde(
13213        default,
13214        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13215    )]
13216    pub description: Option<String>,
13217    #[serde(
13218        default,
13219        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13220    )]
13221    pub recordings: Option<String>,
13222    #[serde(
13223        default,
13224        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13225    )]
13226    pub total: Option<u64>,
13227    #[serde(
13228        default,
13229        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13230    )]
13231    pub volume: Option<String>,
13232    #[serde(default, deserialize_with = "deserialize_opt_recording_sort")]
13233    pub sort: Option<RecordingSort>,
13234    #[serde(
13235        default,
13236        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13237    )]
13238    pub custom: Option<u64>,
13239}
13240
13241#[derive(Debug, Clone, Default, serde::Deserialize)]
13242pub struct GetMusicOnHoldResponse {
13243    #[serde(
13244        default,
13245        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13246    )]
13247    pub status: Option<String>,
13248    #[serde(default)]
13249    pub music_on_hold: Option<Vec<GetMusicOnHoldResponseMusicOnHold>>,
13250}
13251
13252/// Response body for [`Client::get_nat`] (wire method `getNAT`).
13253#[derive(Debug, Clone, Default, serde::Deserialize)]
13254pub struct GetNATResponse {
13255    #[serde(
13256        default,
13257        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13258    )]
13259    pub status: Option<String>,
13260    #[serde(default, deserialize_with = "deserialize_opt_nat")]
13261    pub nat: Option<Nat>,
13262}
13263
13264/// Response body for [`Client::get_packages`] (wire method `getPackages`).
13265#[derive(Debug, Clone, Default, serde::Deserialize)]
13266pub struct GetPackagesResponsePackage {
13267    #[serde(
13268        default,
13269        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13270    )]
13271    pub package: Option<u64>,
13272    #[serde(
13273        default,
13274        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13275    )]
13276    pub name: Option<String>,
13277    #[serde(
13278        default,
13279        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13280    )]
13281    pub markup_fixed: Option<rust_decimal::Decimal>,
13282    #[serde(
13283        default,
13284        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13285    )]
13286    pub markup_percentage: Option<u64>,
13287    #[serde(
13288        default,
13289        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13290    )]
13291    pub pulse: Option<u64>,
13292    #[serde(
13293        default,
13294        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13295    )]
13296    pub international_route: Option<u64>,
13297    #[serde(
13298        default,
13299        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13300    )]
13301    pub canada_route: Option<u64>,
13302    #[serde(
13303        default,
13304        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13305    )]
13306    pub monthly_fee: Option<rust_decimal::Decimal>,
13307    #[serde(
13308        default,
13309        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13310    )]
13311    pub setup_fee: Option<rust_decimal::Decimal>,
13312    #[serde(
13313        default,
13314        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13315    )]
13316    pub free_minutes: Option<u64>,
13317}
13318
13319#[derive(Debug, Clone, Default, serde::Deserialize)]
13320pub struct GetPackagesResponse {
13321    #[serde(
13322        default,
13323        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13324    )]
13325    pub status: Option<String>,
13326    #[serde(default)]
13327    pub packages: Option<Vec<GetPackagesResponsePackage>>,
13328}
13329
13330/// Response body for [`Client::get_phonebook`] (wire method `getPhonebook`).
13331#[derive(Debug, Clone, Default, serde::Deserialize)]
13332pub struct GetPhonebookResponsePhonebook {
13333    #[serde(
13334        default,
13335        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13336    )]
13337    pub phonebook: Option<u64>,
13338    #[serde(
13339        default,
13340        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13341    )]
13342    pub speed_dial: Option<String>,
13343    #[serde(
13344        default,
13345        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13346    )]
13347    pub name: Option<String>,
13348    #[serde(
13349        default,
13350        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13351    )]
13352    pub number: Option<u64>,
13353    #[serde(
13354        default,
13355        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13356    )]
13357    pub callerid: Option<u64>,
13358    #[serde(
13359        default,
13360        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13361    )]
13362    pub note: Option<String>,
13363    #[serde(
13364        default,
13365        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13366    )]
13367    pub group: Option<u64>,
13368    #[serde(
13369        default,
13370        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13371    )]
13372    pub group_name: Option<String>,
13373}
13374
13375#[derive(Debug, Clone, Default, serde::Deserialize)]
13376pub struct GetPhonebookResponse {
13377    #[serde(
13378        default,
13379        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13380    )]
13381    pub status: Option<String>,
13382    #[serde(default)]
13383    pub phonebooks: Option<Vec<GetPhonebookResponsePhonebook>>,
13384}
13385
13386/// Response body for [`Client::get_phonebook_groups`] (wire method `getPhonebookGroups`).
13387#[derive(Debug, Clone, Default, serde::Deserialize)]
13388pub struct GetPhonebookGroupsResponsePhonebook {
13389    #[serde(
13390        default,
13391        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13392    )]
13393    pub phonebook_group: Option<u64>,
13394    #[serde(
13395        default,
13396        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13397    )]
13398    pub name: Option<String>,
13399    #[serde(
13400        default,
13401        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13402    )]
13403    pub members: Option<String>,
13404}
13405
13406#[derive(Debug, Clone, Default, serde::Deserialize)]
13407pub struct GetPhonebookGroupsResponse {
13408    #[serde(
13409        default,
13410        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13411    )]
13412    pub status: Option<String>,
13413    #[serde(default)]
13414    pub phonebooks: Option<Vec<GetPhonebookGroupsResponsePhonebook>>,
13415}
13416
13417/// Response body for [`Client::get_play_instructions`] (wire method `getPlayInstructions`).
13418#[derive(Debug, Clone, Default, serde::Deserialize)]
13419pub struct GetPlayInstructionsResponse {
13420    #[serde(
13421        default,
13422        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13423    )]
13424    pub status: Option<String>,
13425    #[serde(default, deserialize_with = "deserialize_opt_play_instructions")]
13426    pub play_instructions: Option<PlayInstructions>,
13427}
13428
13429/// Response body for [`Client::get_portability`] (wire method `getPortability`).
13430#[derive(Debug, Clone, Default, serde::Deserialize)]
13431pub struct GetPortabilityResponsePlan {
13432    #[serde(
13433        default,
13434        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13435    )]
13436    pub title: Option<String>,
13437    #[serde(
13438        default,
13439        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13440    )]
13441    pub pricePerMonth: Option<rust_decimal::Decimal>,
13442    #[serde(
13443        default,
13444        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13445    )]
13446    pub pricePerMin: Option<rust_decimal::Decimal>,
13447}
13448
13449#[derive(Debug, Clone, Default, serde::Deserialize)]
13450pub struct GetPortabilityResponse {
13451    #[serde(
13452        default,
13453        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13454    )]
13455    pub status: Option<String>,
13456    #[serde(
13457        default,
13458        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13459    )]
13460    pub portable: Option<bool>,
13461    #[serde(
13462        default,
13463        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13464    )]
13465    pub sms: Option<bool>,
13466    #[serde(default)]
13467    pub plans: Option<Vec<GetPortabilityResponsePlan>>,
13468}
13469
13470/// Response body for [`Client::get_protocols`] (wire method `getProtocols`).
13471#[derive(Debug, Clone, Default, serde::Deserialize)]
13472pub struct GetProtocolsResponseProtocol {
13473    #[serde(
13474        default,
13475        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13476    )]
13477    pub value: Option<u64>,
13478    #[serde(
13479        default,
13480        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13481    )]
13482    pub description: Option<String>,
13483}
13484
13485#[derive(Debug, Clone, Default, serde::Deserialize)]
13486pub struct GetProtocolsResponse {
13487    #[serde(
13488        default,
13489        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13490    )]
13491    pub status: Option<String>,
13492    #[serde(default)]
13493    pub protocols: Option<Vec<GetProtocolsResponseProtocol>>,
13494}
13495
13496/// Response body for [`Client::get_provinces`] (wire method `getProvinces`).
13497#[derive(Debug, Clone, Default, serde::Deserialize)]
13498pub struct GetProvincesResponseProvince {
13499    #[serde(
13500        default,
13501        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13502    )]
13503    pub province: Option<String>,
13504    #[serde(
13505        default,
13506        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13507    )]
13508    pub description: Option<String>,
13509}
13510
13511#[derive(Debug, Clone, Default, serde::Deserialize)]
13512pub struct GetProvincesResponse {
13513    #[serde(
13514        default,
13515        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13516    )]
13517    pub status: Option<String>,
13518    #[serde(default)]
13519    pub provinces: Option<Vec<GetProvincesResponseProvince>>,
13520}
13521
13522/// Response body for [`Client::get_queues`] (wire method `getQueues`).
13523#[derive(Debug, Clone, Default, serde::Deserialize)]
13524pub struct GetQueuesResponseQueue {
13525    #[serde(
13526        default,
13527        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13528    )]
13529    pub queue: Option<u64>,
13530    #[serde(
13531        default,
13532        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13533    )]
13534    pub queue_name: Option<String>,
13535    #[serde(
13536        default,
13537        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13538    )]
13539    pub queue_number: Option<u64>,
13540    #[serde(
13541        default,
13542        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13543    )]
13544    pub queue_language: Option<String>,
13545    #[serde(
13546        default,
13547        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13548    )]
13549    pub queue_password: Option<String>,
13550    #[serde(
13551        default,
13552        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13553    )]
13554    pub callerid_prefix: Option<String>,
13555    #[serde(
13556        default,
13557        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13558    )]
13559    pub join_announcement: Option<String>,
13560    #[serde(
13561        default,
13562        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13563    )]
13564    pub priority_weight: Option<u64>,
13565    #[serde(
13566        default,
13567        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13568    )]
13569    pub agent_announcement: Option<u64>,
13570    #[serde(
13571        default,
13572        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13573    )]
13574    pub report_hold_time_agent: Option<bool>,
13575    #[serde(
13576        default,
13577        deserialize_with = "crate::responses::deserialize_opt_seconds"
13578    )]
13579    pub member_delay: Option<crate::Seconds>,
13580    #[serde(
13581        default,
13582        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13583    )]
13584    pub music_on_hold: Option<String>,
13585    #[serde(
13586        default,
13587        deserialize_with = "crate::responses::deserialize_opt_wait_time"
13588    )]
13589    pub maximum_wait_time: Option<crate::WaitTime>,
13590    #[serde(
13591        default,
13592        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13593    )]
13594    pub maximum_callers: Option<u64>,
13595    #[serde(default, deserialize_with = "deserialize_opt_queue_empty_behavior")]
13596    pub join_when_empty: Option<QueueEmptyBehavior>,
13597    #[serde(default, deserialize_with = "deserialize_opt_queue_empty_behavior")]
13598    pub leave_when_empty: Option<QueueEmptyBehavior>,
13599    #[serde(default, deserialize_with = "deserialize_opt_ring_strategy")]
13600    pub ring_strategy: Option<RingStrategy>,
13601    #[serde(
13602        default,
13603        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13604    )]
13605    pub ring_inuse: Option<bool>,
13606    #[serde(
13607        default,
13608        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13609    )]
13610    pub agent_ring_timeout: Option<u64>,
13611    #[serde(
13612        default,
13613        deserialize_with = "crate::responses::deserialize_opt_seconds"
13614    )]
13615    pub retry_timer: Option<crate::Seconds>,
13616    #[serde(
13617        default,
13618        deserialize_with = "crate::responses::deserialize_opt_seconds"
13619    )]
13620    pub wrapup_time: Option<crate::Seconds>,
13621    #[serde(
13622        default,
13623        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13624    )]
13625    pub voice_announcement: Option<u64>,
13626    #[serde(
13627        default,
13628        deserialize_with = "crate::responses::deserialize_opt_seconds"
13629    )]
13630    pub frequency_announcement: Option<crate::Seconds>,
13631    #[serde(
13632        default,
13633        deserialize_with = "crate::responses::deserialize_opt_seconds"
13634    )]
13635    pub announce_position_frecuency: Option<crate::Seconds>,
13636    #[serde(
13637        default,
13638        deserialize_with = "crate::responses::deserialize_opt_seconds"
13639    )]
13640    pub announce_round_seconds: Option<crate::Seconds>,
13641    #[serde(
13642        default,
13643        deserialize_with = "deserialize_opt_estimated_hold_time_announce"
13644    )]
13645    pub if_announce_position_enabled_report_estimated_hold_time: Option<EstimatedHoldTimeAnnounce>,
13646    #[serde(
13647        default,
13648        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13649    )]
13650    pub thankyou_for_your_patience: Option<bool>,
13651    #[serde(
13652        default,
13653        deserialize_with = "crate::responses::deserialize_opt_routing"
13654    )]
13655    pub fail_over_routing_timeout: Option<crate::Routing>,
13656    #[serde(
13657        default,
13658        deserialize_with = "crate::responses::deserialize_opt_routing"
13659    )]
13660    pub fail_over_routing_full: Option<crate::Routing>,
13661    #[serde(
13662        default,
13663        deserialize_with = "crate::responses::deserialize_opt_routing"
13664    )]
13665    pub fail_over_routing_join_empty: Option<crate::Routing>,
13666    #[serde(
13667        default,
13668        deserialize_with = "crate::responses::deserialize_opt_routing"
13669    )]
13670    pub fail_over_routing_leave_empty: Option<crate::Routing>,
13671    #[serde(
13672        default,
13673        deserialize_with = "crate::responses::deserialize_opt_routing"
13674    )]
13675    pub fail_over_routing_join_unavail: Option<crate::Routing>,
13676    #[serde(
13677        default,
13678        deserialize_with = "crate::responses::deserialize_opt_routing"
13679    )]
13680    pub fail_over_routing_leave_unavail: Option<crate::Routing>,
13681}
13682
13683#[derive(Debug, Clone, Default, serde::Deserialize)]
13684pub struct GetQueuesResponse {
13685    #[serde(
13686        default,
13687        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13688    )]
13689    pub status: Option<String>,
13690    #[serde(default)]
13691    pub queues: Option<Vec<GetQueuesResponseQueue>>,
13692}
13693
13694/// Response body for [`Client::get_rate_centers_can`] (wire method `getRateCentersCAN`).
13695#[derive(Debug, Clone, Default, serde::Deserialize)]
13696pub struct GetRateCentersCANResponseRatecenter {
13697    #[serde(
13698        default,
13699        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13700    )]
13701    pub ratecenter: Option<String>,
13702    #[serde(
13703        default,
13704        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13705    )]
13706    pub available: Option<bool>,
13707}
13708
13709#[derive(Debug, Clone, Default, serde::Deserialize)]
13710pub struct GetRateCentersCANResponse {
13711    #[serde(
13712        default,
13713        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13714    )]
13715    pub status: Option<String>,
13716    #[serde(default)]
13717    pub ratecenters: Option<Vec<GetRateCentersCANResponseRatecenter>>,
13718}
13719
13720/// Response body for [`Client::get_rate_centers_usa`] (wire method `getRateCentersUSA`).
13721#[derive(Debug, Clone, Default, serde::Deserialize)]
13722pub struct GetRateCentersUSAResponseRatecenter {
13723    #[serde(
13724        default,
13725        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13726    )]
13727    pub ratecenter: Option<String>,
13728    #[serde(
13729        default,
13730        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13731    )]
13732    pub available: Option<bool>,
13733}
13734
13735#[derive(Debug, Clone, Default, serde::Deserialize)]
13736pub struct GetRateCentersUSAResponse {
13737    #[serde(
13738        default,
13739        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13740    )]
13741    pub status: Option<String>,
13742    #[serde(default)]
13743    pub ratecenters: Option<Vec<GetRateCentersUSAResponseRatecenter>>,
13744}
13745
13746/// Response body for [`Client::get_rates`] (wire method `getRates`).
13747#[derive(Debug, Clone, Default, serde::Deserialize)]
13748pub struct GetRatesResponseRate {
13749    #[serde(
13750        default,
13751        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13752    )]
13753    pub destination: Option<String>,
13754    #[serde(
13755        default,
13756        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13757    )]
13758    pub prefix: Option<u64>,
13759    #[serde(
13760        default,
13761        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13762    )]
13763    pub client_increment: Option<u64>,
13764    #[serde(
13765        default,
13766        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13767    )]
13768    pub client_rate: Option<rust_decimal::Decimal>,
13769    #[serde(
13770        default,
13771        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13772    )]
13773    pub real_increment: Option<u64>,
13774    #[serde(
13775        default,
13776        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13777    )]
13778    pub real_rate: Option<rust_decimal::Decimal>,
13779}
13780
13781#[derive(Debug, Clone, Default, serde::Deserialize)]
13782pub struct GetRatesResponse {
13783    #[serde(
13784        default,
13785        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13786    )]
13787    pub status: Option<String>,
13788    #[serde(default)]
13789    pub rates: Option<Vec<GetRatesResponseRate>>,
13790}
13791
13792/// Response body for [`Client::get_recording_file`] (wire method `getRecordingFile`).
13793#[derive(Debug, Clone, Default, serde::Deserialize)]
13794pub struct GetRecordingFileResponseRecording {
13795    #[serde(
13796        default,
13797        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13798    )]
13799    pub value: Option<u64>,
13800    #[serde(
13801        default,
13802        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13803    )]
13804    pub data: Option<String>,
13805}
13806
13807#[derive(Debug, Clone, Default, serde::Deserialize)]
13808pub struct GetRecordingFileResponse {
13809    #[serde(
13810        default,
13811        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13812    )]
13813    pub status: Option<String>,
13814    #[serde(default)]
13815    pub recordings: Option<Vec<GetRecordingFileResponseRecording>>,
13816}
13817
13818/// Response body for [`Client::get_recordings`] (wire method `getRecordings`).
13819#[derive(Debug, Clone, Default, serde::Deserialize)]
13820pub struct GetRecordingsResponseRecording {
13821    #[serde(
13822        default,
13823        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13824    )]
13825    pub value: Option<u64>,
13826    #[serde(
13827        default,
13828        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13829    )]
13830    pub description: Option<String>,
13831}
13832
13833#[derive(Debug, Clone, Default, serde::Deserialize)]
13834pub struct GetRecordingsResponse {
13835    #[serde(
13836        default,
13837        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13838    )]
13839    pub status: Option<String>,
13840    #[serde(default)]
13841    pub recordings: Option<Vec<GetRecordingsResponseRecording>>,
13842}
13843
13844/// Response body for [`Client::get_registration_status`] (wire method `getRegistrationStatus`).
13845#[derive(Debug, Clone, Default, serde::Deserialize)]
13846pub struct GetRegistrationStatusResponseRegistration {
13847    #[serde(
13848        default,
13849        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13850    )]
13851    pub server_name: Option<String>,
13852    #[serde(
13853        default,
13854        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13855    )]
13856    pub server_shortname: Option<String>,
13857    #[serde(
13858        default,
13859        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13860    )]
13861    pub server_hostname: Option<String>,
13862    #[serde(
13863        default,
13864        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13865    )]
13866    pub server_ip: Option<String>,
13867    #[serde(
13868        default,
13869        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13870    )]
13871    pub server_country: Option<String>,
13872    #[serde(
13873        default,
13874        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13875    )]
13876    pub server_pop: Option<u64>,
13877    #[serde(
13878        default,
13879        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13880    )]
13881    pub register_ip: Option<String>,
13882    #[serde(
13883        default,
13884        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13885    )]
13886    pub register_port: Option<u64>,
13887    #[serde(
13888        default,
13889        deserialize_with = "crate::responses::deserialize_opt_datetime"
13890    )]
13891    pub register_next: Option<chrono::NaiveDateTime>,
13892    #[serde(
13893        default,
13894        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13895    )]
13896    pub register_protocol: Option<String>,
13897    #[serde(
13898        default,
13899        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13900    )]
13901    pub register_transport: Option<String>,
13902}
13903
13904#[derive(Debug, Clone, Default, serde::Deserialize)]
13905pub struct GetRegistrationStatusResponse {
13906    #[serde(
13907        default,
13908        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13909    )]
13910    pub status: Option<String>,
13911    #[serde(
13912        default,
13913        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13914    )]
13915    pub registered: Option<bool>,
13916    #[serde(
13917        default,
13918        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13919    )]
13920    pub rerouted: Option<u64>,
13921    #[serde(
13922        default,
13923        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13924    )]
13925    pub from_server_pop: Option<u64>,
13926    #[serde(default)]
13927    pub registrations: Option<Vec<GetRegistrationStatusResponseRegistration>>,
13928}
13929
13930/// Response body for [`Client::get_report_estimated_hold_time`] (wire method `getReportEstimatedHoldTime`).
13931#[derive(Debug, Clone, Default, serde::Deserialize)]
13932pub struct GetReportEstimatedHoldTimeResponseType {
13933    #[serde(
13934        default,
13935        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13936    )]
13937    pub value: Option<bool>,
13938    #[serde(
13939        default,
13940        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13941    )]
13942    pub description: Option<bool>,
13943}
13944
13945#[derive(Debug, Clone, Default, serde::Deserialize)]
13946pub struct GetReportEstimatedHoldTimeResponse {
13947    #[serde(
13948        default,
13949        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13950    )]
13951    pub status: Option<String>,
13952    #[serde(default)]
13953    pub types: Option<Vec<GetReportEstimatedHoldTimeResponseType>>,
13954}
13955
13956/// Response body for [`Client::get_reseller_balance`] (wire method `getResellerBalance`).
13957#[derive(Debug, Clone, Default, serde::Deserialize)]
13958pub struct GetResellerBalanceResponseBalance {
13959    #[serde(
13960        default,
13961        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13962    )]
13963    pub current_balance: Option<rust_decimal::Decimal>,
13964    #[serde(
13965        default,
13966        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13967    )]
13968    pub spent_total: Option<rust_decimal::Decimal>,
13969    #[serde(
13970        default,
13971        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13972    )]
13973    pub calls_total: Option<u64>,
13974    #[serde(
13975        default,
13976        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13977    )]
13978    pub time_total: Option<String>,
13979    #[serde(
13980        default,
13981        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13982    )]
13983    pub spent_today: Option<rust_decimal::Decimal>,
13984    #[serde(
13985        default,
13986        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13987    )]
13988    pub calls_today: Option<u64>,
13989    #[serde(
13990        default,
13991        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13992    )]
13993    pub time_today: Option<String>,
13994}
13995
13996#[derive(Debug, Clone, Default, serde::Deserialize)]
13997pub struct GetResellerBalanceResponse {
13998    #[serde(
13999        default,
14000        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14001    )]
14002    pub status: Option<String>,
14003    #[serde(default)]
14004    pub balance: Option<GetResellerBalanceResponseBalance>,
14005}
14006
14007/// Response body for [`Client::get_reseller_cdr`] (wire method `getResellerCDR`).
14008#[derive(Debug, Clone, Default, serde::Deserialize)]
14009pub struct GetResellerCDRResponseCDR {
14010    #[serde(
14011        default,
14012        deserialize_with = "crate::responses::deserialize_opt_datetime"
14013    )]
14014    pub date: Option<chrono::NaiveDateTime>,
14015    #[serde(
14016        default,
14017        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14018    )]
14019    pub callerid: Option<String>,
14020    #[serde(
14021        default,
14022        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14023    )]
14024    pub destination: Option<u64>,
14025    #[serde(
14026        default,
14027        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14028    )]
14029    pub description: Option<String>,
14030    #[serde(
14031        default,
14032        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14033    )]
14034    pub account: Option<String>,
14035    #[serde(
14036        default,
14037        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14038    )]
14039    pub disposition: Option<String>,
14040    #[serde(
14041        default,
14042        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14043    )]
14044    pub duration: Option<String>,
14045    #[serde(
14046        default,
14047        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14048    )]
14049    pub seconds: Option<u64>,
14050    #[serde(
14051        default,
14052        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14053    )]
14054    pub total: Option<rust_decimal::Decimal>,
14055    #[serde(
14056        default,
14057        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14058    )]
14059    pub uniqueid: Option<u64>,
14060    #[serde(
14061        default,
14062        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14063    )]
14064    pub destination_type: Option<String>,
14065    #[serde(
14066        default,
14067        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14068    )]
14069    pub call_logs: Option<String>,
14070}
14071
14072#[derive(Debug, Clone, Default, serde::Deserialize)]
14073pub struct GetResellerCDRResponse {
14074    #[serde(
14075        default,
14076        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14077    )]
14078    pub status: Option<String>,
14079    #[serde(default)]
14080    pub cdr: Option<Vec<GetResellerCDRResponseCDR>>,
14081}
14082
14083/// Response body for [`Client::get_reseller_mms`] (wire method `getResellerMMS`).
14084#[derive(Debug, Clone, Default, serde::Deserialize)]
14085pub struct GetResellerMMSResponseSMS {
14086    #[serde(
14087        default,
14088        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14089    )]
14090    pub id: Option<u64>,
14091    #[serde(
14092        default,
14093        deserialize_with = "crate::responses::deserialize_opt_datetime"
14094    )]
14095    pub date: Option<chrono::NaiveDateTime>,
14096    #[serde(
14097        default,
14098        deserialize_with = "deserialize_opt_message_type",
14099        rename = "type"
14100    )]
14101    pub r#type: Option<MessageType>,
14102    #[serde(
14103        default,
14104        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14105    )]
14106    pub did: Option<u64>,
14107    #[serde(
14108        default,
14109        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14110    )]
14111    pub contact: Option<u64>,
14112    #[serde(
14113        default,
14114        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14115    )]
14116    pub message: Option<String>,
14117}
14118
14119#[derive(Debug, Clone, Default, serde::Deserialize)]
14120pub struct GetResellerMMSResponse {
14121    #[serde(
14122        default,
14123        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14124    )]
14125    pub status: Option<String>,
14126    #[serde(default)]
14127    pub sms: Option<Vec<GetResellerMMSResponseSMS>>,
14128}
14129
14130/// Response body for [`Client::get_reseller_sms`] (wire method `getResellerSMS`).
14131#[derive(Debug, Clone, Default, serde::Deserialize)]
14132pub struct GetResellerSMSResponseSMS {
14133    #[serde(
14134        default,
14135        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14136    )]
14137    pub id: Option<u64>,
14138    #[serde(
14139        default,
14140        deserialize_with = "crate::responses::deserialize_opt_datetime"
14141    )]
14142    pub date: Option<chrono::NaiveDateTime>,
14143    #[serde(
14144        default,
14145        deserialize_with = "deserialize_opt_message_type",
14146        rename = "type"
14147    )]
14148    pub r#type: Option<MessageType>,
14149    #[serde(
14150        default,
14151        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14152    )]
14153    pub did: Option<u64>,
14154    #[serde(
14155        default,
14156        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14157    )]
14158    pub contact: Option<u64>,
14159    #[serde(
14160        default,
14161        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14162    )]
14163    pub message: Option<String>,
14164}
14165
14166#[derive(Debug, Clone, Default, serde::Deserialize)]
14167pub struct GetResellerSMSResponse {
14168    #[serde(
14169        default,
14170        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14171    )]
14172    pub status: Option<String>,
14173    #[serde(default)]
14174    pub sms: Option<Vec<GetResellerSMSResponseSMS>>,
14175}
14176
14177/// Response body for [`Client::get_ring_groups`] (wire method `getRingGroups`).
14178#[derive(Debug, Clone, Default, serde::Deserialize)]
14179pub struct GetRingGroupsResponseRingGroup {
14180    #[serde(
14181        default,
14182        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14183    )]
14184    pub ring_group: Option<u64>,
14185    #[serde(
14186        default,
14187        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14188    )]
14189    pub name: Option<String>,
14190    #[serde(
14191        default,
14192        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14193    )]
14194    pub caller_announcement: Option<u64>,
14195    #[serde(
14196        default,
14197        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14198    )]
14199    pub music_on_hold: Option<String>,
14200    #[serde(
14201        default,
14202        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14203    )]
14204    pub language: Option<String>,
14205    #[serde(
14206        default,
14207        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14208    )]
14209    pub members: Option<String>,
14210    #[serde(
14211        default,
14212        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14213    )]
14214    pub voicemail: Option<u64>,
14215}
14216
14217#[derive(Debug, Clone, Default, serde::Deserialize)]
14218pub struct GetRingGroupsResponse {
14219    #[serde(
14220        default,
14221        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14222    )]
14223    pub status: Option<String>,
14224    #[serde(default)]
14225    pub ring_groups: Option<Vec<GetRingGroupsResponseRingGroup>>,
14226}
14227
14228/// Response body for [`Client::get_ring_strategies`] (wire method `getRingStrategies`).
14229#[derive(Debug, Clone, Default, serde::Deserialize)]
14230pub struct GetRingStrategiesResponseStrategy {
14231    #[serde(
14232        default,
14233        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14234    )]
14235    pub value: Option<String>,
14236    #[serde(
14237        default,
14238        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14239    )]
14240    pub description: Option<String>,
14241}
14242
14243#[derive(Debug, Clone, Default, serde::Deserialize)]
14244pub struct GetRingStrategiesResponse {
14245    #[serde(
14246        default,
14247        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14248    )]
14249    pub status: Option<String>,
14250    #[serde(default)]
14251    pub strategies: Option<Vec<GetRingStrategiesResponseStrategy>>,
14252}
14253
14254/// Response body for [`Client::get_routes`] (wire method `getRoutes`).
14255#[derive(Debug, Clone, Default, serde::Deserialize)]
14256pub struct GetRoutesResponseRoute {
14257    #[serde(
14258        default,
14259        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14260    )]
14261    pub value: Option<u64>,
14262    #[serde(
14263        default,
14264        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14265    )]
14266    pub description: Option<String>,
14267}
14268
14269#[derive(Debug, Clone, Default, serde::Deserialize)]
14270pub struct GetRoutesResponse {
14271    #[serde(
14272        default,
14273        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14274    )]
14275    pub status: Option<String>,
14276    #[serde(default)]
14277    pub routes: Option<Vec<GetRoutesResponseRoute>>,
14278}
14279
14280/// Response body for [`Client::get_sip_uris`] (wire method `getSIPURIs`).
14281#[derive(Debug, Clone, Default, serde::Deserialize)]
14282pub struct GetSIPURIsResponseSIPURI {
14283    #[serde(
14284        default,
14285        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14286    )]
14287    pub sipuri: Option<u64>,
14288    #[serde(
14289        default,
14290        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14291    )]
14292    pub uri: Option<String>,
14293    #[serde(
14294        default,
14295        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14296    )]
14297    pub description: Option<String>,
14298    #[serde(
14299        default,
14300        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14301    )]
14302    pub callerid_override: Option<u64>,
14303    #[serde(
14304        default,
14305        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14306    )]
14307    pub callerid_e164: Option<u64>,
14308}
14309
14310#[derive(Debug, Clone, Default, serde::Deserialize)]
14311pub struct GetSIPURIsResponse {
14312    #[serde(
14313        default,
14314        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14315    )]
14316    pub status: Option<String>,
14317    #[serde(default)]
14318    pub sipuris: Option<Vec<GetSIPURIsResponseSIPURI>>,
14319}
14320
14321/// Response body for [`Client::get_sms`] (wire method `getSMS`).
14322#[derive(Debug, Clone, Default, serde::Deserialize)]
14323pub struct GetSMSResponseSMS {
14324    #[serde(
14325        default,
14326        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14327    )]
14328    pub id: Option<u64>,
14329    #[serde(
14330        default,
14331        deserialize_with = "crate::responses::deserialize_opt_datetime"
14332    )]
14333    pub date: Option<chrono::NaiveDateTime>,
14334    #[serde(
14335        default,
14336        deserialize_with = "deserialize_opt_message_type",
14337        rename = "type"
14338    )]
14339    pub r#type: Option<MessageType>,
14340    #[serde(
14341        default,
14342        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14343    )]
14344    pub did: Option<u64>,
14345    #[serde(
14346        default,
14347        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14348    )]
14349    pub contact: Option<u64>,
14350    #[serde(
14351        default,
14352        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14353    )]
14354    pub message: Option<String>,
14355    #[serde(
14356        default,
14357        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14358    )]
14359    pub carrier_status: Option<String>,
14360}
14361
14362#[derive(Debug, Clone, Default, serde::Deserialize)]
14363pub struct GetSMSResponse {
14364    #[serde(
14365        default,
14366        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14367    )]
14368    pub status: Option<String>,
14369    #[serde(default)]
14370    pub sms: Option<Vec<GetSMSResponseSMS>>,
14371}
14372
14373/// Response body for [`Client::get_servers_info`] (wire method `getServersInfo`).
14374#[derive(Debug, Clone, Default, serde::Deserialize)]
14375pub struct GetServersInfoResponseServer {
14376    #[serde(
14377        default,
14378        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14379    )]
14380    pub server_name: Option<String>,
14381    #[serde(
14382        default,
14383        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14384    )]
14385    pub server_shortname: Option<String>,
14386    #[serde(
14387        default,
14388        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14389    )]
14390    pub server_hostname: Option<String>,
14391    #[serde(
14392        default,
14393        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14394    )]
14395    pub server_ip: Option<String>,
14396    #[serde(
14397        default,
14398        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14399    )]
14400    pub server_country: Option<String>,
14401    #[serde(
14402        default,
14403        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14404    )]
14405    pub server_pop: Option<u64>,
14406    #[serde(
14407        default,
14408        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14409    )]
14410    pub server_recommended: Option<bool>,
14411}
14412
14413#[derive(Debug, Clone, Default, serde::Deserialize)]
14414pub struct GetServersInfoResponse {
14415    #[serde(
14416        default,
14417        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14418    )]
14419    pub status: Option<String>,
14420    #[serde(default)]
14421    pub servers: Option<Vec<GetServersInfoResponseServer>>,
14422}
14423
14424/// Response body for [`Client::get_states`] (wire method `getStates`).
14425#[derive(Debug, Clone, Default, serde::Deserialize)]
14426pub struct GetStatesResponseState {
14427    #[serde(
14428        default,
14429        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14430    )]
14431    pub state: Option<String>,
14432    #[serde(
14433        default,
14434        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14435    )]
14436    pub description: Option<String>,
14437}
14438
14439#[derive(Debug, Clone, Default, serde::Deserialize)]
14440pub struct GetStatesResponse {
14441    #[serde(
14442        default,
14443        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14444    )]
14445    pub status: Option<String>,
14446    #[serde(default)]
14447    pub states: Option<Vec<GetStatesResponseState>>,
14448}
14449
14450/// Response body for [`Client::get_static_members`] (wire method `getStaticMembers`).
14451#[derive(Debug, Clone, Default, serde::Deserialize)]
14452pub struct GetStaticMembersResponseMember {
14453    #[serde(
14454        default,
14455        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14456    )]
14457    pub member: Option<u64>,
14458    #[serde(
14459        default,
14460        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14461    )]
14462    pub queue_number: Option<u64>,
14463    #[serde(
14464        default,
14465        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14466    )]
14467    pub name: Option<String>,
14468    #[serde(
14469        default,
14470        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14471    )]
14472    pub account: Option<String>,
14473    #[serde(
14474        default,
14475        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14476    )]
14477    pub priority: Option<u64>,
14478}
14479
14480#[derive(Debug, Clone, Default, serde::Deserialize)]
14481pub struct GetStaticMembersResponse {
14482    #[serde(
14483        default,
14484        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14485    )]
14486    pub status: Option<String>,
14487    #[serde(default)]
14488    pub members: Option<Vec<GetStaticMembersResponseMember>>,
14489}
14490
14491/// Response body for [`Client::get_sub_accounts`] (wire method `getSubAccounts`).
14492#[derive(Debug, Clone, Default, serde::Deserialize)]
14493pub struct GetSubAccountsResponseAccount {
14494    #[serde(
14495        default,
14496        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14497    )]
14498    pub id: Option<u64>,
14499    #[serde(
14500        default,
14501        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14502    )]
14503    pub account: Option<String>,
14504    #[serde(
14505        default,
14506        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14507    )]
14508    pub username: Option<String>,
14509    #[serde(
14510        default,
14511        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14512    )]
14513    pub description: Option<String>,
14514    #[serde(
14515        default,
14516        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14517    )]
14518    pub protocol: Option<u64>,
14519    #[serde(
14520        default,
14521        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14522    )]
14523    pub auth_type: Option<u64>,
14524    #[serde(
14525        default,
14526        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14527    )]
14528    pub password: Option<String>,
14529    #[serde(
14530        default,
14531        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14532    )]
14533    pub ip: Option<String>,
14534    #[serde(
14535        default,
14536        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14537    )]
14538    pub device_type: Option<u64>,
14539    #[serde(
14540        default,
14541        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14542    )]
14543    pub callerid_number: Option<u64>,
14544    #[serde(
14545        default,
14546        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14547    )]
14548    pub canada_routing: Option<u64>,
14549    #[serde(
14550        default,
14551        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14552    )]
14553    pub lock_international: Option<u64>,
14554    #[serde(
14555        default,
14556        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14557    )]
14558    pub international_route: Option<u64>,
14559    #[serde(
14560        default,
14561        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14562    )]
14563    pub music_on_hold: Option<String>,
14564    #[serde(
14565        default,
14566        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14567    )]
14568    pub language: Option<String>,
14569    #[serde(
14570        default,
14571        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14572    )]
14573    pub allowed_codecs: Option<String>,
14574    #[serde(default, deserialize_with = "deserialize_opt_dtmf_mode")]
14575    pub dtmf_mode: Option<DtmfMode>,
14576    #[serde(default, deserialize_with = "deserialize_opt_nat")]
14577    pub nat: Option<Nat>,
14578    #[serde(
14579        default,
14580        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14581    )]
14582    pub sip_traffic: Option<u64>,
14583    #[serde(
14584        default,
14585        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14586    )]
14587    pub max_expiry: Option<u64>,
14588    #[serde(
14589        default,
14590        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14591    )]
14592    pub rtp_timeout: Option<u64>,
14593    #[serde(
14594        default,
14595        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14596    )]
14597    pub rtp_hold_timeout: Option<u64>,
14598    #[serde(
14599        default,
14600        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14601    )]
14602    pub ip_restriction: Option<String>,
14603    #[serde(
14604        default,
14605        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14606    )]
14607    pub enable_ip_restriction: Option<bool>,
14608    #[serde(
14609        default,
14610        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14611    )]
14612    pub pop_restriction: Option<String>,
14613    #[serde(
14614        default,
14615        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14616    )]
14617    pub enable_pop_restriction: Option<bool>,
14618    #[serde(
14619        default,
14620        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14621    )]
14622    pub send_bye: Option<bool>,
14623    #[serde(
14624        default,
14625        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14626    )]
14627    pub record_calls: Option<bool>,
14628    #[serde(
14629        default,
14630        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14631    )]
14632    pub internal_extension: Option<u64>,
14633    #[serde(
14634        default,
14635        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14636    )]
14637    pub internal_voicemail: Option<u64>,
14638    #[serde(
14639        default,
14640        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14641    )]
14642    pub internal_dialtime: Option<u64>,
14643    #[serde(
14644        default,
14645        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14646    )]
14647    pub reseller_client: Option<u64>,
14648    #[serde(
14649        default,
14650        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14651    )]
14652    pub reseller_package: Option<u64>,
14653    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
14654    pub reseller_nextbilling: Option<chrono::NaiveDate>,
14655    #[serde(
14656        default,
14657        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14658    )]
14659    pub transcribe: Option<bool>,
14660    #[serde(
14661        default,
14662        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14663    )]
14664    pub transcription_locale: Option<String>,
14665    #[serde(
14666        default,
14667        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14668    )]
14669    pub transcription_redaction: Option<bool>,
14670    #[serde(
14671        default,
14672        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14673    )]
14674    pub transcription_summary: Option<bool>,
14675    #[serde(
14676        default,
14677        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14678    )]
14679    pub transcription_sentiment: Option<bool>,
14680    #[serde(
14681        default,
14682        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14683    )]
14684    pub transcription_email: Option<String>,
14685    #[serde(
14686        default,
14687        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14688    )]
14689    pub parking_lot: Option<u64>,
14690    #[serde(
14691        default,
14692        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14693    )]
14694    pub enable_internal_cnam: Option<bool>,
14695    #[serde(
14696        default,
14697        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14698    )]
14699    pub internal_cnam: Option<String>,
14700    #[serde(default, deserialize_with = "deserialize_opt_toll_free_carrier")]
14701    pub tfcarrier: Option<TollFreeCarrier>,
14702    #[serde(
14703        default,
14704        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14705    )]
14706    pub default_e911: Option<u64>,
14707    #[serde(default, deserialize_with = "deserialize_opt_call_pickup_behavior")]
14708    pub call_pickup_behavior: Option<CallPickupBehavior>,
14709}
14710
14711#[derive(Debug, Clone, Default, serde::Deserialize)]
14712pub struct GetSubAccountsResponse {
14713    #[serde(
14714        default,
14715        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14716    )]
14717    pub status: Option<String>,
14718    #[serde(default)]
14719    pub accounts: Option<Vec<GetSubAccountsResponseAccount>>,
14720}
14721
14722/// Response body for [`Client::get_termination_rates`] (wire method `getTerminationRates`).
14723#[derive(Debug, Clone, Default, serde::Deserialize)]
14724pub struct GetTerminationRatesResponseRoute {
14725    #[serde(
14726        default,
14727        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14728    )]
14729    pub value: Option<u64>,
14730    #[serde(
14731        default,
14732        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14733    )]
14734    pub description: Option<String>,
14735}
14736
14737#[derive(Debug, Clone, Default, serde::Deserialize)]
14738pub struct GetTerminationRatesResponseRate {
14739    #[serde(
14740        default,
14741        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14742    )]
14743    pub destination: Option<String>,
14744    #[serde(
14745        default,
14746        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14747    )]
14748    pub prefix: Option<u64>,
14749    #[serde(
14750        default,
14751        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14752    )]
14753    pub increment: Option<u64>,
14754    #[serde(
14755        default,
14756        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14757    )]
14758    pub rate: Option<rust_decimal::Decimal>,
14759}
14760
14761#[derive(Debug, Clone, Default, serde::Deserialize)]
14762pub struct GetTerminationRatesResponse {
14763    #[serde(
14764        default,
14765        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14766    )]
14767    pub status: Option<String>,
14768    #[serde(default)]
14769    pub route: Option<GetTerminationRatesResponseRoute>,
14770    #[serde(default)]
14771    pub rates: Option<Vec<GetTerminationRatesResponseRate>>,
14772}
14773
14774/// Response body for [`Client::get_time_conditions`] (wire method `getTimeConditions`).
14775#[derive(Debug, Clone, Default, serde::Deserialize)]
14776pub struct GetTimeConditionsResponseTimecondition {
14777    #[serde(
14778        default,
14779        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14780    )]
14781    pub timecondition: Option<u64>,
14782    #[serde(
14783        default,
14784        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14785    )]
14786    pub name: Option<String>,
14787    #[serde(
14788        default,
14789        deserialize_with = "crate::responses::deserialize_opt_routing"
14790    )]
14791    pub routing_match: Option<crate::Routing>,
14792    #[serde(
14793        default,
14794        deserialize_with = "crate::responses::deserialize_opt_routing"
14795    )]
14796    pub routing_nomatch: Option<crate::Routing>,
14797    #[serde(
14798        default,
14799        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14800    )]
14801    pub starthour: Option<String>,
14802    #[serde(
14803        default,
14804        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14805    )]
14806    pub startminute: Option<String>,
14807    #[serde(
14808        default,
14809        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14810    )]
14811    pub endhour: Option<String>,
14812    #[serde(
14813        default,
14814        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14815    )]
14816    pub endminute: Option<String>,
14817    #[serde(
14818        default,
14819        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14820    )]
14821    pub weekdaystart: Option<String>,
14822    #[serde(
14823        default,
14824        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14825    )]
14826    pub weekdayend: Option<String>,
14827}
14828
14829#[derive(Debug, Clone, Default, serde::Deserialize)]
14830pub struct GetTimeConditionsResponse {
14831    #[serde(
14832        default,
14833        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14834    )]
14835    pub status: Option<String>,
14836    #[serde(default)]
14837    pub timecondition: Option<Vec<GetTimeConditionsResponseTimecondition>>,
14838}
14839
14840/// Response body for [`Client::get_timezones`] (wire method `getTimezones`).
14841#[derive(Debug, Clone, Default, serde::Deserialize)]
14842pub struct GetTimezonesResponseTimezone {
14843    #[serde(
14844        default,
14845        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14846    )]
14847    pub value: Option<String>,
14848    #[serde(
14849        default,
14850        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14851    )]
14852    pub description: Option<String>,
14853}
14854
14855#[derive(Debug, Clone, Default, serde::Deserialize)]
14856pub struct GetTimezonesResponse {
14857    #[serde(
14858        default,
14859        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14860    )]
14861    pub status: Option<String>,
14862    #[serde(default)]
14863    pub timezones: Option<Vec<GetTimezonesResponseTimezone>>,
14864}
14865
14866/// Response body for [`Client::get_transaction_history`] (wire method `getTransactionHistory`).
14867#[derive(Debug, Clone, Default, serde::Deserialize)]
14868pub struct GetTransactionHistoryResponseTransaction {
14869    #[serde(
14870        default,
14871        deserialize_with = "crate::responses::deserialize_opt_datetime"
14872    )]
14873    pub date: Option<chrono::NaiveDateTime>,
14874    #[serde(
14875        default,
14876        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14877    )]
14878    pub uniqueid: Option<String>,
14879    #[serde(
14880        default,
14881        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
14882        rename = "type"
14883    )]
14884    pub r#type: Option<String>,
14885    #[serde(
14886        default,
14887        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14888    )]
14889    pub description: Option<String>,
14890    #[serde(
14891        default,
14892        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14893    )]
14894    pub ammount: Option<rust_decimal::Decimal>,
14895}
14896
14897#[derive(Debug, Clone, Default, serde::Deserialize)]
14898pub struct GetTransactionHistoryResponse {
14899    #[serde(
14900        default,
14901        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14902    )]
14903    pub status: Option<String>,
14904    #[serde(default)]
14905    pub transactions: Option<Vec<GetTransactionHistoryResponseTransaction>>,
14906}
14907
14908/// Response body for [`Client::get_vpris`] (wire method `getVPRIs`).
14909#[derive(Debug, Clone, Default, serde::Deserialize)]
14910pub struct GetVPRIsResponseVPRI {
14911    #[serde(
14912        default,
14913        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14914    )]
14915    pub vpri: Option<u64>,
14916    #[serde(
14917        default,
14918        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14919    )]
14920    pub name: Option<String>,
14921    #[serde(
14922        default,
14923        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14924    )]
14925    pub note: Option<String>,
14926    #[serde(
14927        default,
14928        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14929    )]
14930    pub channels: Option<u64>,
14931    #[serde(
14932        default,
14933        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14934    )]
14935    pub monthly_fee: Option<rust_decimal::Decimal>,
14936    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
14937    pub next_billing: Option<chrono::NaiveDate>,
14938    #[serde(
14939        default,
14940        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14941    )]
14942    pub burst_enabled: Option<bool>,
14943    #[serde(
14944        default,
14945        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14946    )]
14947    pub burst_max_channels: Option<u64>,
14948    #[serde(
14949        default,
14950        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14951    )]
14952    pub burst_percentage_charge: Option<u64>,
14953}
14954
14955#[derive(Debug, Clone, Default, serde::Deserialize)]
14956pub struct GetVPRIsResponse {
14957    #[serde(
14958        default,
14959        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14960    )]
14961    pub status: Option<String>,
14962    #[serde(default)]
14963    pub vpri: Option<Vec<GetVPRIsResponseVPRI>>,
14964}
14965
14966/// Response body for [`Client::get_voicemail_attachment_formats`] (wire method `getVoicemailAttachmentFormats`).
14967#[derive(Debug, Clone, Default, serde::Deserialize)]
14968pub struct GetVoicemailAttachmentFormatsResponseEmailAttachmentFormat {
14969    #[serde(
14970        default,
14971        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14972    )]
14973    pub value: Option<String>,
14974    #[serde(
14975        default,
14976        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14977    )]
14978    pub description: Option<String>,
14979}
14980
14981#[derive(Debug, Clone, Default, serde::Deserialize)]
14982pub struct GetVoicemailAttachmentFormatsResponse {
14983    #[serde(
14984        default,
14985        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14986    )]
14987    pub status: Option<String>,
14988    #[serde(default)]
14989    pub email_attachment_formats:
14990        Option<Vec<GetVoicemailAttachmentFormatsResponseEmailAttachmentFormat>>,
14991}
14992
14993/// Response body for [`Client::get_voicemail_folders`] (wire method `getVoicemailFolders`).
14994#[derive(Debug, Clone, Default, serde::Deserialize)]
14995pub struct GetVoicemailFoldersResponseFolder {
14996    #[serde(
14997        default,
14998        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14999    )]
15000    pub value: Option<String>,
15001    #[serde(
15002        default,
15003        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15004    )]
15005    pub description: Option<String>,
15006}
15007
15008#[derive(Debug, Clone, Default, serde::Deserialize)]
15009pub struct GetVoicemailFoldersResponse {
15010    #[serde(
15011        default,
15012        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15013    )]
15014    pub status: Option<String>,
15015    #[serde(default)]
15016    pub folders: Option<Vec<GetVoicemailFoldersResponseFolder>>,
15017}
15018
15019/// Response body for [`Client::get_voicemail_message_file`] (wire method `getVoicemailMessageFile`).
15020#[derive(Debug, Clone, Default, serde::Deserialize)]
15021pub struct GetVoicemailMessageFileResponseMessage {
15022    #[serde(
15023        default,
15024        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15025    )]
15026    pub mailbox: Option<u64>,
15027    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15028    pub folder: Option<VoicemailFolder>,
15029    #[serde(
15030        default,
15031        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15032    )]
15033    pub message_num: Option<u64>,
15034    #[serde(
15035        default,
15036        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15037    )]
15038    pub data: Option<String>,
15039}
15040
15041#[derive(Debug, Clone, Default, serde::Deserialize)]
15042pub struct GetVoicemailMessageFileResponse {
15043    #[serde(
15044        default,
15045        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15046    )]
15047    pub status: Option<String>,
15048    #[serde(default)]
15049    pub message: Option<Vec<GetVoicemailMessageFileResponseMessage>>,
15050}
15051
15052/// Response body for [`Client::get_voicemail_messages`] (wire method `getVoicemailMessages`).
15053#[derive(Debug, Clone, Default, serde::Deserialize)]
15054pub struct GetVoicemailMessagesResponseMessage {
15055    #[serde(
15056        default,
15057        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15058    )]
15059    pub mailbox: Option<u64>,
15060    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15061    pub folder: Option<VoicemailFolder>,
15062    #[serde(
15063        default,
15064        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15065    )]
15066    pub message_num: Option<u64>,
15067    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
15068    pub date: Option<chrono::NaiveDate>,
15069    #[serde(
15070        default,
15071        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15072    )]
15073    pub callerid: Option<u64>,
15074    #[serde(
15075        default,
15076        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15077    )]
15078    pub duration: Option<String>,
15079    #[serde(
15080        default,
15081        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15082    )]
15083    pub urgent: Option<bool>,
15084    #[serde(
15085        default,
15086        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15087    )]
15088    pub listened: Option<bool>,
15089}
15090
15091#[derive(Debug, Clone, Default, serde::Deserialize)]
15092pub struct GetVoicemailMessagesResponse {
15093    #[serde(
15094        default,
15095        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15096    )]
15097    pub status: Option<String>,
15098    #[serde(default)]
15099    pub messages: Option<Vec<GetVoicemailMessagesResponseMessage>>,
15100}
15101
15102/// Response body for [`Client::get_voicemail_setups`] (wire method `getVoicemailSetups`).
15103#[derive(Debug, Clone, Default, serde::Deserialize)]
15104pub struct GetVoicemailSetupsResponseVoicemailsetup {
15105    #[serde(
15106        default,
15107        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15108    )]
15109    pub value: Option<u64>,
15110    #[serde(
15111        default,
15112        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15113    )]
15114    pub description: Option<String>,
15115}
15116
15117#[derive(Debug, Clone, Default, serde::Deserialize)]
15118pub struct GetVoicemailSetupsResponse {
15119    #[serde(
15120        default,
15121        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15122    )]
15123    pub status: Option<String>,
15124    #[serde(default)]
15125    pub voicemailsetups: Option<Vec<GetVoicemailSetupsResponseVoicemailsetup>>,
15126}
15127
15128/// Response body for [`Client::get_voicemail_transcriptions`] (wire method `getVoicemailTranscriptions`).
15129#[derive(Debug, Clone, Default, serde::Deserialize)]
15130pub struct GetVoicemailTranscriptionsResponseMessage {
15131    #[serde(
15132        default,
15133        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15134    )]
15135    pub date: Option<String>,
15136    #[serde(
15137        default,
15138        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15139    )]
15140    pub callerid: Option<String>,
15141    #[serde(
15142        default,
15143        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15144    )]
15145    pub duration: Option<String>,
15146    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15147    pub folder: Option<VoicemailFolder>,
15148    #[serde(
15149        default,
15150        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15151    )]
15152    pub result: Option<String>,
15153}
15154
15155#[derive(Debug, Clone, Default, serde::Deserialize)]
15156pub struct GetVoicemailTranscriptionsResponse {
15157    #[serde(
15158        default,
15159        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15160    )]
15161    pub status: Option<String>,
15162    #[serde(default)]
15163    pub messages: Option<Vec<GetVoicemailTranscriptionsResponseMessage>>,
15164}
15165
15166/// Response body for [`Client::get_voicemails`] (wire method `getVoicemails`).
15167#[derive(Debug, Clone, Default, serde::Deserialize)]
15168pub struct GetVoicemailsResponseVoicemail {
15169    #[serde(
15170        default,
15171        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15172    )]
15173    pub mailbox: Option<u64>,
15174    #[serde(
15175        default,
15176        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15177    )]
15178    pub name: Option<String>,
15179    #[serde(
15180        default,
15181        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15182    )]
15183    pub password: Option<u64>,
15184    #[serde(
15185        default,
15186        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15187    )]
15188    pub skip_password: Option<bool>,
15189    #[serde(
15190        default,
15191        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15192    )]
15193    pub email: Option<String>,
15194    #[serde(
15195        default,
15196        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15197    )]
15198    pub attach_message: Option<bool>,
15199    #[serde(
15200        default,
15201        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15202    )]
15203    pub delete_message: Option<bool>,
15204    #[serde(
15205        default,
15206        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15207    )]
15208    pub say_time: Option<bool>,
15209    #[serde(
15210        default,
15211        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15212    )]
15213    pub timezone: Option<String>,
15214    #[serde(
15215        default,
15216        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15217    )]
15218    pub say_callerid: Option<bool>,
15219    #[serde(default, deserialize_with = "deserialize_opt_play_instructions")]
15220    pub play_instructions: Option<PlayInstructions>,
15221    #[serde(
15222        default,
15223        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15224    )]
15225    pub language: Option<String>,
15226    #[serde(default, deserialize_with = "deserialize_opt_email_attachment_format")]
15227    pub email_attachment_format: Option<EmailAttachmentFormat>,
15228    #[serde(
15229        default,
15230        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15231    )]
15232    pub unavailable_message_recording: Option<u64>,
15233    #[serde(
15234        default,
15235        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15236    )]
15237    pub new: Option<u64>,
15238    #[serde(
15239        default,
15240        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15241    )]
15242    pub urgent: Option<u64>,
15243    #[serde(
15244        default,
15245        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15246    )]
15247    pub transcription: Option<bool>,
15248    #[serde(
15249        default,
15250        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15251    )]
15252    pub transcription_locale: Option<String>,
15253    #[serde(
15254        default,
15255        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15256    )]
15257    pub transcription_redaction: Option<bool>,
15258    #[serde(
15259        default,
15260        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15261    )]
15262    pub transcription_sentiment: Option<bool>,
15263    #[serde(
15264        default,
15265        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15266    )]
15267    pub transcription_summary: Option<bool>,
15268    #[serde(default, deserialize_with = "deserialize_opt_transcription_format")]
15269    pub transcription_format: Option<TranscriptionFormat>,
15270    #[serde(
15271        default,
15272        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15273    )]
15274    pub transcription_delay: Option<u64>,
15275}
15276
15277#[derive(Debug, Clone, Default, serde::Deserialize)]
15278pub struct GetVoicemailsResponse {
15279    #[serde(
15280        default,
15281        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15282    )]
15283    pub status: Option<String>,
15284    #[serde(default)]
15285    pub voicemails: Option<Vec<GetVoicemailsResponseVoicemail>>,
15286}
15287
15288/// Response body for [`Client::mail_fax_message_pdf`] (wire method `mailFaxMessagePDF`).
15289#[derive(Debug, Clone, Default, serde::Deserialize)]
15290pub struct MailFAXMessagePDFResponse {
15291    #[serde(
15292        default,
15293        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15294    )]
15295    pub status: Option<String>,
15296    #[serde(
15297        default,
15298        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15299    )]
15300    pub message_status: Option<String>,
15301}
15302
15303/// Response body for [`Client::mark_listened_voicemail_message`] (wire method `markListenedVoicemailMessage`).
15304#[derive(Debug, Clone, Default, serde::Deserialize)]
15305pub struct MarkListenedVoicemailMessageResponse {
15306    #[serde(
15307        default,
15308        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15309    )]
15310    pub status: Option<String>,
15311}
15312
15313/// Response body for [`Client::mark_urgent_voicemail_message`] (wire method `markUrgentVoicemailMessage`).
15314#[derive(Debug, Clone, Default, serde::Deserialize)]
15315pub struct MarkUrgentVoicemailMessageResponse {
15316    #[serde(
15317        default,
15318        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15319    )]
15320    pub status: Option<String>,
15321}
15322
15323/// Response body for [`Client::move_fax_message`] (wire method `moveFaxMessage`).
15324#[derive(Debug, Clone, Default, serde::Deserialize)]
15325pub struct MoveFAXMessageResponse {
15326    #[serde(
15327        default,
15328        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15329    )]
15330    pub status: Option<String>,
15331}
15332
15333/// Response body for [`Client::move_folder_voicemail_message`] (wire method `moveFolderVoicemailMessage`).
15334#[derive(Debug, Clone, Default, serde::Deserialize)]
15335pub struct MoveFolderVoicemailMessageResponse {
15336    #[serde(
15337        default,
15338        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15339    )]
15340    pub status: Option<String>,
15341}
15342
15343/// Response body for [`Client::order_did`] (wire method `orderDID`).
15344#[derive(Debug, Clone, Default, serde::Deserialize)]
15345pub struct OrderDIDResponse {
15346    #[serde(
15347        default,
15348        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15349    )]
15350    pub status: Option<String>,
15351}
15352
15353/// Response body for [`Client::order_did_international_geographic`] (wire method `orderDIDInternationalGeographic`).
15354#[derive(Debug, Clone, Default, serde::Deserialize)]
15355pub struct OrderDIDInternationalGeographicResponse {
15356    #[serde(
15357        default,
15358        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15359    )]
15360    pub status: Option<String>,
15361}
15362
15363/// Response body for [`Client::order_did_international_national`] (wire method `orderDIDInternationalNational`).
15364#[derive(Debug, Clone, Default, serde::Deserialize)]
15365pub struct OrderDIDInternationalNationalResponse {
15366    #[serde(
15367        default,
15368        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15369    )]
15370    pub status: Option<String>,
15371}
15372
15373/// Response body for [`Client::order_did_international_toll_free`] (wire method `orderDIDInternationalTollFree`).
15374#[derive(Debug, Clone, Default, serde::Deserialize)]
15375pub struct OrderDIDInternationalTollFreeResponse {
15376    #[serde(
15377        default,
15378        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15379    )]
15380    pub status: Option<String>,
15381}
15382
15383/// Response body for [`Client::order_did_virtual`] (wire method `orderDIDVirtual`).
15384#[derive(Debug, Clone, Default, serde::Deserialize)]
15385pub struct OrderDIDVirtualResponse {
15386    #[serde(
15387        default,
15388        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15389    )]
15390    pub status: Option<String>,
15391}
15392
15393/// Response body for [`Client::order_fax_number`] (wire method `orderFaxNumber`).
15394#[derive(Debug, Clone, Default, serde::Deserialize)]
15395pub struct OrderFAXNumberResponse {
15396    #[serde(
15397        default,
15398        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15399    )]
15400    pub status: Option<String>,
15401    #[serde(
15402        default,
15403        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15404    )]
15405    pub dids: Option<String>,
15406    #[serde(
15407        default,
15408        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number",
15409        rename = "0"
15410    )]
15411    pub field_0: Option<u64>,
15412    #[serde(
15413        default,
15414        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number",
15415        rename = "1"
15416    )]
15417    pub field_1: Option<u64>,
15418    #[serde(
15419        default,
15420        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15421        rename = "2"
15422    )]
15423    pub field_2: Option<String>,
15424}
15425
15426/// Response body for [`Client::order_toll_free`] (wire method `orderTollFree`).
15427#[derive(Debug, Clone, Default, serde::Deserialize)]
15428pub struct OrderTollFreeResponse {
15429    #[serde(
15430        default,
15431        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15432    )]
15433    pub status: Option<String>,
15434}
15435
15436/// Response body for [`Client::order_vanity`] (wire method `orderVanity`).
15437#[derive(Debug, Clone, Default, serde::Deserialize)]
15438pub struct OrderVanityResponse {
15439    #[serde(
15440        default,
15441        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15442    )]
15443    pub status: Option<String>,
15444}
15445
15446/// Response body for [`Client::remove_did_vpri`] (wire method `removeDIDvPRI`).
15447#[derive(Debug, Clone, Default, serde::Deserialize)]
15448pub struct RemoveDIDvPRIResponse {
15449    #[serde(
15450        default,
15451        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15452    )]
15453    pub status: Option<String>,
15454    #[serde(
15455        default,
15456        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15457    )]
15458    pub vpri: Option<u64>,
15459    #[serde(
15460        default,
15461        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15462    )]
15463    pub DIDRemoved: Option<u64>,
15464}
15465
15466/// Response body for [`Client::search_dids_can`] (wire method `searchDIDsCAN`).
15467#[derive(Debug, Clone, Default, serde::Deserialize)]
15468pub struct SearchDIDsCANResponseDID {
15469    #[serde(
15470        default,
15471        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15472    )]
15473    pub did: Option<u64>,
15474    #[serde(
15475        default,
15476        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15477    )]
15478    pub ratecenter: Option<String>,
15479    #[serde(
15480        default,
15481        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15482    )]
15483    pub province: Option<String>,
15484    #[serde(
15485        default,
15486        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15487    )]
15488    pub province_description: Option<String>,
15489    #[serde(
15490        default,
15491        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15492    )]
15493    pub perminute_monthly: Option<rust_decimal::Decimal>,
15494    #[serde(
15495        default,
15496        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15497    )]
15498    pub perminute_minute: Option<rust_decimal::Decimal>,
15499    #[serde(
15500        default,
15501        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15502    )]
15503    pub perminute_setup: Option<rust_decimal::Decimal>,
15504    #[serde(
15505        default,
15506        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15507    )]
15508    pub flat_monthly: Option<rust_decimal::Decimal>,
15509    #[serde(
15510        default,
15511        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15512    )]
15513    pub flat_minute: Option<rust_decimal::Decimal>,
15514    #[serde(
15515        default,
15516        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15517    )]
15518    pub flat_setup: Option<rust_decimal::Decimal>,
15519}
15520
15521#[derive(Debug, Clone, Default, serde::Deserialize)]
15522pub struct SearchDIDsCANResponse {
15523    #[serde(
15524        default,
15525        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15526    )]
15527    pub status: Option<String>,
15528    #[serde(default)]
15529    pub dids: Option<Vec<SearchDIDsCANResponseDID>>,
15530}
15531
15532/// Response body for [`Client::search_dids_usa`] (wire method `searchDIDsUSA`).
15533#[derive(Debug, Clone, Default, serde::Deserialize)]
15534pub struct SearchDIDsUSAResponseDID {
15535    #[serde(
15536        default,
15537        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15538    )]
15539    pub did: Option<u64>,
15540    #[serde(
15541        default,
15542        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15543    )]
15544    pub ratecenter: Option<String>,
15545    #[serde(
15546        default,
15547        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15548    )]
15549    pub state: Option<String>,
15550    #[serde(
15551        default,
15552        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15553    )]
15554    pub state_description: Option<String>,
15555    #[serde(
15556        default,
15557        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15558    )]
15559    pub perminute_monthly: Option<rust_decimal::Decimal>,
15560    #[serde(
15561        default,
15562        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15563    )]
15564    pub perminute_minute: Option<rust_decimal::Decimal>,
15565    #[serde(
15566        default,
15567        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15568    )]
15569    pub perminute_setup: Option<rust_decimal::Decimal>,
15570    #[serde(
15571        default,
15572        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15573    )]
15574    pub flat_monthly: Option<rust_decimal::Decimal>,
15575    #[serde(
15576        default,
15577        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15578    )]
15579    pub flat_minute: Option<rust_decimal::Decimal>,
15580    #[serde(
15581        default,
15582        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15583    )]
15584    pub flat_setup: Option<rust_decimal::Decimal>,
15585}
15586
15587#[derive(Debug, Clone, Default, serde::Deserialize)]
15588pub struct SearchDIDsUSAResponse {
15589    #[serde(
15590        default,
15591        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15592    )]
15593    pub status: Option<String>,
15594    #[serde(default)]
15595    pub dids: Option<Vec<SearchDIDsUSAResponseDID>>,
15596}
15597
15598/// Response body for [`Client::search_fax_area_code_can`] (wire method `searchFaxAreaCodeCAN`).
15599#[derive(Debug, Clone, Default, serde::Deserialize)]
15600pub struct SearchFAXAreaCodeCANResponse0 {
15601    #[serde(
15602        default,
15603        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15604    )]
15605    pub ratecenter: Option<String>,
15606    #[serde(
15607        default,
15608        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15609    )]
15610    pub area_code: Option<u64>,
15611    #[serde(
15612        default,
15613        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15614    )]
15615    pub available: Option<bool>,
15616}
15617
15618#[derive(Debug, Clone, Default, serde::Deserialize)]
15619pub struct SearchFAXAreaCodeCANResponse {
15620    #[serde(
15621        default,
15622        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15623    )]
15624    pub status: Option<String>,
15625    #[serde(
15626        default,
15627        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15628    )]
15629    pub ratecenters: Option<String>,
15630    #[serde(default, rename = "0")]
15631    pub field_0: Option<SearchFAXAreaCodeCANResponse0>,
15632}
15633
15634/// Response body for [`Client::search_fax_area_code_usa`] (wire method `searchFaxAreaCodeUSA`).
15635#[derive(Debug, Clone, Default, serde::Deserialize)]
15636pub struct SearchFAXAreaCodeUSAResponse {
15637    #[serde(
15638        default,
15639        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15640    )]
15641    pub status: Option<String>,
15642    #[serde(
15643        default,
15644        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15645    )]
15646    pub ratecenters: Option<String>,
15647    #[serde(
15648        default,
15649        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15650        rename = "0"
15651    )]
15652    pub field_0: Option<String>,
15653    #[serde(
15654        default,
15655        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15656    )]
15657    pub ratecenter: Option<String>,
15658    #[serde(
15659        default,
15660        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15661    )]
15662    pub area_code: Option<u64>,
15663    #[serde(
15664        default,
15665        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15666    )]
15667    pub available: Option<bool>,
15668}
15669
15670/// Response body for [`Client::search_toll_free_can_us`] (wire method `searchTollFreeCanUS`).
15671#[derive(Debug, Clone, Default, serde::Deserialize)]
15672pub struct SearchTollFreeCANUSResponseDID {
15673    #[serde(
15674        default,
15675        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15676    )]
15677    pub did: Option<u64>,
15678    #[serde(
15679        default,
15680        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15681    )]
15682    pub monthly: Option<rust_decimal::Decimal>,
15683    #[serde(
15684        default,
15685        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15686    )]
15687    pub minute: Option<rust_decimal::Decimal>,
15688    #[serde(
15689        default,
15690        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15691    )]
15692    pub setup: Option<rust_decimal::Decimal>,
15693}
15694
15695#[derive(Debug, Clone, Default, serde::Deserialize)]
15696pub struct SearchTollFreeCANUSResponse {
15697    #[serde(
15698        default,
15699        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15700    )]
15701    pub status: Option<String>,
15702    #[serde(default)]
15703    pub dids: Option<Vec<SearchTollFreeCANUSResponseDID>>,
15704}
15705
15706/// Response body for [`Client::search_toll_free_usa`] (wire method `searchTollFreeUSA`).
15707#[derive(Debug, Clone, Default, serde::Deserialize)]
15708pub struct SearchTollFreeUSAResponseDID {
15709    #[serde(
15710        default,
15711        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15712    )]
15713    pub did: Option<u64>,
15714    #[serde(
15715        default,
15716        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15717    )]
15718    pub monthly: Option<rust_decimal::Decimal>,
15719    #[serde(
15720        default,
15721        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15722    )]
15723    pub minute_usa: Option<rust_decimal::Decimal>,
15724    #[serde(
15725        default,
15726        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15727    )]
15728    pub minute_canada: Option<rust_decimal::Decimal>,
15729    #[serde(
15730        default,
15731        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15732    )]
15733    pub minute_puertorico: Option<rust_decimal::Decimal>,
15734    #[serde(
15735        default,
15736        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15737    )]
15738    pub minute_alaska: Option<rust_decimal::Decimal>,
15739    #[serde(
15740        default,
15741        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15742    )]
15743    pub setup: Option<u64>,
15744}
15745
15746#[derive(Debug, Clone, Default, serde::Deserialize)]
15747pub struct SearchTollFreeUSAResponse {
15748    #[serde(
15749        default,
15750        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15751    )]
15752    pub status: Option<String>,
15753    #[serde(default)]
15754    pub dids: Option<Vec<SearchTollFreeUSAResponseDID>>,
15755}
15756
15757/// Response body for [`Client::search_vanity`] (wire method `searchVanity`).
15758#[derive(Debug, Clone, Default, serde::Deserialize)]
15759pub struct SearchVanityResponseDID {
15760    #[serde(
15761        default,
15762        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15763    )]
15764    pub did: Option<u64>,
15765    #[serde(
15766        default,
15767        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15768    )]
15769    pub monthly_american: Option<rust_decimal::Decimal>,
15770    #[serde(
15771        default,
15772        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15773    )]
15774    pub monthly_canadian: Option<rust_decimal::Decimal>,
15775    #[serde(
15776        default,
15777        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15778    )]
15779    pub minute_american_usa: Option<rust_decimal::Decimal>,
15780    #[serde(
15781        default,
15782        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15783    )]
15784    pub minute_american_canada: Option<rust_decimal::Decimal>,
15785    #[serde(
15786        default,
15787        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15788    )]
15789    pub minute_canadian: Option<rust_decimal::Decimal>,
15790    #[serde(
15791        default,
15792        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15793    )]
15794    pub setup_american: Option<u64>,
15795    #[serde(
15796        default,
15797        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15798    )]
15799    pub setup_canadian: Option<u64>,
15800}
15801
15802#[derive(Debug, Clone, Default, serde::Deserialize)]
15803pub struct SearchVanityResponse {
15804    #[serde(
15805        default,
15806        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15807    )]
15808    pub status: Option<String>,
15809    #[serde(default)]
15810    pub dids: Option<Vec<SearchVanityResponseDID>>,
15811}
15812
15813/// Response body for [`Client::send_call_recording_email`] (wire method `sendCallRecordingEmail`).
15814#[derive(Debug, Clone, Default, serde::Deserialize)]
15815pub struct SendCallRecordingEmailResponse {
15816    #[serde(
15817        default,
15818        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15819    )]
15820    pub status: Option<String>,
15821    #[serde(
15822        default,
15823        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15824    )]
15825    pub msg: Option<String>,
15826}
15827
15828/// Response body for [`Client::send_fax_message`] (wire method `sendFaxMessage`).
15829#[derive(Debug, Clone, Default, serde::Deserialize)]
15830pub struct SendFAXMessageResponse {
15831    #[serde(
15832        default,
15833        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15834    )]
15835    pub status: Option<String>,
15836}
15837
15838/// Response body for [`Client::send_mms`] (wire method `sendMMS`).
15839#[derive(Debug, Clone, Default, serde::Deserialize)]
15840pub struct SendMMSResponse {
15841    #[serde(
15842        default,
15843        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15844    )]
15845    pub status: Option<String>,
15846    #[serde(
15847        default,
15848        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15849    )]
15850    pub mms: Option<u64>,
15851}
15852
15853/// Response body for [`Client::send_sms`] (wire method `sendSMS`).
15854#[derive(Debug, Clone, Default, serde::Deserialize)]
15855pub struct SendSMSResponse {
15856    #[serde(
15857        default,
15858        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15859    )]
15860    pub status: Option<String>,
15861    #[serde(
15862        default,
15863        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15864    )]
15865    pub sms: Option<u64>,
15866}
15867
15868/// Response body for [`Client::send_voicemail_email`] (wire method `sendVoicemailEmail`).
15869#[derive(Debug, Clone, Default, serde::Deserialize)]
15870pub struct SendVoicemailEmailResponse {
15871    #[serde(
15872        default,
15873        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15874    )]
15875    pub status: Option<String>,
15876}
15877
15878/// Response body for [`Client::set_call_hunting`] (wire method `setCallHunting`).
15879#[derive(Debug, Clone, Default, serde::Deserialize)]
15880pub struct SetCallHuntingResponse {
15881    #[serde(
15882        default,
15883        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15884    )]
15885    pub status: Option<String>,
15886    #[serde(
15887        default,
15888        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15889    )]
15890    pub call_hunting: Option<u64>,
15891}
15892
15893/// Response body for [`Client::set_call_parking`] (wire method `setCallParking`).
15894#[derive(Debug, Clone, Default, serde::Deserialize)]
15895pub struct SetCallParkingResponse {
15896    #[serde(
15897        default,
15898        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15899    )]
15900    pub status: Option<String>,
15901    #[serde(
15902        default,
15903        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15904    )]
15905    pub callparking: Option<u64>,
15906}
15907
15908/// Response body for [`Client::set_callback`] (wire method `setCallback`).
15909#[derive(Debug, Clone, Default, serde::Deserialize)]
15910pub struct SetCallbackResponse {
15911    #[serde(
15912        default,
15913        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15914    )]
15915    pub status: Option<String>,
15916    #[serde(
15917        default,
15918        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15919    )]
15920    pub callback: Option<u64>,
15921}
15922
15923/// Response body for [`Client::set_caller_id_filtering`] (wire method `setCallerIDFiltering`).
15924#[derive(Debug, Clone, Default, serde::Deserialize)]
15925pub struct SetCallerIDFilteringResponse {
15926    #[serde(
15927        default,
15928        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15929    )]
15930    pub status: Option<String>,
15931    #[serde(
15932        default,
15933        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15934    )]
15935    pub filtering: Option<u64>,
15936}
15937
15938/// Response body for [`Client::set_client`] (wire method `setClient`).
15939#[derive(Debug, Clone, Default, serde::Deserialize)]
15940pub struct SetClientResponse {
15941    #[serde(
15942        default,
15943        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15944    )]
15945    pub status: Option<String>,
15946}
15947
15948/// Response body for [`Client::set_client_threshold`] (wire method `setClientThreshold`).
15949#[derive(Debug, Clone, Default, serde::Deserialize)]
15950pub struct SetClientThresholdResponse {
15951    #[serde(
15952        default,
15953        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15954    )]
15955    pub status: Option<String>,
15956}
15957
15958/// Response body for [`Client::set_conference`] (wire method `setConference`).
15959#[derive(Debug, Clone, Default, serde::Deserialize)]
15960pub struct SetConferenceResponse {
15961    #[serde(
15962        default,
15963        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15964    )]
15965    pub status: Option<String>,
15966    #[serde(
15967        default,
15968        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15969    )]
15970    pub conference: Option<u64>,
15971}
15972
15973/// Response body for [`Client::set_conference_member`] (wire method `setConferenceMember`).
15974#[derive(Debug, Clone, Default, serde::Deserialize)]
15975pub struct SetConferenceMemberResponse {
15976    #[serde(
15977        default,
15978        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15979    )]
15980    pub status: Option<String>,
15981    #[serde(
15982        default,
15983        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15984    )]
15985    pub member: Option<u64>,
15986}
15987
15988/// Response body for [`Client::set_did_billing_type`] (wire method `setDIDBillingType`).
15989#[derive(Debug, Clone, Default, serde::Deserialize)]
15990pub struct SetDIDBillingTypeResponse {
15991    #[serde(
15992        default,
15993        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15994    )]
15995    pub status: Option<String>,
15996}
15997
15998/// Response body for [`Client::set_did_info`] (wire method `setDIDInfo`).
15999#[derive(Debug, Clone, Default, serde::Deserialize)]
16000pub struct SetDIDInfoResponse {
16001    #[serde(
16002        default,
16003        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16004    )]
16005    pub status: Option<String>,
16006}
16007
16008/// Response body for [`Client::set_did_pop`] (wire method `setDIDPOP`).
16009#[derive(Debug, Clone, Default, serde::Deserialize)]
16010pub struct SetDIDPOPResponse {
16011    #[serde(
16012        default,
16013        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16014    )]
16015    pub status: Option<String>,
16016}
16017
16018/// Response body for [`Client::set_did_routing`] (wire method `setDIDRouting`).
16019#[derive(Debug, Clone, Default, serde::Deserialize)]
16020pub struct SetDIDRoutingResponse {
16021    #[serde(
16022        default,
16023        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16024    )]
16025    pub status: Option<String>,
16026}
16027
16028/// Response body for [`Client::set_did_voicemail`] (wire method `setDIDVoicemail`).
16029#[derive(Debug, Clone, Default, serde::Deserialize)]
16030pub struct SetDIDVoicemailResponse {
16031    #[serde(
16032        default,
16033        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16034    )]
16035    pub status: Option<String>,
16036}
16037
16038/// Response body for [`Client::set_disa`] (wire method `setDISA`).
16039#[derive(Debug, Clone, Default, serde::Deserialize)]
16040pub struct SetDISAResponse {
16041    #[serde(
16042        default,
16043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16044    )]
16045    pub status: Option<String>,
16046    #[serde(
16047        default,
16048        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16049    )]
16050    pub disa: Option<u64>,
16051}
16052
16053/// Response body for [`Client::set_email_to_fax`] (wire method `setEmailToFax`).
16054#[derive(Debug, Clone, Default, serde::Deserialize)]
16055pub struct SetEmailToFAXResponse {
16056    #[serde(
16057        default,
16058        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16059    )]
16060    pub status: Option<String>,
16061}
16062
16063/// Response body for [`Client::set_fax_folder`] (wire method `setFaxFolder`).
16064#[derive(Debug, Clone, Default, serde::Deserialize)]
16065pub struct SetFAXFolderResponse {
16066    #[serde(
16067        default,
16068        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16069    )]
16070    pub status: Option<String>,
16071}
16072
16073/// Response body for [`Client::set_fax_number_email`] (wire method `setFaxNumberEmail`).
16074#[derive(Debug, Clone, Default, serde::Deserialize)]
16075pub struct SetFAXNumberEmailResponse {
16076    #[serde(
16077        default,
16078        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16079    )]
16080    pub status: Option<String>,
16081}
16082
16083/// Response body for [`Client::set_fax_number_info`] (wire method `setFaxNumberInfo`).
16084#[derive(Debug, Clone, Default, serde::Deserialize)]
16085pub struct SetFAXNumberInfoResponse {
16086    #[serde(
16087        default,
16088        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16089    )]
16090    pub status: Option<String>,
16091}
16092
16093/// Response body for [`Client::set_fax_number_url_callback`] (wire method `setFaxNumberURLCallback`).
16094#[derive(Debug, Clone, Default, serde::Deserialize)]
16095pub struct SetFAXNumberURLCallbackResponse {
16096    #[serde(
16097        default,
16098        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16099    )]
16100    pub status: Option<String>,
16101}
16102
16103/// Response body for [`Client::set_forwarding`] (wire method `setForwarding`).
16104#[derive(Debug, Clone, Default, serde::Deserialize)]
16105pub struct SetForwardingResponse {
16106    #[serde(
16107        default,
16108        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16109    )]
16110    pub status: Option<String>,
16111    #[serde(
16112        default,
16113        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16114    )]
16115    pub forwarding: Option<u64>,
16116}
16117
16118/// Response body for [`Client::set_ivr`] (wire method `setIVR`).
16119#[derive(Debug, Clone, Default, serde::Deserialize)]
16120pub struct SetIVRResponse {
16121    #[serde(
16122        default,
16123        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16124    )]
16125    pub status: Option<String>,
16126    #[serde(
16127        default,
16128        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16129    )]
16130    pub ivr: Option<u64>,
16131}
16132
16133/// Response body for [`Client::set_location`] (wire method `setLocation`).
16134#[derive(Debug, Clone, Default, serde::Deserialize)]
16135pub struct SetLocationResponse {
16136    #[serde(
16137        default,
16138        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16139    )]
16140    pub status: Option<String>,
16141}
16142
16143/// Response body for [`Client::set_music_on_hold`] (wire method `setMusicOnHold`).
16144#[derive(Debug, Clone, Default, serde::Deserialize)]
16145pub struct SetMusicOnHoldResponse {
16146    #[serde(
16147        default,
16148        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16149    )]
16150    pub status: Option<String>,
16151}
16152
16153/// Response body for [`Client::set_phonebook`] (wire method `setPhonebook`).
16154#[derive(Debug, Clone, Default, serde::Deserialize)]
16155pub struct SetPhonebookResponse {
16156    #[serde(
16157        default,
16158        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16159    )]
16160    pub status: Option<String>,
16161    #[serde(
16162        default,
16163        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16164    )]
16165    pub phonebook: Option<u64>,
16166}
16167
16168/// Response body for [`Client::set_phonebook_group`] (wire method `setPhonebookGroup`).
16169#[derive(Debug, Clone, Default, serde::Deserialize)]
16170pub struct SetPhonebookGroupResponse {
16171    #[serde(
16172        default,
16173        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16174    )]
16175    pub status: Option<String>,
16176    #[serde(
16177        default,
16178        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16179    )]
16180    pub group: Option<u64>,
16181}
16182
16183/// Response body for [`Client::set_queue`] (wire method `setQueue`).
16184#[derive(Debug, Clone, Default, serde::Deserialize)]
16185pub struct SetQueueResponse {
16186    #[serde(
16187        default,
16188        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16189    )]
16190    pub status: Option<String>,
16191    #[serde(
16192        default,
16193        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16194    )]
16195    pub queue: Option<u64>,
16196}
16197
16198/// Response body for [`Client::set_recording`] (wire method `setRecording`).
16199#[derive(Debug, Clone, Default, serde::Deserialize)]
16200pub struct SetRecordingResponse {
16201    #[serde(
16202        default,
16203        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16204    )]
16205    pub status: Option<String>,
16206    #[serde(
16207        default,
16208        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16209    )]
16210    pub recording: Option<u64>,
16211}
16212
16213/// Response body for [`Client::set_ring_group`] (wire method `setRingGroup`).
16214#[derive(Debug, Clone, Default, serde::Deserialize)]
16215pub struct SetRingGroupResponse {
16216    #[serde(
16217        default,
16218        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16219    )]
16220    pub status: Option<String>,
16221    #[serde(
16222        default,
16223        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16224    )]
16225    pub ring_group: Option<u64>,
16226}
16227
16228/// Response body for [`Client::set_sip_uri`] (wire method `setSIPURI`).
16229#[derive(Debug, Clone, Default, serde::Deserialize)]
16230pub struct SetSIPURIResponse {
16231    #[serde(
16232        default,
16233        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16234    )]
16235    pub status: Option<String>,
16236}
16237
16238/// Response body for [`Client::set_sms`] (wire method `setSMS`).
16239#[derive(Debug, Clone, Default, serde::Deserialize)]
16240pub struct SetSMSResponse {
16241    #[serde(
16242        default,
16243        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16244    )]
16245    pub status: Option<String>,
16246    #[serde(
16247        default,
16248        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16249    )]
16250    pub sipuri: Option<u64>,
16251}
16252
16253/// Response body for [`Client::set_static_member`] (wire method `setStaticMember`).
16254#[derive(Debug, Clone, Default, serde::Deserialize)]
16255pub struct SetStaticMemberResponse {
16256    #[serde(
16257        default,
16258        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16259    )]
16260    pub status: Option<String>,
16261    #[serde(
16262        default,
16263        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16264    )]
16265    pub member: Option<u64>,
16266}
16267
16268/// Response body for [`Client::set_sub_account`] (wire method `setSubAccount`).
16269#[derive(Debug, Clone, Default, serde::Deserialize)]
16270pub struct SetSubAccountResponse {
16271    #[serde(
16272        default,
16273        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16274    )]
16275    pub status: Option<String>,
16276}
16277
16278/// Response body for [`Client::set_time_condition`] (wire method `setTimeCondition`).
16279#[derive(Debug, Clone, Default, serde::Deserialize)]
16280pub struct SetTimeConditionResponse {
16281    #[serde(
16282        default,
16283        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16284    )]
16285    pub status: Option<String>,
16286    #[serde(
16287        default,
16288        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16289    )]
16290    pub timecondition: Option<u64>,
16291}
16292
16293/// Response body for [`Client::set_voicemail`] (wire method `setVoicemail`).
16294#[derive(Debug, Clone, Default, serde::Deserialize)]
16295pub struct SetVoicemailResponse {
16296    #[serde(
16297        default,
16298        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16299    )]
16300    pub status: Option<String>,
16301}
16302
16303/// Response body for [`Client::signup_client`] (wire method `signupClient`).
16304#[derive(Debug, Clone, Default, serde::Deserialize)]
16305pub struct SignupClientResponse {
16306    #[serde(
16307        default,
16308        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16309    )]
16310    pub status: Option<String>,
16311    #[serde(
16312        default,
16313        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16314    )]
16315    pub client: Option<u64>,
16316}
16317
16318/// Response body for [`Client::unconnect_did`] (wire method `unconnectDID`).
16319#[derive(Debug, Clone, Default, serde::Deserialize)]
16320pub struct UnconnectDIDResponse {
16321    #[serde(
16322        default,
16323        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16324    )]
16325    pub status: Option<String>,
16326}
16327
16328/// Response body for [`Client::unconnect_fax`] (wire method `unconnectFAX`).
16329#[derive(Debug, Clone, Default, serde::Deserialize)]
16330pub struct UnconnectFAXResponse {
16331    #[serde(
16332        default,
16333        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16334    )]
16335    pub status: Option<String>,
16336}
16337
16338impl Client {
16339    /// \- Adds a Charge to a specific Reseller Client
16340    ///
16341    /// Call the `addCharge` API method and deserialize into [`AddChargeResponse`].
16342    pub async fn add_charge(&self, params: &AddChargeParams) -> Result<AddChargeResponse> {
16343        self.call("addCharge", params).await
16344    }
16345
16346    /// Call the `addCharge` API method and return the raw JSON envelope.
16347    pub async fn add_charge_raw(&self, params: &AddChargeParams) -> Result<Value> {
16348        self.call_raw("addCharge", params).await
16349    }
16350
16351    /// \- Add an invoice file to a portability process.
16352    ///
16353    /// Call the `addLNPFile` API method and deserialize into [`AddLNPFileResponse`].
16354    pub async fn add_lnp_file(&self, params: &AddLNPFileParams) -> Result<AddLNPFileResponse> {
16355        self.call("addLNPFile", params).await
16356    }
16357
16358    /// Call the `addLNPFile` API method and return the raw JSON envelope.
16359    pub async fn add_lnp_file_raw(&self, params: &AddLNPFileParams) -> Result<Value> {
16360        self.call_raw("addLNPFile", params).await
16361    }
16362
16363    /// \- Add one or more numbers to start a portability process.
16364    ///
16365    /// Call the `addLNPPort` API method and deserialize into [`AddLNPPortResponse`].
16366    pub async fn add_lnp_port(&self, params: &AddLNPPortParams) -> Result<AddLNPPortResponse> {
16367        self.call("addLNPPort", params).await
16368    }
16369
16370    /// Call the `addLNPPort` API method and return the raw JSON envelope.
16371    pub async fn add_lnp_port_raw(&self, params: &AddLNPPortParams) -> Result<Value> {
16372        self.call_raw("addLNPPort", params).await
16373    }
16374
16375    /// \- Add Member to a Conference
16376    ///
16377    /// Call the `addMemberToConference` API method and deserialize into [`AddMemberToConferenceResponse`].
16378    pub async fn add_member_to_conference(
16379        &self,
16380        params: &AddMemberToConferenceParams,
16381    ) -> Result<AddMemberToConferenceResponse> {
16382        self.call("addMemberToConference", params).await
16383    }
16384
16385    /// Call the `addMemberToConference` API method and return the raw JSON envelope.
16386    pub async fn add_member_to_conference_raw(
16387        &self,
16388        params: &AddMemberToConferenceParams,
16389    ) -> Result<Value> {
16390        self.call_raw("addMemberToConference", params).await
16391    }
16392
16393    /// \- Adds a Payment to a specific Reseller Client
16394    ///
16395    /// Call the `addPayment` API method and deserialize into [`AddPaymentResponse`].
16396    pub async fn add_payment(&self, params: &AddPaymentParams) -> Result<AddPaymentResponse> {
16397        self.call("addPayment", params).await
16398    }
16399
16400    /// Call the `addPayment` API method and return the raw JSON envelope.
16401    pub async fn add_payment_raw(&self, params: &AddPaymentParams) -> Result<Value> {
16402        self.call_raw("addPayment", params).await
16403    }
16404
16405    /// \- Assigns a Per Minute DID to a VPRI (Flat Rate DIDs can&rsquo;t be
16406    /// assigned)
16407    ///
16408    /// Call the `assignDIDvPRI` API method and deserialize into [`AssignDIDvPRIResponse`].
16409    pub async fn assign_did_vpri(
16410        &self,
16411        params: &AssignDIDvPRIParams,
16412    ) -> Result<AssignDIDvPRIResponse> {
16413        self.call("assignDIDvPRI", params).await
16414    }
16415
16416    /// Call the `assignDIDvPRI` API method and return the raw JSON envelope.
16417    pub async fn assign_did_vpri_raw(&self, params: &AssignDIDvPRIParams) -> Result<Value> {
16418        self.call_raw("assignDIDvPRI", params).await
16419    }
16420
16421    /// \- Backorder DID (CANADA) from a specific ratecenter and province.
16422    ///
16423    /// Call the `backOrderDIDCAN` API method and deserialize into [`BackOrderDIDCANResponse`].
16424    pub async fn back_order_did_can(
16425        &self,
16426        params: &BackOrderDIDCANParams,
16427    ) -> Result<BackOrderDIDCANResponse> {
16428        self.call("backOrderDIDCAN", params).await
16429    }
16430
16431    /// Call the `backOrderDIDCAN` API method and return the raw JSON envelope.
16432    pub async fn back_order_did_can_raw(&self, params: &BackOrderDIDCANParams) -> Result<Value> {
16433        self.call_raw("backOrderDIDCAN", params).await
16434    }
16435
16436    /// \- Backorder DID (USA) from a specific ratecenter and state.
16437    ///
16438    /// Call the `backOrderDIDUSA` API method and deserialize into [`BackOrderDIDUSAResponse`].
16439    pub async fn back_order_did_usa(
16440        &self,
16441        params: &BackOrderDIDUSAParams,
16442    ) -> Result<BackOrderDIDUSAResponse> {
16443        self.call("backOrderDIDUSA", params).await
16444    }
16445
16446    /// Call the `backOrderDIDUSA` API method and return the raw JSON envelope.
16447    pub async fn back_order_did_usa_raw(&self, params: &BackOrderDIDUSAParams) -> Result<Value> {
16448        self.call_raw("backOrderDIDUSA", params).await
16449    }
16450
16451    /// \- Deletes a specific DID from your Account.
16452    ///
16453    /// Call the `cancelDID` API method and deserialize into [`CancelDIDResponse`].
16454    pub async fn cancel_did(&self, params: &CancelDIDParams) -> Result<CancelDIDResponse> {
16455        self.call("cancelDID", params).await
16456    }
16457
16458    /// Call the `cancelDID` API method and return the raw JSON envelope.
16459    pub async fn cancel_did_raw(&self, params: &CancelDIDParams) -> Result<Value> {
16460        self.call_raw("cancelDID", params).await
16461    }
16462
16463    /// \- Deletes a specific Fax Number from your Account.
16464    ///
16465    /// Call the `cancelFaxNumber` API method and deserialize into [`CancelFAXNumberResponse`].
16466    pub async fn cancel_fax_number(
16467        &self,
16468        params: &CancelFAXNumberParams,
16469    ) -> Result<CancelFAXNumberResponse> {
16470        self.call("cancelFaxNumber", params).await
16471    }
16472
16473    /// Call the `cancelFaxNumber` API method and return the raw JSON envelope.
16474    pub async fn cancel_fax_number_raw(&self, params: &CancelFAXNumberParams) -> Result<Value> {
16475        self.call_raw("cancelFaxNumber", params).await
16476    }
16477
16478    /// \- Connects a specific DID to a specific Reseller Client Sub Account
16479    ///
16480    /// Call the `connectDID` API method and deserialize into [`ConnectDIDResponse`].
16481    pub async fn connect_did(&self, params: &ConnectDIDParams) -> Result<ConnectDIDResponse> {
16482        self.call("connectDID", params).await
16483    }
16484
16485    /// Call the `connectDID` API method and return the raw JSON envelope.
16486    pub async fn connect_did_raw(&self, params: &ConnectDIDParams) -> Result<Value> {
16487        self.call_raw("connectDID", params).await
16488    }
16489
16490    /// \- Connects a specific FAX DID to a specific Reseller Client Sub Account
16491    ///
16492    /// Call the `connectFAX` API method and deserialize into [`ConnectFAXResponse`].
16493    pub async fn connect_fax(&self, params: &ConnectFAXParams) -> Result<ConnectFAXResponse> {
16494        self.call("connectFAX", params).await
16495    }
16496
16497    /// Call the `connectFAX` API method and return the raw JSON envelope.
16498    pub async fn connect_fax_raw(&self, params: &ConnectFAXParams) -> Result<Value> {
16499        self.call_raw("connectFAX", params).await
16500    }
16501
16502    /// \- Adds a new Sub Account entry to your Account
16503    ///
16504    /// Call the `createSubAccount` API method and deserialize into [`CreateSubAccountResponse`].
16505    pub async fn create_sub_account(
16506        &self,
16507        params: &CreateSubAccountParams,
16508    ) -> Result<CreateSubAccountResponse> {
16509        self.call("createSubAccount", params).await
16510    }
16511
16512    /// Call the `createSubAccount` API method and return the raw JSON envelope.
16513    pub async fn create_sub_account_raw(&self, params: &CreateSubAccountParams) -> Result<Value> {
16514        self.call_raw("createSubAccount", params).await
16515    }
16516
16517    /// \- Adds a new Voicemail entry to your Account
16518    ///
16519    /// Call the `createVoicemail` API method and deserialize into [`CreateVoicemailResponse`].
16520    pub async fn create_voicemail(
16521        &self,
16522        params: &CreateVoicemailParams,
16523    ) -> Result<CreateVoicemailResponse> {
16524        self.call("createVoicemail", params).await
16525    }
16526
16527    /// Call the `createVoicemail` API method and return the raw JSON envelope.
16528    pub async fn create_voicemail_raw(&self, params: &CreateVoicemailParams) -> Result<Value> {
16529        self.call_raw("createVoicemail", params).await
16530    }
16531
16532    /// \- Deletes a specific Call Hunting from your Account.
16533    ///
16534    /// Call the `delCallHunting` API method and deserialize into [`DelCallHuntingResponse`].
16535    pub async fn del_call_hunting(
16536        &self,
16537        params: &DelCallHuntingParams,
16538    ) -> Result<DelCallHuntingResponse> {
16539        self.call("delCallHunting", params).await
16540    }
16541
16542    /// Call the `delCallHunting` API method and return the raw JSON envelope.
16543    pub async fn del_call_hunting_raw(&self, params: &DelCallHuntingParams) -> Result<Value> {
16544        self.call_raw("delCallHunting", params).await
16545    }
16546
16547    /// \- Deletes a specific Call Parking entry from your Account.
16548    ///
16549    /// Call the `delCallParking` API method and deserialize into [`DelCallParkingResponse`].
16550    pub async fn del_call_parking(
16551        &self,
16552        params: &DelCallParkingParams,
16553    ) -> Result<DelCallParkingResponse> {
16554        self.call("delCallParking", params).await
16555    }
16556
16557    /// Call the `delCallParking` API method and return the raw JSON envelope.
16558    pub async fn del_call_parking_raw(&self, params: &DelCallParkingParams) -> Result<Value> {
16559        self.call_raw("delCallParking", params).await
16560    }
16561
16562    /// \- Delete specific call recording, audio file and information related.
16563    ///
16564    /// Call the `delCallRecording` API method and deserialize into [`DelCallRecordingResponse`].
16565    pub async fn del_call_recording(
16566        &self,
16567        params: &DelCallRecordingParams,
16568    ) -> Result<DelCallRecordingResponse> {
16569        self.call("delCallRecording", params).await
16570    }
16571
16572    /// Call the `delCallRecording` API method and return the raw JSON envelope.
16573    pub async fn del_call_recording_raw(&self, params: &DelCallRecordingParams) -> Result<Value> {
16574        self.call_raw("delCallRecording", params).await
16575    }
16576
16577    /// \- Deletes a specific Callback from your Account.
16578    ///
16579    /// Call the `delCallback` API method and deserialize into [`DelCallbackResponse`].
16580    pub async fn del_callback(&self, params: &DelCallbackParams) -> Result<DelCallbackResponse> {
16581        self.call("delCallback", params).await
16582    }
16583
16584    /// Call the `delCallback` API method and return the raw JSON envelope.
16585    pub async fn del_callback_raw(&self, params: &DelCallbackParams) -> Result<Value> {
16586        self.call_raw("delCallback", params).await
16587    }
16588
16589    /// \- Deletes a specific CallerID Filtering from your Account.
16590    ///
16591    /// Call the `delCallerIDFiltering` API method and deserialize into [`DelCallerIDFilteringResponse`].
16592    pub async fn del_caller_id_filtering(
16593        &self,
16594        params: &DelCallerIDFilteringParams,
16595    ) -> Result<DelCallerIDFilteringResponse> {
16596        self.call("delCallerIDFiltering", params).await
16597    }
16598
16599    /// Call the `delCallerIDFiltering` API method and return the raw JSON envelope.
16600    pub async fn del_caller_id_filtering_raw(
16601        &self,
16602        params: &DelCallerIDFilteringParams,
16603    ) -> Result<Value> {
16604        self.call_raw("delCallerIDFiltering", params).await
16605    }
16606
16607    /// \- Deletes a specific reseller client from your Account.
16608    ///
16609    /// Call the `delClient` API method and deserialize into [`DelClientResponse`].
16610    pub async fn del_client(&self, params: &DelClientParams) -> Result<DelClientResponse> {
16611        self.call("delClient", params).await
16612    }
16613
16614    /// Call the `delClient` API method and return the raw JSON envelope.
16615    pub async fn del_client_raw(&self, params: &DelClientParams) -> Result<Value> {
16616        self.call_raw("delClient", params).await
16617    }
16618
16619    /// \- Deletes a specific Conference from your Account.
16620    ///
16621    /// Call the `delConference` API method and deserialize into [`DelConferenceResponse`].
16622    pub async fn del_conference(
16623        &self,
16624        params: &DelConferenceParams,
16625    ) -> Result<DelConferenceResponse> {
16626        self.call("delConference", params).await
16627    }
16628
16629    /// Call the `delConference` API method and return the raw JSON envelope.
16630    pub async fn del_conference_raw(&self, params: &DelConferenceParams) -> Result<Value> {
16631        self.call_raw("delConference", params).await
16632    }
16633
16634    /// \- Deletes a specific Member profile from your Account.
16635    ///
16636    /// Call the `delConferenceMember` API method and deserialize into [`DelConferenceMemberResponse`].
16637    pub async fn del_conference_member(
16638        &self,
16639        params: &DelConferenceMemberParams,
16640    ) -> Result<DelConferenceMemberResponse> {
16641        self.call("delConferenceMember", params).await
16642    }
16643
16644    /// Call the `delConferenceMember` API method and return the raw JSON envelope.
16645    pub async fn del_conference_member_raw(
16646        &self,
16647        params: &DelConferenceMemberParams,
16648    ) -> Result<Value> {
16649        self.call_raw("delConferenceMember", params).await
16650    }
16651
16652    /// \- Deletes a specific DISA from your Account.
16653    ///
16654    /// Call the `delDISA` API method and deserialize into [`DelDISAResponse`].
16655    pub async fn del_disa(&self, params: &DelDISAParams) -> Result<DelDISAResponse> {
16656        self.call("delDISA", params).await
16657    }
16658
16659    /// Call the `delDISA` API method and return the raw JSON envelope.
16660    pub async fn del_disa_raw(&self, params: &DelDISAParams) -> Result<Value> {
16661        self.call_raw("delDISA", params).await
16662    }
16663
16664    /// \- Deletes a specific "Email to Fax configuration" from your Account.
16665    ///
16666    /// Call the `delEmailToFax` API method and deserialize into [`DelEmailToFAXResponse`].
16667    pub async fn del_email_to_fax(
16668        &self,
16669        params: &DelEmailToFAXParams,
16670    ) -> Result<DelEmailToFAXResponse> {
16671        self.call("delEmailToFax", params).await
16672    }
16673
16674    /// Call the `delEmailToFax` API method and return the raw JSON envelope.
16675    pub async fn del_email_to_fax_raw(&self, params: &DelEmailToFAXParams) -> Result<Value> {
16676        self.call_raw("delEmailToFax", params).await
16677    }
16678
16679    /// \- Deletes a specific Fax Folder from your Account.
16680    ///
16681    /// Call the `delFaxFolder` API method and deserialize into [`DelFAXFolderResponse`].
16682    pub async fn del_fax_folder(
16683        &self,
16684        params: &DelFAXFolderParams,
16685    ) -> Result<DelFAXFolderResponse> {
16686        self.call("delFaxFolder", params).await
16687    }
16688
16689    /// Call the `delFaxFolder` API method and return the raw JSON envelope.
16690    pub async fn del_fax_folder_raw(&self, params: &DelFAXFolderParams) -> Result<Value> {
16691        self.call_raw("delFaxFolder", params).await
16692    }
16693
16694    /// \- Deletes a specific Forwarding from your Account.
16695    ///
16696    /// Call the `delForwarding` API method and deserialize into [`DelForwardingResponse`].
16697    pub async fn del_forwarding(
16698        &self,
16699        params: &DelForwardingParams,
16700    ) -> Result<DelForwardingResponse> {
16701        self.call("delForwarding", params).await
16702    }
16703
16704    /// Call the `delForwarding` API method and return the raw JSON envelope.
16705    pub async fn del_forwarding_raw(&self, params: &DelForwardingParams) -> Result<Value> {
16706        self.call_raw("delForwarding", params).await
16707    }
16708
16709    /// \- Deletes a specific IVR from your Account.
16710    ///
16711    /// Call the `delIVR` API method and deserialize into [`DelIVRResponse`].
16712    pub async fn del_ivr(&self, params: &DelIVRParams) -> Result<DelIVRResponse> {
16713        self.call("delIVR", params).await
16714    }
16715
16716    /// Call the `delIVR` API method and return the raw JSON envelope.
16717    pub async fn del_ivr_raw(&self, params: &DelIVRParams) -> Result<Value> {
16718        self.call_raw("delIVR", params).await
16719    }
16720
16721    /// Call the `delLocation` API method and deserialize into [`DelLocationResponse`].
16722    pub async fn del_location(&self, params: &DelLocationParams) -> Result<DelLocationResponse> {
16723        self.call("delLocation", params).await
16724    }
16725
16726    /// Call the `delLocation` API method and return the raw JSON envelope.
16727    pub async fn del_location_raw(&self, params: &DelLocationParams) -> Result<Value> {
16728        self.call_raw("delLocation", params).await
16729    }
16730
16731    /// \- Removes a member profile from a specific Conference from your Account
16732    ///
16733    /// Call the `delMemberFromConference` API method and deserialize into [`DelMemberFromConferenceResponse`].
16734    pub async fn del_member_from_conference(
16735        &self,
16736        params: &DelMemberFromConferenceParams,
16737    ) -> Result<DelMemberFromConferenceResponse> {
16738        self.call("delMemberFromConference", params).await
16739    }
16740
16741    /// Call the `delMemberFromConference` API method and return the raw JSON envelope.
16742    pub async fn del_member_from_conference_raw(
16743        &self,
16744        params: &DelMemberFromConferenceParams,
16745    ) -> Result<Value> {
16746        self.call_raw("delMemberFromConference", params).await
16747    }
16748
16749    /// \- Deletes all messages in all servers from a specific Voicemail from
16750    /// your Account
16751    ///
16752    /// Call the `delMessages` API method and deserialize into [`DelMessagesResponse`].
16753    pub async fn del_messages(&self, params: &DelMessagesParams) -> Result<DelMessagesResponse> {
16754        self.call("delMessages", params).await
16755    }
16756
16757    /// Call the `delMessages` API method and return the raw JSON envelope.
16758    pub async fn del_messages_raw(&self, params: &DelMessagesParams) -> Result<Value> {
16759        self.call_raw("delMessages", params).await
16760    }
16761
16762    /// \- Deletes a specific custom Music on Hold.
16763    ///
16764    /// Call the `delMusicOnHold` API method and deserialize into [`DelMusicOnHoldResponse`].
16765    pub async fn del_music_on_hold(
16766        &self,
16767        params: &DelMusicOnHoldParams,
16768    ) -> Result<DelMusicOnHoldResponse> {
16769        self.call("delMusicOnHold", params).await
16770    }
16771
16772    /// Call the `delMusicOnHold` API method and return the raw JSON envelope.
16773    pub async fn del_music_on_hold_raw(&self, params: &DelMusicOnHoldParams) -> Result<Value> {
16774        self.call_raw("delMusicOnHold", params).await
16775    }
16776
16777    /// \- Deletes a specific Phonebook from your Account.
16778    ///
16779    /// Call the `delPhonebook` API method and deserialize into [`DelPhonebookResponse`].
16780    pub async fn del_phonebook(&self, params: &DelPhonebookParams) -> Result<DelPhonebookResponse> {
16781        self.call("delPhonebook", params).await
16782    }
16783
16784    /// Call the `delPhonebook` API method and return the raw JSON envelope.
16785    pub async fn del_phonebook_raw(&self, params: &DelPhonebookParams) -> Result<Value> {
16786        self.call_raw("delPhonebook", params).await
16787    }
16788
16789    /// \- Deletes a specific Phonebook group from your Account.
16790    ///
16791    /// Call the `delPhonebookGroup` API method and deserialize into [`DelPhonebookGroupResponse`].
16792    pub async fn del_phonebook_group(
16793        &self,
16794        params: &DelPhonebookGroupParams,
16795    ) -> Result<DelPhonebookGroupResponse> {
16796        self.call("delPhonebookGroup", params).await
16797    }
16798
16799    /// Call the `delPhonebookGroup` API method and return the raw JSON envelope.
16800    pub async fn del_phonebook_group_raw(&self, params: &DelPhonebookGroupParams) -> Result<Value> {
16801        self.call_raw("delPhonebookGroup", params).await
16802    }
16803
16804    /// \- Deletes a specific Queue from your Account.
16805    ///
16806    /// Call the `delQueue` API method and deserialize into [`DelQueueResponse`].
16807    pub async fn del_queue(&self, params: &DelQueueParams) -> Result<DelQueueResponse> {
16808        self.call("delQueue", params).await
16809    }
16810
16811    /// Call the `delQueue` API method and return the raw JSON envelope.
16812    pub async fn del_queue_raw(&self, params: &DelQueueParams) -> Result<Value> {
16813        self.call_raw("delQueue", params).await
16814    }
16815
16816    /// \- Deletes a specific Recording from your Account.
16817    ///
16818    /// Call the `delRecording` API method and deserialize into [`DelRecordingResponse`].
16819    pub async fn del_recording(&self, params: &DelRecordingParams) -> Result<DelRecordingResponse> {
16820        self.call("delRecording", params).await
16821    }
16822
16823    /// Call the `delRecording` API method and return the raw JSON envelope.
16824    pub async fn del_recording_raw(&self, params: &DelRecordingParams) -> Result<Value> {
16825        self.call_raw("delRecording", params).await
16826    }
16827
16828    /// \- Deletes a specific Ring Group from your Account.
16829    ///
16830    /// Call the `delRingGroup` API method and deserialize into [`DelRingGroupResponse`].
16831    pub async fn del_ring_group(
16832        &self,
16833        params: &DelRingGroupParams,
16834    ) -> Result<DelRingGroupResponse> {
16835        self.call("delRingGroup", params).await
16836    }
16837
16838    /// Call the `delRingGroup` API method and return the raw JSON envelope.
16839    pub async fn del_ring_group_raw(&self, params: &DelRingGroupParams) -> Result<Value> {
16840        self.call_raw("delRingGroup", params).await
16841    }
16842
16843    /// \- Deletes a specific SIP URI from your Account.
16844    ///
16845    /// Call the `delSIPURI` API method and deserialize into [`DelSIPURIResponse`].
16846    pub async fn del_sip_uri(&self, params: &DelSIPURIParams) -> Result<DelSIPURIResponse> {
16847        self.call("delSIPURI", params).await
16848    }
16849
16850    /// Call the `delSIPURI` API method and return the raw JSON envelope.
16851    pub async fn del_sip_uri_raw(&self, params: &DelSIPURIParams) -> Result<Value> {
16852        self.call_raw("delSIPURI", params).await
16853    }
16854
16855    /// \- Deletes a specific Static Member from Queue.
16856    ///
16857    /// Call the `delStaticMember` API method and deserialize into [`DelStaticMemberResponse`].
16858    pub async fn del_static_member(
16859        &self,
16860        params: &DelStaticMemberParams,
16861    ) -> Result<DelStaticMemberResponse> {
16862        self.call("delStaticMember", params).await
16863    }
16864
16865    /// Call the `delStaticMember` API method and return the raw JSON envelope.
16866    pub async fn del_static_member_raw(&self, params: &DelStaticMemberParams) -> Result<Value> {
16867        self.call_raw("delStaticMember", params).await
16868    }
16869
16870    /// \- Deletes a specific Sub Account from your Account
16871    ///
16872    /// Call the `delSubAccount` API method and deserialize into [`DelSubAccountResponse`].
16873    pub async fn del_sub_account(
16874        &self,
16875        params: &DelSubAccountParams,
16876    ) -> Result<DelSubAccountResponse> {
16877        self.call("delSubAccount", params).await
16878    }
16879
16880    /// Call the `delSubAccount` API method and return the raw JSON envelope.
16881    pub async fn del_sub_account_raw(&self, params: &DelSubAccountParams) -> Result<Value> {
16882        self.call_raw("delSubAccount", params).await
16883    }
16884
16885    /// \- Deletes a specific Time Condition from your Account.
16886    ///
16887    /// Call the `delTimeCondition` API method and deserialize into [`DelTimeConditionResponse`].
16888    pub async fn del_time_condition(
16889        &self,
16890        params: &DelTimeConditionParams,
16891    ) -> Result<DelTimeConditionResponse> {
16892        self.call("delTimeCondition", params).await
16893    }
16894
16895    /// Call the `delTimeCondition` API method and return the raw JSON envelope.
16896    pub async fn del_time_condition_raw(&self, params: &DelTimeConditionParams) -> Result<Value> {
16897        self.call_raw("delTimeCondition", params).await
16898    }
16899
16900    /// \- Deletes a specific Voicemail from your Account
16901    ///
16902    /// Call the `delVoicemail` API method and deserialize into [`DelVoicemailResponse`].
16903    pub async fn del_voicemail(&self, params: &DelVoicemailParams) -> Result<DelVoicemailResponse> {
16904        self.call("delVoicemail", params).await
16905    }
16906
16907    /// Call the `delVoicemail` API method and return the raw JSON envelope.
16908    pub async fn del_voicemail_raw(&self, params: &DelVoicemailParams) -> Result<Value> {
16909        self.call_raw("delVoicemail", params).await
16910    }
16911
16912    /// \- Deletes a specific Fax Message from your Account.
16913    ///
16914    /// Call the `deleteFaxMessage` API method and deserialize into [`DeleteFAXMessageResponse`].
16915    pub async fn delete_fax_message(
16916        &self,
16917        params: &DeleteFAXMessageParams,
16918    ) -> Result<DeleteFAXMessageResponse> {
16919        self.call("deleteFaxMessage", params).await
16920    }
16921
16922    /// Call the `deleteFaxMessage` API method and return the raw JSON envelope.
16923    pub async fn delete_fax_message_raw(&self, params: &DeleteFAXMessageParams) -> Result<Value> {
16924        self.call_raw("deleteFaxMessage", params).await
16925    }
16926
16927    /// \- Deletes a specific MMS from your Account.
16928    ///
16929    /// Call the `deleteMMS` API method and deserialize into [`DeleteMMSResponse`].
16930    pub async fn delete_mms(&self, params: &DeleteMMSParams) -> Result<DeleteMMSResponse> {
16931        self.call("deleteMMS", params).await
16932    }
16933
16934    /// Call the `deleteMMS` API method and return the raw JSON envelope.
16935    pub async fn delete_mms_raw(&self, params: &DeleteMMSParams) -> Result<Value> {
16936        self.call_raw("deleteMMS", params).await
16937    }
16938
16939    /// \- Deletes a specific SMS from your Account.
16940    ///
16941    /// Call the `deleteSMS` API method and deserialize into [`DeleteSMSResponse`].
16942    pub async fn delete_sms(&self, params: &DeleteSMSParams) -> Result<DeleteSMSResponse> {
16943        self.call("deleteSMS", params).await
16944    }
16945
16946    /// Call the `deleteSMS` API method and return the raw JSON envelope.
16947    pub async fn delete_sms_raw(&self, params: &DeleteSMSParams) -> Result<Value> {
16948        self.call_raw("deleteSMS", params).await
16949    }
16950
16951    /// \- Retrieves a list of e911 Address Types if no additional parameter is
16952    /// provided.
16953    /// \- Retrieves a specific e911 Address Type if an Address code is provided.
16954    ///
16955    /// Call the `e911AddressTypes` API method and deserialize into [`E911AddressTypesResponse`].
16956    pub async fn e911_address_types(
16957        &self,
16958        params: &E911AddressTypesParams,
16959    ) -> Result<E911AddressTypesResponse> {
16960        self.call("e911AddressTypes", params).await
16961    }
16962
16963    /// Call the `e911AddressTypes` API method and return the raw JSON envelope.
16964    pub async fn e911_address_types_raw(&self, params: &E911AddressTypesParams) -> Result<Value> {
16965        self.call_raw("e911AddressTypes", params).await
16966    }
16967
16968    /// \- Cancel the e911 Service from a specific DID.
16969    ///
16970    /// Call the `e911Cancel` API method and deserialize into [`E911CancelResponse`].
16971    pub async fn e911_cancel(&self, params: &E911CancelParams) -> Result<E911CancelResponse> {
16972        self.call("e911Cancel", params).await
16973    }
16974
16975    /// Call the `e911Cancel` API method and return the raw JSON envelope.
16976    pub async fn e911_cancel_raw(&self, params: &E911CancelParams) -> Result<Value> {
16977        self.call_raw("e911Cancel", params).await
16978    }
16979
16980    /// \- Retrieves the e911 information from a specific DID.
16981    ///
16982    /// Call the `e911Info` API method and deserialize into [`E911InfoResponse`].
16983    pub async fn e911_info(&self, params: &E911InfoParams) -> Result<E911InfoResponse> {
16984        self.call("e911Info", params).await
16985    }
16986
16987    /// Call the `e911Info` API method and return the raw JSON envelope.
16988    pub async fn e911_info_raw(&self, params: &E911InfoParams) -> Result<Value> {
16989        self.call_raw("e911Info", params).await
16990    }
16991
16992    /// \- Subscribes your DID to the e911 Emergency Services.
16993    ///
16994    /// Call the `e911Provision` API method and deserialize into [`E911ProvisionResponse`].
16995    pub async fn e911_provision(
16996        &self,
16997        params: &E911ProvisionParams,
16998    ) -> Result<E911ProvisionResponse> {
16999        self.call("e911Provision", params).await
17000    }
17001
17002    /// Call the `e911Provision` API method and return the raw JSON envelope.
17003    pub async fn e911_provision_raw(&self, params: &E911ProvisionParams) -> Result<Value> {
17004        self.call_raw("e911Provision", params).await
17005    }
17006
17007    /// \- Subscribes your DID to the e911 Emergency Services.
17008    /// \- All e911 information will be validated by the VoIP.ms staff.
17009    ///
17010    /// Call the `e911ProvisionManually` API method and deserialize into [`E911ProvisionManuallyResponse`].
17011    pub async fn e911_provision_manually(
17012        &self,
17013        params: &E911ProvisionManuallyParams,
17014    ) -> Result<E911ProvisionManuallyResponse> {
17015        self.call("e911ProvisionManually", params).await
17016    }
17017
17018    /// Call the `e911ProvisionManually` API method and return the raw JSON envelope.
17019    pub async fn e911_provision_manually_raw(
17020        &self,
17021        params: &E911ProvisionManuallyParams,
17022    ) -> Result<Value> {
17023        self.call_raw("e911ProvisionManually", params).await
17024    }
17025
17026    /// \- Updates the Information from your e911 Emergency Services
17027    /// Subscription.
17028    ///
17029    /// Call the `e911Update` API method and deserialize into [`E911UpdateResponse`].
17030    pub async fn e911_update(&self, params: &E911UpdateParams) -> Result<E911UpdateResponse> {
17031        self.call("e911Update", params).await
17032    }
17033
17034    /// Call the `e911Update` API method and return the raw JSON envelope.
17035    pub async fn e911_update_raw(&self, params: &E911UpdateParams) -> Result<Value> {
17036        self.call_raw("e911Update", params).await
17037    }
17038
17039    /// \- Validates your e911 information in order to start your e911 Emergency
17040    /// Services Subscription.
17041    ///
17042    /// Call the `e911Validate` API method and deserialize into [`E911ValidateResponse`].
17043    pub async fn e911_validate(&self, params: &E911ValidateParams) -> Result<E911ValidateResponse> {
17044        self.call("e911Validate", params).await
17045    }
17046
17047    /// Call the `e911Validate` API method and return the raw JSON envelope.
17048    pub async fn e911_validate_raw(&self, params: &E911ValidateParams) -> Result<Value> {
17049        self.call_raw("e911Validate", params).await
17050    }
17051
17052    /// \- Retrieves a list of Allowed Codecs if no additional parameter is
17053    /// provided.
17054    /// \- Retrieves a specific Allowed Codec if a codec code is provided.
17055    ///
17056    /// Call the `getAllowedCodecs` API method and deserialize into [`GetAllowedCodecsResponse`].
17057    pub async fn get_allowed_codecs(
17058        &self,
17059        params: &GetAllowedCodecsParams,
17060    ) -> Result<GetAllowedCodecsResponse> {
17061        self.call("getAllowedCodecs", params).await
17062    }
17063
17064    /// Call the `getAllowedCodecs` API method and return the raw JSON envelope.
17065    pub async fn get_allowed_codecs_raw(&self, params: &GetAllowedCodecsParams) -> Result<Value> {
17066        self.call_raw("getAllowedCodecs", params).await
17067    }
17068
17069    /// \- Retrieves a list of Authentication Types if no additional parameter is
17070    /// provided.
17071    /// \- Retrieves a specific Authentication Type if an auth type code is
17072    /// provided.
17073    ///
17074    /// Call the `getAuthTypes` API method and deserialize into [`GetAuthTypesResponse`].
17075    pub async fn get_auth_types(
17076        &self,
17077        params: &GetAuthTypesParams,
17078    ) -> Result<GetAuthTypesResponse> {
17079        self.call("getAuthTypes", params).await
17080    }
17081
17082    /// Call the `getAuthTypes` API method and return the raw JSON envelope.
17083    pub async fn get_auth_types_raw(&self, params: &GetAuthTypesParams) -> Result<Value> {
17084        self.call_raw("getAuthTypes", params).await
17085    }
17086
17087    /// \- Retrieves a list of backorder DIDs if no additional parameter is
17088    /// provided.
17089    /// \- Retrieves a specific backorder DID if a backorder DID code is
17090    /// provided.
17091    ///
17092    /// Call the `getBackOrders` API method and deserialize into [`GetBackOrdersResponse`].
17093    pub async fn get_back_orders(
17094        &self,
17095        params: &GetBackOrdersParams,
17096    ) -> Result<GetBackOrdersResponse> {
17097        self.call("getBackOrders", params).await
17098    }
17099
17100    /// Call the `getBackOrders` API method and return the raw JSON envelope.
17101    pub async fn get_back_orders_raw(&self, params: &GetBackOrdersParams) -> Result<Value> {
17102        self.call_raw("getBackOrders", params).await
17103    }
17104
17105    /// \- Retrieves Balance for your Account if no additional parameter is
17106    /// provided.
17107    /// \- Retrieves Balance and Calls Statistics for your Account if "advanced"
17108    /// parameter is true.
17109    ///
17110    /// Call the `getBalance` API method and deserialize into [`GetBalanceResponse`].
17111    pub async fn get_balance(&self, params: &GetBalanceParams) -> Result<GetBalanceResponse> {
17112        self.call("getBalance", params).await
17113    }
17114
17115    /// Call the `getBalance` API method and return the raw JSON envelope.
17116    pub async fn get_balance_raw(&self, params: &GetBalanceParams) -> Result<Value> {
17117        self.call_raw("getBalance", params).await
17118    }
17119
17120    /// \- Retrieves a list of Balance Management Options if no additional
17121    /// parameter is provided.
17122    /// \- Retrieves a specific Balance Management Option if a code is provided.
17123    ///
17124    /// Call the `getBalanceManagement` API method and deserialize into [`GetBalanceManagementResponse`].
17125    pub async fn get_balance_management(
17126        &self,
17127        params: &GetBalanceManagementParams,
17128    ) -> Result<GetBalanceManagementResponse> {
17129        self.call("getBalanceManagement", params).await
17130    }
17131
17132    /// Call the `getBalanceManagement` API method and return the raw JSON envelope.
17133    pub async fn get_balance_management_raw(
17134        &self,
17135        params: &GetBalanceManagementParams,
17136    ) -> Result<Value> {
17137        self.call_raw("getBalanceManagement", params).await
17138    }
17139
17140    /// \- Retrieves the Call Detail Records of all your calls.
17141    ///
17142    /// Call the `getCDR` API method and deserialize into [`GetCDRResponse`].
17143    pub async fn get_cdr(&self, params: &GetCDRParams) -> Result<GetCDRResponse> {
17144        self.call("getCDR", params).await
17145    }
17146
17147    /// Call the `getCDR` API method and return the raw JSON envelope.
17148    pub async fn get_cdr_raw(&self, params: &GetCDRParams) -> Result<Value> {
17149        self.call_raw("getCDR", params).await
17150    }
17151
17152    /// \- Retrieves all Sub Accounts if no additional parameter is provided.
17153    /// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
17154    ///
17155    /// Call the `getCallAccounts` API method and deserialize into [`GetCallAccountsResponse`].
17156    pub async fn get_call_accounts(
17157        &self,
17158        params: &GetCallAccountsParams,
17159    ) -> Result<GetCallAccountsResponse> {
17160        self.call("getCallAccounts", params).await
17161    }
17162
17163    /// Call the `getCallAccounts` API method and return the raw JSON envelope.
17164    pub async fn get_call_accounts_raw(&self, params: &GetCallAccountsParams) -> Result<Value> {
17165        self.call_raw("getCallAccounts", params).await
17166    }
17167
17168    /// \- Retrieves a list of Call Billing Options.
17169    ///
17170    /// Call the `getCallBilling` API method and deserialize into [`GetCallBillingResponse`].
17171    pub async fn get_call_billing(
17172        &self,
17173        params: &GetCallBillingParams,
17174    ) -> Result<GetCallBillingResponse> {
17175        self.call("getCallBilling", params).await
17176    }
17177
17178    /// Call the `getCallBilling` API method and return the raw JSON envelope.
17179    pub async fn get_call_billing_raw(&self, params: &GetCallBillingParams) -> Result<Value> {
17180        self.call_raw("getCallBilling", params).await
17181    }
17182
17183    /// \- Retrieves a list of Call Huntings if no additional parameter is
17184    /// provided.
17185    /// \- Retrieves a specific Call Huntings if a Call Hunting code is provided.
17186    ///
17187    /// Call the `getCallHuntings` API method and deserialize into [`GetCallHuntingsResponse`].
17188    pub async fn get_call_huntings(
17189        &self,
17190        params: &GetCallHuntingsParams,
17191    ) -> Result<GetCallHuntingsResponse> {
17192        self.call("getCallHuntings", params).await
17193    }
17194
17195    /// Call the `getCallHuntings` API method and return the raw JSON envelope.
17196    pub async fn get_call_huntings_raw(&self, params: &GetCallHuntingsParams) -> Result<Value> {
17197        self.call_raw("getCallHuntings", params).await
17198    }
17199
17200    /// \- Retrieves all Call Parking entries if no additional parameter is
17201    /// provided.
17202    /// \- Retrieves a specific Parking entry if a Call Parking ID is provided.
17203    ///
17204    /// Call the `getCallParking` API method and deserialize into [`GetCallParkingResponse`].
17205    pub async fn get_call_parking(
17206        &self,
17207        params: &GetCallParkingParams,
17208    ) -> Result<GetCallParkingResponse> {
17209        self.call("getCallParking", params).await
17210    }
17211
17212    /// Call the `getCallParking` API method and return the raw JSON envelope.
17213    pub async fn get_call_parking_raw(&self, params: &GetCallParkingParams) -> Result<Value> {
17214        self.call_raw("getCallParking", params).await
17215    }
17216
17217    /// \- Retrieves one especific call recording information, including the
17218    /// recording file on mp3 format.
17219    ///
17220    /// Call the `getCallRecording` API method and deserialize into [`GetCallRecordingResponse`].
17221    pub async fn get_call_recording(
17222        &self,
17223        params: &GetCallRecordingParams,
17224    ) -> Result<GetCallRecordingResponse> {
17225        self.call("getCallRecording", params).await
17226    }
17227
17228    /// Call the `getCallRecording` API method and return the raw JSON envelope.
17229    pub async fn get_call_recording_raw(&self, params: &GetCallRecordingParams) -> Result<Value> {
17230        self.call_raw("getCallRecording", params).await
17231    }
17232
17233    /// \- Retrieves all call recordings related to account.
17234    ///
17235    /// Call the `getCallRecordings` API method and deserialize into [`GetCallRecordingsResponse`].
17236    pub async fn get_call_recordings(
17237        &self,
17238        params: &GetCallRecordingsParams,
17239    ) -> Result<GetCallRecordingsResponse> {
17240        self.call("getCallRecordings", params).await
17241    }
17242
17243    /// Call the `getCallRecordings` API method and return the raw JSON envelope.
17244    pub async fn get_call_recordings_raw(&self, params: &GetCallRecordingsParams) -> Result<Value> {
17245        self.call_raw("getCallRecordings", params).await
17246    }
17247
17248    /// \- Retrieves all Call Transcriptions if no additional parameter is
17249    /// provided.
17250    ///
17251    /// Call the `getCallTranscriptions` API method and deserialize into [`GetCallTranscriptionsResponse`].
17252    pub async fn get_call_transcriptions(
17253        &self,
17254        params: &GetCallTranscriptionsParams,
17255    ) -> Result<GetCallTranscriptionsResponse> {
17256        self.call("getCallTranscriptions", params).await
17257    }
17258
17259    /// Call the `getCallTranscriptions` API method and return the raw JSON envelope.
17260    pub async fn get_call_transcriptions_raw(
17261        &self,
17262        params: &GetCallTranscriptionsParams,
17263    ) -> Result<Value> {
17264        self.call_raw("getCallTranscriptions", params).await
17265    }
17266
17267    /// \- Retrieves a list of Call Types and All DIDs if no additional parameter
17268    /// is provided.
17269    /// \- Retrieves a list of Call Types and Reseller Client DIDs if a Reseller
17270    /// Client ID is provided.
17271    ///
17272    /// Call the `getCallTypes` API method and deserialize into [`GetCallTypesResponse`].
17273    pub async fn get_call_types(
17274        &self,
17275        params: &GetCallTypesParams,
17276    ) -> Result<GetCallTypesResponse> {
17277        self.call("getCallTypes", params).await
17278    }
17279
17280    /// Call the `getCallTypes` API method and return the raw JSON envelope.
17281    pub async fn get_call_types_raw(&self, params: &GetCallTypesParams) -> Result<Value> {
17282        self.call_raw("getCallTypes", params).await
17283    }
17284
17285    /// \- Retrieves a list of Callbacks if no additional parameter is provided.
17286    /// \- Retrieves a specific Callback if a Callback code is provided.
17287    ///
17288    /// Call the `getCallbacks` API method and deserialize into [`GetCallbacksResponse`].
17289    pub async fn get_callbacks(&self, params: &GetCallbacksParams) -> Result<GetCallbacksResponse> {
17290        self.call("getCallbacks", params).await
17291    }
17292
17293    /// Call the `getCallbacks` API method and return the raw JSON envelope.
17294    pub async fn get_callbacks_raw(&self, params: &GetCallbacksParams) -> Result<Value> {
17295        self.call_raw("getCallbacks", params).await
17296    }
17297
17298    /// \- Retrieves a list of CallerID Filterings if no additional parameter is
17299    /// provided.
17300    /// \- Retrieves a specific CallerID Filtering if a CallerID Filtering code
17301    /// is provided.
17302    ///
17303    /// Call the `getCallerIDFiltering` API method and deserialize into [`GetCallerIDFilteringResponse`].
17304    pub async fn get_caller_id_filtering(
17305        &self,
17306        params: &GetCallerIDFilteringParams,
17307    ) -> Result<GetCallerIDFilteringResponse> {
17308        self.call("getCallerIDFiltering", params).await
17309    }
17310
17311    /// Call the `getCallerIDFiltering` API method and return the raw JSON envelope.
17312    pub async fn get_caller_id_filtering_raw(
17313        &self,
17314        params: &GetCallerIDFilteringParams,
17315    ) -> Result<Value> {
17316        self.call_raw("getCallerIDFiltering", params).await
17317    }
17318
17319    /// \- Retrieves a list of Carriers for Vanity Numbers if no additional
17320    /// parameter is provided.
17321    /// \- Retrieves a specific Carrier for Vanity Numbers if a carrier code is
17322    /// provided.
17323    ///
17324    /// Call the `getCarriers` API method and deserialize into [`GetCarriersResponse`].
17325    pub async fn get_carriers(&self, params: &GetCarriersParams) -> Result<GetCarriersResponse> {
17326        self.call("getCarriers", params).await
17327    }
17328
17329    /// Call the `getCarriers` API method and return the raw JSON envelope.
17330    pub async fn get_carriers_raw(&self, params: &GetCarriersParams) -> Result<Value> {
17331        self.call_raw("getCarriers", params).await
17332    }
17333
17334    /// \- Retrieves Charges made to a specific Reseller Client.
17335    ///
17336    /// Call the `getCharges` API method and deserialize into [`GetChargesResponse`].
17337    pub async fn get_charges(&self, params: &GetChargesParams) -> Result<GetChargesResponse> {
17338        self.call("getCharges", params).await
17339    }
17340
17341    /// Call the `getCharges` API method and return the raw JSON envelope.
17342    pub async fn get_charges_raw(&self, params: &GetChargesParams) -> Result<Value> {
17343        self.call_raw("getCharges", params).await
17344    }
17345
17346    /// \- Retrieves a list of Packages for a specific Reseller Client.
17347    ///
17348    /// Call the `getClientPackages` API method and deserialize into [`GetClientPackagesResponse`].
17349    pub async fn get_client_packages(
17350        &self,
17351        params: &GetClientPackagesParams,
17352    ) -> Result<GetClientPackagesResponse> {
17353        self.call("getClientPackages", params).await
17354    }
17355
17356    /// Call the `getClientPackages` API method and return the raw JSON envelope.
17357    pub async fn get_client_packages_raw(&self, params: &GetClientPackagesParams) -> Result<Value> {
17358        self.call_raw("getClientPackages", params).await
17359    }
17360
17361    /// \- Retrieves the Threshold Information for a specific Reseller Client.
17362    ///
17363    /// Call the `getClientThreshold` API method and deserialize into [`GetClientThresholdResponse`].
17364    pub async fn get_client_threshold(
17365        &self,
17366        params: &GetClientThresholdParams,
17367    ) -> Result<GetClientThresholdResponse> {
17368        self.call("getClientThreshold", params).await
17369    }
17370
17371    /// Call the `getClientThreshold` API method and return the raw JSON envelope.
17372    pub async fn get_client_threshold_raw(
17373        &self,
17374        params: &GetClientThresholdParams,
17375    ) -> Result<Value> {
17376        self.call_raw("getClientThreshold", params).await
17377    }
17378
17379    /// \- Retrieves a list of all Clients if no additional parameter is
17380    /// provided.- Retrieves a specific Reseller Client if a Reseller Client ID
17381    /// is provided.
17382    /// \- Retrieves a specific Reseller Client if a Reseller Client e-mail is
17383    /// provided.
17384    ///
17385    /// Call the `getClients` API method and deserialize into [`GetClientsResponse`].
17386    pub async fn get_clients(&self, params: &GetClientsParams) -> Result<GetClientsResponse> {
17387        self.call("getClients", params).await
17388    }
17389
17390    /// Call the `getClients` API method and return the raw JSON envelope.
17391    pub async fn get_clients_raw(&self, params: &GetClientsParams) -> Result<Value> {
17392        self.call_raw("getClients", params).await
17393    }
17394
17395    /// \- Retrieves a list of Conferences if no additional parameter is
17396    /// provided.
17397    /// \- Retrieves a specific Conference if a conference code is provided.
17398    ///
17399    /// Call the `getConference` API method and deserialize into [`GetConferenceResponse`].
17400    pub async fn get_conference(
17401        &self,
17402        params: &GetConferenceParams,
17403    ) -> Result<GetConferenceResponse> {
17404        self.call("getConference", params).await
17405    }
17406
17407    /// Call the `getConference` API method and return the raw JSON envelope.
17408    pub async fn get_conference_raw(&self, params: &GetConferenceParams) -> Result<Value> {
17409        self.call_raw("getConference", params).await
17410    }
17411
17412    /// \- Retrieves a list of Member profiles if no additional parameter is
17413    /// provided.
17414    /// \- Retrieves a specific member if a member code is provided.
17415    ///
17416    /// Call the `getConferenceMembers` API method and deserialize into [`GetConferenceMembersResponse`].
17417    pub async fn get_conference_members(
17418        &self,
17419        params: &GetConferenceMembersParams,
17420    ) -> Result<GetConferenceMembersResponse> {
17421        self.call("getConferenceMembers", params).await
17422    }
17423
17424    /// Call the `getConferenceMembers` API method and return the raw JSON envelope.
17425    pub async fn get_conference_members_raw(
17426        &self,
17427        params: &GetConferenceMembersParams,
17428    ) -> Result<Value> {
17429        self.call_raw("getConferenceMembers", params).await
17430    }
17431
17432    /// \- Retrieves a specific Recording File data in Base64 format.
17433    ///
17434    /// Call the `getConferenceRecordingFile` API method and deserialize into [`GetConferenceRecordingFileResponse`].
17435    pub async fn get_conference_recording_file(
17436        &self,
17437        params: &GetConferenceRecordingFileParams,
17438    ) -> Result<GetConferenceRecordingFileResponse> {
17439        self.call("getConferenceRecordingFile", params).await
17440    }
17441
17442    /// Call the `getConferenceRecordingFile` API method and return the raw JSON envelope.
17443    pub async fn get_conference_recording_file_raw(
17444        &self,
17445        params: &GetConferenceRecordingFileParams,
17446    ) -> Result<Value> {
17447        self.call_raw("getConferenceRecordingFile", params).await
17448    }
17449
17450    /// \- Retrieves a list of recordings of a specific conference.
17451    ///
17452    /// Call the `getConferenceRecordings` API method and deserialize into [`GetConferenceRecordingsResponse`].
17453    pub async fn get_conference_recordings(
17454        &self,
17455        params: &GetConferenceRecordingsParams,
17456    ) -> Result<GetConferenceRecordingsResponse> {
17457        self.call("getConferenceRecordings", params).await
17458    }
17459
17460    /// Call the `getConferenceRecordings` API method and return the raw JSON envelope.
17461    pub async fn get_conference_recordings_raw(
17462        &self,
17463        params: &GetConferenceRecordingsParams,
17464    ) -> Result<Value> {
17465        self.call_raw("getConferenceRecordings", params).await
17466    }
17467
17468    /// \- Retrieves a list of Countries if no additional parameter is provided.
17469    /// \- Retrieves a specific Country if a country code is provided.
17470    ///
17471    /// Call the `getCountries` API method and deserialize into [`GetCountriesResponse`].
17472    pub async fn get_countries(&self, params: &GetCountriesParams) -> Result<GetCountriesResponse> {
17473        self.call("getCountries", params).await
17474    }
17475
17476    /// Call the `getCountries` API method and return the raw JSON envelope.
17477    pub async fn get_countries_raw(&self, params: &GetCountriesParams) -> Result<Value> {
17478        self.call_raw("getCountries", params).await
17479    }
17480
17481    /// \- Retrieves a list of Countries for International DIDs if no country
17482    /// code is provided.
17483    /// \- Retrieves a specific Country for International DIDs if a country code
17484    /// is provided.
17485    ///
17486    /// Call the `getDIDCountries` API method and deserialize into [`GetDIDCountriesResponse`].
17487    pub async fn get_did_countries(
17488        &self,
17489        params: &GetDIDCountriesParams,
17490    ) -> Result<GetDIDCountriesResponse> {
17491        self.call("getDIDCountries", params).await
17492    }
17493
17494    /// Call the `getDIDCountries` API method and return the raw JSON envelope.
17495    pub async fn get_did_countries_raw(&self, params: &GetDIDCountriesParams) -> Result<Value> {
17496        self.call_raw("getDIDCountries", params).await
17497    }
17498
17499    /// \- Retrives a list of Canadian DIDs by Province and Ratecenter.
17500    ///
17501    /// Call the `getDIDsCAN` API method and deserialize into [`GetDIDsCANResponse`].
17502    pub async fn get_dids_can(&self, params: &GetDIDsCANParams) -> Result<GetDIDsCANResponse> {
17503        self.call("getDIDsCAN", params).await
17504    }
17505
17506    /// Call the `getDIDsCAN` API method and return the raw JSON envelope.
17507    pub async fn get_dids_can_raw(&self, params: &GetDIDsCANParams) -> Result<Value> {
17508        self.call_raw("getDIDsCAN", params).await
17509    }
17510
17511    /// \- Retrieves information from all your DIDs if no additional parameter is
17512    /// provided.
17513    /// \- Retrieves information from Reseller Client's DIDs if a Reseller Client
17514    /// ID is provided.
17515    /// \- Retrieves information from Sub Account's DIDs if a Sub Accunt is
17516    /// provided.
17517    /// \- Retrieves information from a specific DID if a DID Number is provided.
17518    /// \- Retrieves SMS information from a specific DID if the SMS is available.
17519    ///
17520    /// Call the `getDIDsInfo` API method and deserialize into [`GetDIDsInfoResponse`].
17521    pub async fn get_dids_info(&self, params: &GetDIDsInfoParams) -> Result<GetDIDsInfoResponse> {
17522        self.call("getDIDsInfo", params).await
17523    }
17524
17525    /// Call the `getDIDsInfo` API method and return the raw JSON envelope.
17526    pub async fn get_dids_info_raw(&self, params: &GetDIDsInfoParams) -> Result<Value> {
17527        self.call_raw("getDIDsInfo", params).await
17528    }
17529
17530    /// \- Retrieves a list of International Geographic DIDs by Country.
17531    ///
17532    /// Call the `getDIDsInternationalGeographic` API method and deserialize into [`GetDIDsInternationalGeographicResponse`].
17533    pub async fn get_dids_international_geographic(
17534        &self,
17535        params: &GetDIDsInternationalGeographicParams,
17536    ) -> Result<GetDIDsInternationalGeographicResponse> {
17537        self.call("getDIDsInternationalGeographic", params).await
17538    }
17539
17540    /// Call the `getDIDsInternationalGeographic` API method and return the raw JSON envelope.
17541    pub async fn get_dids_international_geographic_raw(
17542        &self,
17543        params: &GetDIDsInternationalGeographicParams,
17544    ) -> Result<Value> {
17545        self.call_raw("getDIDsInternationalGeographic", params)
17546            .await
17547    }
17548
17549    /// \- Retrieves a list of International National DIDs by Country.
17550    ///
17551    /// Call the `getDIDsInternationalNational` API method and deserialize into [`GetDIDsInternationalNationalResponse`].
17552    pub async fn get_dids_international_national(
17553        &self,
17554        params: &GetDIDsInternationalNationalParams,
17555    ) -> Result<GetDIDsInternationalNationalResponse> {
17556        self.call("getDIDsInternationalNational", params).await
17557    }
17558
17559    /// Call the `getDIDsInternationalNational` API method and return the raw JSON envelope.
17560    pub async fn get_dids_international_national_raw(
17561        &self,
17562        params: &GetDIDsInternationalNationalParams,
17563    ) -> Result<Value> {
17564        self.call_raw("getDIDsInternationalNational", params).await
17565    }
17566
17567    /// \- Retrieves a list of International TollFree DIDs by Country.
17568    ///
17569    /// Call the `getDIDsInternationalTollFree` API method and deserialize into [`GetDIDsInternationalTollFreeResponse`].
17570    pub async fn get_dids_international_toll_free(
17571        &self,
17572        params: &GetDIDsInternationalTollFreeParams,
17573    ) -> Result<GetDIDsInternationalTollFreeResponse> {
17574        self.call("getDIDsInternationalTollFree", params).await
17575    }
17576
17577    /// Call the `getDIDsInternationalTollFree` API method and return the raw JSON envelope.
17578    pub async fn get_dids_international_toll_free_raw(
17579        &self,
17580        params: &GetDIDsInternationalTollFreeParams,
17581    ) -> Result<Value> {
17582        self.call_raw("getDIDsInternationalTollFree", params).await
17583    }
17584
17585    /// \- Retrives a list of USA DIDs by State and Ratecenter.
17586    ///
17587    /// Call the `getDIDsUSA` API method and deserialize into [`GetDIDsUSAResponse`].
17588    pub async fn get_dids_usa(&self, params: &GetDIDsUSAParams) -> Result<GetDIDsUSAResponse> {
17589        self.call("getDIDsUSA", params).await
17590    }
17591
17592    /// Call the `getDIDsUSA` API method and return the raw JSON envelope.
17593    pub async fn get_dids_usa_raw(&self, params: &GetDIDsUSAParams) -> Result<Value> {
17594        self.call_raw("getDIDsUSA", params).await
17595    }
17596
17597    /// \- Retrives the list of DIDs assigned to the VPRI.
17598    ///
17599    /// Call the `getDIDvPRI` API method and deserialize into [`GetDIDvPRIResponse`].
17600    pub async fn get_did_vpri(&self, params: &GetDIDvPRIParams) -> Result<GetDIDvPRIResponse> {
17601        self.call("getDIDvPRI", params).await
17602    }
17603
17604    /// Call the `getDIDvPRI` API method and return the raw JSON envelope.
17605    pub async fn get_did_vpri_raw(&self, params: &GetDIDvPRIParams) -> Result<Value> {
17606        self.call_raw("getDIDvPRI", params).await
17607    }
17608
17609    /// \- Retrieves a list of DISAs if no additional parameter is provided.
17610    /// \- Retrieves a specific DISA if a DISA code is provided.
17611    ///
17612    /// Call the `getDISAs` API method and deserialize into [`GetDISAsResponse`].
17613    pub async fn get_disas(&self, params: &GetDISAsParams) -> Result<GetDISAsResponse> {
17614        self.call("getDISAs", params).await
17615    }
17616
17617    /// Call the `getDISAs` API method and return the raw JSON envelope.
17618    pub async fn get_disas_raw(&self, params: &GetDISAsParams) -> Result<Value> {
17619        self.call_raw("getDISAs", params).await
17620    }
17621
17622    /// \- Retrieves a list of DTMF Modes if no additional parameter is provided.
17623    /// \- Retrieves a specific DTMF Mode if a DTMF mode code is provided.
17624    ///
17625    /// Call the `getDTMFModes` API method and deserialize into [`GetDTMFModesResponse`].
17626    pub async fn get_dtmf_modes(
17627        &self,
17628        params: &GetDTMFModesParams,
17629    ) -> Result<GetDTMFModesResponse> {
17630        self.call("getDTMFModes", params).await
17631    }
17632
17633    /// Call the `getDTMFModes` API method and return the raw JSON envelope.
17634    pub async fn get_dtmf_modes_raw(&self, params: &GetDTMFModesParams) -> Result<Value> {
17635        self.call_raw("getDTMFModes", params).await
17636    }
17637
17638    /// \- Retrieves Deposits made for a specific Reseller Client.
17639    ///
17640    /// Call the `getDeposits` API method and deserialize into [`GetDepositsResponse`].
17641    pub async fn get_deposits(&self, params: &GetDepositsParams) -> Result<GetDepositsResponse> {
17642        self.call("getDeposits", params).await
17643    }
17644
17645    /// Call the `getDeposits` API method and return the raw JSON envelope.
17646    pub async fn get_deposits_raw(&self, params: &GetDepositsParams) -> Result<Value> {
17647        self.call_raw("getDeposits", params).await
17648    }
17649
17650    /// \- Retrieves a list of Device Types if no additional parameter is
17651    /// provided.
17652    /// \- Retrieves a specific Device Type if a device type code is provided.
17653    ///
17654    /// Call the `getDeviceTypes` API method and deserialize into [`GetDeviceTypesResponse`].
17655    pub async fn get_device_types(
17656        &self,
17657        params: &GetDeviceTypesParams,
17658    ) -> Result<GetDeviceTypesResponse> {
17659        self.call("getDeviceTypes", params).await
17660    }
17661
17662    /// Call the `getDeviceTypes` API method and return the raw JSON envelope.
17663    pub async fn get_device_types_raw(&self, params: &GetDeviceTypesParams) -> Result<Value> {
17664        self.call_raw("getDeviceTypes", params).await
17665    }
17666
17667    /// \- Retrieves a list of "Email to Fax configurations" from your account if
17668    /// no additional parameter is provided.
17669    /// \- Retrieves a specific "Email to Fax configuration" from your account if
17670    /// a ID is provided.
17671    ///
17672    /// Call the `getEmailToFax` API method and deserialize into [`GetEmailToFAXResponse`].
17673    pub async fn get_email_to_fax(
17674        &self,
17675        params: &GetEmailToFAXParams,
17676    ) -> Result<GetEmailToFAXResponse> {
17677        self.call("getEmailToFax", params).await
17678    }
17679
17680    /// Call the `getEmailToFax` API method and return the raw JSON envelope.
17681    pub async fn get_email_to_fax_raw(&self, params: &GetEmailToFAXParams) -> Result<Value> {
17682        self.call_raw("getEmailToFax", params).await
17683    }
17684
17685    /// \- Retrieves a list of Fax Folders from your account.
17686    ///
17687    /// Call the `getFaxFolders` API method and deserialize into [`GetFAXFoldersResponse`].
17688    pub async fn get_fax_folders(
17689        &self,
17690        params: &GetFAXFoldersParams,
17691    ) -> Result<GetFAXFoldersResponse> {
17692        self.call("getFaxFolders", params).await
17693    }
17694
17695    /// Call the `getFaxFolders` API method and return the raw JSON envelope.
17696    pub async fn get_fax_folders_raw(&self, params: &GetFAXFoldersParams) -> Result<Value> {
17697        self.call_raw("getFaxFolders", params).await
17698    }
17699
17700    /// \- Retrieves a Base64 code of the Fax Message to create a PDF file.
17701    ///
17702    /// Call the `getFaxMessagePDF` API method and deserialize into [`GetFAXMessagePDFResponse`].
17703    pub async fn get_fax_message_pdf(
17704        &self,
17705        params: &GetFAXMessagePDFParams,
17706    ) -> Result<GetFAXMessagePDFResponse> {
17707        self.call("getFaxMessagePDF", params).await
17708    }
17709
17710    /// Call the `getFaxMessagePDF` API method and return the raw JSON envelope.
17711    pub async fn get_fax_message_pdf_raw(&self, params: &GetFAXMessagePDFParams) -> Result<Value> {
17712        self.call_raw("getFaxMessagePDF", params).await
17713    }
17714
17715    /// \- Retrieves a list of Fax Messages.
17716    /// \- Retrieves a specific Fax Message if a Fax Message ID is provided.
17717    ///
17718    /// Call the `getFaxMessages` API method and deserialize into [`GetFAXMessagesResponse`].
17719    pub async fn get_fax_messages(
17720        &self,
17721        params: &GetFAXMessagesParams,
17722    ) -> Result<GetFAXMessagesResponse> {
17723        self.call("getFaxMessages", params).await
17724    }
17725
17726    /// Call the `getFaxMessages` API method and return the raw JSON envelope.
17727    pub async fn get_fax_messages_raw(&self, params: &GetFAXMessagesParams) -> Result<Value> {
17728        self.call_raw("getFaxMessages", params).await
17729    }
17730
17731    /// \- Retrieves a list of Fax Numbers.
17732    ///
17733    /// Call the `getFaxNumbersInfo` API method and deserialize into [`GetFAXNumbersInfoResponse`].
17734    pub async fn get_fax_numbers_info(
17735        &self,
17736        params: &GetFAXNumbersInfoParams,
17737    ) -> Result<GetFAXNumbersInfoResponse> {
17738        self.call("getFaxNumbersInfo", params).await
17739    }
17740
17741    /// Call the `getFaxNumbersInfo` API method and return the raw JSON envelope.
17742    pub async fn get_fax_numbers_info_raw(
17743        &self,
17744        params: &GetFAXNumbersInfoParams,
17745    ) -> Result<Value> {
17746        self.call_raw("getFaxNumbersInfo", params).await
17747    }
17748
17749    /// \- Shows if a Fax Number can be ported into our network
17750    ///
17751    /// Call the `getFaxNumbersPortability` API method and deserialize into [`GetFAXNumbersPortabilityResponse`].
17752    pub async fn get_fax_numbers_portability(
17753        &self,
17754        params: &GetFAXNumbersPortabilityParams,
17755    ) -> Result<GetFAXNumbersPortabilityResponse> {
17756        self.call("getFaxNumbersPortability", params).await
17757    }
17758
17759    /// Call the `getFaxNumbersPortability` API method and return the raw JSON envelope.
17760    pub async fn get_fax_numbers_portability_raw(
17761        &self,
17762        params: &GetFAXNumbersPortabilityParams,
17763    ) -> Result<Value> {
17764        self.call_raw("getFaxNumbersPortability", params).await
17765    }
17766
17767    /// \- Retrieves a list of Canadian Fax Provinces if no additional parameter
17768    /// is provided.
17769    /// \- Retrieves a specific Canadian Fax Province if a province code is
17770    /// provided.
17771    ///
17772    /// Call the `getFaxProvinces` API method and deserialize into [`GetFAXProvincesResponse`].
17773    pub async fn get_fax_provinces(
17774        &self,
17775        params: &GetFAXProvincesParams,
17776    ) -> Result<GetFAXProvincesResponse> {
17777        self.call("getFaxProvinces", params).await
17778    }
17779
17780    /// Call the `getFaxProvinces` API method and return the raw JSON envelope.
17781    pub async fn get_fax_provinces_raw(&self, params: &GetFAXProvincesParams) -> Result<Value> {
17782        self.call_raw("getFaxProvinces", params).await
17783    }
17784
17785    /// \- Retrieves a list of Canadian Ratecenters by Province.
17786    ///
17787    /// Call the `getFaxRateCentersCAN` API method and deserialize into [`GetFAXRateCentersCANResponse`].
17788    pub async fn get_fax_rate_centers_can(
17789        &self,
17790        params: &GetFAXRateCentersCANParams,
17791    ) -> Result<GetFAXRateCentersCANResponse> {
17792        self.call("getFaxRateCentersCAN", params).await
17793    }
17794
17795    /// Call the `getFaxRateCentersCAN` API method and return the raw JSON envelope.
17796    pub async fn get_fax_rate_centers_can_raw(
17797        &self,
17798        params: &GetFAXRateCentersCANParams,
17799    ) -> Result<Value> {
17800        self.call_raw("getFaxRateCentersCAN", params).await
17801    }
17802
17803    /// \- Retrieves a list of USA Ratecenters by State.
17804    ///
17805    /// Call the `getFaxRateCentersUSA` API method and deserialize into [`GetFAXRateCentersUSAResponse`].
17806    pub async fn get_fax_rate_centers_usa(
17807        &self,
17808        params: &GetFAXRateCentersUSAParams,
17809    ) -> Result<GetFAXRateCentersUSAResponse> {
17810        self.call("getFaxRateCentersUSA", params).await
17811    }
17812
17813    /// Call the `getFaxRateCentersUSA` API method and return the raw JSON envelope.
17814    pub async fn get_fax_rate_centers_usa_raw(
17815        &self,
17816        params: &GetFAXRateCentersUSAParams,
17817    ) -> Result<Value> {
17818        self.call_raw("getFaxRateCentersUSA", params).await
17819    }
17820
17821    /// \- Retrieves a list of American Fax States if no additional parameter is
17822    /// provided.
17823    /// \- Retrieves a specific American Fax State if a state code is provided.
17824    ///
17825    /// Call the `getFaxStates` API method and deserialize into [`GetFAXStatesResponse`].
17826    pub async fn get_fax_states(
17827        &self,
17828        params: &GetFAXStatesParams,
17829    ) -> Result<GetFAXStatesResponse> {
17830        self.call("getFaxStates", params).await
17831    }
17832
17833    /// Call the `getFaxStates` API method and return the raw JSON envelope.
17834    pub async fn get_fax_states_raw(&self, params: &GetFAXStatesParams) -> Result<Value> {
17835        self.call_raw("getFaxStates", params).await
17836    }
17837
17838    /// \- Retrieves a list of Forwardings if no additional parameter is
17839    /// provided.
17840    /// \- Retrieves a specific Forwarding if a fwd code is provided.
17841    ///
17842    /// Call the `getForwardings` API method and deserialize into [`GetForwardingsResponse`].
17843    pub async fn get_forwardings(
17844        &self,
17845        params: &GetForwardingsParams,
17846    ) -> Result<GetForwardingsResponse> {
17847        self.call("getForwardings", params).await
17848    }
17849
17850    /// Call the `getForwardings` API method and return the raw JSON envelope.
17851    pub async fn get_forwardings_raw(&self, params: &GetForwardingsParams) -> Result<Value> {
17852        self.call_raw("getForwardings", params).await
17853    }
17854
17855    /// \- Shows the IP used by the client application requesting information
17856    /// from the API
17857    /// \* this is the only function not using the IP for authentication.
17858    /// \* the IP returned should be the one used in the API Configuration.
17859    ///
17860    /// Call the `getIP` API method and deserialize into [`GetIPResponse`].
17861    pub async fn get_ip(&self, params: &GetIPParams) -> Result<GetIPResponse> {
17862        self.call("getIP", params).await
17863    }
17864
17865    /// Call the `getIP` API method and return the raw JSON envelope.
17866    pub async fn get_ip_raw(&self, params: &GetIPParams) -> Result<Value> {
17867        self.call_raw("getIP", params).await
17868    }
17869
17870    /// \- Retrieves a list of IVRs if no additional parameter is provided.
17871    /// \- Retrieves a specific IVR if a IVR code is provided.
17872    ///
17873    /// Call the `getIVRs` API method and deserialize into [`GetIVRsResponse`].
17874    pub async fn get_ivrs(&self, params: &GetIVRsParams) -> Result<GetIVRsResponse> {
17875        self.call("getIVRs", params).await
17876    }
17877
17878    /// Call the `getIVRs` API method and return the raw JSON envelope.
17879    pub async fn get_ivrs_raw(&self, params: &GetIVRsParams) -> Result<Value> {
17880        self.call_raw("getIVRs", params).await
17881    }
17882
17883    /// \- Retrieves a list of Types for International DIDs if no additional
17884    /// parameter is provided.
17885    /// \- Retrieves a specific Types for International DIDs if a type code is
17886    /// provided.
17887    ///
17888    /// Call the `getInternationalTypes` API method and deserialize into [`GetInternationalTypesResponse`].
17889    pub async fn get_international_types(
17890        &self,
17891        params: &GetInternationalTypesParams,
17892    ) -> Result<GetInternationalTypesResponse> {
17893        self.call("getInternationalTypes", params).await
17894    }
17895
17896    /// Call the `getInternationalTypes` API method and return the raw JSON envelope.
17897    pub async fn get_international_types_raw(
17898        &self,
17899        params: &GetInternationalTypesParams,
17900    ) -> Result<Value> {
17901        self.call_raw("getInternationalTypes", params).await
17902    }
17903
17904    /// \- Retrieves a list of 'JoinWhenEmpty' Types if no additional parameter
17905    /// is provided.
17906    /// \- Retrieves a specific 'JoinWhenEmpty' Types if a type code is provided.
17907    ///
17908    /// Call the `getJoinWhenEmptyTypes` API method and deserialize into [`GetJoinWhenEmptyTypesResponse`].
17909    pub async fn get_join_when_empty_types(
17910        &self,
17911        params: &GetJoinWhenEmptyTypesParams,
17912    ) -> Result<GetJoinWhenEmptyTypesResponse> {
17913        self.call("getJoinWhenEmptyTypes", params).await
17914    }
17915
17916    /// Call the `getJoinWhenEmptyTypes` API method and return the raw JSON envelope.
17917    pub async fn get_join_when_empty_types_raw(
17918        &self,
17919        params: &GetJoinWhenEmptyTypesParams,
17920    ) -> Result<Value> {
17921        self.call_raw("getJoinWhenEmptyTypes", params).await
17922    }
17923
17924    /// \- Retrieve the details of an attached invoice.
17925    ///
17926    /// Call the `getLNPAttach` API method and deserialize into [`GetLNPAttachResponse`].
17927    pub async fn get_lnp_attach(
17928        &self,
17929        params: &GetLNPAttachParams,
17930    ) -> Result<GetLNPAttachResponse> {
17931        self.call("getLNPAttach", params).await
17932    }
17933
17934    /// Call the `getLNPAttach` API method and return the raw JSON envelope.
17935    pub async fn get_lnp_attach_raw(&self, params: &GetLNPAttachParams) -> Result<Value> {
17936        self.call_raw("getLNPAttach", params).await
17937    }
17938
17939    /// \- Retrieve the list of invoice (attached) files from a given portability
17940    /// process.
17941    ///
17942    /// Call the `getLNPAttachList` API method and deserialize into [`GetLNPAttachListResponse`].
17943    pub async fn get_lnp_attach_list(
17944        &self,
17945        params: &GetLNPAttachListParams,
17946    ) -> Result<GetLNPAttachListResponse> {
17947        self.call("getLNPAttachList", params).await
17948    }
17949
17950    /// Call the `getLNPAttachList` API method and return the raw JSON envelope.
17951    pub async fn get_lnp_attach_list_raw(&self, params: &GetLNPAttachListParams) -> Result<Value> {
17952        self.call_raw("getLNPAttachList", params).await
17953    }
17954
17955    /// \- Retrieve the details of a given portability process.
17956    ///
17957    /// Call the `getLNPDetails` API method and deserialize into [`GetLNPDetailsResponse`].
17958    pub async fn get_lnp_details(
17959        &self,
17960        params: &GetLNPDetailsParams,
17961    ) -> Result<GetLNPDetailsResponse> {
17962        self.call("getLNPDetails", params).await
17963    }
17964
17965    /// Call the `getLNPDetails` API method and return the raw JSON envelope.
17966    pub async fn get_lnp_details_raw(&self, params: &GetLNPDetailsParams) -> Result<Value> {
17967        self.call_raw("getLNPDetails", params).await
17968    }
17969
17970    /// \- Retrieve the full list of all your portability processes.
17971    ///
17972    /// Call the `getLNPList` API method and deserialize into [`GetLNPListResponse`].
17973    pub async fn get_lnp_list(&self, params: &GetLNPListParams) -> Result<GetLNPListResponse> {
17974        self.call("getLNPList", params).await
17975    }
17976
17977    /// Call the `getLNPList` API method and return the raw JSON envelope.
17978    pub async fn get_lnp_list_raw(&self, params: &GetLNPListParams) -> Result<Value> {
17979        self.call_raw("getLNPList", params).await
17980    }
17981
17982    /// \- Retrieve the list of possible status of a portability process.
17983    ///
17984    /// Call the `getLNPListStatus` API method and deserialize into [`GetLNPListStatusResponse`].
17985    pub async fn get_lnp_list_status(
17986        &self,
17987        params: &GetLNPListStatusParams,
17988    ) -> Result<GetLNPListStatusResponse> {
17989        self.call("getLNPListStatus", params).await
17990    }
17991
17992    /// Call the `getLNPListStatus` API method and return the raw JSON envelope.
17993    pub async fn get_lnp_list_status_raw(&self, params: &GetLNPListStatusParams) -> Result<Value> {
17994        self.call_raw("getLNPListStatus", params).await
17995    }
17996
17997    /// \- Retrieve the list of notes from the given portability process.
17998    ///
17999    /// Call the `getLNPNotes` API method and deserialize into [`GetLNPNotesResponse`].
18000    pub async fn get_lnp_notes(&self, params: &GetLNPNotesParams) -> Result<GetLNPNotesResponse> {
18001        self.call("getLNPNotes", params).await
18002    }
18003
18004    /// Call the `getLNPNotes` API method and return the raw JSON envelope.
18005    pub async fn get_lnp_notes_raw(&self, params: &GetLNPNotesParams) -> Result<Value> {
18006        self.call_raw("getLNPNotes", params).await
18007    }
18008
18009    /// \- Retrieve the current status of a given portability process.
18010    ///
18011    /// Call the `getLNPStatus` API method and deserialize into [`GetLNPStatusResponse`].
18012    pub async fn get_lnp_status(
18013        &self,
18014        params: &GetLNPStatusParams,
18015    ) -> Result<GetLNPStatusResponse> {
18016        self.call("getLNPStatus", params).await
18017    }
18018
18019    /// Call the `getLNPStatus` API method and return the raw JSON envelope.
18020    pub async fn get_lnp_status_raw(&self, params: &GetLNPStatusParams) -> Result<Value> {
18021        self.call_raw("getLNPStatus", params).await
18022    }
18023
18024    /// \- Retrieves a list of Languages if no additional parameter is provided.
18025    /// \- Retrieves a specific Language if a language code is provided.
18026    ///
18027    /// Call the `getLanguages` API method and deserialize into [`GetLanguagesResponse`].
18028    pub async fn get_languages(&self, params: &GetLanguagesParams) -> Result<GetLanguagesResponse> {
18029        self.call("getLanguages", params).await
18030    }
18031
18032    /// Call the `getLanguages` API method and return the raw JSON envelope.
18033    pub async fn get_languages_raw(&self, params: &GetLanguagesParams) -> Result<Value> {
18034        self.call_raw("getLanguages", params).await
18035    }
18036
18037    /// \- Retrieves a list of locale codes if no additional parameter is
18038    /// provided.
18039    /// \- Retrieves a specific locale code if a language code is provided.
18040    ///
18041    /// Call the `getLocales` API method and deserialize into [`GetLocalesResponse`].
18042    pub async fn get_locales(&self, params: &GetLocalesParams) -> Result<GetLocalesResponse> {
18043        self.call("getLocales", params).await
18044    }
18045
18046    /// Call the `getLocales` API method and return the raw JSON envelope.
18047    pub async fn get_locales_raw(&self, params: &GetLocalesParams) -> Result<Value> {
18048        self.call_raw("getLocales", params).await
18049    }
18050
18051    /// Call the `getLocations` API method and deserialize into [`GetLocationsResponse`].
18052    pub async fn get_locations(&self, params: &GetLocationsParams) -> Result<GetLocationsResponse> {
18053        self.call("getLocations", params).await
18054    }
18055
18056    /// Call the `getLocations` API method and return the raw JSON envelope.
18057    pub async fn get_locations_raw(&self, params: &GetLocationsParams) -> Result<Value> {
18058        self.call_raw("getLocations", params).await
18059    }
18060
18061    /// \- Retrieves a list of Lock Modes if no additional parameter is provided.
18062    /// \- Retrieves a specific Lock Mode if a lock code is provided.
18063    ///
18064    /// Call the `getLockInternational` API method and deserialize into [`GetLockInternationalResponse`].
18065    pub async fn get_lock_international(
18066        &self,
18067        params: &GetLockInternationalParams,
18068    ) -> Result<GetLockInternationalResponse> {
18069        self.call("getLockInternational", params).await
18070    }
18071
18072    /// Call the `getLockInternational` API method and return the raw JSON envelope.
18073    pub async fn get_lock_international_raw(
18074        &self,
18075        params: &GetLockInternationalParams,
18076    ) -> Result<Value> {
18077        self.call_raw("getLockInternational", params).await
18078    }
18079
18080    /// \- Retrieves a list of MMS messages by: date range, mms type, DID number,
18081    /// and contact.
18082    ///
18083    /// Call the `getMMS` API method and deserialize into [`GetMMSResponse`].
18084    pub async fn get_mms(&self, params: &GetMMSParams) -> Result<GetMMSResponse> {
18085        self.call("getMMS", params).await
18086    }
18087
18088    /// Call the `getMMS` API method and return the raw JSON envelope.
18089    pub async fn get_mms_raw(&self, params: &GetMMSParams) -> Result<Value> {
18090        self.call_raw("getMMS", params).await
18091    }
18092
18093    /// \- Retrieves media files from the message.
18094    ///
18095    /// Call the `getMediaMMS` API method and deserialize into [`GetMediaMMSResponse`].
18096    pub async fn get_media_mms(&self, params: &GetMediaMMSParams) -> Result<GetMediaMMSResponse> {
18097        self.call("getMediaMMS", params).await
18098    }
18099
18100    /// Call the `getMediaMMS` API method and return the raw JSON envelope.
18101    pub async fn get_media_mms_raw(&self, params: &GetMediaMMSParams) -> Result<Value> {
18102        self.call_raw("getMediaMMS", params).await
18103    }
18104
18105    /// \- Retrieves a list of Music on Hold Options if no additional parameter
18106    /// is provided.
18107    /// \- Retrieves a specific Music on Hold Option if a MOH code is provided.
18108    ///
18109    /// Call the `getMusicOnHold` API method and deserialize into [`GetMusicOnHoldResponse`].
18110    pub async fn get_music_on_hold(
18111        &self,
18112        params: &GetMusicOnHoldParams,
18113    ) -> Result<GetMusicOnHoldResponse> {
18114        self.call("getMusicOnHold", params).await
18115    }
18116
18117    /// Call the `getMusicOnHold` API method and return the raw JSON envelope.
18118    pub async fn get_music_on_hold_raw(&self, params: &GetMusicOnHoldParams) -> Result<Value> {
18119        self.call_raw("getMusicOnHold", params).await
18120    }
18121
18122    /// \- Retrieves a list of NAT Options if no additional parameter is
18123    /// provided.
18124    /// \- Retrieves a specific NAT Option if a NAT code is provided.
18125    ///
18126    /// Call the `getNAT` API method and deserialize into [`GetNATResponse`].
18127    pub async fn get_nat(&self, params: &GetNATParams) -> Result<GetNATResponse> {
18128        self.call("getNAT", params).await
18129    }
18130
18131    /// Call the `getNAT` API method and return the raw JSON envelope.
18132    pub async fn get_nat_raw(&self, params: &GetNATParams) -> Result<Value> {
18133        self.call_raw("getNAT", params).await
18134    }
18135
18136    /// \- Retrieves a list of Packages if no additional parameter is provided.-
18137    /// Retrieves a specific Package if a package code is provided.
18138    ///
18139    /// Call the `getPackages` API method and deserialize into [`GetPackagesResponse`].
18140    pub async fn get_packages(&self, params: &GetPackagesParams) -> Result<GetPackagesResponse> {
18141        self.call("getPackages", params).await
18142    }
18143
18144    /// Call the `getPackages` API method and return the raw JSON envelope.
18145    pub async fn get_packages_raw(&self, params: &GetPackagesParams) -> Result<Value> {
18146        self.call_raw("getPackages", params).await
18147    }
18148
18149    /// \- Retrieves a list of Phonebook entries if no additional parameter is
18150    /// provided.
18151    /// \- Retrieves a list of Phonebook entries if a name is provided.
18152    /// \- Retrieves a specific Phonebook entry if a Phonebook code is provided.
18153    /// \- Retrieves a list of Phonebook entries if a phonebook group name is
18154    /// provided.
18155    /// \- Retrieves a list of Phonebook entries if a phonebook group code is
18156    /// provided.
18157    ///
18158    /// Call the `getPhonebook` API method and deserialize into [`GetPhonebookResponse`].
18159    pub async fn get_phonebook(&self, params: &GetPhonebookParams) -> Result<GetPhonebookResponse> {
18160        self.call("getPhonebook", params).await
18161    }
18162
18163    /// Call the `getPhonebook` API method and return the raw JSON envelope.
18164    pub async fn get_phonebook_raw(&self, params: &GetPhonebookParams) -> Result<Value> {
18165        self.call_raw("getPhonebook", params).await
18166    }
18167
18168    /// \- Retrieves a list of Phonebook groups if no additional parameter is
18169    /// provided.
18170    /// \- Retrieves a list of Phonebook groups if a name is provided.
18171    /// \- Retrieves a specific Phonebook group if a group ID is provided.
18172    ///
18173    /// Call the `getPhonebookGroups` API method and deserialize into [`GetPhonebookGroupsResponse`].
18174    pub async fn get_phonebook_groups(
18175        &self,
18176        params: &GetPhonebookGroupsParams,
18177    ) -> Result<GetPhonebookGroupsResponse> {
18178        self.call("getPhonebookGroups", params).await
18179    }
18180
18181    /// Call the `getPhonebookGroups` API method and return the raw JSON envelope.
18182    pub async fn get_phonebook_groups_raw(
18183        &self,
18184        params: &GetPhonebookGroupsParams,
18185    ) -> Result<Value> {
18186        self.call_raw("getPhonebookGroups", params).await
18187    }
18188
18189    /// \- Retrieves a list of Play Instructions modes if no additional parameter
18190    /// is provided.
18191    /// \- Retrieves a specific Play Instructions mode if a play code is
18192    /// provided.
18193    ///
18194    /// Call the `getPlayInstructions` API method and deserialize into [`GetPlayInstructionsResponse`].
18195    pub async fn get_play_instructions(
18196        &self,
18197        params: &GetPlayInstructionsParams,
18198    ) -> Result<GetPlayInstructionsResponse> {
18199        self.call("getPlayInstructions", params).await
18200    }
18201
18202    /// Call the `getPlayInstructions` API method and return the raw JSON envelope.
18203    pub async fn get_play_instructions_raw(
18204        &self,
18205        params: &GetPlayInstructionsParams,
18206    ) -> Result<Value> {
18207        self.call_raw("getPlayInstructions", params).await
18208    }
18209
18210    /// \- Shows if a DID Number can be ported into our network.
18211    /// \- Display plans and rates available if the DID Number can be ported into
18212    /// our network.
18213    ///
18214    /// Call the `getPortability` API method and deserialize into [`GetPortabilityResponse`].
18215    pub async fn get_portability(
18216        &self,
18217        params: &GetPortabilityParams,
18218    ) -> Result<GetPortabilityResponse> {
18219        self.call("getPortability", params).await
18220    }
18221
18222    /// Call the `getPortability` API method and return the raw JSON envelope.
18223    pub async fn get_portability_raw(&self, params: &GetPortabilityParams) -> Result<Value> {
18224        self.call_raw("getPortability", params).await
18225    }
18226
18227    /// \- Retrieves a list of Protocols if no additional parameter is provided.
18228    /// \- Retrieves a specific Protocol if a protocol code is provided.
18229    ///
18230    /// Call the `getProtocols` API method and deserialize into [`GetProtocolsResponse`].
18231    pub async fn get_protocols(&self, params: &GetProtocolsParams) -> Result<GetProtocolsResponse> {
18232        self.call("getProtocols", params).await
18233    }
18234
18235    /// Call the `getProtocols` API method and return the raw JSON envelope.
18236    pub async fn get_protocols_raw(&self, params: &GetProtocolsParams) -> Result<Value> {
18237        self.call_raw("getProtocols", params).await
18238    }
18239
18240    /// \- Retrieves a list of Canadian Provinces.
18241    ///
18242    /// Call the `getProvinces` API method and deserialize into [`GetProvincesResponse`].
18243    pub async fn get_provinces(&self, params: &GetProvincesParams) -> Result<GetProvincesResponse> {
18244        self.call("getProvinces", params).await
18245    }
18246
18247    /// Call the `getProvinces` API method and return the raw JSON envelope.
18248    pub async fn get_provinces_raw(&self, params: &GetProvincesParams) -> Result<Value> {
18249        self.call_raw("getProvinces", params).await
18250    }
18251
18252    /// \- Retrieves a list of Queue entries if no additional parameter is
18253    /// provided.
18254    /// \- Retrieves a specific Queue entry if a Queue code is provided.
18255    ///
18256    /// Call the `getQueues` API method and deserialize into [`GetQueuesResponse`].
18257    pub async fn get_queues(&self, params: &GetQueuesParams) -> Result<GetQueuesResponse> {
18258        self.call("getQueues", params).await
18259    }
18260
18261    /// Call the `getQueues` API method and return the raw JSON envelope.
18262    pub async fn get_queues_raw(&self, params: &GetQueuesParams) -> Result<Value> {
18263        self.call_raw("getQueues", params).await
18264    }
18265
18266    /// \- Retrieves a list of Canadian Ratecenters by Province.
18267    ///
18268    /// Call the `getRateCentersCAN` API method and deserialize into [`GetRateCentersCANResponse`].
18269    pub async fn get_rate_centers_can(
18270        &self,
18271        params: &GetRateCentersCANParams,
18272    ) -> Result<GetRateCentersCANResponse> {
18273        self.call("getRateCentersCAN", params).await
18274    }
18275
18276    /// Call the `getRateCentersCAN` API method and return the raw JSON envelope.
18277    pub async fn get_rate_centers_can_raw(
18278        &self,
18279        params: &GetRateCentersCANParams,
18280    ) -> Result<Value> {
18281        self.call_raw("getRateCentersCAN", params).await
18282    }
18283
18284    /// \- Retrieves a list of USA Ratecenters by State.
18285    ///
18286    /// Call the `getRateCentersUSA` API method and deserialize into [`GetRateCentersUSAResponse`].
18287    pub async fn get_rate_centers_usa(
18288        &self,
18289        params: &GetRateCentersUSAParams,
18290    ) -> Result<GetRateCentersUSAResponse> {
18291        self.call("getRateCentersUSA", params).await
18292    }
18293
18294    /// Call the `getRateCentersUSA` API method and return the raw JSON envelope.
18295    pub async fn get_rate_centers_usa_raw(
18296        &self,
18297        params: &GetRateCentersUSAParams,
18298    ) -> Result<Value> {
18299        self.call_raw("getRateCentersUSA", params).await
18300    }
18301
18302    /// \- Retrieves the Rates for a specific Package and a Search term.
18303    ///
18304    /// Call the `getRates` API method and deserialize into [`GetRatesResponse`].
18305    pub async fn get_rates(&self, params: &GetRatesParams) -> Result<GetRatesResponse> {
18306        self.call("getRates", params).await
18307    }
18308
18309    /// Call the `getRates` API method and return the raw JSON envelope.
18310    pub async fn get_rates_raw(&self, params: &GetRatesParams) -> Result<Value> {
18311        self.call_raw("getRates", params).await
18312    }
18313
18314    /// \- Retrieves a specific Recording File data in Base64 format.
18315    ///
18316    /// Call the `getRecordingFile` API method and deserialize into [`GetRecordingFileResponse`].
18317    pub async fn get_recording_file(
18318        &self,
18319        params: &GetRecordingFileParams,
18320    ) -> Result<GetRecordingFileResponse> {
18321        self.call("getRecordingFile", params).await
18322    }
18323
18324    /// Call the `getRecordingFile` API method and return the raw JSON envelope.
18325    pub async fn get_recording_file_raw(&self, params: &GetRecordingFileParams) -> Result<Value> {
18326        self.call_raw("getRecordingFile", params).await
18327    }
18328
18329    /// \- Retrieves a list of Recordings if no additional parameter is provided.
18330    /// \- Retrieves a specific Recording if a Recording code is provided.
18331    ///
18332    /// Call the `getRecordings` API method and deserialize into [`GetRecordingsResponse`].
18333    pub async fn get_recordings(
18334        &self,
18335        params: &GetRecordingsParams,
18336    ) -> Result<GetRecordingsResponse> {
18337        self.call("getRecordings", params).await
18338    }
18339
18340    /// Call the `getRecordings` API method and return the raw JSON envelope.
18341    pub async fn get_recordings_raw(&self, params: &GetRecordingsParams) -> Result<Value> {
18342        self.call_raw("getRecordings", params).await
18343    }
18344
18345    /// \- Retrieves the Registration Status of all accounts if no account is
18346    /// provided.
18347    ///
18348    /// Call the `getRegistrationStatus` API method and deserialize into [`GetRegistrationStatusResponse`].
18349    pub async fn get_registration_status(
18350        &self,
18351        params: &GetRegistrationStatusParams,
18352    ) -> Result<GetRegistrationStatusResponse> {
18353        self.call("getRegistrationStatus", params).await
18354    }
18355
18356    /// Call the `getRegistrationStatus` API method and return the raw JSON envelope.
18357    pub async fn get_registration_status_raw(
18358        &self,
18359        params: &GetRegistrationStatusParams,
18360    ) -> Result<Value> {
18361        self.call_raw("getRegistrationStatus", params).await
18362    }
18363
18364    /// \- Retrieves a list of 'ReportEstimateHoldTime' Types if no additional
18365    /// parameter is provided.
18366    /// \- Retrieves a specific 'ReportEstimateHoldTime' Type if a type code is
18367    /// provided.
18368    ///
18369    /// Call the `getReportEstimatedHoldTime` API method and deserialize into [`GetReportEstimatedHoldTimeResponse`].
18370    pub async fn get_report_estimated_hold_time(
18371        &self,
18372        params: &GetReportEstimatedHoldTimeParams,
18373    ) -> Result<GetReportEstimatedHoldTimeResponse> {
18374        self.call("getReportEstimatedHoldTime", params).await
18375    }
18376
18377    /// Call the `getReportEstimatedHoldTime` API method and return the raw JSON envelope.
18378    pub async fn get_report_estimated_hold_time_raw(
18379        &self,
18380        params: &GetReportEstimatedHoldTimeParams,
18381    ) -> Result<Value> {
18382        self.call_raw("getReportEstimatedHoldTime", params).await
18383    }
18384
18385    /// \- Retrieves Balance and Calls Statistics for a specific Reseller Client
18386    /// for the last 30 days and current day.
18387    ///
18388    /// Call the `getResellerBalance` API method and deserialize into [`GetResellerBalanceResponse`].
18389    pub async fn get_reseller_balance(
18390        &self,
18391        params: &GetResellerBalanceParams,
18392    ) -> Result<GetResellerBalanceResponse> {
18393        self.call("getResellerBalance", params).await
18394    }
18395
18396    /// Call the `getResellerBalance` API method and return the raw JSON envelope.
18397    pub async fn get_reseller_balance_raw(
18398        &self,
18399        params: &GetResellerBalanceParams,
18400    ) -> Result<Value> {
18401        self.call_raw("getResellerBalance", params).await
18402    }
18403
18404    /// \- Retrieves the Call Detail Records for a specific Reseller Client.
18405    ///
18406    /// Call the `getResellerCDR` API method and deserialize into [`GetResellerCDRResponse`].
18407    pub async fn get_reseller_cdr(
18408        &self,
18409        params: &GetResellerCDRParams,
18410    ) -> Result<GetResellerCDRResponse> {
18411        self.call("getResellerCDR", params).await
18412    }
18413
18414    /// Call the `getResellerCDR` API method and return the raw JSON envelope.
18415    pub async fn get_reseller_cdr_raw(&self, params: &GetResellerCDRParams) -> Result<Value> {
18416        self.call_raw("getResellerCDR", params).await
18417    }
18418
18419    /// \- Retrieves a list of MMS messages for a specific Reseller Client. by:
18420    /// date range, mms type, DID number, and contact
18421    ///
18422    /// Call the `getResellerMMS` API method and deserialize into [`GetResellerMMSResponse`].
18423    pub async fn get_reseller_mms(
18424        &self,
18425        params: &GetResellerMMSParams,
18426    ) -> Result<GetResellerMMSResponse> {
18427        self.call("getResellerMMS", params).await
18428    }
18429
18430    /// Call the `getResellerMMS` API method and return the raw JSON envelope.
18431    pub async fn get_reseller_mms_raw(&self, params: &GetResellerMMSParams) -> Result<Value> {
18432        self.call_raw("getResellerMMS", params).await
18433    }
18434
18435    /// \- Retrieves a list of SMS messages for a specific Reseller Client. by:
18436    /// date range, sms type, DID number, and contact
18437    ///
18438    /// Call the `getResellerSMS` API method and deserialize into [`GetResellerSMSResponse`].
18439    pub async fn get_reseller_sms(
18440        &self,
18441        params: &GetResellerSMSParams,
18442    ) -> Result<GetResellerSMSResponse> {
18443        self.call("getResellerSMS", params).await
18444    }
18445
18446    /// Call the `getResellerSMS` API method and return the raw JSON envelope.
18447    pub async fn get_reseller_sms_raw(&self, params: &GetResellerSMSParams) -> Result<Value> {
18448        self.call_raw("getResellerSMS", params).await
18449    }
18450
18451    /// \- Retrieves a list of Ring Groups if no additional parameter is
18452    /// provided.
18453    /// \- Retrieves a specific Ring Group if a ring group code is provided.
18454    ///
18455    /// Call the `getRingGroups` API method and deserialize into [`GetRingGroupsResponse`].
18456    pub async fn get_ring_groups(
18457        &self,
18458        params: &GetRingGroupsParams,
18459    ) -> Result<GetRingGroupsResponse> {
18460        self.call("getRingGroups", params).await
18461    }
18462
18463    /// Call the `getRingGroups` API method and return the raw JSON envelope.
18464    pub async fn get_ring_groups_raw(&self, params: &GetRingGroupsParams) -> Result<Value> {
18465        self.call_raw("getRingGroups", params).await
18466    }
18467
18468    /// \- Retrieves a list of Ring Strategies if no additional parameter is
18469    /// provided.
18470    /// \- Retrieves a specific Ring Strategy if a ring strategy code is
18471    /// provided.
18472    ///
18473    /// Call the `getRingStrategies` API method and deserialize into [`GetRingStrategiesResponse`].
18474    pub async fn get_ring_strategies(
18475        &self,
18476        params: &GetRingStrategiesParams,
18477    ) -> Result<GetRingStrategiesResponse> {
18478        self.call("getRingStrategies", params).await
18479    }
18480
18481    /// Call the `getRingStrategies` API method and return the raw JSON envelope.
18482    pub async fn get_ring_strategies_raw(&self, params: &GetRingStrategiesParams) -> Result<Value> {
18483        self.call_raw("getRingStrategies", params).await
18484    }
18485
18486    /// \- Retrieves a list of Route Options if no additional parameter is
18487    /// provided.
18488    /// \- Retrieves a specific Route Option if a route code is provided.
18489    ///
18490    /// Call the `getRoutes` API method and deserialize into [`GetRoutesResponse`].
18491    pub async fn get_routes(&self, params: &GetRoutesParams) -> Result<GetRoutesResponse> {
18492        self.call("getRoutes", params).await
18493    }
18494
18495    /// Call the `getRoutes` API method and return the raw JSON envelope.
18496    pub async fn get_routes_raw(&self, params: &GetRoutesParams) -> Result<Value> {
18497        self.call_raw("getRoutes", params).await
18498    }
18499
18500    /// \- Retrieves a list of SIP URIs if no additional parameter is provided.
18501    /// \- Retrieves a specific SIP URI if a SIP URI code is provided.
18502    ///
18503    /// Call the `getSIPURIs` API method and deserialize into [`GetSIPURIsResponse`].
18504    pub async fn get_sip_uris(&self, params: &GetSIPURIsParams) -> Result<GetSIPURIsResponse> {
18505        self.call("getSIPURIs", params).await
18506    }
18507
18508    /// Call the `getSIPURIs` API method and return the raw JSON envelope.
18509    pub async fn get_sip_uris_raw(&self, params: &GetSIPURIsParams) -> Result<Value> {
18510        self.call_raw("getSIPURIs", params).await
18511    }
18512
18513    /// \- Retrieves a list of SMS messages by: date range, sms type, DID number,
18514    /// and contact.
18515    ///
18516    /// Call the `getSMS` API method and deserialize into [`GetSMSResponse`].
18517    pub async fn get_sms(&self, params: &GetSMSParams) -> Result<GetSMSResponse> {
18518        self.call("getSMS", params).await
18519    }
18520
18521    /// Call the `getSMS` API method and return the raw JSON envelope.
18522    pub async fn get_sms_raw(&self, params: &GetSMSParams) -> Result<Value> {
18523        self.call_raw("getSMS", params).await
18524    }
18525
18526    /// \- Retrieves a list of Servers with their info if no additional parameter
18527    /// is provided.
18528    /// \- Retrieves a specific Server with its info if a Server POP is provided.
18529    ///
18530    /// Call the `getServersInfo` API method and deserialize into [`GetServersInfoResponse`].
18531    pub async fn get_servers_info(
18532        &self,
18533        params: &GetServersInfoParams,
18534    ) -> Result<GetServersInfoResponse> {
18535        self.call("getServersInfo", params).await
18536    }
18537
18538    /// Call the `getServersInfo` API method and return the raw JSON envelope.
18539    pub async fn get_servers_info_raw(&self, params: &GetServersInfoParams) -> Result<Value> {
18540        self.call_raw("getServersInfo", params).await
18541    }
18542
18543    /// \- Retrieves a list of USA States.
18544    ///
18545    /// Call the `getStates` API method and deserialize into [`GetStatesResponse`].
18546    pub async fn get_states(&self, params: &GetStatesParams) -> Result<GetStatesResponse> {
18547        self.call("getStates", params).await
18548    }
18549
18550    /// Call the `getStates` API method and return the raw JSON envelope.
18551    pub async fn get_states_raw(&self, params: &GetStatesParams) -> Result<Value> {
18552        self.call_raw("getStates", params).await
18553    }
18554
18555    /// \- Retrieves a list of Static Members from a queue if no additional
18556    /// parameter is provided.
18557    /// \- Retrieves a specific Static Member from a queue if Queue ID and Member
18558    /// ID are provided
18559    ///
18560    /// Call the `getStaticMembers` API method and deserialize into [`GetStaticMembersResponse`].
18561    pub async fn get_static_members(
18562        &self,
18563        params: &GetStaticMembersParams,
18564    ) -> Result<GetStaticMembersResponse> {
18565        self.call("getStaticMembers", params).await
18566    }
18567
18568    /// Call the `getStaticMembers` API method and return the raw JSON envelope.
18569    pub async fn get_static_members_raw(&self, params: &GetStaticMembersParams) -> Result<Value> {
18570        self.call_raw("getStaticMembers", params).await
18571    }
18572
18573    /// \- Retrieves all Sub Accounts if no additional parameter is provided.
18574    /// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
18575    /// \- Retrieves a specific Sub Account if a Sub Account is provided.
18576    ///
18577    /// Call the `getSubAccounts` API method and deserialize into [`GetSubAccountsResponse`].
18578    pub async fn get_sub_accounts(
18579        &self,
18580        params: &GetSubAccountsParams,
18581    ) -> Result<GetSubAccountsResponse> {
18582        self.call("getSubAccounts", params).await
18583    }
18584
18585    /// Call the `getSubAccounts` API method and return the raw JSON envelope.
18586    pub async fn get_sub_accounts_raw(&self, params: &GetSubAccountsParams) -> Result<Value> {
18587        self.call_raw("getSubAccounts", params).await
18588    }
18589
18590    /// \- Retrieves the Rates for a specific Route (Premium, Value) and a Search
18591    /// term.
18592    ///
18593    /// Call the `getTerminationRates` API method and deserialize into [`GetTerminationRatesResponse`].
18594    pub async fn get_termination_rates(
18595        &self,
18596        params: &GetTerminationRatesParams,
18597    ) -> Result<GetTerminationRatesResponse> {
18598        self.call("getTerminationRates", params).await
18599    }
18600
18601    /// Call the `getTerminationRates` API method and return the raw JSON envelope.
18602    pub async fn get_termination_rates_raw(
18603        &self,
18604        params: &GetTerminationRatesParams,
18605    ) -> Result<Value> {
18606        self.call_raw("getTerminationRates", params).await
18607    }
18608
18609    /// \- Retrieves a list of Time Conditions if no additional parameter is
18610    /// provided.
18611    /// \- Retrieves a specific Time Condition if a time condition code is
18612    /// provided.
18613    ///
18614    /// Call the `getTimeConditions` API method and deserialize into [`GetTimeConditionsResponse`].
18615    pub async fn get_time_conditions(
18616        &self,
18617        params: &GetTimeConditionsParams,
18618    ) -> Result<GetTimeConditionsResponse> {
18619        self.call("getTimeConditions", params).await
18620    }
18621
18622    /// Call the `getTimeConditions` API method and return the raw JSON envelope.
18623    pub async fn get_time_conditions_raw(&self, params: &GetTimeConditionsParams) -> Result<Value> {
18624        self.call_raw("getTimeConditions", params).await
18625    }
18626
18627    /// \- Retrieves a list of Timezones if no additional parameter is provided.
18628    /// \- Retrieves a specific Timezone if a timezone code is provided.
18629    ///
18630    /// Call the `getTimezones` API method and deserialize into [`GetTimezonesResponse`].
18631    pub async fn get_timezones(&self, params: &GetTimezonesParams) -> Result<GetTimezonesResponse> {
18632        self.call("getTimezones", params).await
18633    }
18634
18635    /// Call the `getTimezones` API method and return the raw JSON envelope.
18636    pub async fn get_timezones_raw(&self, params: &GetTimezonesParams) -> Result<Value> {
18637        self.call_raw("getTimezones", params).await
18638    }
18639
18640    /// \- Retrieves the Transaction History records between two dates.
18641    ///
18642    /// Call the `getTransactionHistory` API method and deserialize into [`GetTransactionHistoryResponse`].
18643    pub async fn get_transaction_history(
18644        &self,
18645        params: &GetTransactionHistoryParams,
18646    ) -> Result<GetTransactionHistoryResponse> {
18647        self.call("getTransactionHistory", params).await
18648    }
18649
18650    /// Call the `getTransactionHistory` API method and return the raw JSON envelope.
18651    pub async fn get_transaction_history_raw(
18652        &self,
18653        params: &GetTransactionHistoryParams,
18654    ) -> Result<Value> {
18655        self.call_raw("getTransactionHistory", params).await
18656    }
18657
18658    /// \- Retrieves a list of vpri.
18659    ///
18660    /// Call the `getVPRIs` API method and deserialize into [`GetVPRIsResponse`].
18661    pub async fn get_vpris(&self, params: &GetVPRIsParams) -> Result<GetVPRIsResponse> {
18662        self.call("getVPRIs", params).await
18663    }
18664
18665    /// Call the `getVPRIs` API method and return the raw JSON envelope.
18666    pub async fn get_vpris_raw(&self, params: &GetVPRIsParams) -> Result<Value> {
18667        self.call_raw("getVPRIs", params).await
18668    }
18669
18670    /// \- Retrieves a list of Email Attachment Format Options if no additional
18671    /// parameter is provided.
18672    /// \- Retrieves a specific Email Attachment Format Option if a format value
18673    /// is provided.
18674    ///
18675    /// Call the `getVoicemailAttachmentFormats` API method and deserialize into [`GetVoicemailAttachmentFormatsResponse`].
18676    pub async fn get_voicemail_attachment_formats(
18677        &self,
18678        params: &GetVoicemailAttachmentFormatsParams,
18679    ) -> Result<GetVoicemailAttachmentFormatsResponse> {
18680        self.call("getVoicemailAttachmentFormats", params).await
18681    }
18682
18683    /// Call the `getVoicemailAttachmentFormats` API method and return the raw JSON envelope.
18684    pub async fn get_voicemail_attachment_formats_raw(
18685        &self,
18686        params: &GetVoicemailAttachmentFormatsParams,
18687    ) -> Result<Value> {
18688        self.call_raw("getVoicemailAttachmentFormats", params).await
18689    }
18690
18691    /// \- Retrieves a list of default Voicemail Folders if no additional
18692    /// parameter is provided.
18693    /// \- Retrieves a list of Voicemail Folders within a mailbox if mailbox
18694    /// parameter is provided.
18695    /// \- Retrieves a specific Folder if a folder name is provided.
18696    ///
18697    /// Call the `getVoicemailFolders` API method and deserialize into [`GetVoicemailFoldersResponse`].
18698    pub async fn get_voicemail_folders(
18699        &self,
18700        params: &GetVoicemailFoldersParams,
18701    ) -> Result<GetVoicemailFoldersResponse> {
18702        self.call("getVoicemailFolders", params).await
18703    }
18704
18705    /// Call the `getVoicemailFolders` API method and return the raw JSON envelope.
18706    pub async fn get_voicemail_folders_raw(
18707        &self,
18708        params: &GetVoicemailFoldersParams,
18709    ) -> Result<Value> {
18710        self.call_raw("getVoicemailFolders", params).await
18711    }
18712
18713    /// \- Retrieves a specific Voicemail Message File in Base64 format.
18714    ///
18715    /// Call the `getVoicemailMessageFile` API method and deserialize into [`GetVoicemailMessageFileResponse`].
18716    pub async fn get_voicemail_message_file(
18717        &self,
18718        params: &GetVoicemailMessageFileParams,
18719    ) -> Result<GetVoicemailMessageFileResponse> {
18720        self.call("getVoicemailMessageFile", params).await
18721    }
18722
18723    /// Call the `getVoicemailMessageFile` API method and return the raw JSON envelope.
18724    pub async fn get_voicemail_message_file_raw(
18725        &self,
18726        params: &GetVoicemailMessageFileParams,
18727    ) -> Result<Value> {
18728        self.call_raw("getVoicemailMessageFile", params).await
18729    }
18730
18731    /// \- Retrieves a list of Voicemail Messages if mailbox parameter is
18732    /// provided.
18733    /// \- Retrieves a list of Voicemail Messages in a Folder if a folder is
18734    /// provided.
18735    /// \- Retrieves a list of Voicemail Messages in a date range if a from and
18736    /// to are provided.
18737    ///
18738    /// Call the `getVoicemailMessages` API method and deserialize into [`GetVoicemailMessagesResponse`].
18739    pub async fn get_voicemail_messages(
18740        &self,
18741        params: &GetVoicemailMessagesParams,
18742    ) -> Result<GetVoicemailMessagesResponse> {
18743        self.call("getVoicemailMessages", params).await
18744    }
18745
18746    /// Call the `getVoicemailMessages` API method and return the raw JSON envelope.
18747    pub async fn get_voicemail_messages_raw(
18748        &self,
18749        params: &GetVoicemailMessagesParams,
18750    ) -> Result<Value> {
18751        self.call_raw("getVoicemailMessages", params).await
18752    }
18753
18754    /// \- Retrieves a list of Voicemail Setup Options if no additional parameter
18755    /// is provided.
18756    /// \- Retrieves a specific Voicemail Setup Option if a voicemail setup code
18757    /// is provided.
18758    ///
18759    /// Call the `getVoicemailSetups` API method and deserialize into [`GetVoicemailSetupsResponse`].
18760    pub async fn get_voicemail_setups(
18761        &self,
18762        params: &GetVoicemailSetupsParams,
18763    ) -> Result<GetVoicemailSetupsResponse> {
18764        self.call("getVoicemailSetups", params).await
18765    }
18766
18767    /// Call the `getVoicemailSetups` API method and return the raw JSON envelope.
18768    pub async fn get_voicemail_setups_raw(
18769        &self,
18770        params: &GetVoicemailSetupsParams,
18771    ) -> Result<Value> {
18772        self.call_raw("getVoicemailSetups", params).await
18773    }
18774
18775    /// \- Retrieves all Voicemail Transcriptions if no additional parameter is
18776    /// provided.
18777    ///
18778    /// Call the `getVoicemailTranscriptions` API method and deserialize into [`GetVoicemailTranscriptionsResponse`].
18779    pub async fn get_voicemail_transcriptions(
18780        &self,
18781        params: &GetVoicemailTranscriptionsParams,
18782    ) -> Result<GetVoicemailTranscriptionsResponse> {
18783        self.call("getVoicemailTranscriptions", params).await
18784    }
18785
18786    /// Call the `getVoicemailTranscriptions` API method and return the raw JSON envelope.
18787    pub async fn get_voicemail_transcriptions_raw(
18788        &self,
18789        params: &GetVoicemailTranscriptionsParams,
18790    ) -> Result<Value> {
18791        self.call_raw("getVoicemailTranscriptions", params).await
18792    }
18793
18794    /// \- Retrieves a list of Voicemails if no additional parameter is provided.
18795    /// \- Retrieves a specific Voicemail if a voicemail code is provided.
18796    ///
18797    /// Call the `getVoicemails` API method and deserialize into [`GetVoicemailsResponse`].
18798    pub async fn get_voicemails(
18799        &self,
18800        params: &GetVoicemailsParams,
18801    ) -> Result<GetVoicemailsResponse> {
18802        self.call("getVoicemails", params).await
18803    }
18804
18805    /// Call the `getVoicemails` API method and return the raw JSON envelope.
18806    pub async fn get_voicemails_raw(&self, params: &GetVoicemailsParams) -> Result<Value> {
18807        self.call_raw("getVoicemails", params).await
18808    }
18809
18810    /// \- Send a Fax Message attached as a PDF file to an email destination.
18811    ///
18812    /// Call the `mailFaxMessagePDF` API method and deserialize into [`MailFAXMessagePDFResponse`].
18813    pub async fn mail_fax_message_pdf(
18814        &self,
18815        params: &MailFAXMessagePDFParams,
18816    ) -> Result<MailFAXMessagePDFResponse> {
18817        self.call("mailFaxMessagePDF", params).await
18818    }
18819
18820    /// Call the `mailFaxMessagePDF` API method and return the raw JSON envelope.
18821    pub async fn mail_fax_message_pdf_raw(
18822        &self,
18823        params: &MailFAXMessagePDFParams,
18824    ) -> Result<Value> {
18825        self.call_raw("mailFaxMessagePDF", params).await
18826    }
18827
18828    /// \- Mark a Voicemail Message as Listened or Unlistened.
18829    /// \- If value is 'yes', the voicemail message will be marked as listened
18830    /// and will be moved to the Old Folder.
18831    /// \- If value is 'no', the voicemail message will be marked as not-listened
18832    /// and will be moved to the INBOX Folder.
18833    ///
18834    /// Call the `markListenedVoicemailMessage` API method and deserialize into [`MarkListenedVoicemailMessageResponse`].
18835    pub async fn mark_listened_voicemail_message(
18836        &self,
18837        params: &MarkListenedVoicemailMessageParams,
18838    ) -> Result<MarkListenedVoicemailMessageResponse> {
18839        self.call("markListenedVoicemailMessage", params).await
18840    }
18841
18842    /// Call the `markListenedVoicemailMessage` API method and return the raw JSON envelope.
18843    pub async fn mark_listened_voicemail_message_raw(
18844        &self,
18845        params: &MarkListenedVoicemailMessageParams,
18846    ) -> Result<Value> {
18847        self.call_raw("markListenedVoicemailMessage", params).await
18848    }
18849
18850    /// \- Mark Voicemail Message as Urgent or not Urgent.
18851    /// \- If value is 'yes', the voicemail message will be marked as urgent and
18852    /// will be moved to the Urgent Folder.
18853    /// \- If value is 'no', the voicemail message will be unmarked as urgent and
18854    /// will be moved to the INBOX Folder.
18855    ///
18856    /// Call the `markUrgentVoicemailMessage` API method and deserialize into [`MarkUrgentVoicemailMessageResponse`].
18857    pub async fn mark_urgent_voicemail_message(
18858        &self,
18859        params: &MarkUrgentVoicemailMessageParams,
18860    ) -> Result<MarkUrgentVoicemailMessageResponse> {
18861        self.call("markUrgentVoicemailMessage", params).await
18862    }
18863
18864    /// Call the `markUrgentVoicemailMessage` API method and return the raw JSON envelope.
18865    pub async fn mark_urgent_voicemail_message_raw(
18866        &self,
18867        params: &MarkUrgentVoicemailMessageParams,
18868    ) -> Result<Value> {
18869        self.call_raw("markUrgentVoicemailMessage", params).await
18870    }
18871
18872    /// \- Moves a Fax Message to a different folder.
18873    ///
18874    /// Call the `moveFaxMessage` API method and deserialize into [`MoveFAXMessageResponse`].
18875    pub async fn move_fax_message(
18876        &self,
18877        params: &MoveFAXMessageParams,
18878    ) -> Result<MoveFAXMessageResponse> {
18879        self.call("moveFaxMessage", params).await
18880    }
18881
18882    /// Call the `moveFaxMessage` API method and return the raw JSON envelope.
18883    pub async fn move_fax_message_raw(&self, params: &MoveFAXMessageParams) -> Result<Value> {
18884        self.call_raw("moveFaxMessage", params).await
18885    }
18886
18887    /// \- Move Voicemail Message to a Destination Folder.
18888    ///
18889    /// Call the `moveFolderVoicemailMessage` API method and deserialize into [`MoveFolderVoicemailMessageResponse`].
18890    pub async fn move_folder_voicemail_message(
18891        &self,
18892        params: &MoveFolderVoicemailMessageParams,
18893    ) -> Result<MoveFolderVoicemailMessageResponse> {
18894        self.call("moveFolderVoicemailMessage", params).await
18895    }
18896
18897    /// Call the `moveFolderVoicemailMessage` API method and return the raw JSON envelope.
18898    pub async fn move_folder_voicemail_message_raw(
18899        &self,
18900        params: &MoveFolderVoicemailMessageParams,
18901    ) -> Result<Value> {
18902        self.call_raw("moveFolderVoicemailMessage", params).await
18903    }
18904
18905    /// \- Orders and Adds a new DID Number to the Account.
18906    ///
18907    /// Call the `orderDID` API method and deserialize into [`OrderDIDResponse`].
18908    pub async fn order_did(&self, params: &OrderDIDParams) -> Result<OrderDIDResponse> {
18909        self.call("orderDID", params).await
18910    }
18911
18912    /// Call the `orderDID` API method and return the raw JSON envelope.
18913    pub async fn order_did_raw(&self, params: &OrderDIDParams) -> Result<Value> {
18914        self.call_raw("orderDID", params).await
18915    }
18916
18917    /// \- Orders and Adds new International Geographic DID Numbers to the
18918    /// Account.
18919    ///
18920    /// Call the `orderDIDInternationalGeographic` API method and deserialize into [`OrderDIDInternationalGeographicResponse`].
18921    pub async fn order_did_international_geographic(
18922        &self,
18923        params: &OrderDIDInternationalGeographicParams,
18924    ) -> Result<OrderDIDInternationalGeographicResponse> {
18925        self.call("orderDIDInternationalGeographic", params).await
18926    }
18927
18928    /// Call the `orderDIDInternationalGeographic` API method and return the raw JSON envelope.
18929    pub async fn order_did_international_geographic_raw(
18930        &self,
18931        params: &OrderDIDInternationalGeographicParams,
18932    ) -> Result<Value> {
18933        self.call_raw("orderDIDInternationalGeographic", params)
18934            .await
18935    }
18936
18937    /// \- Orders and Adds new International National DID Numbers to the Account.
18938    ///
18939    /// Call the `orderDIDInternationalNational` API method and deserialize into [`OrderDIDInternationalNationalResponse`].
18940    pub async fn order_did_international_national(
18941        &self,
18942        params: &OrderDIDInternationalNationalParams,
18943    ) -> Result<OrderDIDInternationalNationalResponse> {
18944        self.call("orderDIDInternationalNational", params).await
18945    }
18946
18947    /// Call the `orderDIDInternationalNational` API method and return the raw JSON envelope.
18948    pub async fn order_did_international_national_raw(
18949        &self,
18950        params: &OrderDIDInternationalNationalParams,
18951    ) -> Result<Value> {
18952        self.call_raw("orderDIDInternationalNational", params).await
18953    }
18954
18955    /// \- Orders and Adds new International TollFree DID Numbers to the Account.
18956    ///
18957    /// Call the `orderDIDInternationalTollFree` API method and deserialize into [`OrderDIDInternationalTollFreeResponse`].
18958    pub async fn order_did_international_toll_free(
18959        &self,
18960        params: &OrderDIDInternationalTollFreeParams,
18961    ) -> Result<OrderDIDInternationalTollFreeResponse> {
18962        self.call("orderDIDInternationalTollFree", params).await
18963    }
18964
18965    /// Call the `orderDIDInternationalTollFree` API method and return the raw JSON envelope.
18966    pub async fn order_did_international_toll_free_raw(
18967        &self,
18968        params: &OrderDIDInternationalTollFreeParams,
18969    ) -> Result<Value> {
18970        self.call_raw("orderDIDInternationalTollFree", params).await
18971    }
18972
18973    /// \- Orders and Adds a new Virtual DID Number to the Account.
18974    ///
18975    /// Call the `orderDIDVirtual` API method and deserialize into [`OrderDIDVirtualResponse`].
18976    pub async fn order_did_virtual(
18977        &self,
18978        params: &OrderDIDVirtualParams,
18979    ) -> Result<OrderDIDVirtualResponse> {
18980        self.call("orderDIDVirtual", params).await
18981    }
18982
18983    /// Call the `orderDIDVirtual` API method and return the raw JSON envelope.
18984    pub async fn order_did_virtual_raw(&self, params: &OrderDIDVirtualParams) -> Result<Value> {
18985        self.call_raw("orderDIDVirtual", params).await
18986    }
18987
18988    /// \- Orders and Adds a new Fax Number to the Account.
18989    ///
18990    /// Call the `orderFaxNumber` API method and deserialize into [`OrderFAXNumberResponse`].
18991    pub async fn order_fax_number(
18992        &self,
18993        params: &OrderFAXNumberParams,
18994    ) -> Result<OrderFAXNumberResponse> {
18995        self.call("orderFaxNumber", params).await
18996    }
18997
18998    /// Call the `orderFaxNumber` API method and return the raw JSON envelope.
18999    pub async fn order_fax_number_raw(&self, params: &OrderFAXNumberParams) -> Result<Value> {
19000        self.call_raw("orderFaxNumber", params).await
19001    }
19002
19003    /// \- Orders and Adds a new Toll Free Number to the Account.
19004    ///
19005    /// Call the `orderTollFree` API method and deserialize into [`OrderTollFreeResponse`].
19006    pub async fn order_toll_free(
19007        &self,
19008        params: &OrderTollFreeParams,
19009    ) -> Result<OrderTollFreeResponse> {
19010        self.call("orderTollFree", params).await
19011    }
19012
19013    /// Call the `orderTollFree` API method and return the raw JSON envelope.
19014    pub async fn order_toll_free_raw(&self, params: &OrderTollFreeParams) -> Result<Value> {
19015        self.call_raw("orderTollFree", params).await
19016    }
19017
19018    /// \- Orders and Adds a new Vanity Toll Free Number to the Account.
19019    ///
19020    /// Call the `orderVanity` API method and deserialize into [`OrderVanityResponse`].
19021    pub async fn order_vanity(&self, params: &OrderVanityParams) -> Result<OrderVanityResponse> {
19022        self.call("orderVanity", params).await
19023    }
19024
19025    /// Call the `orderVanity` API method and return the raw JSON envelope.
19026    pub async fn order_vanity_raw(&self, params: &OrderVanityParams) -> Result<Value> {
19027        self.call_raw("orderVanity", params).await
19028    }
19029
19030    /// \- Removes a DID from a VPRI
19031    ///
19032    /// Call the `removeDIDvPRI` API method and deserialize into [`RemoveDIDvPRIResponse`].
19033    pub async fn remove_did_vpri(
19034        &self,
19035        params: &RemoveDIDvPRIParams,
19036    ) -> Result<RemoveDIDvPRIResponse> {
19037        self.call("removeDIDvPRI", params).await
19038    }
19039
19040    /// Call the `removeDIDvPRI` API method and return the raw JSON envelope.
19041    pub async fn remove_did_vpri_raw(&self, params: &RemoveDIDvPRIParams) -> Result<Value> {
19042        self.call_raw("removeDIDvPRI", params).await
19043    }
19044
19045    /// \- Searches for Canadian DIDs by Province using a Search Criteria.
19046    ///
19047    /// Call the `searchDIDsCAN` API method and deserialize into [`SearchDIDsCANResponse`].
19048    pub async fn search_dids_can(
19049        &self,
19050        params: &SearchDIDsCANParams,
19051    ) -> Result<SearchDIDsCANResponse> {
19052        self.call("searchDIDsCAN", params).await
19053    }
19054
19055    /// Call the `searchDIDsCAN` API method and return the raw JSON envelope.
19056    pub async fn search_dids_can_raw(&self, params: &SearchDIDsCANParams) -> Result<Value> {
19057        self.call_raw("searchDIDsCAN", params).await
19058    }
19059
19060    /// \- Searches for USA DIDs by State using a Search Criteria.
19061    ///
19062    /// Call the `searchDIDsUSA` API method and deserialize into [`SearchDIDsUSAResponse`].
19063    pub async fn search_dids_usa(
19064        &self,
19065        params: &SearchDIDsUSAParams,
19066    ) -> Result<SearchDIDsUSAResponse> {
19067        self.call("searchDIDsUSA", params).await
19068    }
19069
19070    /// Call the `searchDIDsUSA` API method and return the raw JSON envelope.
19071    pub async fn search_dids_usa_raw(&self, params: &SearchDIDsUSAParams) -> Result<Value> {
19072        self.call_raw("searchDIDsUSA", params).await
19073    }
19074
19075    /// \- Retrieves a list of Canadian Ratecenters searched by Area Code.
19076    ///
19077    /// Call the `searchFaxAreaCodeCAN` API method and deserialize into [`SearchFAXAreaCodeCANResponse`].
19078    pub async fn search_fax_area_code_can(
19079        &self,
19080        params: &SearchFAXAreaCodeCANParams,
19081    ) -> Result<SearchFAXAreaCodeCANResponse> {
19082        self.call("searchFaxAreaCodeCAN", params).await
19083    }
19084
19085    /// Call the `searchFaxAreaCodeCAN` API method and return the raw JSON envelope.
19086    pub async fn search_fax_area_code_can_raw(
19087        &self,
19088        params: &SearchFAXAreaCodeCANParams,
19089    ) -> Result<Value> {
19090        self.call_raw("searchFaxAreaCodeCAN", params).await
19091    }
19092
19093    /// \- Retrieves a list of USA Ratecenters searched by Area Code.
19094    ///
19095    /// Call the `searchFaxAreaCodeUSA` API method and deserialize into [`SearchFAXAreaCodeUSAResponse`].
19096    pub async fn search_fax_area_code_usa(
19097        &self,
19098        params: &SearchFAXAreaCodeUSAParams,
19099    ) -> Result<SearchFAXAreaCodeUSAResponse> {
19100        self.call("searchFaxAreaCodeUSA", params).await
19101    }
19102
19103    /// Call the `searchFaxAreaCodeUSA` API method and return the raw JSON envelope.
19104    pub async fn search_fax_area_code_usa_raw(
19105        &self,
19106        params: &SearchFAXAreaCodeUSAParams,
19107    ) -> Result<Value> {
19108        self.call_raw("searchFaxAreaCodeUSA", params).await
19109    }
19110
19111    /// \- Searches for USA/Canada Toll Free Numbers using a Search Criteria.
19112    /// \- Shows all USA/Canada Toll Free Numbers available if no criteria is
19113    /// provided.
19114    ///
19115    /// Call the `searchTollFreeCanUS` API method and deserialize into [`SearchTollFreeCANUSResponse`].
19116    pub async fn search_toll_free_can_us(
19117        &self,
19118        params: &SearchTollFreeCANUSParams,
19119    ) -> Result<SearchTollFreeCANUSResponse> {
19120        self.call("searchTollFreeCanUS", params).await
19121    }
19122
19123    /// Call the `searchTollFreeCanUS` API method and return the raw JSON envelope.
19124    pub async fn search_toll_free_can_us_raw(
19125        &self,
19126        params: &SearchTollFreeCANUSParams,
19127    ) -> Result<Value> {
19128        self.call_raw("searchTollFreeCanUS", params).await
19129    }
19130
19131    /// \- Searches for USA Toll Free Numbers using a Search Criteria.
19132    /// \- Shows all USA Toll Free Numbers available if no criteria is provided.
19133    ///
19134    /// Call the `searchTollFreeUSA` API method and deserialize into [`SearchTollFreeUSAResponse`].
19135    pub async fn search_toll_free_usa(
19136        &self,
19137        params: &SearchTollFreeUSAParams,
19138    ) -> Result<SearchTollFreeUSAResponse> {
19139        self.call("searchTollFreeUSA", params).await
19140    }
19141
19142    /// Call the `searchTollFreeUSA` API method and return the raw JSON envelope.
19143    pub async fn search_toll_free_usa_raw(
19144        &self,
19145        params: &SearchTollFreeUSAParams,
19146    ) -> Result<Value> {
19147        self.call_raw("searchTollFreeUSA", params).await
19148    }
19149
19150    /// \- Searches for Vanity Toll Free Numbers using a Search Criteria.
19151    ///
19152    /// Call the `searchVanity` API method and deserialize into [`SearchVanityResponse`].
19153    pub async fn search_vanity(&self, params: &SearchVanityParams) -> Result<SearchVanityResponse> {
19154        self.call("searchVanity", params).await
19155    }
19156
19157    /// Call the `searchVanity` API method and return the raw JSON envelope.
19158    pub async fn search_vanity_raw(&self, params: &SearchVanityParams) -> Result<Value> {
19159        self.call_raw("searchVanity", params).await
19160    }
19161
19162    /// \- Send information and audio file to email account.
19163    ///
19164    /// Call the `sendCallRecordingEmail` API method and deserialize into [`SendCallRecordingEmailResponse`].
19165    pub async fn send_call_recording_email(
19166        &self,
19167        params: &SendCallRecordingEmailParams,
19168    ) -> Result<SendCallRecordingEmailResponse> {
19169        self.call("sendCallRecordingEmail", params).await
19170    }
19171
19172    /// Call the `sendCallRecordingEmail` API method and return the raw JSON envelope.
19173    pub async fn send_call_recording_email_raw(
19174        &self,
19175        params: &SendCallRecordingEmailParams,
19176    ) -> Result<Value> {
19177        self.call_raw("sendCallRecordingEmail", params).await
19178    }
19179
19180    /// \- Send a Fax message to a Destination Number.
19181    ///
19182    /// Call the `sendFaxMessage` API method and deserialize into [`SendFAXMessageResponse`].
19183    pub async fn send_fax_message(
19184        &self,
19185        params: &SendFAXMessageParams,
19186    ) -> Result<SendFAXMessageResponse> {
19187        self.call("sendFaxMessage", params).await
19188    }
19189
19190    /// Call the `sendFaxMessage` API method and return the raw JSON envelope.
19191    pub async fn send_fax_message_raw(&self, params: &SendFAXMessageParams) -> Result<Value> {
19192        self.call_raw("sendFaxMessage", params).await
19193    }
19194
19195    /// \- Send a MMS message to a Destination Number.
19196    ///
19197    /// Call the `sendMMS` API method and deserialize into [`SendMMSResponse`].
19198    pub async fn send_mms(&self, params: &SendMMSParams) -> Result<SendMMSResponse> {
19199        self.call("sendMMS", params).await
19200    }
19201
19202    /// Call the `sendMMS` API method and return the raw JSON envelope.
19203    pub async fn send_mms_raw(&self, params: &SendMMSParams) -> Result<Value> {
19204        self.call_raw("sendMMS", params).await
19205    }
19206
19207    /// \- Send a SMS message to a Destination Number.
19208    ///
19209    /// Call the `sendSMS` API method and deserialize into [`SendSMSResponse`].
19210    pub async fn send_sms(&self, params: &SendSMSParams) -> Result<SendSMSResponse> {
19211        self.call("sendSMS", params).await
19212    }
19213
19214    /// Call the `sendSMS` API method and return the raw JSON envelope.
19215    pub async fn send_sms_raw(&self, params: &SendSMSParams) -> Result<Value> {
19216        self.call_raw("sendSMS", params).await
19217    }
19218
19219    /// \- Send a Voicemail Message File to an Email Address.
19220    ///
19221    /// Call the `sendVoicemailEmail` API method and deserialize into [`SendVoicemailEmailResponse`].
19222    pub async fn send_voicemail_email(
19223        &self,
19224        params: &SendVoicemailEmailParams,
19225    ) -> Result<SendVoicemailEmailResponse> {
19226        self.call("sendVoicemailEmail", params).await
19227    }
19228
19229    /// Call the `sendVoicemailEmail` API method and return the raw JSON envelope.
19230    pub async fn send_voicemail_email_raw(
19231        &self,
19232        params: &SendVoicemailEmailParams,
19233    ) -> Result<Value> {
19234        self.call_raw("sendVoicemailEmail", params).await
19235    }
19236
19237    /// \- Updates a specific Call Hunting if a Call Hunting code is provided.
19238    /// \- Adds a new Call Hunting if no Call Hunting code is provided.
19239    ///
19240    /// Call the `setCallHunting` API method and deserialize into [`SetCallHuntingResponse`].
19241    pub async fn set_call_hunting(
19242        &self,
19243        params: &SetCallHuntingParams,
19244    ) -> Result<SetCallHuntingResponse> {
19245        self.call("setCallHunting", params).await
19246    }
19247
19248    /// Call the `setCallHunting` API method and return the raw JSON envelope.
19249    pub async fn set_call_hunting_raw(&self, params: &SetCallHuntingParams) -> Result<Value> {
19250        self.call_raw("setCallHunting", params).await
19251    }
19252
19253    /// \- Updates a specific Call Parking entry if a Call Parking ID is
19254    /// provided.
19255    /// \- Adds a new Call Parking entry if no Call Parking ID is provided.
19256    ///
19257    /// Call the `setCallParking` API method and deserialize into [`SetCallParkingResponse`].
19258    pub async fn set_call_parking(
19259        &self,
19260        params: &SetCallParkingParams,
19261    ) -> Result<SetCallParkingResponse> {
19262        self.call("setCallParking", params).await
19263    }
19264
19265    /// Call the `setCallParking` API method and return the raw JSON envelope.
19266    pub async fn set_call_parking_raw(&self, params: &SetCallParkingParams) -> Result<Value> {
19267        self.call_raw("setCallParking", params).await
19268    }
19269
19270    /// \- Updates a specific Callback if a callback code is provided.
19271    /// \- Adds a new Callback entry if no callback code is provided.
19272    ///
19273    /// Call the `setCallback` API method and deserialize into [`SetCallbackResponse`].
19274    pub async fn set_callback(&self, params: &SetCallbackParams) -> Result<SetCallbackResponse> {
19275        self.call("setCallback", params).await
19276    }
19277
19278    /// Call the `setCallback` API method and return the raw JSON envelope.
19279    pub async fn set_callback_raw(&self, params: &SetCallbackParams) -> Result<Value> {
19280        self.call_raw("setCallback", params).await
19281    }
19282
19283    /// \- Updates a specific Caller ID Filtering if a filtering code is
19284    /// provided.
19285    /// \- Adds a new Caller ID Filtering if no filtering code is provided.
19286    ///
19287    /// Call the `setCallerIDFiltering` API method and deserialize into [`SetCallerIDFilteringResponse`].
19288    pub async fn set_caller_id_filtering(
19289        &self,
19290        params: &SetCallerIDFilteringParams,
19291    ) -> Result<SetCallerIDFilteringResponse> {
19292        self.call("setCallerIDFiltering", params).await
19293    }
19294
19295    /// Call the `setCallerIDFiltering` API method and return the raw JSON envelope.
19296    pub async fn set_caller_id_filtering_raw(
19297        &self,
19298        params: &SetCallerIDFilteringParams,
19299    ) -> Result<Value> {
19300        self.call_raw("setCallerIDFiltering", params).await
19301    }
19302
19303    /// \- Updates Reseller Client information.
19304    ///
19305    /// Call the `setClient` API method and deserialize into [`SetClientResponse`].
19306    pub async fn set_client(&self, params: &SetClientParams) -> Result<SetClientResponse> {
19307        self.call("setClient", params).await
19308    }
19309
19310    /// Call the `setClient` API method and return the raw JSON envelope.
19311    pub async fn set_client_raw(&self, params: &SetClientParams) -> Result<Value> {
19312        self.call_raw("setClient", params).await
19313    }
19314
19315    /// \- Update the Threshold Amount for a specific Reseller Client.- Update
19316    /// the Threshold notification e-mail for a specific Reseller Client if the
19317    /// e-mail address is provided.
19318    ///
19319    /// Call the `setClientThreshold` API method and deserialize into [`SetClientThresholdResponse`].
19320    pub async fn set_client_threshold(
19321        &self,
19322        params: &SetClientThresholdParams,
19323    ) -> Result<SetClientThresholdResponse> {
19324        self.call("setClientThreshold", params).await
19325    }
19326
19327    /// Call the `setClientThreshold` API method and return the raw JSON envelope.
19328    pub async fn set_client_threshold_raw(
19329        &self,
19330        params: &SetClientThresholdParams,
19331    ) -> Result<Value> {
19332        self.call_raw("setClientThreshold", params).await
19333    }
19334
19335    /// \- Updates a specific Conference if a conference code is provided.
19336    /// \- Adds a new Conference entry if no conference code is provided.
19337    ///
19338    /// Call the `setConference` API method and deserialize into [`SetConferenceResponse`].
19339    pub async fn set_conference(
19340        &self,
19341        params: &SetConferenceParams,
19342    ) -> Result<SetConferenceResponse> {
19343        self.call("setConference", params).await
19344    }
19345
19346    /// Call the `setConference` API method and return the raw JSON envelope.
19347    pub async fn set_conference_raw(&self, params: &SetConferenceParams) -> Result<Value> {
19348        self.call_raw("setConference", params).await
19349    }
19350
19351    /// \- Updates a specific Member profile if a member code is provided.
19352    /// \- Adds a new Member profile entry if no member code is provided.
19353    ///
19354    /// Call the `setConferenceMember` API method and deserialize into [`SetConferenceMemberResponse`].
19355    pub async fn set_conference_member(
19356        &self,
19357        params: &SetConferenceMemberParams,
19358    ) -> Result<SetConferenceMemberResponse> {
19359        self.call("setConferenceMember", params).await
19360    }
19361
19362    /// Call the `setConferenceMember` API method and return the raw JSON envelope.
19363    pub async fn set_conference_member_raw(
19364        &self,
19365        params: &SetConferenceMemberParams,
19366    ) -> Result<Value> {
19367        self.call_raw("setConferenceMember", params).await
19368    }
19369
19370    /// \- Updates the Billing Plan from a specific DID.
19371    ///
19372    /// Call the `setDIDBillingType` API method and deserialize into [`SetDIDBillingTypeResponse`].
19373    pub async fn set_did_billing_type(
19374        &self,
19375        params: &SetDIDBillingTypeParams,
19376    ) -> Result<SetDIDBillingTypeResponse> {
19377        self.call("setDIDBillingType", params).await
19378    }
19379
19380    /// Call the `setDIDBillingType` API method and return the raw JSON envelope.
19381    pub async fn set_did_billing_type_raw(
19382        &self,
19383        params: &SetDIDBillingTypeParams,
19384    ) -> Result<Value> {
19385        self.call_raw("setDIDBillingType", params).await
19386    }
19387
19388    /// \- Updates the information from a specific DID.
19389    ///
19390    /// Call the `setDIDInfo` API method and deserialize into [`SetDIDInfoResponse`].
19391    pub async fn set_did_info(&self, params: &SetDIDInfoParams) -> Result<SetDIDInfoResponse> {
19392        self.call("setDIDInfo", params).await
19393    }
19394
19395    /// Call the `setDIDInfo` API method and return the raw JSON envelope.
19396    pub async fn set_did_info_raw(&self, params: &SetDIDInfoParams) -> Result<Value> {
19397        self.call_raw("setDIDInfo", params).await
19398    }
19399
19400    /// \- Updates the POP from a specific DID.
19401    ///
19402    /// Call the `setDIDPOP` API method and deserialize into [`SetDIDPOPResponse`].
19403    pub async fn set_did_pop(&self, params: &SetDIDPOPParams) -> Result<SetDIDPOPResponse> {
19404        self.call("setDIDPOP", params).await
19405    }
19406
19407    /// Call the `setDIDPOP` API method and return the raw JSON envelope.
19408    pub async fn set_did_pop_raw(&self, params: &SetDIDPOPParams) -> Result<Value> {
19409        self.call_raw("setDIDPOP", params).await
19410    }
19411
19412    /// \- Updates the Routing from a specific DID.
19413    ///
19414    /// Call the `setDIDRouting` API method and deserialize into [`SetDIDRoutingResponse`].
19415    pub async fn set_did_routing(
19416        &self,
19417        params: &SetDIDRoutingParams,
19418    ) -> Result<SetDIDRoutingResponse> {
19419        self.call("setDIDRouting", params).await
19420    }
19421
19422    /// Call the `setDIDRouting` API method and return the raw JSON envelope.
19423    pub async fn set_did_routing_raw(&self, params: &SetDIDRoutingParams) -> Result<Value> {
19424        self.call_raw("setDIDRouting", params).await
19425    }
19426
19427    /// \- Updates the Voicemail from a specific DID.
19428    ///
19429    /// Call the `setDIDVoicemail` API method and deserialize into [`SetDIDVoicemailResponse`].
19430    pub async fn set_did_voicemail(
19431        &self,
19432        params: &SetDIDVoicemailParams,
19433    ) -> Result<SetDIDVoicemailResponse> {
19434        self.call("setDIDVoicemail", params).await
19435    }
19436
19437    /// Call the `setDIDVoicemail` API method and return the raw JSON envelope.
19438    pub async fn set_did_voicemail_raw(&self, params: &SetDIDVoicemailParams) -> Result<Value> {
19439        self.call_raw("setDIDVoicemail", params).await
19440    }
19441
19442    /// \- Updates a specific DISA if a disa code is provided.
19443    /// \- Adds a new DISA entry if no disa code is provided.
19444    ///
19445    /// Call the `setDISA` API method and deserialize into [`SetDISAResponse`].
19446    pub async fn set_disa(&self, params: &SetDISAParams) -> Result<SetDISAResponse> {
19447        self.call("setDISA", params).await
19448    }
19449
19450    /// Call the `setDISA` API method and return the raw JSON envelope.
19451    pub async fn set_disa_raw(&self, params: &SetDISAParams) -> Result<Value> {
19452        self.call_raw("setDISA", params).await
19453    }
19454
19455    /// \- Create or update the information of a specific "Email to Fax
19456    /// configuration".
19457    ///
19458    /// Call the `setEmailToFax` API method and deserialize into [`SetEmailToFAXResponse`].
19459    pub async fn set_email_to_fax(
19460        &self,
19461        params: &SetEmailToFAXParams,
19462    ) -> Result<SetEmailToFAXResponse> {
19463        self.call("setEmailToFax", params).await
19464    }
19465
19466    /// Call the `setEmailToFax` API method and return the raw JSON envelope.
19467    pub async fn set_email_to_fax_raw(&self, params: &SetEmailToFAXParams) -> Result<Value> {
19468        self.call_raw("setEmailToFax", params).await
19469    }
19470
19471    /// \- Create or update the information of a specific Fax Folder.
19472    ///
19473    /// Call the `setFaxFolder` API method and deserialize into [`SetFAXFolderResponse`].
19474    pub async fn set_fax_folder(
19475        &self,
19476        params: &SetFAXFolderParams,
19477    ) -> Result<SetFAXFolderResponse> {
19478        self.call("setFaxFolder", params).await
19479    }
19480
19481    /// Call the `setFaxFolder` API method and return the raw JSON envelope.
19482    pub async fn set_fax_folder_raw(&self, params: &SetFAXFolderParams) -> Result<Value> {
19483        self.call_raw("setFaxFolder", params).await
19484    }
19485
19486    /// \- Updates the email configuration from a specific Fax Number.
19487    ///
19488    /// Call the `setFaxNumberEmail` API method and deserialize into [`SetFAXNumberEmailResponse`].
19489    pub async fn set_fax_number_email(
19490        &self,
19491        params: &SetFAXNumberEmailParams,
19492    ) -> Result<SetFAXNumberEmailResponse> {
19493        self.call("setFaxNumberEmail", params).await
19494    }
19495
19496    /// Call the `setFaxNumberEmail` API method and return the raw JSON envelope.
19497    pub async fn set_fax_number_email_raw(
19498        &self,
19499        params: &SetFAXNumberEmailParams,
19500    ) -> Result<Value> {
19501        self.call_raw("setFaxNumberEmail", params).await
19502    }
19503
19504    /// \- Updates the information from a specific Fax Number.
19505    ///
19506    /// Call the `setFaxNumberInfo` API method and deserialize into [`SetFAXNumberInfoResponse`].
19507    pub async fn set_fax_number_info(
19508        &self,
19509        params: &SetFAXNumberInfoParams,
19510    ) -> Result<SetFAXNumberInfoResponse> {
19511        self.call("setFaxNumberInfo", params).await
19512    }
19513
19514    /// Call the `setFaxNumberInfo` API method and return the raw JSON envelope.
19515    pub async fn set_fax_number_info_raw(&self, params: &SetFAXNumberInfoParams) -> Result<Value> {
19516        self.call_raw("setFaxNumberInfo", params).await
19517    }
19518
19519    /// \- Updates the url callback configuration from a specific Fax Number.
19520    ///
19521    /// Call the `setFaxNumberURLCallback` API method and deserialize into [`SetFAXNumberURLCallbackResponse`].
19522    pub async fn set_fax_number_url_callback(
19523        &self,
19524        params: &SetFAXNumberURLCallbackParams,
19525    ) -> Result<SetFAXNumberURLCallbackResponse> {
19526        self.call("setFaxNumberURLCallback", params).await
19527    }
19528
19529    /// Call the `setFaxNumberURLCallback` API method and return the raw JSON envelope.
19530    pub async fn set_fax_number_url_callback_raw(
19531        &self,
19532        params: &SetFAXNumberURLCallbackParams,
19533    ) -> Result<Value> {
19534        self.call_raw("setFaxNumberURLCallback", params).await
19535    }
19536
19537    /// \- Updates a specific Forwarding if a fwd code is provided.
19538    /// \- Adds a new Forwarding entry if no fwd code is provided.
19539    ///
19540    /// Call the `setForwarding` API method and deserialize into [`SetForwardingResponse`].
19541    pub async fn set_forwarding(
19542        &self,
19543        params: &SetForwardingParams,
19544    ) -> Result<SetForwardingResponse> {
19545        self.call("setForwarding", params).await
19546    }
19547
19548    /// Call the `setForwarding` API method and return the raw JSON envelope.
19549    pub async fn set_forwarding_raw(&self, params: &SetForwardingParams) -> Result<Value> {
19550        self.call_raw("setForwarding", params).await
19551    }
19552
19553    /// \- Updates a specific IVR if an IVR code is provided.
19554    /// \- Adds a new IVR entry if no IVR code is provided.
19555    ///
19556    /// Call the `setIVR` API method and deserialize into [`SetIVRResponse`].
19557    pub async fn set_ivr(&self, params: &SetIVRParams) -> Result<SetIVRResponse> {
19558        self.call("setIVR", params).await
19559    }
19560
19561    /// Call the `setIVR` API method and return the raw JSON envelope.
19562    pub async fn set_ivr_raw(&self, params: &SetIVRParams) -> Result<Value> {
19563        self.call_raw("setIVR", params).await
19564    }
19565
19566    /// Call the `setLocation` API method and deserialize into [`SetLocationResponse`].
19567    pub async fn set_location(&self, params: &SetLocationParams) -> Result<SetLocationResponse> {
19568        self.call("setLocation", params).await
19569    }
19570
19571    /// Call the `setLocation` API method and return the raw JSON envelope.
19572    pub async fn set_location_raw(&self, params: &SetLocationParams) -> Result<Value> {
19573        self.call_raw("setLocation", params).await
19574    }
19575
19576    /// Call the `setMusicOnHold` API method and deserialize into [`SetMusicOnHoldResponse`].
19577    pub async fn set_music_on_hold(
19578        &self,
19579        params: &SetMusicOnHoldParams,
19580    ) -> Result<SetMusicOnHoldResponse> {
19581        self.call("setMusicOnHold", params).await
19582    }
19583
19584    /// Call the `setMusicOnHold` API method and return the raw JSON envelope.
19585    pub async fn set_music_on_hold_raw(&self, params: &SetMusicOnHoldParams) -> Result<Value> {
19586        self.call_raw("setMusicOnHold", params).await
19587    }
19588
19589    /// \- Updates a specific Phonebook entry if a phonebook code is provided.
19590    /// \- Adds a new Phonebook entry if no phonebook code is provided.
19591    ///
19592    /// Call the `setPhonebook` API method and deserialize into [`SetPhonebookResponse`].
19593    pub async fn set_phonebook(&self, params: &SetPhonebookParams) -> Result<SetPhonebookResponse> {
19594        self.call("setPhonebook", params).await
19595    }
19596
19597    /// Call the `setPhonebook` API method and return the raw JSON envelope.
19598    pub async fn set_phonebook_raw(&self, params: &SetPhonebookParams) -> Result<Value> {
19599        self.call_raw("setPhonebook", params).await
19600    }
19601
19602    /// \- Updates a specific Phonebook group if a phonebook code is provided.
19603    /// \- Adds a new Phonebook group if no phonebook group code is provided.
19604    /// \- Assigns or modifies group members if a member list is provided
19605    ///
19606    /// Call the `setPhonebookGroup` API method and deserialize into [`SetPhonebookGroupResponse`].
19607    pub async fn set_phonebook_group(
19608        &self,
19609        params: &SetPhonebookGroupParams,
19610    ) -> Result<SetPhonebookGroupResponse> {
19611        self.call("setPhonebookGroup", params).await
19612    }
19613
19614    /// Call the `setPhonebookGroup` API method and return the raw JSON envelope.
19615    pub async fn set_phonebook_group_raw(&self, params: &SetPhonebookGroupParams) -> Result<Value> {
19616        self.call_raw("setPhonebookGroup", params).await
19617    }
19618
19619    /// \- Updates a specific Queue entry if a queue code is provided.
19620    /// \- Adds a new Queue entry if no queue code is provided.
19621    ///
19622    /// Call the `setQueue` API method and deserialize into [`SetQueueResponse`].
19623    pub async fn set_queue(&self, params: &SetQueueParams) -> Result<SetQueueResponse> {
19624        self.call("setQueue", params).await
19625    }
19626
19627    /// Call the `setQueue` API method and return the raw JSON envelope.
19628    pub async fn set_queue_raw(&self, params: &SetQueueParams) -> Result<Value> {
19629        self.call_raw("setQueue", params).await
19630    }
19631
19632    /// \- Updates a specific Recording File if a Recording ID is provided.
19633    /// \- Adds a new Recording file entry if no Recording ID is provided.
19634    ///
19635    /// Call the `setRecording` API method and deserialize into [`SetRecordingResponse`].
19636    pub async fn set_recording(&self, params: &SetRecordingParams) -> Result<SetRecordingResponse> {
19637        self.call("setRecording", params).await
19638    }
19639
19640    /// Call the `setRecording` API method and return the raw JSON envelope.
19641    pub async fn set_recording_raw(&self, params: &SetRecordingParams) -> Result<Value> {
19642        self.call_raw("setRecording", params).await
19643    }
19644
19645    /// \- Updates a specific Ring Group if a ring group code is provided.
19646    /// \- Adds a new Ring Group entry if no ring group code is provided.
19647    ///
19648    /// Call the `setRingGroup` API method and deserialize into [`SetRingGroupResponse`].
19649    pub async fn set_ring_group(
19650        &self,
19651        params: &SetRingGroupParams,
19652    ) -> Result<SetRingGroupResponse> {
19653        self.call("setRingGroup", params).await
19654    }
19655
19656    /// Call the `setRingGroup` API method and return the raw JSON envelope.
19657    pub async fn set_ring_group_raw(&self, params: &SetRingGroupParams) -> Result<Value> {
19658        self.call_raw("setRingGroup", params).await
19659    }
19660
19661    /// \- Updates a specific SIP URI if a SIP URI code is provided.
19662    /// \- Adds a new SIP URI entry if no SIP URI code is provided.
19663    ///
19664    /// Call the `setSIPURI` API method and deserialize into [`SetSIPURIResponse`].
19665    pub async fn set_sip_uri(&self, params: &SetSIPURIParams) -> Result<SetSIPURIResponse> {
19666        self.call("setSIPURI", params).await
19667    }
19668
19669    /// Call the `setSIPURI` API method and return the raw JSON envelope.
19670    pub async fn set_sip_uri_raw(&self, params: &SetSIPURIParams) -> Result<Value> {
19671        self.call_raw("setSIPURI", params).await
19672    }
19673
19674    /// \- Enable/Disable the SMS Service for a DID
19675    /// \- Change the SMS settings for a DID
19676    ///
19677    /// Call the `setSMS` API method and deserialize into [`SetSMSResponse`].
19678    pub async fn set_sms(&self, params: &SetSMSParams) -> Result<SetSMSResponse> {
19679        self.call("setSMS", params).await
19680    }
19681
19682    /// Call the `setSMS` API method and return the raw JSON envelope.
19683    pub async fn set_sms_raw(&self, params: &SetSMSParams) -> Result<Value> {
19684        self.call_raw("setSMS", params).await
19685    }
19686
19687    /// \- Updates a specific Member from queue if a Member code is provided.
19688    /// \- Adds a new Member to Queue if no Member code is provided.
19689    ///
19690    /// Call the `setStaticMember` API method and deserialize into [`SetStaticMemberResponse`].
19691    pub async fn set_static_member(
19692        &self,
19693        params: &SetStaticMemberParams,
19694    ) -> Result<SetStaticMemberResponse> {
19695        self.call("setStaticMember", params).await
19696    }
19697
19698    /// Call the `setStaticMember` API method and return the raw JSON envelope.
19699    pub async fn set_static_member_raw(&self, params: &SetStaticMemberParams) -> Result<Value> {
19700        self.call_raw("setStaticMember", params).await
19701    }
19702
19703    /// \- Updates Sub Account information.
19704    ///
19705    /// Call the `setSubAccount` API method and deserialize into [`SetSubAccountResponse`].
19706    pub async fn set_sub_account(
19707        &self,
19708        params: &SetSubAccountParams,
19709    ) -> Result<SetSubAccountResponse> {
19710        self.call("setSubAccount", params).await
19711    }
19712
19713    /// Call the `setSubAccount` API method and return the raw JSON envelope.
19714    pub async fn set_sub_account_raw(&self, params: &SetSubAccountParams) -> Result<Value> {
19715        self.call_raw("setSubAccount", params).await
19716    }
19717
19718    /// \- Updates a specific Time Condition if a time condition code is
19719    /// provided.
19720    /// \- Adds a new Time Condition entry if no time condition code is provided.
19721    ///
19722    /// Call the `setTimeCondition` API method and deserialize into [`SetTimeConditionResponse`].
19723    pub async fn set_time_condition(
19724        &self,
19725        params: &SetTimeConditionParams,
19726    ) -> Result<SetTimeConditionResponse> {
19727        self.call("setTimeCondition", params).await
19728    }
19729
19730    /// Call the `setTimeCondition` API method and return the raw JSON envelope.
19731    pub async fn set_time_condition_raw(&self, params: &SetTimeConditionParams) -> Result<Value> {
19732        self.call_raw("setTimeCondition", params).await
19733    }
19734
19735    /// \- Updates the information from a specific Voicemail.
19736    ///
19737    /// Call the `setVoicemail` API method and deserialize into [`SetVoicemailResponse`].
19738    pub async fn set_voicemail(&self, params: &SetVoicemailParams) -> Result<SetVoicemailResponse> {
19739        self.call("setVoicemail", params).await
19740    }
19741
19742    /// Call the `setVoicemail` API method and return the raw JSON envelope.
19743    pub async fn set_voicemail_raw(&self, params: &SetVoicemailParams) -> Result<Value> {
19744        self.call_raw("setVoicemail", params).await
19745    }
19746
19747    /// \- Signs a new Reseller Client to your Reseller Account.
19748    ///
19749    /// Call the `signupClient` API method and deserialize into [`SignupClientResponse`].
19750    pub async fn signup_client(&self, params: &SignupClientParams) -> Result<SignupClientResponse> {
19751        self.call("signupClient", params).await
19752    }
19753
19754    /// Call the `signupClient` API method and return the raw JSON envelope.
19755    pub async fn signup_client_raw(&self, params: &SignupClientParams) -> Result<Value> {
19756        self.call_raw("signupClient", params).await
19757    }
19758
19759    /// \- Unconnects specific DID from Reseller Client Sub Account.
19760    ///
19761    /// Call the `unconnectDID` API method and deserialize into [`UnconnectDIDResponse`].
19762    pub async fn unconnect_did(&self, params: &UnconnectDIDParams) -> Result<UnconnectDIDResponse> {
19763        self.call("unconnectDID", params).await
19764    }
19765
19766    /// Call the `unconnectDID` API method and return the raw JSON envelope.
19767    pub async fn unconnect_did_raw(&self, params: &UnconnectDIDParams) -> Result<Value> {
19768        self.call_raw("unconnectDID", params).await
19769    }
19770
19771    /// \- Unconnects specific FAX DID from Reseller Client Sub Account.
19772    ///
19773    /// Call the `unconnectFAX` API method and deserialize into [`UnconnectFAXResponse`].
19774    pub async fn unconnect_fax(&self, params: &UnconnectFAXParams) -> Result<UnconnectFAXResponse> {
19775        self.call("unconnectFAX", params).await
19776    }
19777
19778    /// Call the `unconnectFAX` API method and return the raw JSON envelope.
19779    pub async fn unconnect_fax_raw(&self, params: &UnconnectFAXParams) -> Result<Value> {
19780        self.call_raw("unconnectFAX", params).await
19781    }
19782}