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(skip_serializing_if = "Option::is_none")]
4421    pub portout: Option<bool>,
4422    /// Set to true if testing how cancellation works - Cancellation can not be
4423    /// undone - When testing, no changes are made
4424    #[serde(
4425        skip_serializing_if = "crate::responses::is_false",
4426        serialize_with = "crate::responses::serialize_flag_01"
4427    )]
4428    pub test: bool,
4429}
4430
4431/// \- Deletes a specific Fax Number from your Account.
4432///
4433/// Parameters for [`Client::cancel_fax_number`] (wire method `cancelFaxNumber`).
4434#[derive(Debug, Default, Clone, Serialize)]
4435pub struct CancelFAXNumberParams {
4436    /// ID for a specific Fax Number (Example: 923) (required)
4437    #[serde(skip_serializing_if = "Option::is_none")]
4438    pub id: Option<i64>,
4439    /// Set to true if testing how cancel a Fax Number
4440    #[serde(
4441        skip_serializing_if = "crate::responses::is_false",
4442        serialize_with = "crate::responses::serialize_flag_01"
4443    )]
4444    pub test: bool,
4445}
4446
4447/// \- Connects a specific DID to a specific Reseller Client Sub Account
4448///
4449/// Parameters for [`Client::connect_did`] (wire method `connectDID`).
4450#[derive(Debug, Default, Clone, Serialize)]
4451pub struct ConnectDIDParams {
4452    /// DID to be Connected to Reseler Sub Account (Example: 5551234567)
4453    /// (required)
4454    #[serde(skip_serializing_if = "Option::is_none")]
4455    pub did: Option<String>,
4456    /// Reseller Sub Account (Example: '100001_VoIP') (required)
4457    #[serde(skip_serializing_if = "Option::is_none")]
4458    pub account: Option<String>,
4459    /// Montly Fee for Reseller Client (Example: 3.50) (required)
4460    #[serde(skip_serializing_if = "Option::is_none")]
4461    pub monthly: Option<f64>,
4462    /// Setup Fee for Reseller Client (Example: 1.99) (required)
4463    #[serde(skip_serializing_if = "Option::is_none")]
4464    pub setup: Option<f64>,
4465    /// Minute Rate for Reseller Client (Example: 0.03) (required)
4466    #[serde(skip_serializing_if = "Option::is_none")]
4467    pub minute: Option<f64>,
4468    /// Next billing date (Example: '2014-03-30')
4469    #[serde(skip_serializing_if = "Option::is_none")]
4470    pub next_billing: Option<String>,
4471    /// If set to true, the setup value will not be charged after Connect
4472    #[serde(
4473        skip_serializing_if = "Option::is_none",
4474        serialize_with = "crate::responses::serialize_opt_flag_01"
4475    )]
4476    pub dont_charge_setup: Option<bool>,
4477    /// If set to true, the monthly value will not be charged after Connect
4478    #[serde(
4479        skip_serializing_if = "Option::is_none",
4480        serialize_with = "crate::responses::serialize_opt_flag_01"
4481    )]
4482    pub dont_charge_monthly: Option<bool>,
4483}
4484
4485/// \- Connects a specific FAX DID to a specific Reseller Client Sub Account
4486///
4487/// Parameters for [`Client::connect_fax`] (wire method `connectFAX`).
4488#[derive(Debug, Default, Clone, Serialize)]
4489pub struct ConnectFAXParams {
4490    /// FAX DID to be Connected to Reseller Sub Account (Example: 5551234567)
4491    /// (required)
4492    #[serde(skip_serializing_if = "Option::is_none")]
4493    pub did: Option<String>,
4494    /// Reseller Sub Account (Example: '100001_VoIP') (required)
4495    #[serde(skip_serializing_if = "Option::is_none")]
4496    pub account: Option<String>,
4497    /// Montly Fee for Reseller Client (Example: 3.50) (required)
4498    #[serde(skip_serializing_if = "Option::is_none")]
4499    pub monthly: Option<f64>,
4500    /// Setup Fee for Reseller Client (Example: 1.99) (required)
4501    #[serde(skip_serializing_if = "Option::is_none")]
4502    pub setup: Option<f64>,
4503    /// Minute Rate for Reseller Client (Example: 0.03) (required)
4504    #[serde(skip_serializing_if = "Option::is_none")]
4505    pub minute: Option<f64>,
4506    /// Next billing date (Example: '2014-03-30')
4507    #[serde(skip_serializing_if = "Option::is_none")]
4508    pub next_billing: Option<String>,
4509    /// If set to true, the setup value will not be charged after Connect
4510    #[serde(
4511        skip_serializing_if = "Option::is_none",
4512        serialize_with = "crate::responses::serialize_opt_flag_01"
4513    )]
4514    pub dont_charge_setup: Option<bool>,
4515    /// If set to true, the monthly value will not be charged after Connect
4516    #[serde(
4517        skip_serializing_if = "Option::is_none",
4518        serialize_with = "crate::responses::serialize_opt_flag_01"
4519    )]
4520    pub dont_charge_monthly: Option<bool>,
4521}
4522
4523/// \- Adds a new Sub Account entry to your Account
4524///
4525/// Parameters for [`Client::create_sub_account`] (wire method `createSubAccount`).
4526#[derive(Debug, Default, Clone, Serialize)]
4527pub struct CreateSubAccountParams {
4528    /// Username for the Sub Account (Example: 'VoIP') (required)
4529    #[serde(skip_serializing_if = "Option::is_none")]
4530    pub username: Option<String>,
4531    /// Protocol used for the Sub Account (Values from getProtocols) (required)
4532    #[serde(skip_serializing_if = "Option::is_none")]
4533    pub protocol: Option<i64>,
4534    /// Sub Account Description (Example: 'VoIP Account')
4535    #[serde(skip_serializing_if = "Option::is_none")]
4536    pub description: Option<String>,
4537    /// Authorization Type Code (Values from getAuthTypes) (required)
4538    #[serde(skip_serializing_if = "Option::is_none")]
4539    pub auth_type: Option<i64>,
4540    /// Sub Account Password (For Password Authentication)
4541    #[serde(skip_serializing_if = "Option::is_none")]
4542    pub password: Option<String>,
4543    /// Sub Account IP (For IP Authentication)
4544    #[serde(skip_serializing_if = "Option::is_none")]
4545    pub ip: Option<String>,
4546    /// Device Type Code (Values from getDeviceTypes) (required)
4547    #[serde(skip_serializing_if = "Option::is_none")]
4548    pub device_type: Option<i64>,
4549    /// Caller ID Override
4550    #[serde(skip_serializing_if = "Option::is_none")]
4551    pub callerid_number: Option<String>,
4552    /// Route Code (Values from getRoutes)
4553    #[serde(skip_serializing_if = "Option::is_none")]
4554    pub canada_routing: Option<String>,
4555    /// Lock International Code (Values from getLockInternational) (required)
4556    #[serde(skip_serializing_if = "Option::is_none")]
4557    pub lock_international: Option<i64>,
4558    /// Route Code (Values from getRoutes) (required)
4559    #[serde(skip_serializing_if = "Option::is_none")]
4560    pub international_route: Option<i64>,
4561    /// Music on Hold Code (Values from getMusicOnHold) (required)
4562    #[serde(skip_serializing_if = "Option::is_none")]
4563    pub music_on_hold: Option<String>,
4564    /// Language for system messages, such as "Invalid Option" (Values from
4565    /// getLanguages)
4566    #[serde(skip_serializing_if = "Option::is_none")]
4567    pub language: Option<String>,
4568    /// List of Allowed Codecs (Values from getAllowedCodecs) Codecs separated
4569    /// by semicolon (Example: ulaw;g729;gsm) (required)
4570    #[serde(skip_serializing_if = "Option::is_none")]
4571    pub allowed_codecs: Option<String>,
4572    /// DTMF Mode Code (Values from getDTMFModes) (required)
4573    #[serde(skip_serializing_if = "Option::is_none")]
4574    pub dtmf_mode: Option<DtmfMode>,
4575    /// NAT Mode Code (Values from getNAT) (required)
4576    #[serde(skip_serializing_if = "Option::is_none")]
4577    pub nat: Option<Nat>,
4578    /// Encrypted SIP Traffic (Boolean: 1/0)
4579    #[serde(skip_serializing_if = "Option::is_none")]
4580    pub sip_traffic: Option<i64>,
4581    /// Max Expiry between 60 and 3600 (Example: 3000)
4582    #[serde(skip_serializing_if = "Option::is_none")]
4583    pub max_expiry: Option<i64>,
4584    /// RTP Time Out between 1 and 3600 (Example: 60)
4585    #[serde(skip_serializing_if = "Option::is_none")]
4586    pub rtp_timeout: Option<i64>,
4587    /// RTP Hold Time Out between 1 and 3600 (Example: 600)
4588    #[serde(skip_serializing_if = "Option::is_none")]
4589    pub rtp_hold_timeout: Option<i64>,
4590    /// List of IP Addresses, IP Addresses/Netmask, or Fully Qualified Domain
4591    /// Names to allow outgoing calls separated by commas (Example:
4592    /// 123.45.3.21,10.255.12.0/22,device.mydomain.com)
4593    #[serde(skip_serializing_if = "Option::is_none")]
4594    pub ip_restriction: Option<String>,
4595    /// Enable IP Restriction (Boolean: 1/0)
4596    #[serde(
4597        skip_serializing_if = "Option::is_none",
4598        serialize_with = "crate::responses::serialize_opt_flag_01"
4599    )]
4600    pub enable_ip_restriction: Option<bool>,
4601    /// List of POP Servers to allow outgoing calls separated by commas (values
4602    /// from getServersInfo. Example: 10,23,45)
4603    #[serde(skip_serializing_if = "Option::is_none")]
4604    pub pop_restriction: Option<String>,
4605    /// Enable POP Restriction (Boolean: 1/0)
4606    #[serde(
4607        skip_serializing_if = "Option::is_none",
4608        serialize_with = "crate::responses::serialize_opt_flag_01"
4609    )]
4610    pub enable_pop_restriction: Option<bool>,
4611    /// Sub Account Internal Extension (Example: 1 -> Creates 101)
4612    #[serde(skip_serializing_if = "Option::is_none")]
4613    pub internal_extension: Option<String>,
4614    /// Sub Account Internal Voicemail (Example: 101)
4615    #[serde(skip_serializing_if = "Option::is_none")]
4616    pub internal_voicemail: Option<String>,
4617    /// Sub Account Internal Dialtime (Example: 60 -> seconds)
4618    #[serde(skip_serializing_if = "Option::is_none")]
4619    pub internal_dialtime: Option<String>,
4620    /// Reseller Account ID (Example: 561115)
4621    #[serde(skip_serializing_if = "Option::is_none")]
4622    pub reseller_client: Option<String>,
4623    /// Reseller Package (Example: 92364)
4624    #[serde(skip_serializing_if = "Option::is_none")]
4625    pub reseller_package: Option<String>,
4626    /// Reseller Next Billing Date (Example: '2012-12-31')
4627    #[serde(skip_serializing_if = "Option::is_none")]
4628    pub reseller_nextbilling: Option<String>,
4629    /// True if you want to charge Package Setup Fee after Save
4630    #[serde(skip_serializing_if = "Option::is_none")]
4631    pub reseller_chargesetup: Option<String>,
4632    /// Send BYE on successful transfer (Boolean: 1/0)
4633    #[serde(
4634        skip_serializing_if = "Option::is_none",
4635        serialize_with = "crate::responses::serialize_opt_flag_01"
4636    )]
4637    pub send_bye: Option<bool>,
4638    /// Record Calls (Boolean: 1/0)
4639    #[serde(
4640        skip_serializing_if = "Option::is_none",
4641        serialize_with = "crate::responses::serialize_opt_flag_01"
4642    )]
4643    pub record_calls: Option<bool>,
4644    /// Enable Call Transcription (Boolean: 1/0)
4645    #[serde(
4646        skip_serializing_if = "Option::is_none",
4647        serialize_with = "crate::responses::serialize_opt_flag_01"
4648    )]
4649    pub transcribe: Option<bool>,
4650    /// Transcription locale code (values from getLocales, comma separated for
4651    /// more than one locale up to 10 locales)
4652    #[serde(skip_serializing_if = "Option::is_none")]
4653    pub transcription_locale: Option<String>,
4654    /// Call Transcription Email
4655    #[serde(skip_serializing_if = "Option::is_none")]
4656    pub transcription_email: Option<String>,
4657    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
4658    /// (Example: 10 -> seconds)
4659    #[serde(skip_serializing_if = "Option::is_none")]
4660    pub transcription_start_delay: Option<i64>,
4661    /// Enable Internal CallerID
4662    #[serde(
4663        skip_serializing_if = "Option::is_none",
4664        serialize_with = "crate::responses::serialize_opt_flag_01"
4665    )]
4666    pub enable_internal_cnam: Option<bool>,
4667    /// Internal CallerID Name
4668    #[serde(skip_serializing_if = "Option::is_none")]
4669    pub internal_cnam: Option<String>,
4670    /// Allows you to dial outgoing calls using either the NANPA configuration
4671    /// or the E164 configuration. (Values: 0 = Use Main Account Setting, 1 =
4672    /// E164, 2 = NANPA)
4673    #[serde(skip_serializing_if = "Option::is_none")]
4674    pub dialing_mode: Option<DialingMode>,
4675    /// This allows you to select the carrier to be used for outgoing calls to
4676    /// toll-free numbers. (Values: -1 = Use main account settings, 0 = Default
4677    /// server setting, 1 = US carrier, 2 = Canadian carrier)
4678    #[serde(skip_serializing_if = "Option::is_none")]
4679    pub tfcarrier: Option<TollFreeCarrier>,
4680    /// Location group for the internal extension (Values from getLocations)
4681    #[serde(skip_serializing_if = "Option::is_none")]
4682    pub internal_extension_location: Option<i64>,
4683}
4684
4685/// \- Adds a new Voicemail entry to your Account
4686///
4687/// Parameters for [`Client::create_voicemail`] (wire method `createVoicemail`).
4688#[derive(Debug, Default, Clone, Serialize)]
4689pub struct CreateVoicemailParams {
4690    /// Digits used to create the voicemail (Example: 01) Minimum 1 digit,
4691    /// maximum 10 digits (required)
4692    #[serde(skip_serializing_if = "Option::is_none")]
4693    pub digits: Option<i64>,
4694    /// Name for the Mailbox (required)
4695    #[serde(skip_serializing_if = "Option::is_none")]
4696    pub name: Option<String>,
4697    /// Password for the Mailbox (required)
4698    #[serde(skip_serializing_if = "Option::is_none")]
4699    pub password: Option<String>,
4700    /// True if Skipping Password (Boolean: 1/0) (required)
4701    #[serde(
4702        skip_serializing_if = "Option::is_none",
4703        serialize_with = "crate::responses::serialize_opt_flag_01"
4704    )]
4705    pub skip_password: Option<bool>,
4706    /// Email address for receiving messages, multiple email addresses are
4707    /// allowed if separated by a comma
4708    #[serde(skip_serializing_if = "Option::is_none")]
4709    pub email: Option<String>,
4710    /// Yes for Attaching WAV files to Message (Values: 'yes'/'no') (required)
4711    #[serde(
4712        skip_serializing_if = "Option::is_none",
4713        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4714    )]
4715    pub attach_message: Option<bool>,
4716    /// Yes for Deleting Messages (Values: 'yes'/'no') (required)
4717    #[serde(
4718        skip_serializing_if = "Option::is_none",
4719        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4720    )]
4721    pub delete_message: Option<bool>,
4722    /// Yes for Saying Time Stamp (Values: 'yes'/'no') (required)
4723    #[serde(
4724        skip_serializing_if = "Option::is_none",
4725        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4726    )]
4727    pub say_time: Option<bool>,
4728    /// Time Zone for Mailbox (Values from getTimeZones) (required)
4729    #[serde(skip_serializing_if = "Option::is_none")]
4730    pub timezone: Option<String>,
4731    /// Yes for Saying the Caller ID (Values: 'yes'/'no') (required)
4732    #[serde(
4733        skip_serializing_if = "Option::is_none",
4734        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4735    )]
4736    pub say_callerid: Option<bool>,
4737    /// Code for Play Instructions Setting (Values from getPlayInstructions)
4738    /// (required)
4739    #[serde(skip_serializing_if = "Option::is_none")]
4740    pub play_instructions: Option<PlayInstructions>,
4741    /// Code for Language (Values from getLanguages) (required)
4742    #[serde(skip_serializing_if = "Option::is_none")]
4743    pub language: Option<String>,
4744    /// Code for Email Attachment format (Values from
4745    /// getVoicemailAttachmentFormats)
4746    #[serde(skip_serializing_if = "Option::is_none")]
4747    pub email_attachment_format: Option<EmailAttachmentFormat>,
4748    /// Recording for the Unavailable Message (values from getRecordings)
4749    #[serde(skip_serializing_if = "Option::is_none")]
4750    pub unavailable_message_recording: Option<String>,
4751    /// 'yes' to enable Voicemail Transcription
4752    #[serde(
4753        skip_serializing_if = "Option::is_none",
4754        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4755    )]
4756    pub transcription: Option<bool>,
4757    /// Transcription locale code (values from getLocales, comma separated for
4758    /// more than one locale up to 10 locales)
4759    #[serde(skip_serializing_if = "Option::is_none")]
4760    pub transcription_locale: Option<String>,
4761    /// Yes for Transcription redaction (Values: 'yes'/'no')
4762    #[serde(
4763        skip_serializing_if = "Option::is_none",
4764        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4765    )]
4766    pub transcription_redaction: Option<bool>,
4767    /// Yes for Transcription sentiment (Values: 'yes'/'no')
4768    #[serde(
4769        skip_serializing_if = "Option::is_none",
4770        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4771    )]
4772    pub transcription_sentiment: Option<bool>,
4773    /// Yes for Transcription summary (Values: 'yes'/'no')
4774    #[serde(
4775        skip_serializing_if = "Option::is_none",
4776        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4777    )]
4778    pub transcription_summary: Option<bool>,
4779    /// Transcription format ( Values: 'html'/'text')
4780    #[serde(skip_serializing_if = "Option::is_none")]
4781    pub transcription_format: Option<TranscriptionFormat>,
4782}
4783
4784/// \- Deletes a specific Call Hunting from your Account.
4785///
4786/// Parameters for [`Client::del_call_hunting`] (wire method `delCallHunting`).
4787#[derive(Debug, Default, Clone, Serialize)]
4788pub struct DelCallHuntingParams {
4789    /// ID for a specific Call Hunting (Example: 323) (required)
4790    #[serde(skip_serializing_if = "Option::is_none")]
4791    pub callhunting: Option<i64>,
4792}
4793
4794/// \- Deletes a specific Call Parking entry from your Account.
4795///
4796/// Parameters for [`Client::del_call_parking`] (wire method `delCallParking`).
4797#[derive(Debug, Default, Clone, Serialize)]
4798pub struct DelCallParkingParams {
4799    /// ID for a specific Call Parking (Example: 323) (required)
4800    #[serde(skip_serializing_if = "Option::is_none")]
4801    pub callparking: Option<i64>,
4802}
4803
4804/// \- Delete specific call recording, audio file and information related.
4805///
4806/// Parameters for [`Client::del_call_recording`] (wire method `delCallRecording`).
4807#[derive(Debug, Default, Clone, Serialize)]
4808pub struct DelCallRecordingParams {
4809    /// Call Recording (Values from getCallRecordings) (required)
4810    #[serde(skip_serializing_if = "Option::is_none")]
4811    pub callrecording: Option<String>,
4812    /// Filter Call Recordings by Account (Values from getCallAccounts)
4813    /// (required)
4814    #[serde(skip_serializing_if = "Option::is_none")]
4815    pub account: Option<String>,
4816}
4817
4818/// \- Deletes a specific Callback from your Account.
4819///
4820/// Parameters for [`Client::del_callback`] (wire method `delCallback`).
4821#[derive(Debug, Default, Clone, Serialize)]
4822pub struct DelCallbackParams {
4823    /// ID for a specific Callback (Example: 19183) (required)
4824    #[serde(skip_serializing_if = "Option::is_none")]
4825    pub callback: Option<i64>,
4826}
4827
4828/// \- Deletes a specific CallerID Filtering from your Account.
4829///
4830/// Parameters for [`Client::del_caller_id_filtering`] (wire method `delCallerIDFiltering`).
4831#[derive(Debug, Default, Clone, Serialize)]
4832pub struct DelCallerIDFilteringParams {
4833    /// ID for a specific CallerID Filtering (Example: 19183) (required)
4834    #[serde(skip_serializing_if = "Option::is_none")]
4835    pub filtering: Option<i64>,
4836}
4837
4838/// \- Deletes a specific reseller client from your Account.
4839///
4840/// Parameters for [`Client::del_client`] (wire method `delClient`).
4841#[derive(Debug, Default, Clone, Serialize)]
4842pub struct DelClientParams {
4843    /// ID for a specific Reseller Client (Example: 1998) (required)
4844    #[serde(skip_serializing_if = "Option::is_none")]
4845    pub client: Option<i64>,
4846}
4847
4848/// \- Deletes a specific Conference from your Account.
4849///
4850/// Parameters for [`Client::del_conference`] (wire method `delConference`).
4851#[derive(Debug, Default, Clone, Serialize)]
4852pub struct DelConferenceParams {
4853    /// ID for a specific Conference (Example: 737) (required)
4854    #[serde(skip_serializing_if = "Option::is_none")]
4855    pub conference: Option<i64>,
4856}
4857
4858/// \- Deletes a specific Member profile from your Account.
4859///
4860/// Parameters for [`Client::del_conference_member`] (wire method `delConferenceMember`).
4861#[derive(Debug, Default, Clone, Serialize)]
4862pub struct DelConferenceMemberParams {
4863    /// ID for a specific Member Profile (Example: 737) (required)
4864    #[serde(skip_serializing_if = "Option::is_none")]
4865    pub member: Option<i64>,
4866}
4867
4868/// \- Deletes a specific DISA from your Account.
4869///
4870/// Parameters for [`Client::del_disa`] (wire method `delDISA`).
4871#[derive(Debug, Default, Clone, Serialize)]
4872pub struct DelDISAParams {
4873    /// ID for a specific DISA (Example: 19183) (required)
4874    #[serde(skip_serializing_if = "Option::is_none")]
4875    pub disa: Option<i64>,
4876}
4877
4878/// \- Deletes a specific "Email to Fax configuration" from your Account.
4879///
4880/// Parameters for [`Client::del_email_to_fax`] (wire method `delEmailToFax`).
4881#[derive(Debug, Default, Clone, Serialize)]
4882pub struct DelEmailToFAXParams {
4883    /// ID for a specific "Email To Fax Configuration" (Example: 923) (required)
4884    #[serde(skip_serializing_if = "Option::is_none")]
4885    pub id: Option<i64>,
4886    /// Set to true if testing how cancel a "Email To Fax Configuration"
4887    #[serde(
4888        skip_serializing_if = "crate::responses::is_false",
4889        serialize_with = "crate::responses::serialize_flag_01"
4890    )]
4891    pub test: bool,
4892}
4893
4894/// \- Deletes a specific Fax Folder from your Account.
4895///
4896/// Parameters for [`Client::del_fax_folder`] (wire method `delFaxFolder`).
4897#[derive(Debug, Default, Clone, Serialize)]
4898pub struct DelFAXFolderParams {
4899    /// ID for a specific Fax Folder (Example: 923) (required)
4900    #[serde(skip_serializing_if = "Option::is_none")]
4901    pub id: Option<i64>,
4902    /// Set to true if testing how to delete a Fax Folder
4903    #[serde(
4904        skip_serializing_if = "crate::responses::is_false",
4905        serialize_with = "crate::responses::serialize_flag_01"
4906    )]
4907    pub test: bool,
4908}
4909
4910/// \- Deletes a specific Forwarding from your Account.
4911///
4912/// Parameters for [`Client::del_forwarding`] (wire method `delForwarding`).
4913#[derive(Debug, Default, Clone, Serialize)]
4914pub struct DelForwardingParams {
4915    /// ID for a specific Forwarding (Example: 19183)
4916    #[serde(skip_serializing_if = "Option::is_none")]
4917    pub forwarding: Option<i64>,
4918}
4919
4920/// \- Deletes a specific IVR from your Account.
4921///
4922/// Parameters for [`Client::del_ivr`] (wire method `delIVR`).
4923#[derive(Debug, Default, Clone, Serialize)]
4924pub struct DelIVRParams {
4925    /// ID for a specific IVR (Example: 19183) (required)
4926    #[serde(skip_serializing_if = "Option::is_none")]
4927    pub ivr: Option<i64>,
4928}
4929
4930/// Parameters for [`Client::del_location`] (wire method `delLocation`).
4931#[derive(Debug, Default, Clone, Serialize)]
4932pub struct DelLocationParams {
4933    /// Internal Extension Location name (Value from getLocations) (required)
4934    #[serde(skip_serializing_if = "Option::is_none")]
4935    pub name: Option<String>,
4936    /// Internal Extension Location id (Value from getLocations") (required)
4937    #[serde(skip_serializing_if = "Option::is_none")]
4938    pub id: Option<String>,
4939}
4940
4941/// \- Removes a member profile from a specific Conference from your Account
4942///
4943/// Parameters for [`Client::del_member_from_conference`] (wire method `delMemberFromConference`).
4944#[derive(Debug, Default, Clone, Serialize)]
4945pub struct DelMemberFromConferenceParams {
4946    /// ID for a specific Member (Example: 101) (required)
4947    #[serde(skip_serializing_if = "Option::is_none")]
4948    pub member: Option<i64>,
4949    /// ID for a specific Conference (Example: 3829)
4950    #[serde(skip_serializing_if = "Option::is_none")]
4951    pub conference: Option<i64>,
4952}
4953
4954/// \- Deletes all messages in all servers from a specific Voicemail from your
4955/// Account
4956///
4957/// Parameters for [`Client::del_messages`] (wire method `delMessages`).
4958#[derive(Debug, Default, Clone, Serialize)]
4959pub struct DelMessagesParams {
4960    /// ID for a specific Mailbox (Example: 1001) (required)
4961    #[serde(skip_serializing_if = "Option::is_none")]
4962    pub mailbox: Option<i64>,
4963    /// Name for specific Folder (Required if message id is passed, Example:
4964    /// 'INBOX', values from: getVoicemailFolders)
4965    #[serde(skip_serializing_if = "Option::is_none")]
4966    pub folder: Option<VoicemailFolder>,
4967    /// ID for specific Voicemail Message (Required if folder is passed,
4968    /// Example: 1)
4969    #[serde(skip_serializing_if = "Option::is_none")]
4970    pub message_num: Option<i64>,
4971}
4972
4973/// \- Deletes a specific custom Music on Hold.
4974///
4975/// Parameters for [`Client::del_music_on_hold`] (wire method `delMusicOnHold`).
4976#[derive(Debug, Default, Clone, Serialize)]
4977pub struct DelMusicOnHoldParams {
4978    /// Music on Hold Name (Values from getMusicOnHold) (required)
4979    #[serde(skip_serializing_if = "Option::is_none")]
4980    pub music_on_hold: Option<String>,
4981}
4982
4983/// \- Deletes a specific Phonebook from your Account.
4984///
4985/// Parameters for [`Client::del_phonebook`] (wire method `delPhonebook`).
4986#[derive(Debug, Default, Clone, Serialize)]
4987pub struct DelPhonebookParams {
4988    /// ID for a specific Phonebook (Example: 19183) (required)
4989    #[serde(skip_serializing_if = "Option::is_none")]
4990    pub phonebook: Option<i64>,
4991}
4992
4993/// \- Deletes a specific Phonebook group from your Account.
4994///
4995/// Parameters for [`Client::del_phonebook_group`] (wire method `delPhonebookGroup`).
4996#[derive(Debug, Default, Clone, Serialize)]
4997pub struct DelPhonebookGroupParams {
4998    /// ID for a specific Phonebook group (required)
4999    #[serde(skip_serializing_if = "Option::is_none")]
5000    pub group: Option<String>,
5001}
5002
5003/// \- Deletes a specific Queue from your Account.
5004///
5005/// Parameters for [`Client::del_queue`] (wire method `delQueue`).
5006#[derive(Debug, Default, Clone, Serialize)]
5007pub struct DelQueueParams {
5008    /// ID for a specific Queue (Example: 13183) (required)
5009    #[serde(skip_serializing_if = "Option::is_none")]
5010    pub queue: Option<i64>,
5011}
5012
5013/// \- Deletes a specific Recording from your Account.
5014///
5015/// Parameters for [`Client::del_recording`] (wire method `delRecording`).
5016#[derive(Debug, Default, Clone, Serialize)]
5017pub struct DelRecordingParams {
5018    /// ID for a specific Recording (Example: 19183) (required)
5019    #[serde(skip_serializing_if = "Option::is_none")]
5020    pub recording: Option<i64>,
5021}
5022
5023/// \- Deletes a specific Ring Group from your Account.
5024///
5025/// Parameters for [`Client::del_ring_group`] (wire method `delRingGroup`).
5026#[derive(Debug, Default, Clone, Serialize)]
5027pub struct DelRingGroupParams {
5028    /// ID for a specific Ring Group (Example: 19183) (required)
5029    #[serde(skip_serializing_if = "Option::is_none")]
5030    pub ringgroup: Option<i64>,
5031}
5032
5033/// \- Deletes a specific SIP URI from your Account.
5034///
5035/// Parameters for [`Client::del_sip_uri`] (wire method `delSIPURI`).
5036#[derive(Debug, Default, Clone, Serialize)]
5037pub struct DelSIPURIParams {
5038    /// ID for a specific SIP URI (Example: 19183) (required)
5039    #[serde(skip_serializing_if = "Option::is_none")]
5040    pub sipuri: Option<i64>,
5041}
5042
5043/// \- Deletes a specific Static Member from Queue.
5044///
5045/// Parameters for [`Client::del_static_member`] (wire method `delStaticMember`).
5046#[derive(Debug, Default, Clone, Serialize)]
5047pub struct DelStaticMemberParams {
5048    /// ID for a specific Member Queue (Example: 1918) (required)
5049    #[serde(skip_serializing_if = "Option::is_none")]
5050    pub member: Option<i64>,
5051    /// ID for a specific Queue (Example: 27183) (required)
5052    #[serde(skip_serializing_if = "Option::is_none")]
5053    pub queue: Option<i64>,
5054}
5055
5056/// \- Deletes a specific Sub Account from your Account
5057///
5058/// Parameters for [`Client::del_sub_account`] (wire method `delSubAccount`).
5059#[derive(Debug, Default, Clone, Serialize)]
5060pub struct DelSubAccountParams {
5061    /// ID for a specific Sub Account (Example: 99785)
5062    #[serde(skip_serializing_if = "Option::is_none")]
5063    pub id: Option<i64>,
5064}
5065
5066/// \- Deletes a specific Time Condition from your Account.
5067///
5068/// Parameters for [`Client::del_time_condition`] (wire method `delTimeCondition`).
5069#[derive(Debug, Default, Clone, Serialize)]
5070pub struct DelTimeConditionParams {
5071    /// ID for a specific Time Condition (Example: 19183) (required)
5072    #[serde(skip_serializing_if = "Option::is_none")]
5073    pub timecondition: Option<i64>,
5074}
5075
5076/// \- Deletes a specific Voicemail from your Account
5077///
5078/// Parameters for [`Client::del_voicemail`] (wire method `delVoicemail`).
5079#[derive(Debug, Default, Clone, Serialize)]
5080pub struct DelVoicemailParams {
5081    /// ID for a specific Mailbox (Example: 1001) (required)
5082    #[serde(skip_serializing_if = "Option::is_none")]
5083    pub mailbox: Option<i64>,
5084}
5085
5086/// \- Deletes a specific Fax Message from your Account.
5087///
5088/// Parameters for [`Client::delete_fax_message`] (wire method `deleteFaxMessage`).
5089#[derive(Debug, Default, Clone, Serialize)]
5090pub struct DeleteFAXMessageParams {
5091    /// ID for a specific Fax Message (Example: 923) (required)
5092    #[serde(skip_serializing_if = "Option::is_none")]
5093    pub id: Option<i64>,
5094    /// Set to true if testing how cancel a Fax Message
5095    #[serde(
5096        skip_serializing_if = "crate::responses::is_false",
5097        serialize_with = "crate::responses::serialize_flag_01"
5098    )]
5099    pub test: bool,
5100}
5101
5102/// \- Deletes a specific MMS from your Account.
5103///
5104/// Parameters for [`Client::delete_mms`] (wire method `deleteMMS`).
5105#[derive(Debug, Default, Clone, Serialize)]
5106pub struct DeleteMMSParams {
5107    /// ID for a specific MMS (Example: 1918) (required)
5108    #[serde(skip_serializing_if = "Option::is_none")]
5109    pub id: Option<i64>,
5110}
5111
5112/// \- Deletes a specific SMS from your Account.
5113///
5114/// Parameters for [`Client::delete_sms`] (wire method `deleteSMS`).
5115#[derive(Debug, Default, Clone, Serialize)]
5116pub struct DeleteSMSParams {
5117    /// ID for a specific SMS (Example: 1918) (required)
5118    #[serde(skip_serializing_if = "Option::is_none")]
5119    pub id: Option<i64>,
5120}
5121
5122/// \- Retrieves a list of e911 Address Types if no additional parameter is
5123/// provided.
5124/// \- Retrieves a specific e911 Address Type if an Address code is provided.
5125///
5126/// Parameters for [`Client::e911_address_types`] (wire method `e911AddressTypes`).
5127#[derive(Debug, Default, Clone, Serialize)]
5128pub struct E911AddressTypesParams {
5129    /// Code for a specific Address Type (Example: Apartment)
5130    #[serde(skip_serializing_if = "Option::is_none")]
5131    pub r#type: Option<String>,
5132}
5133
5134/// \- Cancel the e911 Service from a specific DID.
5135///
5136/// Parameters for [`Client::e911_cancel`] (wire method `e911Cancel`).
5137#[derive(Debug, Default, Clone, Serialize)]
5138pub struct E911CancelParams {
5139    /// DID to be canceled. (required)
5140    #[serde(skip_serializing_if = "Option::is_none")]
5141    pub did: Option<String>,
5142}
5143
5144/// \- Retrieves the e911 information from a specific DID.
5145///
5146/// Parameters for [`Client::e911_info`] (wire method `e911Info`).
5147#[derive(Debug, Default, Clone, Serialize)]
5148pub struct E911InfoParams {
5149    /// DID with e911 enabled / in process. (required)
5150    #[serde(skip_serializing_if = "Option::is_none")]
5151    pub did: Option<String>,
5152}
5153
5154/// \- Subscribes your DID to the e911 Emergency Services.
5155///
5156/// Parameters for [`Client::e911_provision`] (wire method `e911Provision`).
5157#[derive(Debug, Default, Clone, Serialize)]
5158pub struct E911ProvisionParams {
5159    /// DID that will be sent to the e911 service. (required)
5160    #[serde(skip_serializing_if = "Option::is_none")]
5161    pub did: Option<String>,
5162    /// Full Name that will be sent to the e911 service. (required)
5163    #[serde(skip_serializing_if = "Option::is_none")]
5164    pub full_name: Option<String>,
5165    /// Street Number that will be sent to the e911 service. (required)
5166    #[serde(skip_serializing_if = "Option::is_none")]
5167    pub street_number: Option<i64>,
5168    /// Street Name that will be sent to the e911 service. (required)
5169    #[serde(skip_serializing_if = "Option::is_none")]
5170    pub street_name: Option<String>,
5171    /// Address Type that will be sent to the e911 service (Values from
5172    /// e911AddressTypes).
5173    #[serde(skip_serializing_if = "Option::is_none")]
5174    pub address_type: Option<String>,
5175    /// Address Number that will be sent to the e911 service.
5176    #[serde(skip_serializing_if = "Option::is_none")]
5177    pub address_number: Option<i64>,
5178    /// City that will be sent to the e911 service. (required)
5179    #[serde(skip_serializing_if = "Option::is_none")]
5180    pub city: Option<String>,
5181    /// State / Province that will be sent to the e911 service. (required)
5182    #[serde(skip_serializing_if = "Option::is_none")]
5183    pub state: Option<String>,
5184    /// Country that will be sent to the e911 service. Value can be US (United
5185    /// states) or CA (Canada). (required)
5186    #[serde(skip_serializing_if = "Option::is_none")]
5187    pub country: Option<String>,
5188    #[serde(skip_serializing_if = "Option::is_none")]
5189    pub zip: Option<String>,
5190    /// Language that will be sent to the e911 service. Only available for
5191    /// addresses from Canada. Value can be EN (English) or FR (French).
5192    /// (required)
5193    #[serde(skip_serializing_if = "Option::is_none")]
5194    pub language: Option<String>,
5195    /// Additional Address Information that will be sent to the e911 service.
5196    /// Only available for addresses from Canada.
5197    #[serde(skip_serializing_if = "Option::is_none")]
5198    pub other_info: Option<String>,
5199}
5200
5201/// \- Subscribes your DID to the e911 Emergency Services.
5202/// \- All e911 information will be validated by the VoIP.ms staff.
5203///
5204/// Parameters for [`Client::e911_provision_manually`] (wire method `e911ProvisionManually`).
5205#[derive(Debug, Default, Clone, Serialize)]
5206pub struct E911ProvisionManuallyParams {
5207    /// DID that will be sent to the e911 service. (required)
5208    #[serde(skip_serializing_if = "Option::is_none")]
5209    pub did: Option<String>,
5210    /// Full Name that will be sent to the e911 service. (required)
5211    #[serde(skip_serializing_if = "Option::is_none")]
5212    pub full_name: Option<String>,
5213    /// Street Number that will be sent to the e911 service. (required)
5214    #[serde(skip_serializing_if = "Option::is_none")]
5215    pub street_number: Option<i64>,
5216    /// Street Name that will be sent to the e911 service. (required)
5217    #[serde(skip_serializing_if = "Option::is_none")]
5218    pub street_name: Option<String>,
5219    /// Address Type that will be sent to the e911 service (Values from
5220    /// e911AddressTypes).
5221    #[serde(skip_serializing_if = "Option::is_none")]
5222    pub address_type: Option<String>,
5223    /// Address Number that will be sent to the e911 service.
5224    #[serde(skip_serializing_if = "Option::is_none")]
5225    pub address_number: Option<i64>,
5226    /// City that will be sent to the e911 service. (required)
5227    #[serde(skip_serializing_if = "Option::is_none")]
5228    pub city: Option<String>,
5229    /// State / Province that will be sent to the e911 service. (required)
5230    #[serde(skip_serializing_if = "Option::is_none")]
5231    pub state: Option<String>,
5232    /// Country that will be sent to the e911 service. Value can be US (United
5233    /// states) or CA (Canada). (required)
5234    #[serde(skip_serializing_if = "Option::is_none")]
5235    pub country: Option<String>,
5236    #[serde(skip_serializing_if = "Option::is_none")]
5237    pub zip: Option<String>,
5238    /// Language that will be sent to the e911 service. Only available for
5239    /// addresses from Canada. Value can be EN (English) or FR (French).
5240    /// (required)
5241    #[serde(skip_serializing_if = "Option::is_none")]
5242    pub language: Option<String>,
5243    /// Additional Address Information that will be sent to the e911 service.
5244    /// Only available for addresses from Canada.
5245    #[serde(skip_serializing_if = "Option::is_none")]
5246    pub other_info: Option<String>,
5247}
5248
5249/// \- Updates the Information from your e911 Emergency Services Subscription.
5250///
5251/// Parameters for [`Client::e911_update`] (wire method `e911Update`).
5252#[derive(Debug, Default, Clone, Serialize)]
5253pub struct E911UpdateParams {
5254    /// DID with e911 enabled / in process. (required)
5255    #[serde(skip_serializing_if = "Option::is_none")]
5256    pub did: Option<String>,
5257    /// Full Name that will be updated to the e911 service. (required)
5258    #[serde(skip_serializing_if = "Option::is_none")]
5259    pub full_name: Option<String>,
5260    /// Street Number that will be updated to the e911 service. (required)
5261    #[serde(skip_serializing_if = "Option::is_none")]
5262    pub street_number: Option<i64>,
5263    /// Street Name that will be updated to the e911 service. (required)
5264    #[serde(skip_serializing_if = "Option::is_none")]
5265    pub street_name: Option<String>,
5266    /// Address Type that will be updated to the e911 service (Values from
5267    /// e911AddressTypes).
5268    #[serde(skip_serializing_if = "Option::is_none")]
5269    pub address_type: Option<String>,
5270    /// Address Number that will be updated to the e911 service.
5271    #[serde(skip_serializing_if = "Option::is_none")]
5272    pub address_number: Option<i64>,
5273    /// City that will be updated to the e911 service. (required)
5274    #[serde(skip_serializing_if = "Option::is_none")]
5275    pub city: Option<String>,
5276    /// State / Province that will be updated to the e911 service. (required)
5277    #[serde(skip_serializing_if = "Option::is_none")]
5278    pub state: Option<String>,
5279    /// Country that will be updated to the e911 service. Value can be US
5280    /// (United states) or CA (Canada). (required)
5281    #[serde(skip_serializing_if = "Option::is_none")]
5282    pub country: Option<String>,
5283    #[serde(skip_serializing_if = "Option::is_none")]
5284    pub zip: Option<String>,
5285    /// Language that will be updated to the e911 service. Only available for
5286    /// addresses from Canada. Value can be EN (English) or FR (French).
5287    /// (required)
5288    #[serde(skip_serializing_if = "Option::is_none")]
5289    pub language: Option<String>,
5290    /// Additional Address Information that will be updated to the e911 service.
5291    /// Only available for addresses from Canada.
5292    #[serde(skip_serializing_if = "Option::is_none")]
5293    pub other_info: Option<String>,
5294}
5295
5296/// \- Validates your e911 information in order to start your e911 Emergency
5297/// Services Subscription.
5298///
5299/// Parameters for [`Client::e911_validate`] (wire method `e911Validate`).
5300#[derive(Debug, Default, Clone, Serialize)]
5301pub struct E911ValidateParams {
5302    /// DID with e911 enabled / in process. (required)
5303    #[serde(skip_serializing_if = "Option::is_none")]
5304    pub did: Option<String>,
5305    /// Full Name that will be validated. (required)
5306    #[serde(skip_serializing_if = "Option::is_none")]
5307    pub full_name: Option<String>,
5308    /// Street Number that will be validated. (required)
5309    #[serde(skip_serializing_if = "Option::is_none")]
5310    pub street_number: Option<i64>,
5311    /// Street Name that will be validated. (required)
5312    #[serde(skip_serializing_if = "Option::is_none")]
5313    pub street_name: Option<String>,
5314    /// Address Type that will be validated (Values from e911AddressTypes).
5315    #[serde(skip_serializing_if = "Option::is_none")]
5316    pub address_type: Option<String>,
5317    /// Address Number that will be validated.
5318    #[serde(skip_serializing_if = "Option::is_none")]
5319    pub address_number: Option<i64>,
5320    /// City that will be validated. (required)
5321    #[serde(skip_serializing_if = "Option::is_none")]
5322    pub city: Option<String>,
5323    /// State / Province that will be validated. (required)
5324    #[serde(skip_serializing_if = "Option::is_none")]
5325    pub state: Option<String>,
5326    /// Country that will be validated. Value can be US (United states) or CA
5327    /// (Canada). (required)
5328    #[serde(skip_serializing_if = "Option::is_none")]
5329    pub country: Option<String>,
5330    #[serde(skip_serializing_if = "Option::is_none")]
5331    pub zip: Option<String>,
5332    /// Language that will be validated. Only available for addresses from
5333    /// Canada. Value can be EN (English) or FR (French).
5334    #[serde(skip_serializing_if = "Option::is_none")]
5335    pub language: Option<String>,
5336    /// Additional Address Information that will be validated. Only available
5337    /// for addresses from Canada.
5338    #[serde(skip_serializing_if = "Option::is_none")]
5339    pub other_info: Option<String>,
5340}
5341
5342/// \- Retrieves a list of Allowed Codecs if no additional parameter is provided.
5343/// \- Retrieves a specific Allowed Codec if a codec code is provided.
5344///
5345/// Parameters for [`Client::get_allowed_codecs`] (wire method `getAllowedCodecs`).
5346#[derive(Debug, Default, Clone, Serialize)]
5347pub struct GetAllowedCodecsParams {
5348    /// Code for a specific Codec (Example: 'ulaw')
5349    #[serde(skip_serializing_if = "Option::is_none")]
5350    pub codec: Option<String>,
5351}
5352
5353/// \- Retrieves a list of Authentication Types if no additional parameter is
5354/// provided.
5355/// \- Retrieves a specific Authentication Type if an auth type code is provided.
5356///
5357/// Parameters for [`Client::get_auth_types`] (wire method `getAuthTypes`).
5358#[derive(Debug, Default, Clone, Serialize)]
5359pub struct GetAuthTypesParams {
5360    /// Code for a specific Authorization Type (Example: 2)
5361    #[serde(skip_serializing_if = "Option::is_none")]
5362    pub r#type: Option<String>,
5363}
5364
5365/// \- Retrieves a list of backorder DIDs if no additional parameter is provided.
5366/// \- Retrieves a specific backorder DID if a backorder DID code is provided.
5367///
5368/// Parameters for [`Client::get_back_orders`] (wire method `getBackOrders`).
5369#[derive(Debug, Default, Clone, Serialize)]
5370pub struct GetBackOrdersParams {
5371    /// ID for a specific backorder DID
5372    #[serde(skip_serializing_if = "Option::is_none")]
5373    pub id: Option<String>,
5374}
5375
5376/// \- Retrieves Balance for your Account if no additional parameter is provided.
5377/// \- Retrieves Balance and Calls Statistics for your Account if "advanced"
5378/// parameter is true.
5379///
5380/// Parameters for [`Client::get_balance`] (wire method `getBalance`).
5381#[derive(Debug, Default, Clone, Serialize)]
5382pub struct GetBalanceParams {
5383    /// True for Calls Statistics
5384    #[serde(skip_serializing_if = "Option::is_none")]
5385    pub advanced: Option<bool>,
5386}
5387
5388/// \- Retrieves a list of Balance Management Options if no additional parameter
5389/// is provided.
5390/// \- Retrieves a specific Balance Management Option if a code is provided.
5391///
5392/// Parameters for [`Client::get_balance_management`] (wire method `getBalanceManagement`).
5393#[derive(Debug, Default, Clone, Serialize)]
5394pub struct GetBalanceManagementParams {
5395    /// Code for a specific Balance Management Setting (Example: 1)
5396    #[serde(skip_serializing_if = "Option::is_none")]
5397    pub balance_management: Option<String>,
5398}
5399
5400/// \- Retrieves the Call Detail Records of all your calls.
5401///
5402/// Parameters for [`Client::get_cdr`] (wire method `getCDR`).
5403#[derive(Debug, Default, Clone, Serialize)]
5404pub struct GetCDRParams {
5405    /// Start Date for Filtering CDR (Example: '2010-11-30') (required)
5406    #[serde(skip_serializing_if = "Option::is_none")]
5407    pub date_from: Option<String>,
5408    /// End Date for Filtering CDR (Example: '2010-11-30') (required)
5409    #[serde(skip_serializing_if = "Option::is_none")]
5410    pub date_to: Option<String>,
5411    /// Include Answered Calls to CDR (Boolean: 1/0)
5412    #[serde(skip_serializing_if = "Option::is_none")]
5413    pub answered: Option<bool>,
5414    /// Include NoAnswered calls to CDR (Boolean: 1/0)
5415    #[serde(skip_serializing_if = "Option::is_none")]
5416    pub noanswer: Option<bool>,
5417    /// Include Busy Calls to CDR (Boolean: 1/0)
5418    #[serde(skip_serializing_if = "Option::is_none")]
5419    pub busy: Option<bool>,
5420    /// Include Failed Calls to CDR (Boolean: 1/0)
5421    #[serde(skip_serializing_if = "Option::is_none")]
5422    pub failed: Option<bool>,
5423    /// Adjust time of calls according to Timezome (Numeric: -12 to 13)
5424    /// (required)
5425    #[serde(skip_serializing_if = "Option::is_none")]
5426    pub timezone: Option<f64>,
5427    /// Filters CDR by Call Type (Values from getCallTypes)
5428    #[serde(skip_serializing_if = "Option::is_none")]
5429    pub calltype: Option<String>,
5430    /// Filter CDR by Call Billing (Values from getCallBilling)
5431    #[serde(skip_serializing_if = "Option::is_none")]
5432    pub callbilling: Option<String>,
5433    /// Filter CDR by Account (Values from getCallAccounts)
5434    #[serde(skip_serializing_if = "Option::is_none")]
5435    pub account: Option<String>,
5436}
5437
5438/// \- Retrieves all Sub Accounts if no additional parameter is provided.
5439/// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
5440///
5441/// Parameters for [`Client::get_call_accounts`] (wire method `getCallAccounts`).
5442#[derive(Debug, Default, Clone, Serialize)]
5443pub struct GetCallAccountsParams {}
5444
5445/// \- Retrieves a list of Call Billing Options.
5446///
5447/// Parameters for [`Client::get_call_billing`] (wire method `getCallBilling`).
5448#[derive(Debug, Default, Clone, Serialize)]
5449pub struct GetCallBillingParams {}
5450
5451/// \- Retrieves a list of Call Huntings if no additional parameter is provided.
5452/// \- Retrieves a specific Call Huntings if a Call Hunting code is provided.
5453///
5454/// Parameters for [`Client::get_call_huntings`] (wire method `getCallHuntings`).
5455#[derive(Debug, Default, Clone, Serialize)]
5456pub struct GetCallHuntingsParams {
5457    /// ID for a specific Call Hunting (Example: 323)
5458    #[serde(skip_serializing_if = "Option::is_none")]
5459    pub callhunting: Option<i64>,
5460}
5461
5462/// \- Retrieves all Call Parking entries if no additional parameter is provided.
5463/// \- Retrieves a specific Parking entry if a Call Parking ID is provided.
5464///
5465/// Parameters for [`Client::get_call_parking`] (wire method `getCallParking`).
5466#[derive(Debug, Default, Clone, Serialize)]
5467pub struct GetCallParkingParams {
5468    /// ID for a specific Call Parking (Example: 737)
5469    #[serde(skip_serializing_if = "Option::is_none")]
5470    pub callparking: Option<i64>,
5471}
5472
5473/// \- Retrieves one especific call recording information, including the
5474/// recording file on mp3 format.
5475///
5476/// Parameters for [`Client::get_call_recording`] (wire method `getCallRecording`).
5477#[derive(Debug, Default, Clone, Serialize)]
5478pub struct GetCallRecordingParams {
5479    /// Call Recording (Values from getCallRecordings) (required)
5480    #[serde(skip_serializing_if = "Option::is_none")]
5481    pub callrecording: Option<String>,
5482    /// Main Account or Sub Account related to the call recording (Values from
5483    /// getCallRecordings) (required)
5484    #[serde(skip_serializing_if = "Option::is_none")]
5485    pub account: Option<String>,
5486}
5487
5488/// \- Retrieves all call recordings related to account.
5489///
5490/// Parameters for [`Client::get_call_recordings`] (wire method `getCallRecordings`).
5491#[derive(Debug, Default, Clone, Serialize)]
5492pub struct GetCallRecordingsParams {
5493    /// Filter Call Recordings by Account (Values from getCallAccounts)
5494    /// (required)
5495    #[serde(skip_serializing_if = "Option::is_none")]
5496    pub account: Option<String>,
5497    /// Number of records shown previously, used for pages
5498    #[serde(skip_serializing_if = "Option::is_none")]
5499    pub start: Option<i64>,
5500    /// Number of records to show
5501    #[serde(skip_serializing_if = "Option::is_none")]
5502    pub length: Option<i64>,
5503    /// Start Date for Filtering Call Recording (Example:'2018-11-01')
5504    /// (required)
5505    #[serde(skip_serializing_if = "Option::is_none")]
5506    pub date_from: Option<String>,
5507    /// End Date for Filtering Call Recording (Example:'2018-12-01') (required)
5508    #[serde(skip_serializing_if = "Option::is_none")]
5509    pub date_to: Option<String>,
5510}
5511
5512/// \- Retrieves all Call Transcriptions if no additional parameter is provided.
5513///
5514/// Parameters for [`Client::get_call_transcriptions`] (wire method `getCallTranscriptions`).
5515#[derive(Debug, Default, Clone, Serialize)]
5516pub struct GetCallTranscriptionsParams {
5517    /// Specific Account (Example: '100001_VoIP') (required)
5518    #[serde(skip_serializing_if = "Option::is_none")]
5519    pub account: Option<String>,
5520    /// End Date for Filtering (Example: '2010-11-30') (required)
5521    #[serde(skip_serializing_if = "Option::is_none")]
5522    pub date_to: Option<String>,
5523    /// Start Date for Filtering (Example: '2010-11-30') (required)
5524    #[serde(skip_serializing_if = "Option::is_none")]
5525    pub date_from: Option<String>,
5526    /// Filters by Call Type (Values from getCallTypes)
5527    #[serde(skip_serializing_if = "Option::is_none")]
5528    pub call_type: Option<String>,
5529}
5530
5531/// \- Retrieves a list of Call Types and All DIDs if no additional parameter is
5532/// provided.
5533/// \- Retrieves a list of Call Types and Reseller Client DIDs if a Reseller
5534/// Client ID is provided.
5535///
5536/// Parameters for [`Client::get_call_types`] (wire method `getCallTypes`).
5537#[derive(Debug, Default, Clone, Serialize)]
5538pub struct GetCallTypesParams {
5539    /// ID for a specific Reseller Client (Example: 561115)
5540    #[serde(skip_serializing_if = "Option::is_none")]
5541    pub client: Option<String>,
5542}
5543
5544/// \- Retrieves a list of Callbacks if no additional parameter is provided.
5545/// \- Retrieves a specific Callback if a Callback code is provided.
5546///
5547/// Parameters for [`Client::get_callbacks`] (wire method `getCallbacks`).
5548#[derive(Debug, Default, Clone, Serialize)]
5549pub struct GetCallbacksParams {
5550    /// ID for a specific Callback (Example: 2359)
5551    #[serde(skip_serializing_if = "Option::is_none")]
5552    pub callback: Option<String>,
5553}
5554
5555/// \- Retrieves a list of CallerID Filterings if no additional parameter is
5556/// provided.
5557/// \- Retrieves a specific CallerID Filtering if a CallerID Filtering code is
5558/// provided.
5559///
5560/// Parameters for [`Client::get_caller_id_filtering`] (wire method `getCallerIDFiltering`).
5561#[derive(Debug, Default, Clone, Serialize)]
5562pub struct GetCallerIDFilteringParams {
5563    /// ID for a specific CallerID Filtering (Example: 18915)
5564    #[serde(skip_serializing_if = "Option::is_none")]
5565    pub filtering: Option<String>,
5566    /// DID for a specific CallerID Filtering (Example: 5551234567)
5567    #[serde(skip_serializing_if = "Option::is_none")]
5568    pub did: Option<String>,
5569}
5570
5571/// \- Retrieves a list of Carriers for Vanity Numbers if no additional parameter
5572/// is provided.
5573/// \- Retrieves a specific Carrier for Vanity Numbers if a carrier code is
5574/// provided.
5575///
5576/// Parameters for [`Client::get_carriers`] (wire method `getCarriers`).
5577#[derive(Debug, Default, Clone, Serialize)]
5578pub struct GetCarriersParams {
5579    /// Code for a specific Carrier (Example: 2)
5580    #[serde(skip_serializing_if = "Option::is_none")]
5581    pub carrier: Option<String>,
5582}
5583
5584/// \- Retrieves Charges made to a specific Reseller Client.
5585///
5586/// Parameters for [`Client::get_charges`] (wire method `getCharges`).
5587#[derive(Debug, Default, Clone, Serialize)]
5588pub struct GetChargesParams {
5589    /// ID for a specific Reseller Client (Example: 561115) (required)
5590    #[serde(skip_serializing_if = "Option::is_none")]
5591    pub client: Option<String>,
5592}
5593
5594/// \- Retrieves a list of Packages for a specific Reseller Client.
5595///
5596/// Parameters for [`Client::get_client_packages`] (wire method `getClientPackages`).
5597#[derive(Debug, Default, Clone, Serialize)]
5598pub struct GetClientPackagesParams {
5599    /// ID for a specific Reseller Client (Example: 561115) (required)
5600    #[serde(skip_serializing_if = "Option::is_none")]
5601    pub client: Option<String>,
5602}
5603
5604/// \- Retrieves the Threshold Information for a specific Reseller Client.
5605///
5606/// Parameters for [`Client::get_client_threshold`] (wire method `getClientThreshold`).
5607#[derive(Debug, Default, Clone, Serialize)]
5608pub struct GetClientThresholdParams {
5609    /// ID for a specific Reseller Client (Example: 561115) (required)
5610    #[serde(skip_serializing_if = "Option::is_none")]
5611    pub client: Option<String>,
5612}
5613
5614/// \- Retrieves a list of all Clients if no additional parameter is provided.-
5615/// Retrieves a specific Reseller Client if a Reseller Client ID is provided.
5616/// \- Retrieves a specific Reseller Client if a Reseller Client e-mail is
5617/// provided.
5618///
5619/// Parameters for [`Client::get_clients`] (wire method `getClients`).
5620#[derive(Debug, Default, Clone, Serialize)]
5621pub struct GetClientsParams {
5622    /// Parameter could have the following values: * Empty Value \[Not
5623    /// Required\] * Specific Reseller Client ID (Example: 561115) * Specific
5624    /// Reseller Client e-mail (Example: '\[email protected\]')
5625    #[serde(skip_serializing_if = "Option::is_none")]
5626    pub client: Option<String>,
5627}
5628
5629/// \- Retrieves a list of Conferences if no additional parameter is provided.
5630/// \- Retrieves a specific Conference if a conference code is provided.
5631///
5632/// Parameters for [`Client::get_conference`] (wire method `getConference`).
5633#[derive(Debug, Default, Clone, Serialize)]
5634pub struct GetConferenceParams {
5635    /// Code for a specific Conference (Example: 1599)
5636    #[serde(skip_serializing_if = "Option::is_none")]
5637    pub conference: Option<i64>,
5638}
5639
5640/// \- Retrieves a list of Member profiles if no additional parameter is
5641/// provided.
5642/// \- Retrieves a specific member if a member code is provided.
5643///
5644/// Parameters for [`Client::get_conference_members`] (wire method `getConferenceMembers`).
5645#[derive(Debug, Default, Clone, Serialize)]
5646pub struct GetConferenceMembersParams {
5647    /// Code for a specific Member profile (Example: 1599)
5648    #[serde(skip_serializing_if = "Option::is_none")]
5649    pub member: Option<i64>,
5650}
5651
5652/// \- Retrieves a specific Recording File data in Base64 format.
5653///
5654/// Parameters for [`Client::get_conference_recording_file`] (wire method `getConferenceRecordingFile`).
5655#[derive(Debug, Default, Clone, Serialize)]
5656pub struct GetConferenceRecordingFileParams {
5657    /// ID for a specific Conference (Example: 5356) (required)
5658    #[serde(skip_serializing_if = "Option::is_none")]
5659    pub conference: Option<i64>,
5660    /// ID for a specific Conference Recording (Example: 1543338379) (required)
5661    #[serde(skip_serializing_if = "Option::is_none")]
5662    pub recording: Option<i64>,
5663}
5664
5665/// \- Retrieves a list of recordings of a specific conference.
5666///
5667/// Parameters for [`Client::get_conference_recordings`] (wire method `getConferenceRecordings`).
5668#[derive(Debug, Default, Clone, Serialize)]
5669pub struct GetConferenceRecordingsParams {
5670    /// ID for a specific Conference (Example: 5356) (required)
5671    #[serde(skip_serializing_if = "Option::is_none")]
5672    pub conference: Option<i64>,
5673    /// Start Date for Filtering Transactions (Example: '2016-06-03')
5674    #[serde(skip_serializing_if = "Option::is_none")]
5675    pub date_from: Option<String>,
5676    /// End Date for Filtering Transactions (Example: '2016-06-04')
5677    #[serde(skip_serializing_if = "Option::is_none")]
5678    pub date_to: Option<String>,
5679}
5680
5681/// \- Retrieves a list of Countries if no additional parameter is provided.
5682/// \- Retrieves a specific Country if a country code is provided.
5683///
5684/// Parameters for [`Client::get_countries`] (wire method `getCountries`).
5685#[derive(Debug, Default, Clone, Serialize)]
5686pub struct GetCountriesParams {
5687    /// Code for a specific Country (Example: 'CA')
5688    #[serde(skip_serializing_if = "Option::is_none")]
5689    pub country: Option<String>,
5690}
5691
5692/// \- Retrieves a list of Countries for International DIDs if no country code is
5693/// provided.
5694/// \- Retrieves a specific Country for International DIDs if a country code is
5695/// provided.
5696///
5697/// Parameters for [`Client::get_did_countries`] (wire method `getDIDCountries`).
5698#[derive(Debug, Default, Clone, Serialize)]
5699pub struct GetDIDCountriesParams {
5700    /// ID for a specific country (Example: 205)
5701    #[serde(skip_serializing_if = "Option::is_none")]
5702    pub country_id: Option<String>,
5703    /// Type of International DID (Values from getInternationalTypes) (required)
5704    #[serde(skip_serializing_if = "Option::is_none")]
5705    pub r#type: Option<String>,
5706}
5707
5708/// \- Retrives a list of Canadian DIDs by Province and Ratecenter.
5709///
5710/// Parameters for [`Client::get_dids_can`] (wire method `getDIDsCAN`).
5711#[derive(Debug, Default, Clone, Serialize)]
5712pub struct GetDIDsCANParams {
5713    /// Canadian Province (Values from getProvinces) (required)
5714    #[serde(skip_serializing_if = "Option::is_none")]
5715    pub province: Option<String>,
5716    /// Canadian Ratecenter (Values from getRateCentersCAN)
5717    #[serde(skip_serializing_if = "Option::is_none")]
5718    pub ratecenter: Option<String>,
5719}
5720
5721/// \- Retrieves information from all your DIDs if no additional parameter is
5722/// provided.
5723/// \- Retrieves information from Reseller Client's DIDs if a Reseller Client ID
5724/// is provided.
5725/// \- Retrieves information from Sub Account's DIDs if a Sub Accunt is provided.
5726/// \- Retrieves information from a specific DID if a DID Number is provided.
5727/// \- Retrieves SMS information from a specific DID if the SMS is available.
5728///
5729/// Parameters for [`Client::get_dids_info`] (wire method `getDIDsInfo`).
5730#[derive(Debug, Default, Clone, Serialize)]
5731pub struct GetDIDsInfoParams {
5732    /// Parameter could have the following values: * Empty Value \[Not
5733    /// Required\] * Specific Reseller Client ID (Example: 561115) * Specific
5734    /// Sub Account (Example: '100001_VoIP')
5735    #[serde(skip_serializing_if = "Option::is_none")]
5736    pub client: Option<String>,
5737    /// DID from Client or Sub Account (Example: 5551234567)
5738    #[serde(skip_serializing_if = "Option::is_none")]
5739    pub did: Option<String>,
5740}
5741
5742/// \- Retrieves a list of International Geographic DIDs by Country.
5743///
5744/// Parameters for [`Client::get_dids_international_geographic`] (wire method `getDIDsInternationalGeographic`).
5745#[derive(Debug, Default, Clone, Serialize)]
5746pub struct GetDIDsInternationalGeographicParams {
5747    /// ID for a specific Country (Values from getDIDCountries) (required)
5748    #[serde(skip_serializing_if = "Option::is_none")]
5749    pub country_id: Option<String>,
5750}
5751
5752/// \- Retrieves a list of International National DIDs by Country.
5753///
5754/// Parameters for [`Client::get_dids_international_national`] (wire method `getDIDsInternationalNational`).
5755#[derive(Debug, Default, Clone, Serialize)]
5756pub struct GetDIDsInternationalNationalParams {
5757    /// ID for a specific Country (Values from getDIDCountries) (required)
5758    #[serde(skip_serializing_if = "Option::is_none")]
5759    pub country_id: Option<String>,
5760}
5761
5762/// \- Retrieves a list of International TollFree DIDs by Country.
5763///
5764/// Parameters for [`Client::get_dids_international_toll_free`] (wire method `getDIDsInternationalTollFree`).
5765#[derive(Debug, Default, Clone, Serialize)]
5766pub struct GetDIDsInternationalTollFreeParams {
5767    /// ID for a specific Country (Values from getDIDCountries) (required)
5768    #[serde(skip_serializing_if = "Option::is_none")]
5769    pub country_id: Option<String>,
5770}
5771
5772/// \- Retrives a list of USA DIDs by State and Ratecenter.
5773///
5774/// Parameters for [`Client::get_dids_usa`] (wire method `getDIDsUSA`).
5775#[derive(Debug, Default, Clone, Serialize)]
5776pub struct GetDIDsUSAParams {
5777    /// United States State (Values from getStates) (required)
5778    #[serde(skip_serializing_if = "Option::is_none")]
5779    pub state: Option<String>,
5780    /// United States Ratecenter (Values from getRateCentersUSA)
5781    #[serde(skip_serializing_if = "Option::is_none")]
5782    pub ratecenter: Option<String>,
5783}
5784
5785/// \- Retrives the list of DIDs assigned to the VPRI.
5786///
5787/// Parameters for [`Client::get_did_vpri`] (wire method `getDIDvPRI`).
5788#[derive(Debug, Default, Clone, Serialize)]
5789pub struct GetDIDvPRIParams {
5790    /// Id for specific Vpri (required)
5791    #[serde(skip_serializing_if = "Option::is_none")]
5792    pub vpri: Option<String>,
5793}
5794
5795/// \- Retrieves a list of DISAs if no additional parameter is provided.
5796/// \- Retrieves a specific DISA if a DISA code is provided.
5797///
5798/// Parameters for [`Client::get_disas`] (wire method `getDISAs`).
5799#[derive(Debug, Default, Clone, Serialize)]
5800pub struct GetDISAsParams {
5801    /// ID for a specific DISA (Example: 2114)
5802    #[serde(skip_serializing_if = "Option::is_none")]
5803    pub disa: Option<String>,
5804}
5805
5806/// \- Retrieves a list of DTMF Modes if no additional parameter is provided.
5807/// \- Retrieves a specific DTMF Mode if a DTMF mode code is provided.
5808///
5809/// Parameters for [`Client::get_dtmf_modes`] (wire method `getDTMFModes`).
5810#[derive(Debug, Default, Clone, Serialize)]
5811pub struct GetDTMFModesParams {
5812    /// Code for a specific DTMF Mode (Example: 'inband')
5813    #[serde(skip_serializing_if = "Option::is_none")]
5814    pub dtmf_mode: Option<DtmfMode>,
5815}
5816
5817/// \- Retrieves Deposits made for a specific Reseller Client.
5818///
5819/// Parameters for [`Client::get_deposits`] (wire method `getDeposits`).
5820#[derive(Debug, Default, Clone, Serialize)]
5821pub struct GetDepositsParams {
5822    /// ID for a specific Reseller Client (Example: 561115) (required)
5823    #[serde(skip_serializing_if = "Option::is_none")]
5824    pub client: Option<String>,
5825}
5826
5827/// \- Retrieves a list of Device Types if no additional parameter is provided.
5828/// \- Retrieves a specific Device Type if a device type code is provided.
5829///
5830/// Parameters for [`Client::get_device_types`] (wire method `getDeviceTypes`).
5831#[derive(Debug, Default, Clone, Serialize)]
5832pub struct GetDeviceTypesParams {
5833    /// Code for a specific Device Type (Example: 1)
5834    #[serde(skip_serializing_if = "Option::is_none")]
5835    pub device_type: Option<String>,
5836}
5837
5838/// \- Retrieves a list of "Email to Fax configurations" from your account if no
5839/// additional parameter is provided.
5840/// \- Retrieves a specific "Email to Fax configuration" from your account if a
5841/// ID is provided.
5842///
5843/// Parameters for [`Client::get_email_to_fax`] (wire method `getEmailToFax`).
5844#[derive(Debug, Default, Clone, Serialize)]
5845pub struct GetEmailToFAXParams {
5846    #[serde(skip_serializing_if = "Option::is_none")]
5847    pub id: Option<i64>,
5848}
5849
5850/// \- Retrieves a list of Fax Folders from your account.
5851///
5852/// Parameters for [`Client::get_fax_folders`] (wire method `getFaxFolders`).
5853#[derive(Debug, Default, Clone, Serialize)]
5854pub struct GetFAXFoldersParams {
5855    #[serde(skip_serializing_if = "Option::is_none")]
5856    pub id: Option<i64>,
5857}
5858
5859/// \- Retrieves a Base64 code of the Fax Message to create a PDF file.
5860///
5861/// Parameters for [`Client::get_fax_message_pdf`] (wire method `getFaxMessagePDF`).
5862#[derive(Debug, Default, Clone, Serialize)]
5863pub struct GetFAXMessagePDFParams {
5864    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
5865    #[serde(skip_serializing_if = "Option::is_none")]
5866    pub id: Option<i64>,
5867}
5868
5869/// \- Retrieves a list of Fax Messages.
5870/// \- Retrieves a specific Fax Message if a Fax Message ID is provided.
5871///
5872/// Parameters for [`Client::get_fax_messages`] (wire method `getFaxMessages`).
5873#[derive(Debug, Default, Clone, Serialize)]
5874pub struct GetFAXMessagesParams {
5875    /// Start Date for Filtering Fax Messages (Example: '2014-03-30') - Default
5876    /// value: Today
5877    #[serde(skip_serializing_if = "Option::is_none")]
5878    pub from: Option<String>,
5879    /// End Date for Filtering Fax Messages (Example: '2014-03-30') - Default
5880    /// value: Today
5881    #[serde(skip_serializing_if = "Option::is_none")]
5882    pub to: Option<String>,
5883    /// Name of specific Fax Folder (Example: SENT) - Default value: ALL
5884    #[serde(skip_serializing_if = "Option::is_none")]
5885    pub folder: Option<String>,
5886    /// ID for a Specific Fax Message (Example: 23434)
5887    #[serde(skip_serializing_if = "Option::is_none")]
5888    pub id: Option<i64>,
5889}
5890
5891/// \- Retrieves a list of Fax Numbers.
5892///
5893/// Parameters for [`Client::get_fax_numbers_info`] (wire method `getFaxNumbersInfo`).
5894#[derive(Debug, Default, Clone, Serialize)]
5895pub struct GetFAXNumbersInfoParams {
5896    /// Fax Number to retrieves the information of a single number, or not send
5897    /// if you want retrieves the information of all your Fax Numbers.
5898    #[serde(skip_serializing_if = "Option::is_none")]
5899    pub did: Option<i64>,
5900}
5901
5902/// \- Shows if a Fax Number can be ported into our network
5903///
5904/// Parameters for [`Client::get_fax_numbers_portability`] (wire method `getFaxNumbersPortability`).
5905#[derive(Debug, Default, Clone, Serialize)]
5906pub struct GetFAXNumbersPortabilityParams {
5907    /// DID Number to be ported into our network (Example: 5552341234)
5908    /// (required)
5909    #[serde(skip_serializing_if = "Option::is_none")]
5910    pub did: Option<i64>,
5911}
5912
5913/// \- Retrieves a list of Canadian Fax Provinces if no additional parameter is
5914/// provided.
5915/// \- Retrieves a specific Canadian Fax Province if a province code is provided.
5916///
5917/// Parameters for [`Client::get_fax_provinces`] (wire method `getFaxProvinces`).
5918#[derive(Debug, Default, Clone, Serialize)]
5919pub struct GetFAXProvincesParams {
5920    /// CODE for a specific Province (Example: AB)
5921    #[serde(skip_serializing_if = "Option::is_none")]
5922    pub province: Option<String>,
5923}
5924
5925/// \- Retrieves a list of Canadian Ratecenters by Province.
5926///
5927/// Parameters for [`Client::get_fax_rate_centers_can`] (wire method `getFaxRateCentersCAN`).
5928#[derive(Debug, Default, Clone, Serialize)]
5929pub struct GetFAXRateCentersCANParams {
5930    /// Province two letters code (Example: AB) (required)
5931    #[serde(skip_serializing_if = "Option::is_none")]
5932    pub province: Option<String>,
5933}
5934
5935/// \- Retrieves a list of USA Ratecenters by State.
5936///
5937/// Parameters for [`Client::get_fax_rate_centers_usa`] (wire method `getFaxRateCentersUSA`).
5938#[derive(Debug, Default, Clone, Serialize)]
5939pub struct GetFAXRateCentersUSAParams {
5940    /// Province two letters code (Example: AL) (required)
5941    #[serde(skip_serializing_if = "Option::is_none")]
5942    pub state: Option<String>,
5943}
5944
5945/// \- Retrieves a list of American Fax States if no additional parameter is
5946/// provided.
5947/// \- Retrieves a specific American Fax State if a state code is provided.
5948///
5949/// Parameters for [`Client::get_fax_states`] (wire method `getFaxStates`).
5950#[derive(Debug, Default, Clone, Serialize)]
5951pub struct GetFAXStatesParams {
5952    /// CODE for a specific State (Example: AL)
5953    #[serde(skip_serializing_if = "Option::is_none")]
5954    pub state: Option<String>,
5955}
5956
5957/// \- Retrieves a list of Forwardings if no additional parameter is provided.
5958/// \- Retrieves a specific Forwarding if a fwd code is provided.
5959///
5960/// Parameters for [`Client::get_forwardings`] (wire method `getForwardings`).
5961#[derive(Debug, Default, Clone, Serialize)]
5962pub struct GetForwardingsParams {
5963    /// ID for a specific Forwarding (Example: 18635)
5964    #[serde(skip_serializing_if = "Option::is_none")]
5965    pub forwarding: Option<String>,
5966}
5967
5968/// \- Shows the IP used by the client application requesting information from
5969/// the API
5970/// \* this is the only function not using the IP for authentication.
5971/// \* the IP returned should be the one used in the API Configuration.
5972///
5973/// Parameters for [`Client::get_ip`] (wire method `getIP`).
5974#[derive(Debug, Default, Clone, Serialize)]
5975pub struct GetIPParams {}
5976
5977/// \- Retrieves a list of IVRs if no additional parameter is provided.
5978/// \- Retrieves a specific IVR if a IVR code is provided.
5979///
5980/// Parameters for [`Client::get_ivrs`] (wire method `getIVRs`).
5981#[derive(Debug, Default, Clone, Serialize)]
5982pub struct GetIVRsParams {
5983    /// ID for a specific IVR (Example: 4636)
5984    #[serde(skip_serializing_if = "Option::is_none")]
5985    pub ivr: Option<String>,
5986}
5987
5988/// \- Retrieves a list of Types for International DIDs if no additional
5989/// parameter is provided.
5990/// \- Retrieves a specific Types for International DIDs if a type code is
5991/// provided.
5992///
5993/// Parameters for [`Client::get_international_types`] (wire method `getInternationalTypes`).
5994#[derive(Debug, Default, Clone, Serialize)]
5995pub struct GetInternationalTypesParams {
5996    /// Code for a specific International Type (Example: 'NATIONAL')
5997    #[serde(skip_serializing_if = "Option::is_none")]
5998    pub r#type: Option<String>,
5999}
6000
6001/// \- Retrieves a list of 'JoinWhenEmpty' Types if no additional parameter is
6002/// provided.
6003/// \- Retrieves a specific 'JoinWhenEmpty' Types if a type code is provided.
6004///
6005/// Parameters for [`Client::get_join_when_empty_types`] (wire method `getJoinWhenEmptyTypes`).
6006#[derive(Debug, Default, Clone, Serialize)]
6007pub struct GetJoinWhenEmptyTypesParams {
6008    /// Code for a specific 'JoinWhenEmpty' Type (Example: 'yes')
6009    #[serde(skip_serializing_if = "Option::is_none")]
6010    pub r#type: Option<String>,
6011}
6012
6013/// \- Retrieve the details of an attached invoice.
6014///
6015/// Parameters for [`Client::get_lnp_attach`] (wire method `getLNPAttach`).
6016#[derive(Debug, Default, Clone, Serialize)]
6017pub struct GetLNPAttachParams {
6018    /// ID of the invoice (attachment) previously uploaded. (required)
6019    #[serde(skip_serializing_if = "Option::is_none")]
6020    pub attachid: Option<i64>,
6021}
6022
6023/// \- Retrieve the list of invoice (attached) files from a given portability
6024/// process.
6025///
6026/// Parameters for [`Client::get_lnp_attach_list`] (wire method `getLNPAttachList`).
6027#[derive(Debug, Default, Clone, Serialize)]
6028pub struct GetLNPAttachListParams {
6029    /// ID of the port previously created. (required)
6030    #[serde(skip_serializing_if = "Option::is_none")]
6031    pub portid: Option<i64>,
6032}
6033
6034/// \- Retrieve the details of a given portability process.
6035///
6036/// Parameters for [`Client::get_lnp_details`] (wire method `getLNPDetails`).
6037#[derive(Debug, Default, Clone, Serialize)]
6038pub struct GetLNPDetailsParams {
6039    /// ID of the port previously created. (required)
6040    #[serde(skip_serializing_if = "Option::is_none")]
6041    pub portid: Option<i64>,
6042}
6043
6044/// \- Retrieve the full list of all your portability processes.
6045///
6046/// Parameters for [`Client::get_lnp_list`] (wire method `getLNPList`).
6047#[derive(Debug, Default, Clone, Serialize)]
6048pub struct GetLNPListParams {
6049    /// ID of the port previously created. (required)
6050    #[serde(skip_serializing_if = "Option::is_none")]
6051    pub portid: Option<i64>,
6052    /// Status code to filtering Ports. Example: precessing. (You can use the
6053    /// values returned by the method getLNPListStatus)
6054    #[serde(skip_serializing_if = "Option::is_none")]
6055    pub portStatus: Option<String>,
6056    /// Start Date for filtering Ports. (Example: '2014-03-30')
6057    #[serde(skip_serializing_if = "Option::is_none")]
6058    pub startDate: Option<String>,
6059    /// End Date for filtering Ports. (Example: '2014-03-30')
6060    #[serde(skip_serializing_if = "Option::is_none")]
6061    pub endDate: Option<String>,
6062}
6063
6064/// \- Retrieve the list of possible status of a portability process.
6065///
6066/// Parameters for [`Client::get_lnp_list_status`] (wire method `getLNPListStatus`).
6067#[derive(Debug, Default, Clone, Serialize)]
6068pub struct GetLNPListStatusParams {}
6069
6070/// \- Retrieve the list of notes from the given portability process.
6071///
6072/// Parameters for [`Client::get_lnp_notes`] (wire method `getLNPNotes`).
6073#[derive(Debug, Default, Clone, Serialize)]
6074pub struct GetLNPNotesParams {
6075    /// ID of the port previously created. (required)
6076    #[serde(skip_serializing_if = "Option::is_none")]
6077    pub portid: Option<i64>,
6078}
6079
6080/// \- Retrieve the current status of a given portability process.
6081///
6082/// Parameters for [`Client::get_lnp_status`] (wire method `getLNPStatus`).
6083#[derive(Debug, Default, Clone, Serialize)]
6084pub struct GetLNPStatusParams {
6085    /// ID of the port previously created. (required)
6086    #[serde(skip_serializing_if = "Option::is_none")]
6087    pub portid: Option<i64>,
6088}
6089
6090/// \- Retrieves a list of Languages if no additional parameter is provided.
6091/// \- Retrieves a specific Language if a language code is provided.
6092///
6093/// Parameters for [`Client::get_languages`] (wire method `getLanguages`).
6094#[derive(Debug, Default, Clone, Serialize)]
6095pub struct GetLanguagesParams {
6096    /// Code for a specific Language (Example: 'en')
6097    #[serde(skip_serializing_if = "Option::is_none")]
6098    pub language: Option<String>,
6099}
6100
6101/// \- Retrieves a list of locale codes if no additional parameter is provided.
6102/// \- Retrieves a specific locale code if a language code is provided.
6103///
6104/// Parameters for [`Client::get_locales`] (wire method `getLocales`).
6105#[derive(Debug, Default, Clone, Serialize)]
6106pub struct GetLocalesParams {
6107    /// Code for a specific Locale Code (Example: 'en-US')
6108    #[serde(skip_serializing_if = "Option::is_none")]
6109    pub locale: Option<String>,
6110}
6111
6112/// Parameters for [`Client::get_locations`] (wire method `getLocations`).
6113#[derive(Debug, Default, Clone, Serialize)]
6114pub struct GetLocationsParams {}
6115
6116/// \- Retrieves a list of Lock Modes if no additional parameter is provided.
6117/// \- Retrieves a specific Lock Mode if a lock code is provided.
6118///
6119/// Parameters for [`Client::get_lock_international`] (wire method `getLockInternational`).
6120#[derive(Debug, Default, Clone, Serialize)]
6121pub struct GetLockInternationalParams {
6122    /// Code for a specific Lock International Mode (Example: 1)
6123    #[serde(skip_serializing_if = "Option::is_none")]
6124    pub lock_international: Option<String>,
6125}
6126
6127/// \- Retrieves a list of MMS messages by: date range, mms type, DID number, and
6128/// contact.
6129///
6130/// Parameters for [`Client::get_mms`] (wire method `getMMS`).
6131#[derive(Debug, Default, Clone, Serialize)]
6132pub struct GetMMSParams {
6133    /// ID for a specific MMS (Example: 1918)
6134    #[serde(skip_serializing_if = "Option::is_none")]
6135    pub mms: Option<i64>,
6136    /// Start Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6137    /// Today
6138    #[serde(skip_serializing_if = "Option::is_none")]
6139    pub from: Option<String>,
6140    /// End Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6141    /// Today
6142    #[serde(skip_serializing_if = "Option::is_none")]
6143    pub to: Option<String>,
6144    /// Filter MMSs by Type (Boolean: 1 = received / 0 = sent)
6145    #[serde(skip_serializing_if = "Option::is_none")]
6146    pub r#type: Option<MessageType>,
6147    /// DID number for Filtering MMSs (Example: 5551234567)
6148    #[serde(skip_serializing_if = "Option::is_none")]
6149    pub did: Option<String>,
6150    /// Contact number for Filtering MMSs (Example: 5551234567)
6151    #[serde(skip_serializing_if = "Option::is_none")]
6152    pub contact: Option<String>,
6153    /// Number of records to be displayed (Example: 20) - Default value: 50
6154    #[serde(skip_serializing_if = "Option::is_none")]
6155    pub limit: Option<String>,
6156    /// Adjust time of MMSs according to Timezome (Numeric: -12 to 13)
6157    #[serde(skip_serializing_if = "Option::is_none")]
6158    pub timezone: Option<String>,
6159    /// Filter to recive all MMSs and SMSs, 1 recive all SMS and MMS, 0 if only
6160    /// need MMS, important: the sms ID must be 0
6161    #[serde(skip_serializing_if = "Option::is_none")]
6162    pub all_messages: Option<i64>,
6163}
6164
6165/// \- Retrieves media files from the message.
6166///
6167/// Parameters for [`Client::get_media_mms`] (wire method `getMediaMMS`).
6168#[derive(Debug, Default, Clone, Serialize)]
6169pub struct GetMediaMMSParams {
6170    /// ID for a specific MMS (Example: 1918)
6171    #[serde(skip_serializing_if = "Option::is_none")]
6172    pub id: Option<i64>,
6173    /// Return the list of media attachments as an Array if the value is 1 or as
6174    /// a JSON Object if the value is 0 (Default: 0)
6175    #[serde(skip_serializing_if = "Option::is_none")]
6176    pub media_as_array: Option<i64>,
6177}
6178
6179/// \- Retrieves a list of Music on Hold Options if no additional parameter is
6180/// provided.
6181/// \- Retrieves a specific Music on Hold Option if a MOH code is provided.
6182///
6183/// Parameters for [`Client::get_music_on_hold`] (wire method `getMusicOnHold`).
6184#[derive(Debug, Default, Clone, Serialize)]
6185pub struct GetMusicOnHoldParams {
6186    /// Code for a specific Music on Hold (Example: 'jazz')
6187    #[serde(skip_serializing_if = "Option::is_none")]
6188    pub music_on_hold: Option<String>,
6189}
6190
6191/// \- Retrieves a list of NAT Options if no additional parameter is provided.
6192/// \- Retrieves a specific NAT Option if a NAT code is provided.
6193///
6194/// Parameters for [`Client::get_nat`] (wire method `getNAT`).
6195#[derive(Debug, Default, Clone, Serialize)]
6196pub struct GetNATParams {
6197    /// Code for a specific NAT Option (Example: 'route')
6198    #[serde(skip_serializing_if = "Option::is_none")]
6199    pub nat: Option<Nat>,
6200}
6201
6202/// \- Retrieves a list of Packages if no additional parameter is provided.-
6203/// Retrieves a specific Package if a package code is provided.
6204///
6205/// Parameters for [`Client::get_packages`] (wire method `getPackages`).
6206#[derive(Debug, Default, Clone, Serialize)]
6207pub struct GetPackagesParams {
6208    /// Code for a specific Package (Example: 8378)
6209    #[serde(skip_serializing_if = "Option::is_none")]
6210    pub package: Option<String>,
6211}
6212
6213/// \- Retrieves a list of Phonebook entries if no additional parameter is
6214/// provided.
6215/// \- Retrieves a list of Phonebook entries if a name is provided.
6216/// \- Retrieves a specific Phonebook entry if a Phonebook code is provided.
6217/// \- Retrieves a list of Phonebook entries if a phonebook group name is
6218/// provided.
6219/// \- Retrieves a list of Phonebook entries if a phonebook group code is
6220/// provided.
6221///
6222/// Parameters for [`Client::get_phonebook`] (wire method `getPhonebook`).
6223#[derive(Debug, Default, Clone, Serialize)]
6224pub struct GetPhonebookParams {
6225    /// ID for a specific Phonebook entry (Example: 32207)
6226    #[serde(skip_serializing_if = "Option::is_none")]
6227    pub phonebook: Option<String>,
6228    /// Name to be searched in database (Example: 'jane')
6229    #[serde(skip_serializing_if = "Option::is_none")]
6230    pub name: Option<String>,
6231    /// ID for a specific Phonebook group
6232    #[serde(skip_serializing_if = "Option::is_none")]
6233    pub group: Option<String>,
6234    /// Group Name
6235    #[serde(skip_serializing_if = "Option::is_none")]
6236    pub group_name: Option<String>,
6237}
6238
6239/// \- Retrieves a list of Phonebook groups if no additional parameter is
6240/// provided.
6241/// \- Retrieves a list of Phonebook groups if a name is provided.
6242/// \- Retrieves a specific Phonebook group if a group ID is provided.
6243///
6244/// Parameters for [`Client::get_phonebook_groups`] (wire method `getPhonebookGroups`).
6245#[derive(Debug, Default, Clone, Serialize)]
6246pub struct GetPhonebookGroupsParams {
6247    /// Group Name
6248    #[serde(skip_serializing_if = "Option::is_none")]
6249    pub name: Option<String>,
6250    /// ID for a specific Phonebook group
6251    #[serde(skip_serializing_if = "Option::is_none")]
6252    pub group: Option<String>,
6253}
6254
6255/// \- Retrieves a list of Play Instructions modes if no additional parameter is
6256/// provided.
6257/// \- Retrieves a specific Play Instructions mode if a play code is provided.
6258///
6259/// Parameters for [`Client::get_play_instructions`] (wire method `getPlayInstructions`).
6260#[derive(Debug, Default, Clone, Serialize)]
6261pub struct GetPlayInstructionsParams {
6262    /// Code for a specific Play Instructions setting (Example: 'u')
6263    #[serde(skip_serializing_if = "Option::is_none")]
6264    pub play_instructions: Option<PlayInstructions>,
6265}
6266
6267/// \- Shows if a DID Number can be ported into our network.
6268/// \- Display plans and rates available if the DID Number can be ported into our
6269/// network.
6270///
6271/// Parameters for [`Client::get_portability`] (wire method `getPortability`).
6272#[derive(Debug, Default, Clone, Serialize)]
6273pub struct GetPortabilityParams {
6274    /// DID Number to be ported into our network (Example: 5552341234)
6275    /// (required)
6276    #[serde(skip_serializing_if = "Option::is_none")]
6277    pub did: Option<String>,
6278}
6279
6280/// \- Retrieves a list of Protocols if no additional parameter is provided.
6281/// \- Retrieves a specific Protocol if a protocol code is provided.
6282///
6283/// Parameters for [`Client::get_protocols`] (wire method `getProtocols`).
6284#[derive(Debug, Default, Clone, Serialize)]
6285pub struct GetProtocolsParams {
6286    /// Code for a specific Protocol (Example: 3)
6287    #[serde(skip_serializing_if = "Option::is_none")]
6288    pub protocol: Option<String>,
6289}
6290
6291/// \- Retrieves a list of Canadian Provinces.
6292///
6293/// Parameters for [`Client::get_provinces`] (wire method `getProvinces`).
6294#[derive(Debug, Default, Clone, Serialize)]
6295pub struct GetProvincesParams {}
6296
6297/// \- Retrieves a list of Queue entries if no additional parameter is provided.
6298/// \- Retrieves a specific Queue entry if a Queue code is provided.
6299///
6300/// Parameters for [`Client::get_queues`] (wire method `getQueues`).
6301#[derive(Debug, Default, Clone, Serialize)]
6302pub struct GetQueuesParams {
6303    /// ID for a specific Queue (Example: 4764)
6304    #[serde(skip_serializing_if = "Option::is_none")]
6305    pub queue: Option<String>,
6306}
6307
6308/// \- Retrieves a list of Canadian Ratecenters by Province.
6309///
6310/// Parameters for [`Client::get_rate_centers_can`] (wire method `getRateCentersCAN`).
6311#[derive(Debug, Default, Clone, Serialize)]
6312pub struct GetRateCentersCANParams {
6313    /// Canadian Province (Values from getProvinces) (required)
6314    #[serde(skip_serializing_if = "Option::is_none")]
6315    pub province: Option<String>,
6316}
6317
6318/// \- Retrieves a list of USA Ratecenters by State.
6319///
6320/// Parameters for [`Client::get_rate_centers_usa`] (wire method `getRateCentersUSA`).
6321#[derive(Debug, Default, Clone, Serialize)]
6322pub struct GetRateCentersUSAParams {
6323    /// United States State (Values from getStates) (required)
6324    #[serde(skip_serializing_if = "Option::is_none")]
6325    pub state: Option<String>,
6326}
6327
6328/// \- Retrieves the Rates for a specific Package and a Search term.
6329///
6330/// Parameters for [`Client::get_rates`] (wire method `getRates`).
6331#[derive(Debug, Default, Clone, Serialize)]
6332pub struct GetRatesParams {
6333    /// ID for a specific Package (Example: 92364) (required)
6334    #[serde(skip_serializing_if = "Option::is_none")]
6335    pub package: Option<String>,
6336    /// Query for searching rates (Example: 'Canada') (required)
6337    #[serde(skip_serializing_if = "Option::is_none")]
6338    pub query: Option<String>,
6339}
6340
6341/// \- Retrieves a specific Recording File data in Base64 format.
6342///
6343/// Parameters for [`Client::get_recording_file`] (wire method `getRecordingFile`).
6344#[derive(Debug, Default, Clone, Serialize)]
6345pub struct GetRecordingFileParams {
6346    /// ID for a specific Recording (Example: 7567) (required)
6347    #[serde(skip_serializing_if = "Option::is_none")]
6348    pub recording: Option<String>,
6349}
6350
6351/// \- Retrieves a list of Recordings if no additional parameter is provided.
6352/// \- Retrieves a specific Recording if a Recording code is provided.
6353///
6354/// Parameters for [`Client::get_recordings`] (wire method `getRecordings`).
6355#[derive(Debug, Default, Clone, Serialize)]
6356pub struct GetRecordingsParams {
6357    /// ID for a specific Recording (Example: 7567)
6358    #[serde(skip_serializing_if = "Option::is_none")]
6359    pub recording: Option<String>,
6360}
6361
6362/// \- Retrieves the Registration Status of all accounts if no account is
6363/// provided.
6364///
6365/// Parameters for [`Client::get_registration_status`] (wire method `getRegistrationStatus`).
6366#[derive(Debug, Default, Clone, Serialize)]
6367pub struct GetRegistrationStatusParams {
6368    /// Specific Account (Example: '100001_VoIP') (required)
6369    #[serde(skip_serializing_if = "Option::is_none")]
6370    pub account: Option<String>,
6371}
6372
6373/// \- Retrieves a list of 'ReportEstimateHoldTime' Types if no additional
6374/// parameter is provided.
6375/// \- Retrieves a specific 'ReportEstimateHoldTime' Type if a type code is
6376/// provided.
6377///
6378/// Parameters for [`Client::get_report_estimated_hold_time`] (wire method `getReportEstimatedHoldTime`).
6379#[derive(Debug, Default, Clone, Serialize)]
6380pub struct GetReportEstimatedHoldTimeParams {
6381    /// Code for a specific 'ReportEstimatedHoldTime' Type (Example: 'yes')
6382    #[serde(skip_serializing_if = "Option::is_none")]
6383    pub r#type: Option<String>,
6384}
6385
6386/// \- Retrieves Balance and Calls Statistics for a specific Reseller Client for
6387/// the last 30 days and current day.
6388///
6389/// Parameters for [`Client::get_reseller_balance`] (wire method `getResellerBalance`).
6390#[derive(Debug, Default, Clone, Serialize)]
6391pub struct GetResellerBalanceParams {
6392    /// ID for a specific Reseller Client (Example: 561115) (required)
6393    #[serde(skip_serializing_if = "Option::is_none")]
6394    pub client: Option<String>,
6395}
6396
6397/// \- Retrieves the Call Detail Records for a specific Reseller Client.
6398///
6399/// Parameters for [`Client::get_reseller_cdr`] (wire method `getResellerCDR`).
6400#[derive(Debug, Default, Clone, Serialize)]
6401pub struct GetResellerCDRParams {
6402    /// Start Date for Filtering CDR (Example: '2010-11-30') (required)
6403    #[serde(skip_serializing_if = "Option::is_none")]
6404    pub date_from: Option<String>,
6405    /// End Date for Filtering CDR (Example: '2010-11-30') (required)
6406    #[serde(skip_serializing_if = "Option::is_none")]
6407    pub date_to: Option<String>,
6408    /// ID for a specific Reseller Client (Example: 561115) (required)
6409    #[serde(skip_serializing_if = "Option::is_none")]
6410    pub client: Option<i64>,
6411    /// Include Answered Calls to CDR (Boolean: 1/0)
6412    #[serde(skip_serializing_if = "Option::is_none")]
6413    pub answered: Option<bool>,
6414    /// Include NoAnswered calls to CDR (Boolean: 1/0)
6415    #[serde(skip_serializing_if = "Option::is_none")]
6416    pub noanswer: Option<bool>,
6417    /// Include Busy Calls to CDR (Boolean: 1/0)
6418    #[serde(skip_serializing_if = "Option::is_none")]
6419    pub busy: Option<bool>,
6420    /// Include Failed Calls to CDR (Boolean: 1/0)
6421    #[serde(skip_serializing_if = "Option::is_none")]
6422    pub failed: Option<bool>,
6423    /// Adjust time of calls according to Timezome (Numeric: -12 to 13)
6424    /// (required)
6425    #[serde(skip_serializing_if = "Option::is_none")]
6426    pub timezone: Option<f64>,
6427    /// Filters CDR by Call Type (Values from getCallTypes)
6428    #[serde(skip_serializing_if = "Option::is_none")]
6429    pub calltype: Option<String>,
6430    /// Filter CDR by Call Billing (Values from getCallBilling)
6431    #[serde(skip_serializing_if = "Option::is_none")]
6432    pub callbilling: Option<String>,
6433    /// Filter CDR by Account (Values from getCallAccounts)
6434    #[serde(skip_serializing_if = "Option::is_none")]
6435    pub account: Option<String>,
6436}
6437
6438/// \- Retrieves a list of MMS messages for a specific Reseller Client. by: date
6439/// range, mms type, DID number, and contact
6440///
6441/// Parameters for [`Client::get_reseller_mms`] (wire method `getResellerMMS`).
6442#[derive(Debug, Default, Clone, Serialize)]
6443pub struct GetResellerMMSParams {
6444    #[serde(skip_serializing_if = "Option::is_none")]
6445    pub mms: Option<i64>,
6446    #[serde(skip_serializing_if = "Option::is_none")]
6447    pub client: Option<i64>,
6448    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6449    /// Today
6450    #[serde(skip_serializing_if = "Option::is_none")]
6451    pub from: Option<String>,
6452    /// End Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6453    /// Todayclient => \[Required\] ID for a specific Reseller Client (Example:
6454    /// 561115)
6455    #[serde(skip_serializing_if = "Option::is_none")]
6456    pub to: Option<String>,
6457    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6458    #[serde(skip_serializing_if = "Option::is_none")]
6459    pub r#type: Option<MessageType>,
6460    /// DID number for Filtering MMSs (Example: 5551234567)
6461    #[serde(skip_serializing_if = "Option::is_none")]
6462    pub did: Option<String>,
6463    /// Contact number for Filtering MMSs (Example: 5551234567)
6464    #[serde(skip_serializing_if = "Option::is_none")]
6465    pub contact: Option<String>,
6466    /// Number of records to be displayed (Example: 20) - Default value: 50
6467    #[serde(skip_serializing_if = "Option::is_none")]
6468    pub limit: Option<String>,
6469    /// Adjust time of MMSs according to Timezome (Numeric: -12 to 13)
6470    #[serde(skip_serializing_if = "Option::is_none")]
6471    pub timezone: Option<String>,
6472    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6473    /// need SMS, important: the sms ID must be 0
6474    #[serde(skip_serializing_if = "Option::is_none")]
6475    pub all_messages: Option<i64>,
6476}
6477
6478/// \- Retrieves a list of SMS messages for a specific Reseller Client. by: date
6479/// range, sms type, DID number, and contact
6480///
6481/// Parameters for [`Client::get_reseller_sms`] (wire method `getResellerSMS`).
6482#[derive(Debug, Default, Clone, Serialize)]
6483pub struct GetResellerSMSParams {
6484    /// ID for a specific SMS (Example: 5853)
6485    #[serde(skip_serializing_if = "Option::is_none")]
6486    pub sms: Option<i64>,
6487    #[serde(skip_serializing_if = "Option::is_none")]
6488    pub client: Option<i64>,
6489    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6490    /// Today
6491    #[serde(skip_serializing_if = "Option::is_none")]
6492    pub from: Option<String>,
6493    /// End Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6494    /// Todayclient => \[Required\] ID for a specific Reseller Client (Example:
6495    /// 561115)
6496    #[serde(skip_serializing_if = "Option::is_none")]
6497    pub to: Option<String>,
6498    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6499    #[serde(skip_serializing_if = "Option::is_none")]
6500    pub r#type: Option<MessageType>,
6501    /// DID number for Filtering SMSs (Example: 5551234567)
6502    #[serde(skip_serializing_if = "Option::is_none")]
6503    pub did: Option<String>,
6504    /// Contact number for Filtering SMSs (Example: 5551234567)
6505    #[serde(skip_serializing_if = "Option::is_none")]
6506    pub contact: Option<String>,
6507    /// Number of records to be displayed (Example: 20) - Default value: 50
6508    #[serde(skip_serializing_if = "Option::is_none")]
6509    pub limit: Option<String>,
6510    /// Adjust time of SMSs according to Timezome (Numeric: -12 to 13)
6511    #[serde(skip_serializing_if = "Option::is_none")]
6512    pub timezone: Option<String>,
6513    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6514    /// need SMS, important: the sms ID must be 0
6515    #[serde(skip_serializing_if = "Option::is_none")]
6516    pub all_messages: Option<i64>,
6517}
6518
6519/// \- Retrieves a list of Ring Groups if no additional parameter is provided.
6520/// \- Retrieves a specific Ring Group if a ring group code is provided.
6521///
6522/// Parameters for [`Client::get_ring_groups`] (wire method `getRingGroups`).
6523#[derive(Debug, Default, Clone, Serialize)]
6524pub struct GetRingGroupsParams {
6525    /// ID for a specific Ring Group (Example: 4768)
6526    #[serde(skip_serializing_if = "Option::is_none")]
6527    pub ring_group: Option<String>,
6528}
6529
6530/// \- Retrieves a list of Ring Strategies if no additional parameter is
6531/// provided.
6532/// \- Retrieves a specific Ring Strategy if a ring strategy code is provided.
6533///
6534/// Parameters for [`Client::get_ring_strategies`] (wire method `getRingStrategies`).
6535#[derive(Debug, Default, Clone, Serialize)]
6536pub struct GetRingStrategiesParams {
6537    /// ID for a specific Ring Strategy (Example: 'rrmemory')
6538    #[serde(skip_serializing_if = "Option::is_none")]
6539    pub strategy: Option<String>,
6540}
6541
6542/// \- Retrieves a list of Route Options if no additional parameter is provided.
6543/// \- Retrieves a specific Route Option if a route code is provided.
6544///
6545/// Parameters for [`Client::get_routes`] (wire method `getRoutes`).
6546#[derive(Debug, Default, Clone, Serialize)]
6547pub struct GetRoutesParams {
6548    /// Code for a specific Route (Example: 2)
6549    #[serde(skip_serializing_if = "Option::is_none")]
6550    pub route: Option<String>,
6551}
6552
6553/// \- Retrieves a list of SIP URIs if no additional parameter is provided.
6554/// \- Retrieves a specific SIP URI if a SIP URI code is provided.
6555///
6556/// Parameters for [`Client::get_sip_uris`] (wire method `getSIPURIs`).
6557#[derive(Debug, Default, Clone, Serialize)]
6558pub struct GetSIPURIsParams {
6559    /// ID for a specific SIP URI (Example: 6199)
6560    #[serde(skip_serializing_if = "Option::is_none")]
6561    pub sipuri: Option<String>,
6562}
6563
6564/// \- Retrieves a list of SMS messages by: date range, sms type, DID number, and
6565/// contact.
6566///
6567/// Parameters for [`Client::get_sms`] (wire method `getSMS`).
6568#[derive(Debug, Default, Clone, Serialize)]
6569pub struct GetSMSParams {
6570    /// ID for a specific SMS (Example: 5853)
6571    #[serde(skip_serializing_if = "Option::is_none")]
6572    pub sms: Option<i64>,
6573    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6574    /// Today
6575    #[serde(skip_serializing_if = "Option::is_none")]
6576    pub from: Option<String>,
6577    /// End Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6578    /// Today
6579    #[serde(skip_serializing_if = "Option::is_none")]
6580    pub to: Option<String>,
6581    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6582    #[serde(skip_serializing_if = "Option::is_none")]
6583    pub r#type: Option<MessageType>,
6584    /// DID number for Filtering SMSs (Example: 5551234567)
6585    #[serde(skip_serializing_if = "Option::is_none")]
6586    pub did: Option<String>,
6587    /// Contact number for Filtering SMSs (Example: 5551234567)
6588    #[serde(skip_serializing_if = "Option::is_none")]
6589    pub contact: Option<String>,
6590    /// Number of records to be displayed (Example: 20) - Default value: 50
6591    #[serde(skip_serializing_if = "Option::is_none")]
6592    pub limit: Option<String>,
6593    /// Adjust time of SMSs according to Timezome (Numeric: -12 to 13)
6594    #[serde(skip_serializing_if = "Option::is_none")]
6595    pub timezone: Option<String>,
6596    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6597    /// need SMS, important: the sms ID must be 0
6598    #[serde(skip_serializing_if = "Option::is_none")]
6599    pub all_messages: Option<i64>,
6600}
6601
6602/// \- Retrieves a list of Servers with their info if no additional parameter is
6603/// provided.
6604/// \- Retrieves a specific Server with its info if a Server POP is provided.
6605///
6606/// Parameters for [`Client::get_servers_info`] (wire method `getServersInfo`).
6607#[derive(Debug, Default, Clone, Serialize)]
6608pub struct GetServersInfoParams {
6609    /// POP for a specific Server (Example: 1)
6610    #[serde(skip_serializing_if = "Option::is_none")]
6611    pub server_pop: Option<String>,
6612}
6613
6614/// \- Retrieves a list of USA States.
6615///
6616/// Parameters for [`Client::get_states`] (wire method `getStates`).
6617#[derive(Debug, Default, Clone, Serialize)]
6618pub struct GetStatesParams {}
6619
6620/// \- Retrieves a list of Static Members from a queue if no additional parameter
6621/// is provided.
6622/// \- Retrieves a specific Static Member from a queue if Queue ID and Member ID
6623/// are provided
6624///
6625/// Parameters for [`Client::get_static_members`] (wire method `getStaticMembers`).
6626#[derive(Debug, Default, Clone, Serialize)]
6627pub struct GetStaticMembersParams {
6628    /// ID for a specific Queue (Example: 4136) (required)
6629    #[serde(skip_serializing_if = "Option::is_none")]
6630    pub queue: Option<String>,
6631    /// ID for a specific Static Member (Example: 163) - The Member must belong
6632    /// to the queue provided
6633    #[serde(skip_serializing_if = "Option::is_none")]
6634    pub member: Option<String>,
6635}
6636
6637/// \- Retrieves all Sub Accounts if no additional parameter is provided.
6638/// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
6639/// \- Retrieves a specific Sub Account if a Sub Account is provided.
6640///
6641/// Parameters for [`Client::get_sub_accounts`] (wire method `getSubAccounts`).
6642#[derive(Debug, Default, Clone, Serialize)]
6643pub struct GetSubAccountsParams {
6644    /// Parameter could have the following values: * Empty Value \[Not
6645    /// Required\] * Specific Sub Account (Example: '100000_VoIP') * Specific
6646    /// Reseller Client ID (Example: 561115)
6647    #[serde(skip_serializing_if = "Option::is_none")]
6648    pub account: Option<String>,
6649}
6650
6651/// \- Retrieves the Rates for a specific Route (Premium, Value) and a Search
6652/// term.
6653///
6654/// Parameters for [`Client::get_termination_rates`] (wire method `getTerminationRates`).
6655#[derive(Debug, Default, Clone, Serialize)]
6656pub struct GetTerminationRatesParams {
6657    /// Query for searching rates (Example: 'Canada') (required)
6658    #[serde(skip_serializing_if = "Option::is_none")]
6659    pub query: Option<String>,
6660    /// Route Code (Values from getRoutes)(Example: '2') (required)
6661    #[serde(skip_serializing_if = "Option::is_none")]
6662    pub route: Option<i64>,
6663}
6664
6665/// \- Retrieves a list of Time Conditions if no additional parameter is
6666/// provided.
6667/// \- Retrieves a specific Time Condition if a time condition code is provided.
6668///
6669/// Parameters for [`Client::get_time_conditions`] (wire method `getTimeConditions`).
6670#[derive(Debug, Default, Clone, Serialize)]
6671pub struct GetTimeConditionsParams {
6672    /// ID for a specific Time Condition (Example: 1830)
6673    #[serde(skip_serializing_if = "Option::is_none")]
6674    pub timecondition: Option<i64>,
6675}
6676
6677/// \- Retrieves a list of Timezones if no additional parameter is provided.
6678/// \- Retrieves a specific Timezone if a timezone code is provided.
6679///
6680/// Parameters for [`Client::get_timezones`] (wire method `getTimezones`).
6681#[derive(Debug, Default, Clone, Serialize)]
6682pub struct GetTimezonesParams {
6683    /// Code for a specific Time Zone (Example: 'America/Buenos_Aires')
6684    #[serde(skip_serializing_if = "Option::is_none")]
6685    pub timezone: Option<String>,
6686}
6687
6688/// \- Retrieves the Transaction History records between two dates.
6689///
6690/// Parameters for [`Client::get_transaction_history`] (wire method `getTransactionHistory`).
6691#[derive(Debug, Default, Clone, Serialize)]
6692pub struct GetTransactionHistoryParams {
6693    /// Start Date for Filtering Transactions (Example: '2016-06-03') (required)
6694    #[serde(skip_serializing_if = "Option::is_none")]
6695    pub date_from: Option<String>,
6696    /// End Date for Filtering Transactions (Example: '2016-06-04') (required)
6697    #[serde(skip_serializing_if = "Option::is_none")]
6698    pub date_to: Option<String>,
6699}
6700
6701/// \- Retrieves a list of vpri.
6702///
6703/// Parameters for [`Client::get_vpris`] (wire method `getVPRIs`).
6704#[derive(Debug, Default, Clone, Serialize)]
6705pub struct GetVPRIsParams {}
6706
6707/// \- Retrieves a list of Email Attachment Format Options if no additional
6708/// parameter is provided.
6709/// \- Retrieves a specific Email Attachment Format Option if a format value is
6710/// provided.
6711///
6712/// Parameters for [`Client::get_voicemail_attachment_formats`] (wire method `getVoicemailAttachmentFormats`).
6713#[derive(Debug, Default, Clone, Serialize)]
6714pub struct GetVoicemailAttachmentFormatsParams {
6715    /// ID for a specific attachment format (Example: wav49)
6716    #[serde(skip_serializing_if = "Option::is_none")]
6717    pub email_attachment_format: Option<EmailAttachmentFormat>,
6718}
6719
6720/// \- Retrieves a list of default Voicemail Folders if no additional parameter
6721/// is provided.
6722/// \- Retrieves a list of Voicemail Folders within a mailbox if mailbox
6723/// parameter is provided.
6724/// \- Retrieves a specific Folder if a folder name is provided.
6725///
6726/// Parameters for [`Client::get_voicemail_folders`] (wire method `getVoicemailFolders`).
6727#[derive(Debug, Default, Clone, Serialize)]
6728pub struct GetVoicemailFoldersParams {
6729    /// Folder Name (Example: 'INBOX')
6730    #[serde(skip_serializing_if = "Option::is_none")]
6731    pub folder: Option<VoicemailFolder>,
6732}
6733
6734/// \- Retrieves a specific Voicemail Message File in Base64 format.
6735///
6736/// Parameters for [`Client::get_voicemail_message_file`] (wire method `getVoicemailMessageFile`).
6737#[derive(Debug, Default, Clone, Serialize)]
6738pub struct GetVoicemailMessageFileParams {
6739    /// ID for specific Mailbox (Example: 1001) (required)
6740    #[serde(skip_serializing_if = "Option::is_none")]
6741    pub mailbox: Option<String>,
6742    /// Name for specific Folder (Example: 'INBOX', values from:
6743    /// getVoicemailFolders) (required)
6744    #[serde(skip_serializing_if = "Option::is_none")]
6745    pub folder: Option<VoicemailFolder>,
6746    /// ID for specific Voicemail Message (Example: 1) (required)
6747    #[serde(skip_serializing_if = "Option::is_none")]
6748    pub message_num: Option<i64>,
6749}
6750
6751/// \- Retrieves a list of Voicemail Messages if mailbox parameter is provided.
6752/// \- Retrieves a list of Voicemail Messages in a Folder if a folder is
6753/// provided.
6754/// \- Retrieves a list of Voicemail Messages in a date range if a from and to
6755/// are provided.
6756///
6757/// Parameters for [`Client::get_voicemail_messages`] (wire method `getVoicemailMessages`).
6758#[derive(Debug, Default, Clone, Serialize)]
6759pub struct GetVoicemailMessagesParams {
6760    /// ID for specific Mailbox (Example: 1001) (required)
6761    #[serde(skip_serializing_if = "Option::is_none")]
6762    pub mailbox: Option<String>,
6763    /// Name for specific Folder (Example: 'INBOX', values from:
6764    /// getVoicemailFolders)
6765    #[serde(skip_serializing_if = "Option::is_none")]
6766    pub folder: Option<VoicemailFolder>,
6767    /// Start Date for Filtering Voicemail Messages (Example: '2016-01-30')
6768    #[serde(skip_serializing_if = "Option::is_none")]
6769    pub date_from: Option<String>,
6770    /// End Date for Filtering Voicemail Messages (Example: '2016-01-30')
6771    #[serde(skip_serializing_if = "Option::is_none")]
6772    pub date_to: Option<String>,
6773}
6774
6775/// \- Retrieves a list of Voicemail Setup Options if no additional parameter is
6776/// provided.
6777/// \- Retrieves a specific Voicemail Setup Option if a voicemail setup code is
6778/// provided.
6779///
6780/// Parameters for [`Client::get_voicemail_setups`] (wire method `getVoicemailSetups`).
6781#[derive(Debug, Default, Clone, Serialize)]
6782pub struct GetVoicemailSetupsParams {
6783    /// ID for a specific Voicemail Setup (Example: 2)
6784    #[serde(skip_serializing_if = "Option::is_none")]
6785    pub voicemailsetup: Option<String>,
6786}
6787
6788/// \- Retrieves all Voicemail Transcriptions if no additional parameter is
6789/// provided.
6790///
6791/// Parameters for [`Client::get_voicemail_transcriptions`] (wire method `getVoicemailTranscriptions`).
6792#[derive(Debug, Default, Clone, Serialize)]
6793pub struct GetVoicemailTranscriptionsParams {
6794    #[serde(skip_serializing_if = "Option::is_none")]
6795    pub account: Option<String>,
6796    /// ID for specific Mailbox (Example: 1001) (required)
6797    #[serde(skip_serializing_if = "Option::is_none")]
6798    pub mailbox: Option<String>,
6799    /// End Date for Filtering (Example: '2010-11-30') (required)
6800    #[serde(skip_serializing_if = "Option::is_none")]
6801    pub date_to: Option<String>,
6802    /// Start Date for Filtering (Example: '2010-11-30') (required)
6803    #[serde(skip_serializing_if = "Option::is_none")]
6804    pub date_from: Option<String>,
6805    /// Name for specific Folder (Example: 'INBOX', values from:
6806    /// getVoicemailFolders) (required)
6807    #[serde(skip_serializing_if = "Option::is_none")]
6808    pub folder: Option<VoicemailFolder>,
6809}
6810
6811/// \- Retrieves a list of Voicemails if no additional parameter is provided.
6812/// \- Retrieves a specific Voicemail if a voicemail code is provided.
6813///
6814/// Parameters for [`Client::get_voicemails`] (wire method `getVoicemails`).
6815#[derive(Debug, Default, Clone, Serialize)]
6816pub struct GetVoicemailsParams {
6817    /// ID for specific Mailbox (Example: 1001)
6818    #[serde(skip_serializing_if = "Option::is_none")]
6819    pub mailbox: Option<String>,
6820}
6821
6822/// \- Send a Fax Message attached as a PDF file to an email destination.
6823///
6824/// Parameters for [`Client::mail_fax_message_pdf`] (wire method `mailFaxMessagePDF`).
6825#[derive(Debug, Default, Clone, Serialize)]
6826pub struct MailFAXMessagePDFParams {
6827    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
6828    #[serde(skip_serializing_if = "Option::is_none")]
6829    pub id: Option<i64>,
6830    /// Destination email adreess (example: \[email protected\]) (required)
6831    #[serde(skip_serializing_if = "Option::is_none")]
6832    pub email: Option<String>,
6833}
6834
6835/// \- Mark a Voicemail Message as Listened or Unlistened.
6836/// \- If value is 'yes', the voicemail message will be marked as listened and
6837/// will be moved to the Old Folder.
6838/// \- If value is 'no', the voicemail message will be marked as not-listened and
6839/// will be moved to the INBOX Folder.
6840///
6841/// Parameters for [`Client::mark_listened_voicemail_message`] (wire method `markListenedVoicemailMessage`).
6842#[derive(Debug, Default, Clone, Serialize)]
6843pub struct MarkListenedVoicemailMessageParams {
6844    /// ID for specific Mailbox (Example: 1001) (required)
6845    #[serde(skip_serializing_if = "Option::is_none")]
6846    pub mailbox: Option<String>,
6847    /// Name for specific Folder (Example: 'INBOX', values from:
6848    /// getVoicemailFolders) (required)
6849    #[serde(skip_serializing_if = "Option::is_none")]
6850    pub folder: Option<VoicemailFolder>,
6851    /// ID for specific Voicemail Message (Example: 1) (required)
6852    #[serde(skip_serializing_if = "Option::is_none")]
6853    pub message_num: Option<i64>,
6854    /// Code for mark voicemail as listened or not-listened (Values: 'yes'/'no')
6855    /// (required)
6856    #[serde(
6857        skip_serializing_if = "Option::is_none",
6858        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
6859    )]
6860    pub listened: Option<bool>,
6861}
6862
6863/// \- Mark Voicemail Message as Urgent or not Urgent.
6864/// \- If value is 'yes', the voicemail message will be marked as urgent and will
6865/// be moved to the Urgent Folder.
6866/// \- If value is 'no', the voicemail message will be unmarked as urgent and
6867/// will be moved to the INBOX Folder.
6868///
6869/// Parameters for [`Client::mark_urgent_voicemail_message`] (wire method `markUrgentVoicemailMessage`).
6870#[derive(Debug, Default, Clone, Serialize)]
6871pub struct MarkUrgentVoicemailMessageParams {
6872    /// ID for specific Mailbox (Example: 1001) (required)
6873    #[serde(skip_serializing_if = "Option::is_none")]
6874    pub mailbox: Option<String>,
6875    /// Name for specific Folder (Example: 'INBOX', values from:
6876    /// getVoicemailFolders) (required)
6877    #[serde(skip_serializing_if = "Option::is_none")]
6878    pub folder: Option<VoicemailFolder>,
6879    /// ID for specific Voicemail Message (Example: 1) (required)
6880    #[serde(skip_serializing_if = "Option::is_none")]
6881    pub message_num: Option<i64>,
6882    /// Code for mark voicemail as urgent or not-urgent (Values: 'yes'/'no')
6883    /// (required)
6884    #[serde(
6885        skip_serializing_if = "Option::is_none",
6886        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
6887    )]
6888    pub urgent: Option<bool>,
6889}
6890
6891/// \- Moves a Fax Message to a different folder.
6892///
6893/// Parameters for [`Client::move_fax_message`] (wire method `moveFaxMessage`).
6894#[derive(Debug, Default, Clone, Serialize)]
6895pub struct MoveFAXMessageParams {
6896    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
6897    #[serde(skip_serializing_if = "Option::is_none")]
6898    pub fax_id: Option<i64>,
6899    /// ID of the destination Fax Folder (Values from getFaxFolders) (required)
6900    #[serde(skip_serializing_if = "Option::is_none")]
6901    pub folder_id: Option<i64>,
6902    /// Set to true if testing how to move a Fax Message
6903    #[serde(
6904        skip_serializing_if = "crate::responses::is_false",
6905        serialize_with = "crate::responses::serialize_flag_01"
6906    )]
6907    pub test: bool,
6908}
6909
6910/// \- Move Voicemail Message to a Destination Folder.
6911///
6912/// Parameters for [`Client::move_folder_voicemail_message`] (wire method `moveFolderVoicemailMessage`).
6913#[derive(Debug, Default, Clone, Serialize)]
6914pub struct MoveFolderVoicemailMessageParams {
6915    /// ID for specific Mailbox (Example: 1001) (required)
6916    #[serde(skip_serializing_if = "Option::is_none")]
6917    pub mailbox: Option<String>,
6918    /// Name for specific Folder (Example: 'INBOX', values from:
6919    /// getVoicemailFolders) (required)
6920    #[serde(skip_serializing_if = "Option::is_none")]
6921    pub folder: Option<VoicemailFolder>,
6922    /// ID for specific Voicemail Message (Example: 1) (required)
6923    #[serde(skip_serializing_if = "Option::is_none")]
6924    pub message_num: Option<i64>,
6925    /// Destination Folder (Example: 'Urgent', values from: getVoicemailFolders)
6926    /// (required)
6927    #[serde(skip_serializing_if = "Option::is_none")]
6928    pub new_folder: Option<String>,
6929}
6930
6931/// \- Orders and Adds a new DID Number to the Account.
6932///
6933/// Parameters for [`Client::order_did`] (wire method `orderDID`).
6934#[derive(Debug, Default, Clone, Serialize)]
6935pub struct OrderDIDParams {
6936    /// DID to be Ordered (Example: 5552223333) (required)
6937    #[serde(skip_serializing_if = "Option::is_none")]
6938    pub did: Option<String>,
6939    /// Main Routing for the DID (required)
6940    #[serde(skip_serializing_if = "Option::is_none")]
6941    pub routing: Option<crate::Routing>,
6942    /// Busy Routing for the DID
6943    #[serde(skip_serializing_if = "Option::is_none")]
6944    pub failover_busy: Option<crate::Routing>,
6945    /// Unreachable Routing for the DID
6946    #[serde(skip_serializing_if = "Option::is_none")]
6947    pub failover_unreachable: Option<crate::Routing>,
6948    /// NoAnswer Routing for the DID
6949    #[serde(skip_serializing_if = "Option::is_none")]
6950    pub failover_noanswer: Option<crate::Routing>,
6951    /// Voicemail for the DID (Example: 101)
6952    #[serde(skip_serializing_if = "Option::is_none")]
6953    pub voicemail: Option<String>,
6954    /// Point of Presence for the DID (Example: 5) (required)
6955    #[serde(skip_serializing_if = "Option::is_none")]
6956    pub pop: Option<i64>,
6957    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
6958    #[serde(skip_serializing_if = "Option::is_none")]
6959    pub dialtime: Option<i64>,
6960    /// CNAM for the DID (Boolean: 1/0) (required)
6961    #[serde(skip_serializing_if = "Option::is_none")]
6962    pub cnam: Option<i64>,
6963    /// Caller ID Prefix for the DID
6964    #[serde(skip_serializing_if = "Option::is_none")]
6965    pub callerid_prefix: Option<String>,
6966    /// Note for the DID
6967    #[serde(skip_serializing_if = "Option::is_none")]
6968    pub note: Option<String>,
6969    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
6970    #[serde(skip_serializing_if = "Option::is_none")]
6971    pub billing_type: Option<DidBillingType>,
6972    /// Reseller Sub Account (Example: '100001_VoIP')
6973    #[serde(skip_serializing_if = "Option::is_none")]
6974    pub account: Option<String>,
6975    /// Montly Fee for Reseller Client (Example: 3.50)
6976    #[serde(skip_serializing_if = "Option::is_none")]
6977    pub monthly: Option<String>,
6978    /// Setup Fee for Reseller Client (Example: 1.99)
6979    #[serde(skip_serializing_if = "Option::is_none")]
6980    pub setup: Option<String>,
6981    /// Minute Rate for Reseller Client (Example: 0.03)
6982    #[serde(skip_serializing_if = "Option::is_none")]
6983    pub minute: Option<String>,
6984    /// Set to true if testing how Orders work - Orders can not be undone - When
6985    /// testing, no Orders are made routing, failover_busy, failover_unreachable
6986    /// and failover_noanswer can receive values in the following format =>
6987    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
6988    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
6989    /// routing calls to Sub Accounts You can get all sub accounts using the
6990    /// getSubAccounts function fwd Used for routing calls to Forwarding
6991    /// entries. You can get the ID right after creating a Forwarding with
6992    /// setForwarding or by requesting all forwardings entries with
6993    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
6994    /// all voicemails and their IDs using the getVoicemails function sys System
6995    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
6996    /// Recording: Number not in service disconnected = System Recording: Number
6997    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
6998    /// Used to route calls to no action Examples: 'account:100001_VoIP'
6999    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7000    #[serde(
7001        skip_serializing_if = "crate::responses::is_false",
7002        serialize_with = "crate::responses::serialize_flag_01"
7003    )]
7004    pub test: bool,
7005}
7006
7007/// \- Orders and Adds new International Geographic DID Numbers to the Account.
7008///
7009/// Parameters for [`Client::order_did_international_geographic`] (wire method `orderDIDInternationalGeographic`).
7010#[derive(Debug, Default, Clone, Serialize)]
7011pub struct OrderDIDInternationalGeographicParams {
7012    /// ID for a specific International Location (Values from
7013    /// getDIDsInternationalGeographic) (required)
7014    #[serde(skip_serializing_if = "Option::is_none")]
7015    pub location_id: Option<String>,
7016    /// Number of dids to be purchased (Example: 2) (required)
7017    #[serde(skip_serializing_if = "Option::is_none")]
7018    pub quantity: Option<i64>,
7019    /// Main Routing for the DID (required)
7020    #[serde(skip_serializing_if = "Option::is_none")]
7021    pub routing: Option<crate::Routing>,
7022    /// Busy Routing for the DID
7023    #[serde(skip_serializing_if = "Option::is_none")]
7024    pub failover_busy: Option<crate::Routing>,
7025    /// Unreachable Routing for the DID
7026    #[serde(skip_serializing_if = "Option::is_none")]
7027    pub failover_unreachable: Option<crate::Routing>,
7028    /// NoAnswer Routing for the DID
7029    #[serde(skip_serializing_if = "Option::is_none")]
7030    pub failover_noanswer: Option<crate::Routing>,
7031    /// Voicemail for the DID (Example: 101)
7032    #[serde(skip_serializing_if = "Option::is_none")]
7033    pub voicemail: Option<String>,
7034    /// Point of Presence for the DID (Example: 5) (required)
7035    #[serde(skip_serializing_if = "Option::is_none")]
7036    pub pop: Option<i64>,
7037    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7038    #[serde(skip_serializing_if = "Option::is_none")]
7039    pub dialtime: Option<i64>,
7040    /// CNAM for the DID (Boolean: 1/0) (required)
7041    #[serde(skip_serializing_if = "Option::is_none")]
7042    pub cnam: Option<String>,
7043    /// Caller ID Prefix for the DID
7044    #[serde(skip_serializing_if = "Option::is_none")]
7045    pub callerid_prefix: Option<String>,
7046    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7047    #[serde(skip_serializing_if = "Option::is_none")]
7048    pub billing_type: Option<DidBillingType>,
7049    /// Note for the DID
7050    #[serde(skip_serializing_if = "Option::is_none")]
7051    pub note: Option<String>,
7052    /// Reseller Sub Account (Example: '100001_VoIP')
7053    #[serde(skip_serializing_if = "Option::is_none")]
7054    pub account: Option<String>,
7055    /// Montly Fee for Reseller Client (Example: 3.50)
7056    #[serde(skip_serializing_if = "Option::is_none")]
7057    pub monthly: Option<String>,
7058    /// Setup Fee for Reseller Client (Example: 1.99)
7059    #[serde(skip_serializing_if = "Option::is_none")]
7060    pub setup: Option<String>,
7061    /// Minute Rate for Reseller Client (Example: 0.03)
7062    #[serde(skip_serializing_if = "Option::is_none")]
7063    pub minute: Option<String>,
7064    /// Set to true if testing how Orders work - Orders can not be undone - When
7065    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7066    /// and failover_noanswer can receive values in the following format =>
7067    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7068    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7069    /// routing calls to Sub Accounts You can get all sub accounts using the
7070    /// getSubAccounts function fwd Used for routing calls to Forwarding
7071    /// entries. You can get the ID right after creating a Forwarding with
7072    /// setForwarding or by requesting all forwardings entries with
7073    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7074    /// all voicemails and their IDs using the getVoicemails function sys System
7075    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7076    /// Recording: Number not in service disconnected = System Recording: Number
7077    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7078    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7079    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7080    #[serde(
7081        skip_serializing_if = "crate::responses::is_false",
7082        serialize_with = "crate::responses::serialize_flag_01"
7083    )]
7084    pub test: bool,
7085}
7086
7087/// \- Orders and Adds new International National DID Numbers to the Account.
7088///
7089/// Parameters for [`Client::order_did_international_national`] (wire method `orderDIDInternationalNational`).
7090#[derive(Debug, Default, Clone, Serialize)]
7091pub struct OrderDIDInternationalNationalParams {
7092    /// ID for a specific International Location (Values from
7093    /// getDIDsInternationalNational) (required)
7094    #[serde(skip_serializing_if = "Option::is_none")]
7095    pub location_id: Option<String>,
7096    /// Number of dids to be purchased (Example: 2) (required)
7097    #[serde(skip_serializing_if = "Option::is_none")]
7098    pub quantity: Option<i64>,
7099    /// Main Routing for the DID (required)
7100    #[serde(skip_serializing_if = "Option::is_none")]
7101    pub routing: Option<crate::Routing>,
7102    /// Busy Routing for the DID
7103    #[serde(skip_serializing_if = "Option::is_none")]
7104    pub failover_busy: Option<crate::Routing>,
7105    /// Unreachable Routing for the DID
7106    #[serde(skip_serializing_if = "Option::is_none")]
7107    pub failover_unreachable: Option<crate::Routing>,
7108    /// NoAnswer Routing for the DID
7109    #[serde(skip_serializing_if = "Option::is_none")]
7110    pub failover_noanswer: Option<crate::Routing>,
7111    /// Voicemail for the DID (Example: 101)
7112    #[serde(skip_serializing_if = "Option::is_none")]
7113    pub voicemail: Option<String>,
7114    /// Point of Presence for the DID (Example: 5) (required)
7115    #[serde(skip_serializing_if = "Option::is_none")]
7116    pub pop: Option<i64>,
7117    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7118    #[serde(skip_serializing_if = "Option::is_none")]
7119    pub dialtime: Option<i64>,
7120    /// CNAM for the DID (Boolean: 1/0) (required)
7121    #[serde(skip_serializing_if = "Option::is_none")]
7122    pub cnam: Option<String>,
7123    /// Caller ID Prefix for the DID
7124    #[serde(skip_serializing_if = "Option::is_none")]
7125    pub callerid_prefix: Option<String>,
7126    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7127    #[serde(skip_serializing_if = "Option::is_none")]
7128    pub billing_type: Option<DidBillingType>,
7129    /// Note for the DID
7130    #[serde(skip_serializing_if = "Option::is_none")]
7131    pub note: Option<String>,
7132    /// Reseller Sub Account (Example: '100001_VoIP')
7133    #[serde(skip_serializing_if = "Option::is_none")]
7134    pub account: Option<String>,
7135    /// Montly Fee for Reseller Client (Example: 3.50)
7136    #[serde(skip_serializing_if = "Option::is_none")]
7137    pub monthly: Option<String>,
7138    /// Setup Fee for Reseller Client (Example: 1.99)
7139    #[serde(skip_serializing_if = "Option::is_none")]
7140    pub setup: Option<String>,
7141    /// Minute Rate for Reseller Client (Example: 0.03)
7142    #[serde(skip_serializing_if = "Option::is_none")]
7143    pub minute: Option<String>,
7144    /// Set to true if testing how Orders work - Orders can not be undone - When
7145    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7146    /// and failover_noanswer can receive values in the following format =>
7147    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7148    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7149    /// routing calls to Sub Accounts You can get all sub accounts using the
7150    /// getSubAccounts function fwd Used for routing calls to Forwarding
7151    /// entries. You can get the ID right after creating a Forwarding with
7152    /// setForwarding or by requesting all forwardings entries with
7153    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7154    /// all voicemails and their IDs using the getVoicemails function sys System
7155    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7156    /// Recording: Number not in service disconnected = System Recording: Number
7157    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7158    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7159    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7160    #[serde(
7161        skip_serializing_if = "crate::responses::is_false",
7162        serialize_with = "crate::responses::serialize_flag_01"
7163    )]
7164    pub test: bool,
7165}
7166
7167/// \- Orders and Adds new International TollFree DID Numbers to the Account.
7168///
7169/// Parameters for [`Client::order_did_international_toll_free`] (wire method `orderDIDInternationalTollFree`).
7170#[derive(Debug, Default, Clone, Serialize)]
7171pub struct OrderDIDInternationalTollFreeParams {
7172    /// ID for a specific International Location (Values from
7173    /// getDIDsInternationalTollFree) (required)
7174    #[serde(skip_serializing_if = "Option::is_none")]
7175    pub location_id: Option<String>,
7176    /// Number of dids to be purchased (Example: 2) (required)
7177    #[serde(skip_serializing_if = "Option::is_none")]
7178    pub quantity: Option<i64>,
7179    /// Main Routing for the DID (required)
7180    #[serde(skip_serializing_if = "Option::is_none")]
7181    pub routing: Option<crate::Routing>,
7182    /// Busy Routing for the DID
7183    #[serde(skip_serializing_if = "Option::is_none")]
7184    pub failover_busy: Option<crate::Routing>,
7185    /// Unreachable Routing for the DID
7186    #[serde(skip_serializing_if = "Option::is_none")]
7187    pub failover_unreachable: Option<crate::Routing>,
7188    /// NoAnswer Routing for the DID
7189    #[serde(skip_serializing_if = "Option::is_none")]
7190    pub failover_noanswer: Option<crate::Routing>,
7191    /// Voicemail for the DID (Example: 101)
7192    #[serde(skip_serializing_if = "Option::is_none")]
7193    pub voicemail: Option<String>,
7194    /// Point of Presence for the DID (Example: 5) (required)
7195    #[serde(skip_serializing_if = "Option::is_none")]
7196    pub pop: Option<i64>,
7197    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7198    #[serde(skip_serializing_if = "Option::is_none")]
7199    pub dialtime: Option<i64>,
7200    /// CNAM for the DID (Boolean: 1/0) (required)
7201    #[serde(skip_serializing_if = "Option::is_none")]
7202    pub cnam: Option<String>,
7203    /// Caller ID Prefix for the DID
7204    #[serde(skip_serializing_if = "Option::is_none")]
7205    pub callerid_prefix: Option<String>,
7206    /// Note for the DID
7207    #[serde(skip_serializing_if = "Option::is_none")]
7208    pub note: Option<String>,
7209    /// Reseller Sub Account (Example: '100001_VoIP')
7210    #[serde(skip_serializing_if = "Option::is_none")]
7211    pub account: Option<String>,
7212    /// Montly Fee for Reseller Client (Example: 3.50)
7213    #[serde(skip_serializing_if = "Option::is_none")]
7214    pub monthly: Option<String>,
7215    /// Setup Fee for Reseller Client (Example: 1.99)
7216    #[serde(skip_serializing_if = "Option::is_none")]
7217    pub setup: Option<String>,
7218    /// Minute Rate for Reseller Client (Example: 0.03)
7219    #[serde(skip_serializing_if = "Option::is_none")]
7220    pub minute: Option<String>,
7221    /// Set to true if testing how Orders work - Orders can not be undone - When
7222    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7223    /// and failover_noanswer can receive values in the following format =>
7224    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7225    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7226    /// routing calls to Sub Accounts You can get all sub accounts using the
7227    /// getSubAccounts function fwd Used for routing calls to Forwarding
7228    /// entries. You can get the ID right after creating a Forwarding with
7229    /// setForwarding or by requesting all forwardings entries with
7230    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7231    /// all voicemails and their IDs using the getVoicemails function sys System
7232    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7233    /// Recording: Number not in service disconnected = System Recording: Number
7234    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7235    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7236    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7237    #[serde(
7238        skip_serializing_if = "crate::responses::is_false",
7239        serialize_with = "crate::responses::serialize_flag_01"
7240    )]
7241    pub test: bool,
7242}
7243
7244/// \- Orders and Adds a new Virtual DID Number to the Account.
7245///
7246/// Parameters for [`Client::order_did_virtual`] (wire method `orderDIDVirtual`).
7247#[derive(Debug, Default, Clone, Serialize)]
7248pub struct OrderDIDVirtualParams {
7249    /// Three Digits for the new Virtual DID (Example: 001) (required)
7250    #[serde(skip_serializing_if = "Option::is_none")]
7251    pub digits: Option<i64>,
7252    /// Main Routing for the DID (required)
7253    #[serde(skip_serializing_if = "Option::is_none")]
7254    pub routing: Option<crate::Routing>,
7255    /// Busy Routing for the DID
7256    #[serde(skip_serializing_if = "Option::is_none")]
7257    pub failover_busy: Option<crate::Routing>,
7258    /// Unreachable Routing for the DID
7259    #[serde(skip_serializing_if = "Option::is_none")]
7260    pub failover_unreachable: Option<crate::Routing>,
7261    /// NoAnswer Routing for the DID
7262    #[serde(skip_serializing_if = "Option::is_none")]
7263    pub failover_noanswer: Option<crate::Routing>,
7264    /// Voicemail for the DID (Example: 101)
7265    #[serde(skip_serializing_if = "Option::is_none")]
7266    pub voicemail: Option<String>,
7267    /// Point of Presence for the DID (Example: 5) (required)
7268    #[serde(skip_serializing_if = "Option::is_none")]
7269    pub pop: Option<i64>,
7270    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7271    #[serde(skip_serializing_if = "Option::is_none")]
7272    pub dialtime: Option<i64>,
7273    /// CNAM for the DID (Boolean: 1/0) (required)
7274    #[serde(skip_serializing_if = "Option::is_none")]
7275    pub cnam: Option<String>,
7276    /// Caller ID Prefix for the DID
7277    #[serde(skip_serializing_if = "Option::is_none")]
7278    pub callerid_prefix: Option<String>,
7279    /// Note for the DID
7280    #[serde(skip_serializing_if = "Option::is_none")]
7281    pub note: Option<String>,
7282    /// Reseller Sub Account (Example: '100001_VoIP')
7283    #[serde(skip_serializing_if = "Option::is_none")]
7284    pub account: Option<String>,
7285    /// Montly Fee for Reseller Client (Example: 3.50)
7286    #[serde(skip_serializing_if = "Option::is_none")]
7287    pub monthly: Option<String>,
7288    /// Setup Fee for Reseller Client (Example: 1.99)
7289    #[serde(skip_serializing_if = "Option::is_none")]
7290    pub setup: Option<String>,
7291    /// Minute Rate for Reseller Client (Example: 0.03)
7292    #[serde(skip_serializing_if = "Option::is_none")]
7293    pub minute: Option<String>,
7294    /// Set to true if testing how Orders work - Orders can not be undone - When
7295    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7296    /// and failover_noanswer can receive values in the following format =>
7297    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7298    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7299    /// routing calls to Sub Accounts You can get all sub accounts using the
7300    /// getSubAccounts function fwd Used for routing calls to Forwarding
7301    /// entries. You can get the ID right after creating a Forwarding with
7302    /// setForwarding or by requesting all forwardings entries with
7303    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7304    /// all voicemails and their IDs using the getVoicemails function sys System
7305    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7306    /// Recording: Number not in service disconnected = System Recording: Number
7307    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7308    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7309    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7310    #[serde(
7311        skip_serializing_if = "crate::responses::is_false",
7312        serialize_with = "crate::responses::serialize_flag_01"
7313    )]
7314    pub test: bool,
7315}
7316
7317/// \- Orders and Adds a new Fax Number to the Account.
7318///
7319/// Parameters for [`Client::order_fax_number`] (wire method `orderFaxNumber`).
7320#[derive(Debug, Default, Clone, Serialize)]
7321pub struct OrderFAXNumberParams {
7322    /// Location ID of the Fax Number (Values from
7323    /// getFaxRateCentersCAN/getFaxRateCentersUSA) (required)
7324    #[serde(skip_serializing_if = "Option::is_none")]
7325    pub location: Option<i64>,
7326    /// Quantity of Fax Numbers to order (Example: 3) (required)
7327    #[serde(skip_serializing_if = "Option::is_none")]
7328    pub quantity: Option<i64>,
7329    /// Email address where send notifications when receive Fax Messages -
7330    /// (Example: \[email protected\])
7331    #[serde(skip_serializing_if = "Option::is_none")]
7332    pub email: Option<String>,
7333    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
7334    /// \- Default: 0
7335    #[serde(
7336        skip_serializing_if = "Option::is_none",
7337        serialize_with = "crate::responses::serialize_opt_flag_01"
7338    )]
7339    pub email_enable: Option<bool>,
7340    /// Flag to enable attach the Fax Message as a PDF file in the
7341    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
7342    #[serde(
7343        skip_serializing_if = "Option::is_none",
7344        serialize_with = "crate::responses::serialize_opt_flag_01"
7345    )]
7346    pub email_attach_file: Option<bool>,
7347    /// URL where make a POST when you receive a Fax Message.
7348    #[serde(skip_serializing_if = "Option::is_none")]
7349    pub url_callback: Option<String>,
7350    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
7351    /// false) - Default: 0
7352    #[serde(
7353        skip_serializing_if = "Option::is_none",
7354        serialize_with = "crate::responses::serialize_opt_flag_01"
7355    )]
7356    pub url_callback_enable: Option<bool>,
7357    /// Flag to enable retry the POST action in case we don't receive "ok".
7358    #[serde(
7359        skip_serializing_if = "Option::is_none",
7360        serialize_with = "crate::responses::serialize_opt_flag_01"
7361    )]
7362    pub url_callback_retry: Option<bool>,
7363    /// Set to true if testing how Orders work - Orders can not be undone - When
7364    /// testing, no Orders are made
7365    #[serde(
7366        skip_serializing_if = "crate::responses::is_false",
7367        serialize_with = "crate::responses::serialize_flag_01"
7368    )]
7369    pub test: bool,
7370}
7371
7372/// \- Orders and Adds a new Toll Free Number to the Account.
7373///
7374/// Parameters for [`Client::order_toll_free`] (wire method `orderTollFree`).
7375#[derive(Debug, Default, Clone, Serialize)]
7376pub struct OrderTollFreeParams {
7377    /// DID to be Ordered (Example: 8772223333) (required)
7378    #[serde(skip_serializing_if = "Option::is_none")]
7379    pub did: Option<String>,
7380    /// Main Routing for the DID (required)
7381    #[serde(skip_serializing_if = "Option::is_none")]
7382    pub routing: Option<crate::Routing>,
7383    /// Busy Routing for the DID
7384    #[serde(skip_serializing_if = "Option::is_none")]
7385    pub failover_busy: Option<crate::Routing>,
7386    /// Unreachable Routing for the DID
7387    #[serde(skip_serializing_if = "Option::is_none")]
7388    pub failover_unreachable: Option<crate::Routing>,
7389    /// NoAnswer Routing for the DID
7390    #[serde(skip_serializing_if = "Option::is_none")]
7391    pub failover_noanswer: Option<crate::Routing>,
7392    /// Voicemail for the DID (Example: 101)
7393    #[serde(skip_serializing_if = "Option::is_none")]
7394    pub voicemail: Option<String>,
7395    /// Point of Presence for the DID (Example: 5) (required)
7396    #[serde(skip_serializing_if = "Option::is_none")]
7397    pub pop: Option<i64>,
7398    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7399    #[serde(skip_serializing_if = "Option::is_none")]
7400    pub dialtime: Option<i64>,
7401    /// CNAM for the DID (Boolean: 1/0) (required)
7402    #[serde(skip_serializing_if = "Option::is_none")]
7403    pub cnam: Option<i64>,
7404    /// Caller ID Prefix for the DID
7405    #[serde(skip_serializing_if = "Option::is_none")]
7406    pub callerid_prefix: Option<String>,
7407    /// Note for the DID
7408    #[serde(skip_serializing_if = "Option::is_none")]
7409    pub note: Option<String>,
7410    /// Reseller Sub Account (Example: '100001_VoIP')
7411    #[serde(skip_serializing_if = "Option::is_none")]
7412    pub account: Option<String>,
7413    /// Montly Fee for Reseller Client (Example: 3.50)
7414    #[serde(skip_serializing_if = "Option::is_none")]
7415    pub monthly: Option<String>,
7416    /// Setup Fee for Reseller Client (Example: 1.99)
7417    #[serde(skip_serializing_if = "Option::is_none")]
7418    pub setup: Option<String>,
7419    /// Minute Rate for Reseller Client (Example: 0.03)
7420    #[serde(skip_serializing_if = "Option::is_none")]
7421    pub minute: Option<String>,
7422    /// Set to true if testing how Orders work - Orders can not be undone - When
7423    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7424    /// and failover_noanswer can receive values in the following format =>
7425    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7426    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7427    /// routing calls to Sub Accounts You can get all sub accounts using the
7428    /// getSubAccounts function fwd Used for routing calls to Forwarding
7429    /// entries. You can get the ID right after creating a Forwarding with
7430    /// setForwarding or by requesting all forwardings entries with
7431    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7432    /// all voicemails and their IDs using the getVoicemails function sys System
7433    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7434    /// Recording: Number not in service disconnected = System Recording: Number
7435    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7436    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7437    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7438    #[serde(
7439        skip_serializing_if = "crate::responses::is_false",
7440        serialize_with = "crate::responses::serialize_flag_01"
7441    )]
7442    pub test: bool,
7443}
7444
7445/// \- Orders and Adds a new Vanity Toll Free Number to the Account.
7446///
7447/// Parameters for [`Client::order_vanity`] (wire method `orderVanity`).
7448#[derive(Debug, Default, Clone, Serialize)]
7449pub struct OrderVanityParams {
7450    /// DID to be Ordered (Example: 8772223333) (required)
7451    #[serde(skip_serializing_if = "Option::is_none")]
7452    pub did: Option<String>,
7453    /// Main Routing for the DID (required)
7454    #[serde(skip_serializing_if = "Option::is_none")]
7455    pub routing: Option<crate::Routing>,
7456    /// Busy Routing for the DID
7457    #[serde(skip_serializing_if = "Option::is_none")]
7458    pub failover_busy: Option<crate::Routing>,
7459    /// Unreachable Routing for the DID
7460    #[serde(skip_serializing_if = "Option::is_none")]
7461    pub failover_unreachable: Option<crate::Routing>,
7462    /// NoAnswer Routing for the DID
7463    #[serde(skip_serializing_if = "Option::is_none")]
7464    pub failover_noanswer: Option<crate::Routing>,
7465    /// Voicemail for the DID (Example: 101)
7466    #[serde(skip_serializing_if = "Option::is_none")]
7467    pub voicemail: Option<String>,
7468    /// Point of Presence for the DID (Example: 5) (required)
7469    #[serde(skip_serializing_if = "Option::is_none")]
7470    pub pop: Option<i64>,
7471    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7472    #[serde(skip_serializing_if = "Option::is_none")]
7473    pub dialtime: Option<i64>,
7474    /// CNAM for the DID (Boolean: 1/0) (required)
7475    #[serde(skip_serializing_if = "Option::is_none")]
7476    pub cnam: Option<i64>,
7477    /// Caller ID Prefix for the DID
7478    #[serde(skip_serializing_if = "Option::is_none")]
7479    pub callerid_prefix: Option<String>,
7480    /// Note for the DID
7481    #[serde(skip_serializing_if = "Option::is_none")]
7482    pub note: Option<String>,
7483    /// Carrier for the DID (Values from getCarriers) (required)
7484    #[serde(skip_serializing_if = "Option::is_none")]
7485    pub carrier: Option<i64>,
7486    /// Reseller Sub Account (Example: '100001_VoIP')
7487    #[serde(skip_serializing_if = "Option::is_none")]
7488    pub account: Option<String>,
7489    /// Montly Fee for Reseller Client (Example: 3.50)
7490    #[serde(skip_serializing_if = "Option::is_none")]
7491    pub monthly: Option<String>,
7492    /// Setup Fee for Reseller Client (Example: 1.99)
7493    #[serde(skip_serializing_if = "Option::is_none")]
7494    pub setup: Option<String>,
7495    /// Minute Rate for Reseller Client (Example: 0.03)
7496    #[serde(skip_serializing_if = "Option::is_none")]
7497    pub minute: Option<String>,
7498    /// Set to true if testing how Orders work - Orders can not be undone - When
7499    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7500    /// and failover_noanswer can receive values in the following format =>
7501    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7502    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7503    /// routing calls to Sub Accounts You can get all sub accounts using the
7504    /// getSubAccounts function fwd Used for routing calls to Forwarding
7505    /// entries. You can get the ID right after creating a Forwarding with
7506    /// setForwarding or by requesting all forwardings entries with
7507    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7508    /// all voicemails and their IDs using the getVoicemails function sys System
7509    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7510    /// Recording: Number not in service disconnected = System Recording: Number
7511    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7512    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7513    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7514    #[serde(
7515        skip_serializing_if = "crate::responses::is_false",
7516        serialize_with = "crate::responses::serialize_flag_01"
7517    )]
7518    pub test: bool,
7519}
7520
7521/// \- Removes a DID from a VPRI
7522///
7523/// Parameters for [`Client::remove_did_vpri`] (wire method `removeDIDvPRI`).
7524#[derive(Debug, Default, Clone, Serialize)]
7525pub struct RemoveDIDvPRIParams {
7526    /// Id for specific Vpri
7527    #[serde(skip_serializing_if = "Option::is_none")]
7528    pub vpri: Option<i64>,
7529    /// DID Number to be remove from our Vpri (Example: 561115) (required)
7530    #[serde(skip_serializing_if = "Option::is_none")]
7531    pub did: Option<String>,
7532}
7533
7534/// \- Searches for Canadian DIDs by Province using a Search Criteria.
7535///
7536/// Parameters for [`Client::search_dids_can`] (wire method `searchDIDsCAN`).
7537#[derive(Debug, Default, Clone, Serialize)]
7538pub struct SearchDIDsCANParams {
7539    /// Canadian Province (Values from getProvinces)
7540    #[serde(skip_serializing_if = "Option::is_none")]
7541    pub province: Option<String>,
7542    /// Type of search (Values: 'starts', 'contains', 'ends') (required)
7543    #[serde(skip_serializing_if = "Option::is_none")]
7544    pub r#type: Option<SearchType>,
7545    /// Query for searching (Examples: 'JOHN', '555', '123ABC') (required)
7546    #[serde(skip_serializing_if = "Option::is_none")]
7547    pub query: Option<String>,
7548}
7549
7550/// \- Searches for USA DIDs by State using a Search Criteria.
7551///
7552/// Parameters for [`Client::search_dids_usa`] (wire method `searchDIDsUSA`).
7553#[derive(Debug, Default, Clone, Serialize)]
7554pub struct SearchDIDsUSAParams {
7555    /// United States State (Values from getStates)
7556    #[serde(skip_serializing_if = "Option::is_none")]
7557    pub state: Option<String>,
7558    /// Type of search (Values: 'starts', 'contains', 'ends') (required)
7559    #[serde(skip_serializing_if = "Option::is_none")]
7560    pub r#type: Option<SearchType>,
7561    /// Query for searching (Examples: 'JOHN', '555', '123ABC') (required)
7562    #[serde(skip_serializing_if = "Option::is_none")]
7563    pub query: Option<String>,
7564}
7565
7566/// \- Retrieves a list of Canadian Ratecenters searched by Area Code.
7567///
7568/// Parameters for [`Client::search_fax_area_code_can`] (wire method `searchFaxAreaCodeCAN`).
7569#[derive(Debug, Default, Clone, Serialize)]
7570pub struct SearchFAXAreaCodeCANParams {
7571    /// Area code number, as the initial of the Fax Number you looking for.
7572    /// (values from getFaxRateCentersCAN) (required)
7573    #[serde(skip_serializing_if = "Option::is_none")]
7574    pub area_code: Option<i64>,
7575}
7576
7577/// \- Retrieves a list of USA Ratecenters searched by Area Code.
7578///
7579/// Parameters for [`Client::search_fax_area_code_usa`] (wire method `searchFaxAreaCodeUSA`).
7580#[derive(Debug, Default, Clone, Serialize)]
7581pub struct SearchFAXAreaCodeUSAParams {
7582    /// Area code number, as the initial of the Fax Number you looking for.
7583    /// (values from getFaxRateCentersUSA) (required)
7584    #[serde(skip_serializing_if = "Option::is_none")]
7585    pub area_code: Option<i64>,
7586}
7587
7588/// \- Searches for USA/Canada Toll Free Numbers using a Search Criteria.
7589/// \- Shows all USA/Canada Toll Free Numbers available if no criteria is
7590/// provided.
7591///
7592/// Parameters for [`Client::search_toll_free_can_us`] (wire method `searchTollFreeCanUS`).
7593#[derive(Debug, Default, Clone, Serialize)]
7594pub struct SearchTollFreeCANUSParams {
7595    /// Type of search (Values: 'starts', 'contains', 'ends')
7596    #[serde(skip_serializing_if = "Option::is_none")]
7597    pub r#type: Option<SearchType>,
7598    /// Query for searching (Examples: 'JOHN', '555', '123ABC')
7599    #[serde(skip_serializing_if = "Option::is_none")]
7600    pub query: Option<String>,
7601}
7602
7603/// \- Searches for USA Toll Free Numbers using a Search Criteria.
7604/// \- Shows all USA Toll Free Numbers available if no criteria is provided.
7605///
7606/// Parameters for [`Client::search_toll_free_usa`] (wire method `searchTollFreeUSA`).
7607#[derive(Debug, Default, Clone, Serialize)]
7608pub struct SearchTollFreeUSAParams {
7609    /// Type of search (Values: 'starts', 'contains', 'ends')
7610    #[serde(skip_serializing_if = "Option::is_none")]
7611    pub r#type: Option<SearchType>,
7612    /// Query for searching (Examples: 'JOHN', '555', '123ABC')
7613    #[serde(skip_serializing_if = "Option::is_none")]
7614    pub query: Option<String>,
7615}
7616
7617/// \- Searches for Vanity Toll Free Numbers using a Search Criteria.
7618///
7619/// Parameters for [`Client::search_vanity`] (wire method `searchVanity`).
7620#[derive(Debug, Default, Clone, Serialize)]
7621pub struct SearchVanityParams {
7622    /// Type of Vanity Number Values: '8**', '800', '833', '844', '855', '866',
7623    /// '877', '888' (required)
7624    #[serde(skip_serializing_if = "Option::is_none")]
7625    pub r#type: Option<VanityType>,
7626    /// Query for searching : 7 Chars Examples: '***JHON', '**555**', '**HELLO'
7627    /// (required)
7628    #[serde(skip_serializing_if = "Option::is_none")]
7629    pub query: Option<String>,
7630}
7631
7632/// \- Send information and audio file to email account.
7633///
7634/// Parameters for [`Client::send_call_recording_email`] (wire method `sendCallRecordingEmail`).
7635#[derive(Debug, Default, Clone, Serialize)]
7636pub struct SendCallRecordingEmailParams {
7637    /// Call Recording (Values from getCallRecordings) (required)
7638    #[serde(skip_serializing_if = "Option::is_none")]
7639    pub callrecording: Option<String>,
7640    /// Filter Call Recordings by Account (Values from getCallAccounts)
7641    /// (required)
7642    #[serde(skip_serializing_if = "Option::is_none")]
7643    pub account: Option<String>,
7644    /// Email to send call recording (required)
7645    #[serde(skip_serializing_if = "Option::is_none")]
7646    pub email: Option<String>,
7647}
7648
7649/// \- Send a Fax message to a Destination Number.
7650///
7651/// Parameters for [`Client::send_fax_message`] (wire method `sendFaxMessage`).
7652#[derive(Debug, Default, Clone, Serialize)]
7653pub struct SendFAXMessageParams {
7654    /// Destination DID Number (Example: 5552341234) (required)
7655    #[serde(skip_serializing_if = "Option::is_none")]
7656    pub to_number: Option<String>,
7657    /// Name of the sender (Example: 5552341234) (required)
7658    #[serde(skip_serializing_if = "Option::is_none")]
7659    pub from_name: Option<String>,
7660    /// DID number of the Fax sender (required)
7661    #[serde(skip_serializing_if = "Option::is_none")]
7662    pub from_number: Option<String>,
7663    /// Flag to enable the send of a copy of your Fax via email. - (Values: 1 =
7664    /// true, 0 = false) - Default: 0
7665    #[serde(
7666        skip_serializing_if = "Option::is_none",
7667        serialize_with = "crate::responses::serialize_opt_flag_01"
7668    )]
7669    pub send_email_enabled: Option<bool>,
7670    /// Email address where you want send a copy of your Fax.
7671    #[serde(skip_serializing_if = "Option::is_none")]
7672    pub send_email: Option<String>,
7673    /// An word to identify a equipment or department sending the Fax.
7674    #[serde(skip_serializing_if = "Option::is_none")]
7675    pub station_id: Option<String>,
7676    /// The file must be encoded in Base64, and in one of the following formats:
7677    /// pdf, txt, jpg, gif, png, tif (required)
7678    #[serde(skip_serializing_if = "Option::is_none")]
7679    pub file: Option<String>,
7680    /// Set to true if testing how to send a Fax Message
7681    #[serde(
7682        skip_serializing_if = "crate::responses::is_false",
7683        serialize_with = "crate::responses::serialize_flag_01"
7684    )]
7685    pub test: bool,
7686}
7687
7688/// \- Send a MMS message to a Destination Number.
7689///
7690/// Parameters for [`Client::send_mms`] (wire method `sendMMS`).
7691#[derive(Debug, Default, Clone, Serialize)]
7692pub struct SendMMSParams {
7693    /// DID Numbers which is sending the message (Example: 5551234567)
7694    /// (required)
7695    #[serde(skip_serializing_if = "Option::is_none")]
7696    pub did: Option<String>,
7697    /// Destination Number (Example: 5551234568) (required)
7698    #[serde(skip_serializing_if = "Option::is_none")]
7699    pub dst: Option<String>,
7700    /// Message to be sent (Example: 'hello John Smith' max chars: 2048)
7701    /// (required)
7702    #[serde(skip_serializing_if = "Option::is_none")]
7703    pub message: Option<String>,
7704    /// Url to media file (Example:
7705    /// '<https://voip.ms/themes/voipms/assets/img/talent.jpg?v=2>' (optional)
7706    #[serde(skip_serializing_if = "Option::is_none")]
7707    pub media1: Option<String>,
7708    /// Base 64 image encode (Example:
7709    /// data:image/png;base64,iVBORw0KGgoAAAANSUh...) (optional)
7710    #[serde(skip_serializing_if = "Option::is_none")]
7711    pub media2: Option<String>,
7712    /// Empty value (Example: '' ) (optional)
7713    #[serde(skip_serializing_if = "Option::is_none")]
7714    pub media3: Option<String>,
7715}
7716
7717/// \- Send a SMS message to a Destination Number.
7718///
7719/// Parameters for [`Client::send_sms`] (wire method `sendSMS`).
7720#[derive(Debug, Default, Clone, Serialize)]
7721pub struct SendSMSParams {
7722    /// DID Numbers which is sending the message (Example: 5551234567)
7723    /// (required)
7724    #[serde(skip_serializing_if = "Option::is_none")]
7725    pub did: Option<String>,
7726    /// Destination Number (Example: 5551234568) (required)
7727    #[serde(skip_serializing_if = "Option::is_none")]
7728    pub dst: Option<String>,
7729    /// Message to be sent (Example: 'hello John Smith' max chars: 160)
7730    /// (required)
7731    #[serde(skip_serializing_if = "Option::is_none")]
7732    pub message: Option<String>,
7733}
7734
7735/// \- Send a Voicemail Message File to an Email Address.
7736///
7737/// Parameters for [`Client::send_voicemail_email`] (wire method `sendVoicemailEmail`).
7738#[derive(Debug, Default, Clone, Serialize)]
7739pub struct SendVoicemailEmailParams {
7740    /// ID for specific Mailbox (Example: 1001) (required)
7741    #[serde(skip_serializing_if = "Option::is_none")]
7742    pub mailbox: Option<String>,
7743    /// Name for specific Folder (Example: 'INBOX', values from:
7744    /// getVoicemailFolders) (required)
7745    #[serde(skip_serializing_if = "Option::is_none")]
7746    pub folder: Option<VoicemailFolder>,
7747    /// ID for specific Voicemail Message (Example: 1) (required)
7748    #[serde(skip_serializing_if = "Option::is_none")]
7749    pub message_num: Option<i64>,
7750    /// Destination Email address (Example: \[email protected\]) (required)
7751    #[serde(skip_serializing_if = "Option::is_none")]
7752    pub email_address: Option<String>,
7753}
7754
7755/// \- Updates a specific Call Hunting if a Call Hunting code is provided.
7756/// \- Adds a new Call Hunting if no Call Hunting code is provided.
7757///
7758/// Parameters for [`Client::set_call_hunting`] (wire method `setCallHunting`).
7759#[derive(Debug, Default, Clone, Serialize)]
7760pub struct SetCallHuntingParams {
7761    /// ID for a specific Call Hunting (Example: 235 / Leave empty to create a
7762    /// new one)
7763    #[serde(skip_serializing_if = "Option::is_none")]
7764    pub callhunting: Option<i64>,
7765    /// Description for the Call Hunting (required)
7766    #[serde(skip_serializing_if = "Option::is_none")]
7767    pub description: Option<String>,
7768    /// Music on Hold Code (Values from getMusicOnHold) (required)
7769    #[serde(skip_serializing_if = "Option::is_none")]
7770    pub music: Option<String>,
7771    /// Recording for the Call Hunting (values from getRecordings) (required)
7772    #[serde(skip_serializing_if = "Option::is_none")]
7773    pub recording: Option<String>,
7774    /// Language for the Call Hunting (values from getLanguages) (required)
7775    #[serde(skip_serializing_if = "Option::is_none")]
7776    pub language: Option<String>,
7777    /// The members will be called in follow or random order (values follow or
7778    /// random) (required)
7779    #[serde(skip_serializing_if = "Option::is_none")]
7780    pub order: Option<RingGroupOrder>,
7781    /// The list of members assigned to the call hunting (required)
7782    #[serde(skip_serializing_if = "Option::is_none")]
7783    pub members: Option<String>,
7784    /// The Maximum amount of time the call will ring the member (required)
7785    #[serde(skip_serializing_if = "Option::is_none")]
7786    pub ring_time: Option<String>,
7787    /// This option confirm if the member will take the call by pressing 1 *
7788    /// ring_time and press parameters need to have the same amount of items as
7789    /// the members parameter, one for each member. (required)
7790    #[serde(skip_serializing_if = "Option::is_none")]
7791    pub press: Option<String>,
7792}
7793
7794/// \- Updates a specific Call Parking entry if a Call Parking ID is provided.
7795/// \- Adds a new Call Parking entry if no Call Parking ID is provided.
7796///
7797/// Parameters for [`Client::set_call_parking`] (wire method `setCallParking`).
7798#[derive(Debug, Default, Clone, Serialize)]
7799pub struct SetCallParkingParams {
7800    /// ID for a specific Call Parking (Example: 235 / Leave empty to create a
7801    /// new one)
7802    #[serde(skip_serializing_if = "Option::is_none")]
7803    pub callparking: Option<i64>,
7804    /// Name for the Call Parking (required)
7805    #[serde(skip_serializing_if = "Option::is_none")]
7806    pub name: Option<String>,
7807    /// The number of seconds a call will stay parked before it is forwarded to
7808    /// the Failover Destination (required)
7809    #[serde(skip_serializing_if = "Option::is_none")]
7810    pub timeout: Option<i64>,
7811    /// Music on Hold Code (Values from getMusicOnHold) (required)
7812    #[serde(skip_serializing_if = "Option::is_none")]
7813    pub music: Option<String>,
7814    /// Final destination where the call will be forwarded if it isn&rsquo;t
7815    /// answered. (Values: callback, system:hangup, vm:mailbox) (required)
7816    #[serde(skip_serializing_if = "Option::is_none")]
7817    pub failover: Option<String>,
7818    /// Language for the Call Parking (values from getLanguages) (required)
7819    #[serde(skip_serializing_if = "Option::is_none")]
7820    pub language: Option<String>,
7821    /// The system will make an automatic call to this destination to announce
7822    /// the extension of the parked call. (Values: parker, main account or
7823    /// sub-accounts) (required)
7824    #[serde(skip_serializing_if = "Option::is_none")]
7825    pub destination: Option<String>,
7826    /// The number of seconds before the Announce Destination receives an
7827    /// automatic call from the system to announce the extension of the parked
7828    /// call (required)
7829    #[serde(skip_serializing_if = "Option::is_none")]
7830    pub delay: Option<i64>,
7831}
7832
7833/// \- Updates a specific Callback if a callback code is provided.
7834/// \- Adds a new Callback entry if no callback code is provided.
7835///
7836/// Parameters for [`Client::set_callback`] (wire method `setCallback`).
7837#[derive(Debug, Default, Clone, Serialize)]
7838pub struct SetCallbackParams {
7839    /// ID for a specific Callback (Example: 2359 / Leave empty to create a new
7840    /// one)
7841    #[serde(skip_serializing_if = "Option::is_none")]
7842    pub callback: Option<String>,
7843    /// Description for the Callback (required)
7844    #[serde(skip_serializing_if = "Option::is_none")]
7845    pub description: Option<String>,
7846    /// Number that will be called back (required)
7847    #[serde(skip_serializing_if = "Option::is_none")]
7848    pub number: Option<i64>,
7849    /// Delay befor calling back (required)
7850    #[serde(skip_serializing_if = "Option::is_none")]
7851    pub delay_before: Option<i64>,
7852    /// Time before hanging up for incomplete input (required)
7853    #[serde(skip_serializing_if = "Option::is_none")]
7854    pub response_timeout: Option<i64>,
7855    /// Time between digits input (required)
7856    #[serde(skip_serializing_if = "Option::is_none")]
7857    pub digit_timeout: Option<i64>,
7858    /// Caller ID Override for the callback
7859    #[serde(skip_serializing_if = "Option::is_none")]
7860    pub callerid_number: Option<String>,
7861}
7862
7863/// \- Updates a specific Caller ID Filtering if a filtering code is provided.
7864/// \- Adds a new Caller ID Filtering if no filtering code is provided.
7865///
7866/// Parameters for [`Client::set_caller_id_filtering`] (wire method `setCallerIDFiltering`).
7867#[derive(Debug, Default, Clone, Serialize)]
7868pub struct SetCallerIDFilteringParams {
7869    /// ID for a specific Caller ID Filtering (Example: 18915 / Leave empty to
7870    /// create a new one)
7871    #[serde(skip_serializing_if = "Option::is_none")]
7872    pub filter: Option<String>,
7873    /// Caller ID that triggers the Filter (i = Not North American format, 0 =
7874    /// Anonymous, NPANXXXXXX, s or sb or sc = STIR/SHAKEN Attestation Level, p
7875    /// = All Phone Book, p:XXXX = Specific Phone Book Group) (required)
7876    #[serde(skip_serializing_if = "Option::is_none")]
7877    pub callerid: Option<String>,
7878    /// DIDs affected by the filter (all, NPANXXXXXX) (required)
7879    #[serde(skip_serializing_if = "Option::is_none")]
7880    pub did: Option<String>,
7881    /// Route the call follows when filter is triggered (required)
7882    #[serde(skip_serializing_if = "Option::is_none")]
7883    pub routing: Option<crate::Routing>,
7884    /// Route the call follows when unreachable
7885    #[serde(skip_serializing_if = "Option::is_none")]
7886    pub failover_unreachable: Option<crate::Routing>,
7887    /// Route the call follows when busy
7888    #[serde(skip_serializing_if = "Option::is_none")]
7889    pub failover_busy: Option<crate::Routing>,
7890    /// Route the call follows when noanswer
7891    #[serde(skip_serializing_if = "Option::is_none")]
7892    pub failover_noanswer: Option<crate::Routing>,
7893    /// Note for the Caller ID Filtering
7894    #[serde(skip_serializing_if = "Option::is_none")]
7895    pub note: Option<String>,
7896}
7897
7898/// \- Updates Reseller Client information.
7899///
7900/// Parameters for [`Client::set_client`] (wire method `setClient`).
7901#[derive(Debug, Default, Clone, Serialize)]
7902pub struct SetClientParams {
7903    /// ID for a specific Reseller Client (Example: 561115) (required)
7904    #[serde(skip_serializing_if = "Option::is_none")]
7905    pub client: Option<i64>,
7906    /// Client's e-mail (required)
7907    #[serde(skip_serializing_if = "Option::is_none")]
7908    pub email: Option<String>,
7909    /// Client's Password (required)
7910    #[serde(skip_serializing_if = "Option::is_none")]
7911    pub password: Option<String>,
7912    /// Client's Company
7913    #[serde(skip_serializing_if = "Option::is_none")]
7914    pub company: Option<String>,
7915    /// Client's Firstname (required)
7916    #[serde(skip_serializing_if = "Option::is_none")]
7917    pub firstname: Option<String>,
7918    /// Client's Lastname (required)
7919    #[serde(skip_serializing_if = "Option::is_none")]
7920    pub lastname: Option<String>,
7921    /// Client's Address
7922    #[serde(skip_serializing_if = "Option::is_none")]
7923    pub address: Option<String>,
7924    /// Client's City
7925    #[serde(skip_serializing_if = "Option::is_none")]
7926    pub city: Option<String>,
7927    /// Client's State
7928    #[serde(skip_serializing_if = "Option::is_none")]
7929    pub state: Option<String>,
7930    /// Client's Country (Values from getCountries)
7931    #[serde(skip_serializing_if = "Option::is_none")]
7932    pub country: Option<String>,
7933    /// Client's Zip Code
7934    #[serde(skip_serializing_if = "Option::is_none")]
7935    pub zip: Option<String>,
7936    /// Client's Phone Number (required)
7937    #[serde(skip_serializing_if = "Option::is_none")]
7938    pub phone_number: Option<String>,
7939    /// Balance Management for Client (Values from getBalanceManagement)
7940    #[serde(skip_serializing_if = "Option::is_none")]
7941    pub balance_management: Option<i64>,
7942}
7943
7944/// \- Update the Threshold Amount for a specific Reseller Client.- Update the
7945/// Threshold notification e-mail for a specific Reseller Client if the e-mail
7946/// address is provided.
7947///
7948/// Parameters for [`Client::set_client_threshold`] (wire method `setClientThreshold`).
7949#[derive(Debug, Default, Clone, Serialize)]
7950pub struct SetClientThresholdParams {
7951    /// ID for a specific Reseller Client (Example: 561115) (required)
7952    #[serde(skip_serializing_if = "Option::is_none")]
7953    pub client: Option<i64>,
7954    /// Client's e-mail for balance threshold notification
7955    #[serde(skip_serializing_if = "Option::is_none")]
7956    pub email: Option<String>,
7957    /// Threshold amount between 1 and 250 (Example: 10) (required)
7958    #[serde(skip_serializing_if = "Option::is_none")]
7959    pub threshold: Option<i64>,
7960}
7961
7962/// \- Updates a specific Conference if a conference code is provided.
7963/// \- Adds a new Conference entry if no conference code is provided.
7964///
7965/// Parameters for [`Client::set_conference`] (wire method `setConference`).
7966#[derive(Debug, Default, Clone, Serialize)]
7967pub struct SetConferenceParams {
7968    /// ID for a specific Conference (Example: 5356) (required)
7969    #[serde(skip_serializing_if = "Option::is_none")]
7970    pub conference: Option<i64>,
7971    /// Conference name (required)
7972    #[serde(skip_serializing_if = "Option::is_none")]
7973    pub name: Option<String>,
7974    /// Conference description (required)
7975    #[serde(skip_serializing_if = "Option::is_none")]
7976    pub description: Option<String>,
7977    /// Conference Members
7978    #[serde(skip_serializing_if = "Option::is_none")]
7979    pub members: Option<String>,
7980    /// Members Max Value (required)
7981    #[serde(skip_serializing_if = "Option::is_none")]
7982    pub max_members: Option<String>,
7983    /// The recording played when a user joins, typically some kind of beep
7984    /// sound (Values from getRecordings)
7985    #[serde(skip_serializing_if = "Option::is_none")]
7986    pub sound_join: Option<String>,
7987    /// The recording played when a user leaves, typically some kind of beep
7988    /// sound (Values from getRecordings)
7989    #[serde(skip_serializing_if = "Option::is_none")]
7990    pub sound_leave: Option<String>,
7991    /// The recording played as a user intro (Values from getRecordings)
7992    #[serde(skip_serializing_if = "Option::is_none")]
7993    pub sound_has_joined: Option<String>,
7994    /// The recording played as a user leaves the conference (Values from
7995    /// getRecordings)
7996    #[serde(skip_serializing_if = "Option::is_none")]
7997    pub sound_has_left: Option<String>,
7998    /// The recording played to a user who has been kicked from the conference
7999    /// (Values from getRecordings)
8000    #[serde(skip_serializing_if = "Option::is_none")]
8001    pub sound_kicked: Option<String>,
8002    /// The recording played to a user when the mute option is toggled on
8003    /// (Values from getRecordings)
8004    #[serde(skip_serializing_if = "Option::is_none")]
8005    pub sound_muted: Option<String>,
8006    /// The recording played to a user when the mute option is toggled off
8007    /// (Values from getRecordings)
8008    #[serde(skip_serializing_if = "Option::is_none")]
8009    pub sound_unmuted: Option<String>,
8010    /// The recording played when a user is the only person in the conference
8011    /// (Values from getRecordings)
8012    #[serde(skip_serializing_if = "Option::is_none")]
8013    pub sound_only_person: Option<String>,
8014    /// The recording played to a user when there is only one other person in
8015    /// the conference. (Values from getRecordings)
8016    #[serde(skip_serializing_if = "Option::is_none")]
8017    pub sound_only_one: Option<String>,
8018    /// The recording played when announcing how many users there are in a
8019    /// conference. (Values from getRecordings)
8020    #[serde(skip_serializing_if = "Option::is_none")]
8021    pub sound_there_are: Option<String>,
8022    /// The recording used in conjunction with the There are option, used like
8023    /// There are (number of participants) Other in party (Values from
8024    /// getRecordings)
8025    #[serde(skip_serializing_if = "Option::is_none")]
8026    pub sound_other_in_party: Option<String>,
8027    /// The recording played when a user is placed into a conference that cannot
8028    /// start until a marked user enters (Values from getRecordings)
8029    #[serde(skip_serializing_if = "Option::is_none")]
8030    pub sound_place_into_conference: Option<String>,
8031    /// The recording played when prompting for a conference PIN (Values from
8032    /// getRecordings)
8033    #[serde(skip_serializing_if = "Option::is_none")]
8034    pub sound_get_pin: Option<String>,
8035    /// The recording played when an invalid PIN is entered too many (3) times
8036    /// (Values from getRecordings)
8037    #[serde(skip_serializing_if = "Option::is_none")]
8038    pub sound_invalid_pin: Option<String>,
8039    /// The recording played to a user trying to join a locked conference
8040    /// (Values from getRecordings)
8041    #[serde(skip_serializing_if = "Option::is_none")]
8042    pub sound_locked: Option<String>,
8043    /// The recording played to an Admin-level user after toggling the
8044    /// conference to locked mode (Values from getRecordings)
8045    #[serde(skip_serializing_if = "Option::is_none")]
8046    pub sound_locked_now: Option<String>,
8047    /// The recording played to an Admin-level user after toggling the
8048    /// conference to unlocked mode (Values from getRecordings)
8049    #[serde(skip_serializing_if = "Option::is_none")]
8050    pub sound_unlocked_now: Option<String>,
8051    /// The recording played when there is an error on the menu. (Values from
8052    /// getRecordings)
8053    #[serde(skip_serializing_if = "Option::is_none")]
8054    pub sound_error_menu: Option<String>,
8055    /// The recording played when all non-admin participants are muted. (Values
8056    /// from getRecordings)
8057    #[serde(skip_serializing_if = "Option::is_none")]
8058    pub sound_participants_muted: Option<String>,
8059    /// The recording played when all non-admin participants are unmuted.
8060    /// (Values from getRecordings)
8061    #[serde(skip_serializing_if = "Option::is_none")]
8062    pub sound_participants_unmuted: Option<String>,
8063    /// Conference Language (Values from getLanguages)
8064    #[serde(skip_serializing_if = "Option::is_none")]
8065    pub language: Option<String>,
8066}
8067
8068/// \- Updates a specific Member profile if a member code is provided.
8069/// \- Adds a new Member profile entry if no member code is provided.
8070///
8071/// Parameters for [`Client::set_conference_member`] (wire method `setConferenceMember`).
8072#[derive(Debug, Default, Clone, Serialize)]
8073pub struct SetConferenceMemberParams {
8074    /// ID for a specific Member profile (Example: 5356) (required)
8075    #[serde(skip_serializing_if = "Option::is_none")]
8076    pub member: Option<i64>,
8077    /// ID for a specific Conference (Example: 5356) (required)
8078    #[serde(skip_serializing_if = "Option::is_none")]
8079    pub conference: Option<i64>,
8080    /// Member name. (required)
8081    #[serde(skip_serializing_if = "Option::is_none")]
8082    pub name: Option<String>,
8083    /// Member description.
8084    #[serde(skip_serializing_if = "Option::is_none")]
8085    pub description: Option<String>,
8086    /// Assigned PIN.
8087    #[serde(skip_serializing_if = "Option::is_none")]
8088    pub pin: Option<i64>,
8089    /// Sets if the conference recording when a member joins or leaves will be
8090    /// played (yes/no).
8091    #[serde(
8092        skip_serializing_if = "Option::is_none",
8093        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8094    )]
8095    pub announce_join_leave: Option<bool>,
8096    /// Sets if the member is an admin or not (yes/no).
8097    #[serde(
8098        skip_serializing_if = "Option::is_none",
8099        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8100    )]
8101    pub admin: Option<bool>,
8102    /// Sets if the member should start out muted after entering the conference
8103    /// (yes/no).
8104    #[serde(
8105        skip_serializing_if = "Option::is_none",
8106        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8107    )]
8108    pub start_muted: Option<bool>,
8109    /// Sets if the number of members in the conference should be announced to
8110    /// the caller as he joins (yes/no).
8111    #[serde(
8112        skip_serializing_if = "Option::is_none",
8113        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8114    )]
8115    pub announce_user_count: Option<bool>,
8116    /// Sets if the "only user" announcement should be played when a caller
8117    /// enters an empty conference (yes/no).
8118    #[serde(
8119        skip_serializing_if = "Option::is_none",
8120        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8121    )]
8122    pub announce_only_user: Option<bool>,
8123    /// Sets whether music on hold (MOH) should be played when only one person
8124    /// is in the conference (Values from getMusicOnHold).
8125    #[serde(skip_serializing_if = "Option::is_none")]
8126    pub moh_when_empty: Option<String>,
8127    /// When set to "yes", enter/leave prompts and user introductions are not
8128    /// played (yes/no).
8129    #[serde(
8130        skip_serializing_if = "Option::is_none",
8131        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8132    )]
8133    pub quiet: Option<bool>,
8134    /// If set, this recording will be heard only by the user as he joins the
8135    /// conference (Values from getRecordings).
8136    #[serde(skip_serializing_if = "Option::is_none")]
8137    pub announcement: Option<i64>,
8138    /// The system will drop what is detected as silence from entering into the
8139    /// conference (yes/no).
8140    #[serde(
8141        skip_serializing_if = "Option::is_none",
8142        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8143    )]
8144    pub drop_silence: Option<bool>,
8145    /// The time, in milliseconds, that a users needs to be sending sound or
8146    /// voice before the system can consider them to be talking (allowed values
8147    /// are 100, 120, 140, 160, 180, 200, 220, 240 or 250).
8148    #[serde(skip_serializing_if = "Option::is_none")]
8149    pub talking_threshold: Option<i64>,
8150    /// The time, in milliseconds, that silence needs to be present in the
8151    /// user&rsquo;s sound stream before the system can consider it to be in
8152    /// fact silent and close the audio (allowed values are 2000, 2100, 2200,
8153    /// 2300, 2400, 2500, 2600, 2700, 2800, 2900 or 3000).
8154    #[serde(skip_serializing_if = "Option::is_none")]
8155    pub silence_threshold: Option<i64>,
8156    /// If set to YES, the conference dashboard will display a notification when
8157    /// a participant starts and stops talking (yes/no).
8158    #[serde(
8159        skip_serializing_if = "Option::is_none",
8160        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8161    )]
8162    pub talk_detection: Option<bool>,
8163    /// When set to YES, the system will place a jitter buffer on the caller's
8164    /// audio stream before any audio mixing is performed (yes/no).
8165    #[serde(
8166        skip_serializing_if = "Option::is_none",
8167        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8168    )]
8169    pub jitter_buffer: Option<bool>,
8170}
8171
8172/// \- Updates the Billing Plan from a specific DID.
8173///
8174/// Parameters for [`Client::set_did_billing_type`] (wire method `setDIDBillingType`).
8175#[derive(Debug, Default, Clone, Serialize)]
8176pub struct SetDIDBillingTypeParams {
8177    /// DID affected by the new billing plan (required)
8178    #[serde(skip_serializing_if = "Option::is_none")]
8179    pub did: Option<String>,
8180    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
8181    #[serde(skip_serializing_if = "Option::is_none")]
8182    pub billing_type: Option<DidBillingType>,
8183}
8184
8185/// \- Updates the information from a specific DID.
8186///
8187/// Parameters for [`Client::set_did_info`] (wire method `setDIDInfo`).
8188#[derive(Debug, Default, Clone, Serialize)]
8189pub struct SetDIDInfoParams {
8190    /// DID to be Updated (Example: 5551234567) (required)
8191    #[serde(skip_serializing_if = "Option::is_none")]
8192    pub did: Option<String>,
8193    /// Main Routing for the DID (required)
8194    #[serde(skip_serializing_if = "Option::is_none")]
8195    pub routing: Option<crate::Routing>,
8196    /// Busy Routing for the DID
8197    #[serde(skip_serializing_if = "Option::is_none")]
8198    pub failover_busy: Option<crate::Routing>,
8199    /// Unreachable Routing for the DID
8200    #[serde(skip_serializing_if = "Option::is_none")]
8201    pub failover_unreachable: Option<crate::Routing>,
8202    /// NoAnswer Routing for the DID
8203    #[serde(skip_serializing_if = "Option::is_none")]
8204    pub failover_noanswer: Option<crate::Routing>,
8205    /// Voicemail for the DID
8206    #[serde(skip_serializing_if = "Option::is_none")]
8207    pub voicemail: Option<String>,
8208    /// Point of Presence for the DID ("server_pop" values from getServersInfo.
8209    /// Example: 3) (required)
8210    #[serde(skip_serializing_if = "Option::is_none")]
8211    pub pop: Option<i64>,
8212    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
8213    #[serde(skip_serializing_if = "Option::is_none")]
8214    pub dialtime: Option<i64>,
8215    /// CNAM for the DID (Boolean: 1/0) (required)
8216    #[serde(skip_serializing_if = "Option::is_none")]
8217    pub cnam: Option<i64>,
8218    /// Caller ID Prefix for the DID
8219    #[serde(skip_serializing_if = "Option::is_none")]
8220    pub callerid_prefix: Option<String>,
8221    /// Note for the DID
8222    #[serde(skip_serializing_if = "Option::is_none")]
8223    pub note: Option<String>,
8224    /// Port Out PIN protection is used as a means of authorizing outgoing
8225    /// portability (only for selected US numbers with the lock icon)
8226    #[serde(skip_serializing_if = "Option::is_none")]
8227    pub port_out_pin: Option<i64>,
8228    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
8229    #[serde(skip_serializing_if = "Option::is_none")]
8230    pub billing_type: Option<DidBillingType>,
8231    /// Record Calls (Boolean: 1/0)
8232    #[serde(
8233        skip_serializing_if = "Option::is_none",
8234        serialize_with = "crate::responses::serialize_opt_flag_01"
8235    )]
8236    pub record_calls: Option<bool>,
8237    /// Enable Call Transcription (Boolean: 1/0)
8238    #[serde(
8239        skip_serializing_if = "Option::is_none",
8240        serialize_with = "crate::responses::serialize_opt_flag_01"
8241    )]
8242    pub transcribe: Option<bool>,
8243    /// Transcription locale code (values from getLocales, comma separated for
8244    /// more than one locale up to 10 locales)
8245    #[serde(skip_serializing_if = "Option::is_none")]
8246    pub transcription_locale: Option<String>,
8247    /// Call Transcription Email
8248    #[serde(skip_serializing_if = "Option::is_none")]
8249    pub transcription_email: Option<String>,
8250    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
8251    /// (Example: 10 -> seconds)
8252    #[serde(skip_serializing_if = "Option::is_none")]
8253    pub transcription_start_delay: Option<i64>,
8254    /// Voicemail Threshold Seconds between 0 and 60, Increments of 5 (Example:
8255    /// 10 -> seconds) routing, failover_busy, failover_unreachable and
8256    /// failover_noanswer can receive values in the following format =>
8257    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
8258    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
8259    /// routing calls to Sub Accounts You can get all sub accounts using the
8260    /// getSubAccounts function fwd Used for routing calls to Forwarding
8261    /// entries. You can get the ID right after creating a Forwarding with
8262    /// setForwarding or by requesting all forwardings entries with
8263    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
8264    /// all voicemails and their IDs using the getVoicemails function sys System
8265    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
8266    /// Recording: Number not in service disconnected = System Recording: Number
8267    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
8268    /// Used to route calls to no action Examples: 'account:100001_VoIP'
8269    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
8270    #[serde(skip_serializing_if = "Option::is_none")]
8271    pub voicemail_threshold: Option<i64>,
8272}
8273
8274/// \- Updates the POP from a specific DID.
8275///
8276/// Parameters for [`Client::set_did_pop`] (wire method `setDIDPOP`).
8277#[derive(Debug, Default, Clone, Serialize)]
8278pub struct SetDIDPOPParams {
8279    /// DID to be Updated (Example: 5551234567) (required)
8280    #[serde(skip_serializing_if = "Option::is_none")]
8281    pub did: Option<String>,
8282    /// Point of Presence for the DID ("server_pop" values from getServersInfo.
8283    /// Example: 3) (required)
8284    #[serde(skip_serializing_if = "Option::is_none")]
8285    pub pop: Option<i64>,
8286}
8287
8288/// \- Updates the Routing from a specific DID.
8289///
8290/// Parameters for [`Client::set_did_routing`] (wire method `setDIDRouting`).
8291#[derive(Debug, Default, Clone, Serialize)]
8292pub struct SetDIDRoutingParams {
8293    /// DID to be Updated (Example: 5551234567) (required)
8294    #[serde(skip_serializing_if = "Option::is_none")]
8295    pub did: Option<String>,
8296    /// Main Routing for the DID routing can receive values in the following
8297    /// format => header:record_id Where header could be: account, fwd, vm, sip,
8298    /// grp, ivr, sys, recording, queue, cb, tc, disa, none. Examples: account
8299    /// Used for routing calls to Sub Accounts You can get all sub accounts
8300    /// using the getSubAccounts function fwd Used for routing calls to
8301    /// Forwarding entries. You can get the ID right after creating a Forwarding
8302    /// with setForwarding or by requesting all forwardings entries with
8303    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
8304    /// all voicemails and their IDs using the getVoicemails function Examples:
8305    /// 'account:100001_VoIP' 'fwd:1026' 'vm:101' (required)
8306    #[serde(skip_serializing_if = "Option::is_none")]
8307    pub routing: Option<crate::Routing>,
8308}
8309
8310/// \- Updates the Voicemail from a specific DID.
8311///
8312/// Parameters for [`Client::set_did_voicemail`] (wire method `setDIDVoicemail`).
8313#[derive(Debug, Default, Clone, Serialize)]
8314pub struct SetDIDVoicemailParams {
8315    /// DID to be Updated (Example: 5551234567) (required)
8316    #[serde(skip_serializing_if = "Option::is_none")]
8317    pub did: Option<String>,
8318    /// Mailbox for the DID
8319    #[serde(skip_serializing_if = "Option::is_none")]
8320    pub voicemail: Option<String>,
8321}
8322
8323/// \- Updates a specific DISA if a disa code is provided.
8324/// \- Adds a new DISA entry if no disa code is provided.
8325///
8326/// Parameters for [`Client::set_disa`] (wire method `setDISA`).
8327#[derive(Debug, Default, Clone, Serialize)]
8328pub struct SetDISAParams {
8329    /// ID for a specific DISA (Example: 2114 / Leave empty to create a new one)
8330    #[serde(skip_serializing_if = "Option::is_none")]
8331    pub disa: Option<String>,
8332    /// Name for the DISA (required)
8333    #[serde(skip_serializing_if = "Option::is_none")]
8334    pub name: Option<String>,
8335    /// Password for the DISA (required)
8336    #[serde(skip_serializing_if = "Option::is_none")]
8337    pub pin: Option<i64>,
8338    /// Time between digits (required)
8339    #[serde(skip_serializing_if = "Option::is_none")]
8340    pub digit_timeout: Option<i64>,
8341    /// Caller ID Override for the DISA
8342    #[serde(skip_serializing_if = "Option::is_none")]
8343    pub callerid_override: Option<String>,
8344    /// Language for the DISA (en, fr, es)
8345    #[serde(skip_serializing_if = "Option::is_none")]
8346    pub language: Option<String>,
8347}
8348
8349/// \- Create or update the information of a specific "Email to Fax
8350/// configuration".
8351///
8352/// Parameters for [`Client::set_email_to_fax`] (wire method `setEmailToFax`).
8353#[derive(Debug, Default, Clone, Serialize)]
8354pub struct SetEmailToFAXParams {
8355    /// \[Only for updates\] ID of the "Email to Fax" to edit (Values from
8356    /// getEmailToFax)
8357    #[serde(skip_serializing_if = "Option::is_none")]
8358    pub id: Option<i64>,
8359    /// If Enable, we will send Fax Message when we receive an email from the
8360    /// provided address. (Values: 1=Enable / 0=Disable)
8361    #[serde(
8362        skip_serializing_if = "Option::is_none",
8363        serialize_with = "crate::responses::serialize_opt_flag_01"
8364    )]
8365    pub enabled: Option<bool>,
8366    /// Email address from you will sent Fax Messages (required)
8367    #[serde(skip_serializing_if = "Option::is_none")]
8368    pub auth_email: Option<String>,
8369    /// Fax number that will appear as fax sender. (values from
8370    /// getFaxNumbersInfo) (required)
8371    #[serde(skip_serializing_if = "Option::is_none")]
8372    pub from_number_id: Option<String>,
8373    /// If Enable, we will check the mail subject if this include a Security
8374    /// Code before send the Fax. (Values: 1=Enable / 0=Disable)
8375    #[serde(
8376        skip_serializing_if = "Option::is_none",
8377        serialize_with = "crate::responses::serialize_opt_flag_01"
8378    )]
8379    pub security_code_enabled: Option<bool>,
8380    /// An alphanumeric code to identify your emails before send as Fax.
8381    /// (required)
8382    #[serde(skip_serializing_if = "Option::is_none")]
8383    pub security_code: Option<String>,
8384    /// Set to true if testing.
8385    #[serde(
8386        skip_serializing_if = "crate::responses::is_false",
8387        serialize_with = "crate::responses::serialize_flag_01"
8388    )]
8389    pub test: bool,
8390}
8391
8392/// \- Create or update the information of a specific Fax Folder.
8393///
8394/// Parameters for [`Client::set_fax_folder`] (wire method `setFaxFolder`).
8395#[derive(Debug, Default, Clone, Serialize)]
8396pub struct SetFAXFolderParams {
8397    /// \[Only for updates\] ID of the Fax Folder to edit (Values from
8398    /// getFaxFolders)
8399    #[serde(skip_serializing_if = "Option::is_none")]
8400    pub id: Option<i64>,
8401    /// Name of the Fax Folder to create or update (Example: FAMILY) (required)
8402    #[serde(skip_serializing_if = "Option::is_none")]
8403    pub name: Option<String>,
8404    /// Set to true if testing how to create/update a Fax Folder
8405    #[serde(
8406        skip_serializing_if = "crate::responses::is_false",
8407        serialize_with = "crate::responses::serialize_flag_01"
8408    )]
8409    pub test: bool,
8410}
8411
8412/// \- Updates the email configuration from a specific Fax Number.
8413///
8414/// Parameters for [`Client::set_fax_number_email`] (wire method `setFaxNumberEmail`).
8415#[derive(Debug, Default, Clone, Serialize)]
8416pub struct SetFAXNumberEmailParams {
8417    /// DID Number to be ported into our network (Example: 5552341234)
8418    /// (required)
8419    #[serde(skip_serializing_if = "Option::is_none")]
8420    pub did: Option<i64>,
8421    /// Email address where send notifications when receive Fax Messages -
8422    /// (Example: \[email protected\])
8423    #[serde(skip_serializing_if = "Option::is_none")]
8424    pub email: Option<String>,
8425    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
8426    /// \- Default: 0
8427    #[serde(
8428        skip_serializing_if = "Option::is_none",
8429        serialize_with = "crate::responses::serialize_opt_flag_01"
8430    )]
8431    pub email_enable: Option<bool>,
8432    /// Flag to enable attach the Fax Message as a PDF file in the
8433    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
8434    #[serde(
8435        skip_serializing_if = "Option::is_none",
8436        serialize_with = "crate::responses::serialize_opt_flag_01"
8437    )]
8438    pub email_attach_file: Option<bool>,
8439    /// Set to true if testing how to set the email of a Fax Number
8440    #[serde(
8441        skip_serializing_if = "crate::responses::is_false",
8442        serialize_with = "crate::responses::serialize_flag_01"
8443    )]
8444    pub test: bool,
8445}
8446
8447/// \- Updates the information from a specific Fax Number.
8448///
8449/// Parameters for [`Client::set_fax_number_info`] (wire method `setFaxNumberInfo`).
8450#[derive(Debug, Default, Clone, Serialize)]
8451pub struct SetFAXNumberInfoParams {
8452    /// DID Number to be ported into our network (Example: 5552341234)
8453    /// (required)
8454    #[serde(skip_serializing_if = "Option::is_none")]
8455    pub did: Option<i64>,
8456    /// Email address where send notifications when receive Fax Messages -
8457    /// (Example: \[email protected\])
8458    #[serde(skip_serializing_if = "Option::is_none")]
8459    pub email: Option<String>,
8460    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
8461    /// \- Default: 0
8462    #[serde(
8463        skip_serializing_if = "Option::is_none",
8464        serialize_with = "crate::responses::serialize_opt_flag_01"
8465    )]
8466    pub email_enable: Option<bool>,
8467    /// Flag to enable attach the Fax Message as a PDF file in the
8468    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
8469    #[serde(
8470        skip_serializing_if = "Option::is_none",
8471        serialize_with = "crate::responses::serialize_opt_flag_01"
8472    )]
8473    pub email_attach_file: Option<bool>,
8474    /// URL where make a POST when you receive a Fax Message.
8475    #[serde(skip_serializing_if = "Option::is_none")]
8476    pub url_callback: Option<String>,
8477    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
8478    /// false) - Default: 0
8479    #[serde(
8480        skip_serializing_if = "Option::is_none",
8481        serialize_with = "crate::responses::serialize_opt_flag_01"
8482    )]
8483    pub url_callback_enable: Option<bool>,
8484    /// Flag to enable retry the POST action in case we don't receive "ok".
8485    #[serde(
8486        skip_serializing_if = "Option::is_none",
8487        serialize_with = "crate::responses::serialize_opt_flag_01"
8488    )]
8489    pub url_callback_retry: Option<bool>,
8490    /// Set to true if testing how to update the information of a Fax Number
8491    #[serde(
8492        skip_serializing_if = "crate::responses::is_false",
8493        serialize_with = "crate::responses::serialize_flag_01"
8494    )]
8495    pub test: bool,
8496}
8497
8498/// \- Updates the url callback configuration from a specific Fax Number.
8499///
8500/// Parameters for [`Client::set_fax_number_url_callback`] (wire method `setFaxNumberURLCallback`).
8501#[derive(Debug, Default, Clone, Serialize)]
8502pub struct SetFAXNumberURLCallbackParams {
8503    /// DID Number to be ported into our network (Example: 5552341234)
8504    /// (required)
8505    #[serde(skip_serializing_if = "Option::is_none")]
8506    pub did: Option<i64>,
8507    /// URL where make a POST when you receive a Fax Message.
8508    #[serde(skip_serializing_if = "Option::is_none")]
8509    pub url_callback: Option<String>,
8510    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
8511    /// false) - Default: 0
8512    #[serde(
8513        skip_serializing_if = "Option::is_none",
8514        serialize_with = "crate::responses::serialize_opt_flag_01"
8515    )]
8516    pub url_callback_enable: Option<bool>,
8517    /// Flag to enable retry the POST action in case we don't receive "ok".
8518    #[serde(
8519        skip_serializing_if = "Option::is_none",
8520        serialize_with = "crate::responses::serialize_opt_flag_01"
8521    )]
8522    pub url_callback_retry: Option<bool>,
8523    /// Set to true if testing how to set the URL callback of a Fax Number
8524    #[serde(
8525        skip_serializing_if = "crate::responses::is_false",
8526        serialize_with = "crate::responses::serialize_flag_01"
8527    )]
8528    pub test: bool,
8529}
8530
8531/// \- Updates a specific Forwarding if a fwd code is provided.
8532/// \- Adds a new Forwarding entry if no fwd code is provided.
8533///
8534/// Parameters for [`Client::set_forwarding`] (wire method `setForwarding`).
8535#[derive(Debug, Default, Clone, Serialize)]
8536pub struct SetForwardingParams {
8537    /// ID for a specific Forwarding (Example: 19183 / Leave empty to create a
8538    /// new one)
8539    #[serde(skip_serializing_if = "Option::is_none")]
8540    pub forwarding: Option<String>,
8541    /// Phone Number for the Forwarding (required)
8542    #[serde(skip_serializing_if = "Option::is_none")]
8543    pub phone_number: Option<String>,
8544    /// Caller ID Override for the Forwarding
8545    #[serde(skip_serializing_if = "Option::is_none")]
8546    pub callerid_override: Option<String>,
8547    /// Description for the Forwarding
8548    #[serde(skip_serializing_if = "Option::is_none")]
8549    pub description: Option<String>,
8550    /// Send DTMF digits when call is answered
8551    #[serde(skip_serializing_if = "Option::is_none")]
8552    pub dtmf_digits: Option<String>,
8553    /// Pause (seconds) when call is answered before sending digits (Example:
8554    /// 1.5 / Values: 0 to 10 in increments of 0.5)
8555    #[serde(skip_serializing_if = "Option::is_none")]
8556    pub pause: Option<String>,
8557    /// If enabled, we will add a Diversion Header to your forwarded call
8558    #[serde(
8559        skip_serializing_if = "Option::is_none",
8560        serialize_with = "crate::responses::serialize_opt_flag_01"
8561    )]
8562    pub diversion_header: Option<bool>,
8563}
8564
8565/// \- Updates a specific IVR if an IVR code is provided.
8566/// \- Adds a new IVR entry if no IVR code is provided.
8567///
8568/// Parameters for [`Client::set_ivr`] (wire method `setIVR`).
8569#[derive(Debug, Default, Clone, Serialize)]
8570pub struct SetIVRParams {
8571    /// ID for a specific IVR (Example: 4636 / Leave empty to create a new one)
8572    #[serde(skip_serializing_if = "Option::is_none")]
8573    pub ivr: Option<String>,
8574    /// Name for the IVR (required)
8575    #[serde(skip_serializing_if = "Option::is_none")]
8576    pub name: Option<String>,
8577    /// Recording for the IVR (values from getRecordings) (required)
8578    #[serde(skip_serializing_if = "Option::is_none")]
8579    pub recording: Option<i64>,
8580    /// Maximum time for type in a choice after recording (required)
8581    #[serde(skip_serializing_if = "Option::is_none")]
8582    pub timeout: Option<i64>,
8583    /// Language for the IVR (values from getLanguages) (required)
8584    #[serde(skip_serializing_if = "Option::is_none")]
8585    pub language: Option<String>,
8586    /// Voicemail Setup for the IVR (values from getVoicemailSetups) (required)
8587    #[serde(skip_serializing_if = "Option::is_none")]
8588    pub voicemailsetup: Option<i64>,
8589    /// Choices for the IVR (Example: '1=sip:5096 ; 2=fwd:20222') (required)
8590    #[serde(skip_serializing_if = "Option::is_none")]
8591    pub choices: Option<String>,
8592}
8593
8594/// Parameters for [`Client::set_location`] (wire method `setLocation`).
8595#[derive(Debug, Default, Clone, Serialize)]
8596pub struct SetLocationParams {
8597    /// Internal Extension Location name (Example: "Location1") (required)
8598    #[serde(skip_serializing_if = "Option::is_none")]
8599    pub name: Option<String>,
8600}
8601
8602/// Parameters for [`Client::set_music_on_hold`] (wire method `setMusicOnHold`).
8603#[derive(Debug, Default, Clone, Serialize)]
8604pub struct SetMusicOnHoldParams {
8605    /// Music on Hold Name (Values from getMusicOnHold)
8606    #[serde(skip_serializing_if = "Option::is_none")]
8607    pub name: Option<String>,
8608    /// Music on Hold Description (required)
8609    #[serde(skip_serializing_if = "Option::is_none")]
8610    pub description: Option<String>,
8611    /// Music on Hold Quiet Volume (Boolean: 1/0)
8612    #[serde(skip_serializing_if = "Option::is_none")]
8613    pub volume: Option<String>,
8614    /// Selected recordings sort mode (Example: "alpha", "random")
8615    #[serde(skip_serializing_if = "Option::is_none")]
8616    pub sort: Option<RecordingSort>,
8617    /// Selected recordings separated by commas (Values from getRecordings,
8618    /// example: (1234,1235,1236) (required)
8619    #[serde(skip_serializing_if = "Option::is_none")]
8620    pub recordings: Option<String>,
8621}
8622
8623/// \- Updates a specific Phonebook entry if a phonebook code is provided.
8624/// \- Adds a new Phonebook entry if no phonebook code is provided.
8625///
8626/// Parameters for [`Client::set_phonebook`] (wire method `setPhonebook`).
8627#[derive(Debug, Default, Clone, Serialize)]
8628pub struct SetPhonebookParams {
8629    /// ID for a specific Phonebook entry (Example: 32207 / Leave empty to
8630    /// create a new one)
8631    #[serde(skip_serializing_if = "Option::is_none")]
8632    pub phonebook: Option<String>,
8633    /// Speed Dial for the Phonebook entry
8634    #[serde(skip_serializing_if = "Option::is_none")]
8635    pub speed_dial: Option<String>,
8636    /// Name for the Phonebook Entry (required)
8637    #[serde(skip_serializing_if = "Option::is_none")]
8638    pub name: Option<String>,
8639    /// Number or SIP for the Phonebook entry (Example: 'sip:2563' or
8640    /// '5552223333') (required)
8641    #[serde(skip_serializing_if = "Option::is_none")]
8642    pub number: Option<i64>,
8643    /// Caller ID Override when dialing via Speed Dial
8644    #[serde(skip_serializing_if = "Option::is_none")]
8645    pub callerid: Option<String>,
8646    /// Note for the phonebook entry
8647    #[serde(skip_serializing_if = "Option::is_none")]
8648    pub note: Option<String>,
8649    /// ID for a specific Phonebook group
8650    #[serde(skip_serializing_if = "Option::is_none")]
8651    pub group: Option<i64>,
8652}
8653
8654/// \- Updates a specific Phonebook group if a phonebook code is provided.
8655/// \- Adds a new Phonebook group if no phonebook group code is provided.
8656/// \- Assigns or modifies group members if a member list is provided
8657///
8658/// Parameters for [`Client::set_phonebook_group`] (wire method `setPhonebookGroup`).
8659#[derive(Debug, Default, Clone, Serialize)]
8660pub struct SetPhonebookGroupParams {
8661    #[serde(skip_serializing_if = "Option::is_none")]
8662    pub phonebook: Option<String>,
8663    /// ID for a specific Phonebook group (Example: 32207 / Leave empty to
8664    /// create a new one)
8665    #[serde(skip_serializing_if = "Option::is_none")]
8666    pub group: Option<String>,
8667    /// Name for the Phonebook group (required)
8668    #[serde(skip_serializing_if = "Option::is_none")]
8669    pub name: Option<String>,
8670    /// Phonebook entry codes associated to this group separated by a semicolon
8671    #[serde(skip_serializing_if = "Option::is_none")]
8672    pub members: Option<String>,
8673}
8674
8675/// \- Updates a specific Queue entry if a queue code is provided.
8676/// \- Adds a new Queue entry if no queue code is provided.
8677///
8678/// Parameters for [`Client::set_queue`] (wire method `setQueue`).
8679#[derive(Debug, Default, Clone, Serialize)]
8680pub struct SetQueueParams {
8681    /// ID for a specific Queue entry (Example: 32208 / Leave empty to create a
8682    /// new one)
8683    #[serde(skip_serializing_if = "Option::is_none")]
8684    pub queue: Option<String>,
8685    /// Queue entry name (required)
8686    #[serde(skip_serializing_if = "Option::is_none")]
8687    pub queue_name: Option<String>,
8688    /// Queue entry number (required)
8689    #[serde(skip_serializing_if = "Option::is_none")]
8690    pub queue_number: Option<i64>,
8691    /// Language Code (Values from getLanguages) (required)
8692    #[serde(skip_serializing_if = "Option::is_none")]
8693    pub queue_language: Option<String>,
8694    /// Queue Password
8695    #[serde(skip_serializing_if = "Option::is_none")]
8696    pub queue_password: Option<String>,
8697    /// Caller ID Prefix for queue
8698    #[serde(skip_serializing_if = "Option::is_none")]
8699    pub callerid_prefix: Option<i64>,
8700    /// Recording Code (Values from getRecordings or 'none')
8701    #[serde(skip_serializing_if = "Option::is_none")]
8702    pub join_announcement: Option<String>,
8703    /// weight/priority of queue (Values 1 to 60) (required)
8704    #[serde(skip_serializing_if = "Option::is_none")]
8705    pub priority_weight: Option<String>,
8706    /// Recording Code (Values from getRecordings or 'none')
8707    #[serde(skip_serializing_if = "Option::is_none")]
8708    pub agent_announcement: Option<String>,
8709    /// Report hold time to agent (Values from getReportEstimatedHoldTime)
8710    /// (required)
8711    #[serde(skip_serializing_if = "Option::is_none")]
8712    pub report_hold_time_agent: Option<String>,
8713    /// Member delay when the agent is connected to the caller (Values 1 to 15
8714    /// in seconds or 'none')
8715    #[serde(skip_serializing_if = "Option::is_none")]
8716    pub member_delay: Option<crate::Seconds>,
8717    /// Ammount of time a caller can wait in queue (Values in seconds: multiples
8718    /// of 30, max value: 1200 or 'unlimited')
8719    #[serde(skip_serializing_if = "Option::is_none")]
8720    pub maximum_wait_time: Option<crate::WaitTime>,
8721    /// Maximum callers (Values: 1 to 60 or 'unlimited')
8722    #[serde(skip_serializing_if = "Option::is_none")]
8723    pub maximum_callers: Option<String>,
8724    /// How caller join to the queue (Values from getJoinWhenEmptyTypes)
8725    /// Examples: yes Callers can join a queue with no members or only
8726    /// unavailable members no Callers cannot join a queue with no members
8727    /// strict Callers cannot join a queue with no members or only unavailable
8728    /// members (required)
8729    #[serde(skip_serializing_if = "Option::is_none")]
8730    pub join_when_empty: Option<QueueEmptyBehavior>,
8731    /// How caller leave the queue (Values 'yes'/'no'/'strict') Examples: yes
8732    /// Callers are sent to failover when there are no members no Callers will
8733    /// remain in the queue even if there are no members strict Callers are sent
8734    /// to failover if there are members but none of them is available.
8735    /// (required)
8736    #[serde(skip_serializing_if = "Option::is_none")]
8737    pub leave_when_empty: Option<QueueEmptyBehavior>,
8738    /// Ring strategy (Values from getRingStrategies) (required)
8739    #[serde(skip_serializing_if = "Option::is_none")]
8740    pub ring_strategy: Option<RingStrategy>,
8741    /// If you want the queue to avoid sending calls to members (Values
8742    /// 'yes'/'no') (required)
8743    #[serde(
8744        skip_serializing_if = "Option::is_none",
8745        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8746    )]
8747    pub ring_inuse: Option<bool>,
8748    /// Number of seconds to ring an agent (Values 5 to 60)
8749    #[serde(skip_serializing_if = "Option::is_none")]
8750    pub agent_ring_timeout: Option<i64>,
8751    /// How long do we wait before trying all the members again (Values 5 to 60
8752    /// seconds or 'none'= No Delay)
8753    #[serde(skip_serializing_if = "Option::is_none")]
8754    pub retry_timer: Option<crate::Seconds>,
8755    /// After a successful call, the number of seconds to wait before sending a
8756    /// free agent another call (Values 1 to 60 seconds or 'none'= No Delay)
8757    #[serde(skip_serializing_if = "Option::is_none")]
8758    pub wrapup_time: Option<crate::Seconds>,
8759    /// Code for Recording (Values from getRecordings or 'none')
8760    #[serde(skip_serializing_if = "Option::is_none")]
8761    pub voice_announcement: Option<String>,
8762    /// Periodic interval to play voice announce recording (Values in seconds:
8763    /// multiples of 15, max value: 1200 or 'none' = No announcement)
8764    #[serde(skip_serializing_if = "Option::is_none")]
8765    pub frequency_announcement: Option<crate::Seconds>,
8766    /// How often to make any periodic announcement (Values in seconds:
8767    /// multiples of 15, max value: 1200 or 'none' = No announcement)
8768    #[serde(skip_serializing_if = "Option::is_none")]
8769    pub announce_position_frecuency: Option<crate::Seconds>,
8770    /// Announce seconds (Values in seconds: 1 to 60 or 'none' = Do not
8771    /// announce)
8772    #[serde(skip_serializing_if = "Option::is_none")]
8773    pub announce_round_seconds: Option<crate::Seconds>,
8774    /// Include estimated hold time in position announcements (Values
8775    /// 'yes'/'no'/'once')
8776    #[serde(skip_serializing_if = "Option::is_none")]
8777    pub if_announce_position_enabled_report_estimated_hold_time: Option<EstimatedHoldTimeAnnounce>,
8778    /// Yes to say "Thank you for your patience" immediatly after announcing
8779    /// Queue Position and Estimated hold time left (Values 'yes'/'no')
8780    #[serde(
8781        skip_serializing_if = "Option::is_none",
8782        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8783    )]
8784    pub thankyou_for_your_patience: Option<bool>,
8785    /// Music on Hold Code (Values from getMusicOnHold)
8786    #[serde(skip_serializing_if = "Option::is_none")]
8787    pub music_on_hold: Option<String>,
8788    /// Failover routing to Maximum wait time reached
8789    #[serde(skip_serializing_if = "Option::is_none")]
8790    pub fail_over_routing_timeout: Option<crate::Routing>,
8791    /// Failover routing to Maximum callers reached
8792    #[serde(skip_serializing_if = "Option::is_none")]
8793    pub fail_over_routing_full: Option<crate::Routing>,
8794    /// A call was sent to the queue but the queue had no members (Only works
8795    /// when Join when Empty is set to no)
8796    #[serde(skip_serializing_if = "Option::is_none")]
8797    pub fail_over_routing_join_empty: Option<crate::Routing>,
8798    /// The last agent was removed form the queue before alls calls were handled
8799    /// (Only works when Leave when Empty is set to yes)
8800    #[serde(skip_serializing_if = "Option::is_none")]
8801    pub fail_over_routing_leave_empty: Option<crate::Routing>,
8802    /// Same as routingjoinempty, except that there were still queue members,
8803    /// but all were status unavailable
8804    #[serde(skip_serializing_if = "Option::is_none")]
8805    pub fail_over_routing_join_unavail: Option<crate::Routing>,
8806    /// Same as routingleaveempty, except that there were still queue members,
8807    /// but all were status unavailable routings can receive values in the
8808    /// following format => header:record_id Where header could be: account,
8809    /// fwd, vm, sip, grp, ivr, sys, recording, queue, cb, tc, disa, none.
8810    /// Examples: account Used for routing calls to Sub Accounts You can get all
8811    /// sub accounts using the getSubAccounts function fwd Used for routing
8812    /// calls to Forwarding entries. You can get the ID right after creating a
8813    /// Forwarding with setForwarding or by requesting all forwardings entries
8814    /// with getForwardings. vm Used for routing calls to a Voicemail. You can
8815    /// get all voicemails and their IDs using the getVoicemails function
8816    /// Examples: 'account:100001_VoIP' 'fwd:1026' 'vm:101'
8817    #[serde(skip_serializing_if = "Option::is_none")]
8818    pub fail_over_routing_leave_unavail: Option<crate::Routing>,
8819}
8820
8821/// \- Updates a specific Recording File if a Recording ID is provided.
8822/// \- Adds a new Recording file entry if no Recording ID is provided.
8823///
8824/// Parameters for [`Client::set_recording`] (wire method `setRecording`).
8825#[derive(Debug, Default, Clone, Serialize)]
8826pub struct SetRecordingParams {
8827    /// ID for a specific Phonebook entry (Example: 33221 / Leave empty to
8828    /// create a new one)
8829    #[serde(skip_serializing_if = "Option::is_none")]
8830    pub recording: Option<String>,
8831    /// Base64 encoded file (Provide Recording ID and file if you want update
8832    /// the file only) (required)
8833    #[serde(skip_serializing_if = "Option::is_none")]
8834    pub file: Option<String>,
8835    /// Name for the Recording Entry (Example: 'recording1') (Provide Recording
8836    /// ID and name if you want update the name only) (Provide Recording ID,
8837    /// file and name if you want update both parameters at the same time)
8838    /// (required)
8839    #[serde(skip_serializing_if = "Option::is_none")]
8840    pub name: Option<String>,
8841}
8842
8843/// \- Updates a specific Ring Group if a ring group code is provided.
8844/// \- Adds a new Ring Group entry if no ring group code is provided.
8845///
8846/// Parameters for [`Client::set_ring_group`] (wire method `setRingGroup`).
8847#[derive(Debug, Default, Clone, Serialize)]
8848pub struct SetRingGroupParams {
8849    /// ID for a specific Ring Group (Example: 4768 / Leave empty to create a
8850    /// new one)
8851    #[serde(skip_serializing_if = "Option::is_none")]
8852    pub ring_group: Option<String>,
8853    /// Name for the Ring Group (required)
8854    #[serde(skip_serializing_if = "Option::is_none")]
8855    pub name: Option<String>,
8856    /// Members for the Ring Group (Example: 'account:100001;fwd:16006')
8857    /// (required)
8858    #[serde(skip_serializing_if = "Option::is_none")]
8859    pub members: Option<String>,
8860    /// Voicemail for the Ring Group (Values from getVoicemails) (required)
8861    #[serde(skip_serializing_if = "Option::is_none")]
8862    pub voicemail: Option<String>,
8863    /// Recording Code (Values from getRecordings)
8864    #[serde(skip_serializing_if = "Option::is_none")]
8865    pub caller_announcement: Option<String>,
8866    /// Music on Hold Code (Values from getMusicOnHold)
8867    #[serde(skip_serializing_if = "Option::is_none")]
8868    pub music_on_hold: Option<String>,
8869    /// Code for Language (Values from getLanguages) "members" can receive the
8870    /// following routing headers: account Used to route the call to an Account
8871    /// or a Sub Account fwd Used to route the call to a Forwarding entry sip
8872    /// Used to route the call to a SIP URI Each member can a specific ring time
8873    /// and press1 values, you can add those to the routing header as follow:
8874    /// Example: 'account:100001,25,0;fwd:16006,10,1' 25 = Default ring time
8875    /// value (Values from 1 to 60 sec) 0 = Default press1 value (Values allowed
8876    /// 0 and 1)
8877    #[serde(skip_serializing_if = "Option::is_none")]
8878    pub language: Option<String>,
8879}
8880
8881/// \- Updates a specific SIP URI if a SIP URI code is provided.
8882/// \- Adds a new SIP URI entry if no SIP URI code is provided.
8883///
8884/// Parameters for [`Client::set_sip_uri`] (wire method `setSIPURI`).
8885#[derive(Debug, Default, Clone, Serialize)]
8886pub struct SetSIPURIParams {
8887    /// ID for a specific SIP URI (Example: 6199 / Leave empty to create a new
8888    /// one)
8889    #[serde(skip_serializing_if = "Option::is_none")]
8890    pub sipuri: Option<String>,
8891    /// SIP URI (Example: '\[email protected\]') (required)
8892    #[serde(skip_serializing_if = "Option::is_none")]
8893    pub uri: Option<String>,
8894    /// Description for the SIP URI
8895    #[serde(skip_serializing_if = "Option::is_none")]
8896    pub description: Option<String>,
8897    /// This setting is optional. You can configure a 'CallerID Number
8898    /// Override'. Your default CallerID number will be changed to the override
8899    /// you have configured here when using this SIP URI.
8900    #[serde(skip_serializing_if = "Option::is_none")]
8901    pub callerid_override: Option<String>,
8902    /// If this option is Enabled, then your CallerID will be E164 compliant.
8903    #[serde(skip_serializing_if = "Option::is_none")]
8904    pub callerid_e164: Option<i64>,
8905}
8906
8907/// \- Enable/Disable the SMS Service for a DID
8908/// \- Change the SMS settings for a DID
8909///
8910/// Parameters for [`Client::set_sms`] (wire method `setSMS`).
8911#[derive(Debug, Default, Clone, Serialize)]
8912pub struct SetSMSParams {
8913    /// DID to be Updated (Example: 5551234567) (required)
8914    #[serde(skip_serializing_if = "Option::is_none")]
8915    pub did: Option<String>,
8916    /// Enable/Disable the DID to receive SMS Messages (Values: 1=Enable /
8917    /// 0=Disable) (required)
8918    #[serde(
8919        skip_serializing_if = "Option::is_none",
8920        serialize_with = "crate::responses::serialize_opt_flag_01"
8921    )]
8922    pub enable: Option<bool>,
8923    /// If Enable, SMS Messages received by your DID will be sent to the email
8924    /// address provided (Values: 1=Enable / 0=Disable)
8925    #[serde(
8926        skip_serializing_if = "Option::is_none",
8927        serialize_with = "crate::responses::serialize_opt_flag_01"
8928    )]
8929    pub email_enabled: Option<bool>,
8930    /// SMS Messages received by your DID will be sent to the email address
8931    /// provided
8932    #[serde(skip_serializing_if = "Option::is_none")]
8933    pub email_address: Option<String>,
8934    /// If Enable, SMS Messages received by your DID will be forwarded to the
8935    /// phone number provided (Values: 1=Enable / 0=Disable)
8936    #[serde(
8937        skip_serializing_if = "Option::is_none",
8938        serialize_with = "crate::responses::serialize_opt_flag_01"
8939    )]
8940    pub sms_forward_enable: Option<bool>,
8941    /// SMS Messages received by your DID will be forwarded to the phone number
8942    /// provided (Example: 5551234567)
8943    #[serde(skip_serializing_if = "Option::is_none")]
8944    pub sms_forward: Option<String>,
8945    /// If Enable, SMS Messages received by your DID will be send a GET request
8946    /// to the URL callback provided (Values: 1=Enable / 0=Disable)
8947    #[serde(
8948        skip_serializing_if = "Option::is_none",
8949        serialize_with = "crate::responses::serialize_opt_flag_01"
8950    )]
8951    pub url_callback_enable: Option<bool>,
8952    /// SMS Messages received by your DID will be send a GET request to the URL
8953    /// callback provided Available Variables for your URL {FROM} The phone
8954    /// number that sent you the message. {TO} The DID number that received the
8955    /// message. {MESSAGE} The content of the message. Example:
8956    /// <http://mysite.com/sms.php?to={TO}&from={FROM}&message={MESSAGE}>
8957    #[serde(skip_serializing_if = "Option::is_none")]
8958    pub url_callback: Option<String>,
8959    /// Enable URL callback Retry (Values: 1=Enable / 0=Disable) we will be
8960    /// expecting an 'ok' output (without quotes) from your URL callback page as
8961    /// an indicator that you have received the message correctly. If we don't
8962    /// receive the 'ok' letters (wihtout quotes) from your callback page, we
8963    /// will keep sending you the same message every 30 minutes.
8964    #[serde(
8965        skip_serializing_if = "Option::is_none",
8966        serialize_with = "crate::responses::serialize_opt_flag_01"
8967    )]
8968    pub url_callback_retry: Option<bool>,
8969    /// SIP account or sub-account that will receive the SMS Messages
8970    #[serde(skip_serializing_if = "Option::is_none")]
8971    pub sms_sipaccount: Option<String>,
8972    /// If Enable, SMS Messages received by your DID will be sent to the
8973    /// specified SIP account or sub-account (Values: 1=Enable / 0=Disable)
8974    #[serde(
8975        skip_serializing_if = "Option::is_none",
8976        serialize_with = "crate::responses::serialize_opt_flag_01"
8977    )]
8978    pub sms_sipaccount_enabled: Option<bool>,
8979}
8980
8981/// \- Updates a specific Member from queue if a Member code is provided.
8982/// \- Adds a new Member to Queue if no Member code is provided.
8983///
8984/// Parameters for [`Client::set_static_member`] (wire method `setStaticMember`).
8985#[derive(Debug, Default, Clone, Serialize)]
8986pub struct SetStaticMemberParams {
8987    /// ID for a specific Member (Example: 619 / Leave empty to create a new
8988    /// one)
8989    #[serde(skip_serializing_if = "Option::is_none")]
8990    pub member: Option<String>,
8991    /// ID for a specific Queue (required)
8992    #[serde(skip_serializing_if = "Option::is_none")]
8993    pub queue: Option<i64>,
8994    /// Member Description (required)
8995    #[serde(skip_serializing_if = "Option::is_none")]
8996    pub member_name: Option<String>,
8997    /// Static Member Routing to receive calls - You can get all sub accounts
8998    /// using the getSubAccounts function
8999    #[serde(skip_serializing_if = "Option::is_none")]
9000    pub account: Option<String>,
9001    /// Values for get calls first (Example: 0) (required)
9002    #[serde(skip_serializing_if = "Option::is_none")]
9003    pub priority: Option<i64>,
9004}
9005
9006/// \- Updates Sub Account information.
9007///
9008/// Parameters for [`Client::set_sub_account`] (wire method `setSubAccount`).
9009#[derive(Debug, Default, Clone, Serialize)]
9010pub struct SetSubAccountParams {
9011    /// Sub Account ID (Example: 10236) (required)
9012    #[serde(skip_serializing_if = "Option::is_none")]
9013    pub id: Option<i64>,
9014    /// Sub Account Description (Example: 'VoIP Account')
9015    #[serde(skip_serializing_if = "Option::is_none")]
9016    pub description: Option<String>,
9017    /// Authorization Type Code (Values from getAuthTypes) (required)
9018    #[serde(skip_serializing_if = "Option::is_none")]
9019    pub auth_type: Option<i64>,
9020    /// Sub Account Password (For Password Authentication)
9021    #[serde(skip_serializing_if = "Option::is_none")]
9022    pub password: Option<String>,
9023    /// Sub Account IP (For IP Authentication)
9024    #[serde(skip_serializing_if = "Option::is_none")]
9025    pub ip: Option<String>,
9026    /// Device Type Code (Values from getDeviceTypes) (required)
9027    #[serde(skip_serializing_if = "Option::is_none")]
9028    pub device_type: Option<i64>,
9029    /// Caller ID Override
9030    #[serde(skip_serializing_if = "Option::is_none")]
9031    pub callerid_number: Option<String>,
9032    /// Route Code (Values from getRoutes)
9033    #[serde(skip_serializing_if = "Option::is_none")]
9034    pub canada_routing: Option<String>,
9035    /// Lock International Code (Values from getLockInternational) (required)
9036    #[serde(skip_serializing_if = "Option::is_none")]
9037    pub lock_international: Option<i64>,
9038    /// Route Code (Values from getRoutes) (required)
9039    #[serde(skip_serializing_if = "Option::is_none")]
9040    pub international_route: Option<i64>,
9041    /// Music on Hold Code (Values from getMusicOnHold) (required)
9042    #[serde(skip_serializing_if = "Option::is_none")]
9043    pub music_on_hold: Option<String>,
9044    /// Language for system messages, such as "Invalid Option" (Values from
9045    /// getLanguages)
9046    #[serde(skip_serializing_if = "Option::is_none")]
9047    pub language: Option<String>,
9048    /// List of Allowed Codecs (Values from getAllowedCodecs) Codecs separated
9049    /// by semicolon (Example: ulaw;g729;gsm) (required)
9050    #[serde(skip_serializing_if = "Option::is_none")]
9051    pub allowed_codecs: Option<String>,
9052    /// DTMF Mode Code (Values from getDTMFModes) (required)
9053    #[serde(skip_serializing_if = "Option::is_none")]
9054    pub dtmf_mode: Option<DtmfMode>,
9055    /// NAT Mode Code (Values from getNAT) (required)
9056    #[serde(skip_serializing_if = "Option::is_none")]
9057    pub nat: Option<Nat>,
9058    /// Encrypted SIP Traffic (Boolean: 1/0)
9059    #[serde(skip_serializing_if = "Option::is_none")]
9060    pub sip_traffic: Option<i64>,
9061    /// Max Expiry between 60 and 3600 (Example: 3000)
9062    #[serde(skip_serializing_if = "Option::is_none")]
9063    pub max_expiry: Option<i64>,
9064    /// RTP Time Out between 1 and 3600 (Example: 60)
9065    #[serde(skip_serializing_if = "Option::is_none")]
9066    pub rtp_timeout: Option<i64>,
9067    /// RTP Hold Time Out between 1 and 3600 (Example: 600)
9068    #[serde(skip_serializing_if = "Option::is_none")]
9069    pub rtp_hold_timeout: Option<i64>,
9070    /// List of IP/Netmask to allow outgoing calls separated by commas (Example:
9071    /// 123.45.3.21,10.255.12.0/22,device.mydomain.com)
9072    #[serde(skip_serializing_if = "Option::is_none")]
9073    pub ip_restriction: Option<String>,
9074    /// Enable IP Restriction (Boolean: 1/0)
9075    #[serde(
9076        skip_serializing_if = "Option::is_none",
9077        serialize_with = "crate::responses::serialize_opt_flag_01"
9078    )]
9079    pub enable_ip_restriction: Option<bool>,
9080    /// List of POP Servers to allow outgoing calls separated by commas (values
9081    /// from getServersInfo. Example: 10,23,45)
9082    #[serde(skip_serializing_if = "Option::is_none")]
9083    pub pop_restriction: Option<String>,
9084    /// Enable POP Restriction (Boolean: 1/0)
9085    #[serde(
9086        skip_serializing_if = "Option::is_none",
9087        serialize_with = "crate::responses::serialize_opt_flag_01"
9088    )]
9089    pub enable_pop_restriction: Option<bool>,
9090    /// Sub Account Internal Extension (Example: 1 -> Creates 101)
9091    #[serde(skip_serializing_if = "Option::is_none")]
9092    pub internal_extension: Option<String>,
9093    /// Sub Account Internal Voicemail (Example: 101)
9094    #[serde(skip_serializing_if = "Option::is_none")]
9095    pub internal_voicemail: Option<String>,
9096    /// Sub Account Internal Dialtime (Example: 60 -> seconds)
9097    #[serde(skip_serializing_if = "Option::is_none")]
9098    pub internal_dialtime: Option<String>,
9099    /// Reseller Account ID (Example: 561115)
9100    #[serde(skip_serializing_if = "Option::is_none")]
9101    pub reseller_client: Option<String>,
9102    /// Reseller Package (Example: 92364)
9103    #[serde(skip_serializing_if = "Option::is_none")]
9104    pub reseller_package: Option<String>,
9105    /// Reseller Next Billing Date (Example: '2012-12-31')
9106    #[serde(skip_serializing_if = "Option::is_none")]
9107    pub reseller_nextbilling: Option<String>,
9108    /// True if you want to charge Package Setup Fee after Save
9109    #[serde(skip_serializing_if = "Option::is_none")]
9110    pub reseller_chargesetup: Option<String>,
9111    /// Send BYE on successful transfer (Boolean: 1/0)
9112    #[serde(
9113        skip_serializing_if = "Option::is_none",
9114        serialize_with = "crate::responses::serialize_opt_flag_01"
9115    )]
9116    pub send_bye: Option<bool>,
9117    /// Record Calls (Boolean: 1/0)
9118    #[serde(
9119        skip_serializing_if = "Option::is_none",
9120        serialize_with = "crate::responses::serialize_opt_flag_01"
9121    )]
9122    pub record_calls: Option<bool>,
9123    #[serde(
9124        skip_serializing_if = "Option::is_none",
9125        serialize_with = "crate::responses::serialize_opt_flag_01"
9126    )]
9127    pub transcribe: Option<bool>,
9128    #[serde(skip_serializing_if = "Option::is_none")]
9129    pub transcription_locale: Option<String>,
9130    #[serde(skip_serializing_if = "Option::is_none")]
9131    pub transcription_email: Option<String>,
9132    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
9133    /// (Example: 10 -> seconds)
9134    #[serde(skip_serializing_if = "Option::is_none")]
9135    pub transcription_start_delay: Option<i64>,
9136    /// Allows you to dial outgoing calls using either the NANPA configuration
9137    /// or the E164 configuration. (Values: 0 = Use Main Account Setting, 1 =
9138    /// E164, 2 = NANPA)
9139    #[serde(skip_serializing_if = "Option::is_none")]
9140    pub dialing_mode: Option<DialingMode>,
9141    /// This allows you to select the carrier to be used for outgoing calls to
9142    /// toll-free numbers. (Values: -1 = Use main account settings, 0 = Default
9143    /// server setting, 1 = US carrier, 2 = Canadian carrier)
9144    #[serde(skip_serializing_if = "Option::is_none")]
9145    pub tfcarrier: Option<TollFreeCarrier>,
9146    /// Location group for the internal extension (Values from getLocations)
9147    #[serde(skip_serializing_if = "Option::is_none")]
9148    pub internal_extension_location: Option<i64>,
9149    /// e911 Default CallerID
9150    #[serde(skip_serializing_if = "Option::is_none")]
9151    pub default_e911: Option<String>,
9152}
9153
9154/// \- Updates a specific Time Condition if a time condition code is provided.
9155/// \- Adds a new Time Condition entry if no time condition code is provided.
9156///
9157/// Parameters for [`Client::set_time_condition`] (wire method `setTimeCondition`).
9158#[derive(Debug, Default, Clone, Serialize)]
9159pub struct SetTimeConditionParams {
9160    /// ID for a specific Time Condition (Example: 1830 / Leave empty to create
9161    /// a new one)
9162    #[serde(skip_serializing_if = "Option::is_none")]
9163    pub timecondition: Option<String>,
9164    /// Name for the Time Condition (required)
9165    #[serde(skip_serializing_if = "Option::is_none")]
9166    pub name: Option<String>,
9167    /// Routing for the Call when condition matches (required)
9168    #[serde(skip_serializing_if = "Option::is_none")]
9169    pub routing_match: Option<crate::Routing>,
9170    /// Routing for the Call when condition does not matche (required)
9171    #[serde(skip_serializing_if = "Option::is_none")]
9172    pub routing_nomatch: Option<crate::Routing>,
9173    /// All the Start Hour Conditions (Example: '8;8') (required)
9174    #[serde(skip_serializing_if = "Option::is_none")]
9175    pub starthour: Option<String>,
9176    /// All the Start Minute Conditions (Example: '0;0') (required)
9177    #[serde(skip_serializing_if = "Option::is_none")]
9178    pub startminute: Option<String>,
9179    /// All the End Hour Conditions (Example: '16;12') (required)
9180    #[serde(skip_serializing_if = "Option::is_none")]
9181    pub endhour: Option<String>,
9182    /// All the End Minute Conditions (Example: '0;0') (required)
9183    #[serde(skip_serializing_if = "Option::is_none")]
9184    pub endminute: Option<String>,
9185    /// All the Week Day Start Conditions (Example: 'mon;sat') (required)
9186    #[serde(skip_serializing_if = "Option::is_none")]
9187    pub weekdaystart: Option<String>,
9188    /// All the Week Day End Conditions (Example: 'fri;sat') (required)
9189    #[serde(skip_serializing_if = "Option::is_none")]
9190    pub weekdayend: Option<String>,
9191}
9192
9193/// \- Updates the information from a specific Voicemail.
9194///
9195/// Parameters for [`Client::set_voicemail`] (wire method `setVoicemail`).
9196#[derive(Debug, Default, Clone, Serialize)]
9197pub struct SetVoicemailParams {
9198    /// ID for a specific Mailbox (Example: 1001) (required)
9199    #[serde(skip_serializing_if = "Option::is_none")]
9200    pub mailbox: Option<i64>,
9201    /// Name for the Mailbox (required)
9202    #[serde(skip_serializing_if = "Option::is_none")]
9203    pub name: Option<String>,
9204    /// Password for the Mailbox (required)
9205    #[serde(skip_serializing_if = "Option::is_none")]
9206    pub password: Option<String>,
9207    /// True if Skipping Password (Boolean: 1/0) (required)
9208    #[serde(
9209        skip_serializing_if = "Option::is_none",
9210        serialize_with = "crate::responses::serialize_opt_flag_01"
9211    )]
9212    pub skip_password: Option<bool>,
9213    /// Email address for receiving messages, multiple email addresses are
9214    /// allowed if separated by a comma
9215    #[serde(skip_serializing_if = "Option::is_none")]
9216    pub email: Option<String>,
9217    /// Yes for Attaching WAV files to Message (Values: 'yes'/'no') (required)
9218    #[serde(
9219        skip_serializing_if = "Option::is_none",
9220        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9221    )]
9222    pub attach_message: Option<bool>,
9223    /// Yes for Deleting Messages (Values: 'yes'/'no') (required)
9224    #[serde(
9225        skip_serializing_if = "Option::is_none",
9226        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9227    )]
9228    pub delete_message: Option<bool>,
9229    /// Yes for Saying Time Stamp (Values: 'yes'/'no') (required)
9230    #[serde(
9231        skip_serializing_if = "Option::is_none",
9232        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9233    )]
9234    pub say_time: Option<bool>,
9235    /// Time Zone for Mailbox (Values from getTimeZones) (required)
9236    #[serde(skip_serializing_if = "Option::is_none")]
9237    pub timezone: Option<String>,
9238    /// Yes for Saying the Caller ID (Values: 'yes'/'no') (required)
9239    #[serde(
9240        skip_serializing_if = "Option::is_none",
9241        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9242    )]
9243    pub say_callerid: Option<bool>,
9244    /// Code for Play Instructions Setting (Values from getPlayInstructions)
9245    /// (required)
9246    #[serde(skip_serializing_if = "Option::is_none")]
9247    pub play_instructions: Option<PlayInstructions>,
9248    /// Code for Language (Values from getLanguages) (required)
9249    #[serde(skip_serializing_if = "Option::is_none")]
9250    pub language: Option<String>,
9251    /// Code for Email Attachment format (Values from
9252    /// getVoicemailAttachmentFormats)
9253    #[serde(skip_serializing_if = "Option::is_none")]
9254    pub email_attachment_format: Option<EmailAttachmentFormat>,
9255    /// Recording for the Unavailable Message (values from getRecordings)
9256    #[serde(skip_serializing_if = "Option::is_none")]
9257    pub unavailable_message_recording: Option<String>,
9258    /// 'yes' to enable Voicemail Transcription
9259    #[serde(
9260        skip_serializing_if = "Option::is_none",
9261        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9262    )]
9263    pub transcription: Option<bool>,
9264    /// Transcription locale code (values from getLocales, comma separated for
9265    /// more than one locale up to 10 locales)
9266    #[serde(skip_serializing_if = "Option::is_none")]
9267    pub transcription_locale: Option<String>,
9268    /// Yes for Transcription redaction (Values: 'yes'/'no')
9269    #[serde(
9270        skip_serializing_if = "Option::is_none",
9271        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9272    )]
9273    pub transcription_redaction: Option<bool>,
9274    /// Yes for Transcription sentiment (Values: 'yes'/'no')
9275    #[serde(
9276        skip_serializing_if = "Option::is_none",
9277        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9278    )]
9279    pub transcription_sentiment: Option<bool>,
9280    /// Yes for Transcription summary (Values: 'yes'/'no')
9281    #[serde(
9282        skip_serializing_if = "Option::is_none",
9283        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9284    )]
9285    pub transcription_summary: Option<bool>,
9286    /// Transcription format ( Values: 'html'/'text')
9287    #[serde(skip_serializing_if = "Option::is_none")]
9288    pub transcription_format: Option<TranscriptionFormat>,
9289}
9290
9291/// \- Signs a new Reseller Client to your Reseller Account.
9292///
9293/// Parameters for [`Client::signup_client`] (wire method `signupClient`).
9294#[derive(Debug, Default, Clone, Serialize)]
9295pub struct SignupClientParams {
9296    /// Client's Firstname (required)
9297    #[serde(skip_serializing_if = "Option::is_none")]
9298    pub firstname: Option<String>,
9299    /// Client's Lastname (required)
9300    #[serde(skip_serializing_if = "Option::is_none")]
9301    pub lastname: Option<String>,
9302    /// Client's Company
9303    #[serde(skip_serializing_if = "Option::is_none")]
9304    pub company: Option<String>,
9305    /// Client's Address (required)
9306    #[serde(skip_serializing_if = "Option::is_none")]
9307    pub address: Option<String>,
9308    /// Client's City (required)
9309    #[serde(skip_serializing_if = "Option::is_none")]
9310    pub city: Option<String>,
9311    /// Client's State (required)
9312    #[serde(skip_serializing_if = "Option::is_none")]
9313    pub state: Option<String>,
9314    /// Client's Country (Values from getCountries) (required)
9315    #[serde(skip_serializing_if = "Option::is_none")]
9316    pub country: Option<String>,
9317    /// Client's Zip Code (required)
9318    #[serde(skip_serializing_if = "Option::is_none")]
9319    pub zip: Option<String>,
9320    /// Client's Phone Number (required)
9321    #[serde(skip_serializing_if = "Option::is_none")]
9322    pub phone_number: Option<String>,
9323    /// Client's e-mail (required)
9324    #[serde(skip_serializing_if = "Option::is_none")]
9325    pub email: Option<String>,
9326    /// Client's Confirmation e-mail (required)
9327    #[serde(skip_serializing_if = "Option::is_none")]
9328    pub confirm_email: Option<String>,
9329    /// Client's Password (required)
9330    #[serde(skip_serializing_if = "Option::is_none")]
9331    pub password: Option<String>,
9332    /// Client's Confirmation Password (required)
9333    #[serde(skip_serializing_if = "Option::is_none")]
9334    pub confirm_password: Option<String>,
9335    /// Activates Client (Boolean: 1/0)
9336    #[serde(skip_serializing_if = "Option::is_none")]
9337    pub activate: Option<bool>,
9338    /// Balance Management for Client (Values from getBalanceManagement)
9339    #[serde(skip_serializing_if = "Option::is_none")]
9340    pub balance_management: Option<i64>,
9341}
9342
9343/// \- Unconnects specific DID from Reseller Client Sub Account.
9344///
9345/// Parameters for [`Client::unconnect_did`] (wire method `unconnectDID`).
9346#[derive(Debug, Default, Clone, Serialize)]
9347pub struct UnconnectDIDParams {
9348    /// DID to be Unconnected from Reseller Sub Account(Example: 5551234567)
9349    /// (required)
9350    #[serde(skip_serializing_if = "Option::is_none")]
9351    pub did: Option<String>,
9352}
9353
9354/// \- Unconnects specific FAX DID from Reseller Client Sub Account.
9355///
9356/// Parameters for [`Client::unconnect_fax`] (wire method `unconnectFAX`).
9357#[derive(Debug, Default, Clone, Serialize)]
9358pub struct UnconnectFAXParams {
9359    /// FAX DID to be Unconnected from Reseller Sub Account (Example:
9360    /// 5551234567) (required)
9361    #[serde(skip_serializing_if = "Option::is_none")]
9362    pub did: Option<String>,
9363}
9364
9365/// Response body for [`Client::add_charge`] (wire method `addCharge`).
9366#[derive(Debug, Clone, Default, serde::Deserialize)]
9367pub struct AddChargeResponse {
9368    #[serde(
9369        default,
9370        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9371    )]
9372    pub status: Option<String>,
9373}
9374
9375/// Response body for [`Client::add_lnp_file`] (wire method `addLNPFile`).
9376#[derive(Debug, Clone, Default, serde::Deserialize)]
9377pub struct AddLNPFileResponse {
9378    #[serde(
9379        default,
9380        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9381    )]
9382    pub status: Option<String>,
9383    #[serde(
9384        default,
9385        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9386    )]
9387    pub attachment: Option<String>,
9388}
9389
9390/// Response body for [`Client::add_lnp_port`] (wire method `addLNPPort`).
9391#[derive(Debug, Clone, Default, serde::Deserialize)]
9392pub struct AddLNPPortResponse {
9393    #[serde(
9394        default,
9395        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9396    )]
9397    pub status: Option<String>,
9398    #[serde(
9399        default,
9400        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9401    )]
9402    pub port: Option<String>,
9403}
9404
9405/// Response body for [`Client::add_member_to_conference`] (wire method `addMemberToConference`).
9406#[derive(Debug, Clone, Default, serde::Deserialize)]
9407pub struct AddMemberToConferenceResponse {
9408    #[serde(
9409        default,
9410        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9411    )]
9412    pub status: Option<String>,
9413    #[serde(
9414        default,
9415        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9416    )]
9417    pub member: Option<u64>,
9418}
9419
9420/// Response body for [`Client::add_payment`] (wire method `addPayment`).
9421#[derive(Debug, Clone, Default, serde::Deserialize)]
9422pub struct AddPaymentResponse {
9423    #[serde(
9424        default,
9425        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9426    )]
9427    pub status: Option<String>,
9428}
9429
9430/// Response body for [`Client::assign_did_vpri`] (wire method `assignDIDvPRI`).
9431#[derive(Debug, Clone, Default, serde::Deserialize)]
9432pub struct AssignDIDvPRIResponse {
9433    #[serde(
9434        default,
9435        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9436    )]
9437    pub status: Option<String>,
9438    #[serde(
9439        default,
9440        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9441    )]
9442    pub vpri: Option<u64>,
9443    #[serde(
9444        default,
9445        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9446    )]
9447    pub DIDAdded: Option<u64>,
9448    #[serde(
9449        default,
9450        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
9451    )]
9452    pub monthly: Option<rust_decimal::Decimal>,
9453}
9454
9455/// Response body for [`Client::back_order_did_can`] (wire method `backOrderDIDCAN`).
9456#[derive(Debug, Clone, Default, serde::Deserialize)]
9457pub struct BackOrderDIDCANResponse {
9458    #[serde(
9459        default,
9460        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9461    )]
9462    pub status: Option<String>,
9463}
9464
9465/// Response body for [`Client::back_order_did_usa`] (wire method `backOrderDIDUSA`).
9466#[derive(Debug, Clone, Default, serde::Deserialize)]
9467pub struct BackOrderDIDUSAResponse {
9468    #[serde(
9469        default,
9470        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9471    )]
9472    pub status: Option<String>,
9473}
9474
9475/// Response body for [`Client::cancel_did`] (wire method `cancelDID`).
9476#[derive(Debug, Clone, Default, serde::Deserialize)]
9477pub struct CancelDIDResponse {
9478    #[serde(
9479        default,
9480        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9481    )]
9482    pub status: Option<String>,
9483}
9484
9485/// Response body for [`Client::cancel_fax_number`] (wire method `cancelFaxNumber`).
9486#[derive(Debug, Clone, Default, serde::Deserialize)]
9487pub struct CancelFAXNumberResponse {
9488    #[serde(
9489        default,
9490        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9491    )]
9492    pub status: Option<String>,
9493    #[serde(
9494        default,
9495        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9496    )]
9497    pub deleted_did: Option<u64>,
9498}
9499
9500/// Response body for [`Client::connect_did`] (wire method `connectDID`).
9501#[derive(Debug, Clone, Default, serde::Deserialize)]
9502pub struct ConnectDIDResponse {
9503    #[serde(
9504        default,
9505        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9506    )]
9507    pub status: Option<String>,
9508}
9509
9510/// Response body for [`Client::connect_fax`] (wire method `connectFAX`).
9511#[derive(Debug, Clone, Default, serde::Deserialize)]
9512pub struct ConnectFAXResponse {
9513    #[serde(
9514        default,
9515        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9516    )]
9517    pub status: Option<String>,
9518}
9519
9520/// Response body for [`Client::create_sub_account`] (wire method `createSubAccount`).
9521#[derive(Debug, Clone, Default, serde::Deserialize)]
9522pub struct CreateSubAccountResponse {
9523    #[serde(
9524        default,
9525        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9526    )]
9527    pub status: Option<String>,
9528    #[serde(
9529        default,
9530        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9531    )]
9532    pub id: Option<u64>,
9533    #[serde(
9534        default,
9535        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9536    )]
9537    pub account: Option<String>,
9538}
9539
9540/// Response body for [`Client::create_voicemail`] (wire method `createVoicemail`).
9541#[derive(Debug, Clone, Default, serde::Deserialize)]
9542pub struct CreateVoicemailResponse {
9543    #[serde(
9544        default,
9545        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9546    )]
9547    pub status: Option<String>,
9548}
9549
9550/// Response body for [`Client::del_call_hunting`] (wire method `delCallHunting`).
9551#[derive(Debug, Clone, Default, serde::Deserialize)]
9552pub struct DelCallHuntingResponse {
9553    #[serde(
9554        default,
9555        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9556    )]
9557    pub status: Option<String>,
9558}
9559
9560/// Response body for [`Client::del_call_parking`] (wire method `delCallParking`).
9561#[derive(Debug, Clone, Default, serde::Deserialize)]
9562pub struct DelCallParkingResponse {
9563    #[serde(
9564        default,
9565        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9566    )]
9567    pub status: Option<String>,
9568}
9569
9570/// Response body for [`Client::del_call_recording`] (wire method `delCallRecording`).
9571#[derive(Debug, Clone, Default, serde::Deserialize)]
9572pub struct DelCallRecordingResponse {
9573    #[serde(
9574        default,
9575        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9576    )]
9577    pub status: Option<String>,
9578}
9579
9580/// Response body for [`Client::del_callback`] (wire method `delCallback`).
9581#[derive(Debug, Clone, Default, serde::Deserialize)]
9582pub struct DelCallbackResponse {
9583    #[serde(
9584        default,
9585        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9586    )]
9587    pub status: Option<String>,
9588}
9589
9590/// Response body for [`Client::del_caller_id_filtering`] (wire method `delCallerIDFiltering`).
9591#[derive(Debug, Clone, Default, serde::Deserialize)]
9592pub struct DelCallerIDFilteringResponse {
9593    #[serde(
9594        default,
9595        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9596    )]
9597    pub status: Option<String>,
9598}
9599
9600/// Response body for [`Client::del_client`] (wire method `delClient`).
9601#[derive(Debug, Clone, Default, serde::Deserialize)]
9602pub struct DelClientResponse {
9603    #[serde(
9604        default,
9605        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9606    )]
9607    pub status: Option<String>,
9608}
9609
9610/// Response body for [`Client::del_conference`] (wire method `delConference`).
9611#[derive(Debug, Clone, Default, serde::Deserialize)]
9612pub struct DelConferenceResponse {
9613    #[serde(
9614        default,
9615        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9616    )]
9617    pub status: Option<String>,
9618}
9619
9620/// Response body for [`Client::del_conference_member`] (wire method `delConferenceMember`).
9621#[derive(Debug, Clone, Default, serde::Deserialize)]
9622pub struct DelConferenceMemberResponse {
9623    #[serde(
9624        default,
9625        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9626    )]
9627    pub status: Option<String>,
9628}
9629
9630/// Response body for [`Client::del_disa`] (wire method `delDISA`).
9631#[derive(Debug, Clone, Default, serde::Deserialize)]
9632pub struct DelDISAResponse {
9633    #[serde(
9634        default,
9635        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9636    )]
9637    pub status: Option<String>,
9638}
9639
9640/// Response body for [`Client::del_email_to_fax`] (wire method `delEmailToFax`).
9641#[derive(Debug, Clone, Default, serde::Deserialize)]
9642pub struct DelEmailToFAXResponse {
9643    #[serde(
9644        default,
9645        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9646    )]
9647    pub status: Option<String>,
9648}
9649
9650/// Response body for [`Client::del_fax_folder`] (wire method `delFaxFolder`).
9651#[derive(Debug, Clone, Default, serde::Deserialize)]
9652pub struct DelFAXFolderResponse {
9653    #[serde(
9654        default,
9655        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9656    )]
9657    pub status: Option<String>,
9658}
9659
9660/// Response body for [`Client::del_forwarding`] (wire method `delForwarding`).
9661#[derive(Debug, Clone, Default, serde::Deserialize)]
9662pub struct DelForwardingResponse {
9663    #[serde(
9664        default,
9665        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9666    )]
9667    pub status: Option<String>,
9668}
9669
9670/// Response body for [`Client::del_ivr`] (wire method `delIVR`).
9671#[derive(Debug, Clone, Default, serde::Deserialize)]
9672pub struct DelIVRResponse {
9673    #[serde(
9674        default,
9675        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9676    )]
9677    pub status: Option<String>,
9678}
9679
9680/// Response body for [`Client::del_location`] (wire method `delLocation`).
9681#[derive(Debug, Clone, Default, serde::Deserialize)]
9682pub struct DelLocationResponse {
9683    #[serde(
9684        default,
9685        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9686    )]
9687    pub status: Option<String>,
9688}
9689
9690/// Response body for [`Client::del_member_from_conference`] (wire method `delMemberFromConference`).
9691#[derive(Debug, Clone, Default, serde::Deserialize)]
9692pub struct DelMemberFromConferenceResponse {
9693    #[serde(
9694        default,
9695        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9696    )]
9697    pub status: Option<String>,
9698}
9699
9700/// Response body for [`Client::del_messages`] (wire method `delMessages`).
9701#[derive(Debug, Clone, Default, serde::Deserialize)]
9702pub struct DelMessagesResponse {
9703    #[serde(
9704        default,
9705        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9706    )]
9707    pub status: Option<String>,
9708}
9709
9710/// Response body for [`Client::del_music_on_hold`] (wire method `delMusicOnHold`).
9711#[derive(Debug, Clone, Default, serde::Deserialize)]
9712pub struct DelMusicOnHoldResponse {
9713    #[serde(
9714        default,
9715        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9716    )]
9717    pub status: Option<String>,
9718}
9719
9720/// Response body for [`Client::del_phonebook`] (wire method `delPhonebook`).
9721#[derive(Debug, Clone, Default, serde::Deserialize)]
9722pub struct DelPhonebookResponse {
9723    #[serde(
9724        default,
9725        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9726    )]
9727    pub status: Option<String>,
9728}
9729
9730/// Response body for [`Client::del_phonebook_group`] (wire method `delPhonebookGroup`).
9731#[derive(Debug, Clone, Default, serde::Deserialize)]
9732pub struct DelPhonebookGroupResponse {
9733    #[serde(
9734        default,
9735        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9736    )]
9737    pub status: Option<String>,
9738}
9739
9740/// Response body for [`Client::del_queue`] (wire method `delQueue`).
9741#[derive(Debug, Clone, Default, serde::Deserialize)]
9742pub struct DelQueueResponse {
9743    #[serde(
9744        default,
9745        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9746    )]
9747    pub status: Option<String>,
9748}
9749
9750/// Response body for [`Client::del_recording`] (wire method `delRecording`).
9751#[derive(Debug, Clone, Default, serde::Deserialize)]
9752pub struct DelRecordingResponse {
9753    #[serde(
9754        default,
9755        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9756    )]
9757    pub status: Option<String>,
9758}
9759
9760/// Response body for [`Client::del_ring_group`] (wire method `delRingGroup`).
9761#[derive(Debug, Clone, Default, serde::Deserialize)]
9762pub struct DelRingGroupResponse {
9763    #[serde(
9764        default,
9765        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9766    )]
9767    pub status: Option<String>,
9768}
9769
9770/// Response body for [`Client::del_sip_uri`] (wire method `delSIPURI`).
9771#[derive(Debug, Clone, Default, serde::Deserialize)]
9772pub struct DelSIPURIResponse {
9773    #[serde(
9774        default,
9775        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9776    )]
9777    pub status: Option<String>,
9778}
9779
9780/// Response body for [`Client::del_static_member`] (wire method `delStaticMember`).
9781#[derive(Debug, Clone, Default, serde::Deserialize)]
9782pub struct DelStaticMemberResponse {
9783    #[serde(
9784        default,
9785        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9786    )]
9787    pub status: Option<String>,
9788}
9789
9790/// Response body for [`Client::del_sub_account`] (wire method `delSubAccount`).
9791#[derive(Debug, Clone, Default, serde::Deserialize)]
9792pub struct DelSubAccountResponse {
9793    #[serde(
9794        default,
9795        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9796    )]
9797    pub status: Option<String>,
9798}
9799
9800/// Response body for [`Client::del_time_condition`] (wire method `delTimeCondition`).
9801#[derive(Debug, Clone, Default, serde::Deserialize)]
9802pub struct DelTimeConditionResponse {
9803    #[serde(
9804        default,
9805        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9806    )]
9807    pub status: Option<String>,
9808}
9809
9810/// Response body for [`Client::del_voicemail`] (wire method `delVoicemail`).
9811#[derive(Debug, Clone, Default, serde::Deserialize)]
9812pub struct DelVoicemailResponse {
9813    #[serde(
9814        default,
9815        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9816    )]
9817    pub status: Option<String>,
9818}
9819
9820/// Response body for [`Client::delete_fax_message`] (wire method `deleteFaxMessage`).
9821#[derive(Debug, Clone, Default, serde::Deserialize)]
9822pub struct DeleteFAXMessageResponse {
9823    #[serde(
9824        default,
9825        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9826    )]
9827    pub status: Option<String>,
9828}
9829
9830/// Response body for [`Client::delete_mms`] (wire method `deleteMMS`).
9831#[derive(Debug, Clone, Default, serde::Deserialize)]
9832pub struct DeleteMMSResponse {
9833    #[serde(
9834        default,
9835        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9836    )]
9837    pub status: Option<String>,
9838}
9839
9840/// Response body for [`Client::delete_sms`] (wire method `deleteSMS`).
9841#[derive(Debug, Clone, Default, serde::Deserialize)]
9842pub struct DeleteSMSResponse {
9843    #[serde(
9844        default,
9845        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9846    )]
9847    pub status: Option<String>,
9848}
9849
9850/// Response body for [`Client::e911_address_types`] (wire method `e911AddressTypes`).
9851#[derive(Debug, Clone, Default, serde::Deserialize)]
9852pub struct E911AddressTypesResponse {
9853    #[serde(
9854        default,
9855        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9856    )]
9857    pub status: Option<String>,
9858    #[serde(
9859        default,
9860        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9861    )]
9862    pub types: Option<String>,
9863    #[serde(
9864        default,
9865        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9866    )]
9867    pub value: Option<String>,
9868    #[serde(
9869        default,
9870        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9871    )]
9872    pub description: Option<String>,
9873}
9874
9875/// Response body for [`Client::e911_cancel`] (wire method `e911Cancel`).
9876#[derive(Debug, Clone, Default, serde::Deserialize)]
9877pub struct E911CancelResponse {
9878    #[serde(
9879        default,
9880        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9881    )]
9882    pub status: Option<String>,
9883}
9884
9885/// Response body for [`Client::e911_info`] (wire method `e911Info`).
9886#[derive(Debug, Clone, Default, serde::Deserialize)]
9887pub struct E911InfoResponse {
9888    #[serde(
9889        default,
9890        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9891    )]
9892    pub status: Option<String>,
9893    #[serde(
9894        default,
9895        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9896    )]
9897    pub info: Option<String>,
9898    #[serde(
9899        default,
9900        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9901    )]
9902    pub did: Option<String>,
9903    #[serde(
9904        default,
9905        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9906    )]
9907    pub full_name: Option<String>,
9908    #[serde(
9909        default,
9910        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9911    )]
9912    pub street_number: Option<String>,
9913    #[serde(
9914        default,
9915        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9916    )]
9917    pub street_name: Option<String>,
9918    #[serde(
9919        default,
9920        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9921    )]
9922    pub address_type: Option<String>,
9923    #[serde(
9924        default,
9925        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9926    )]
9927    pub address_number: Option<String>,
9928    #[serde(
9929        default,
9930        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9931    )]
9932    pub city: Option<String>,
9933    #[serde(
9934        default,
9935        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9936    )]
9937    pub state: Option<String>,
9938    #[serde(
9939        default,
9940        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9941    )]
9942    pub zip_code: Option<String>,
9943    #[serde(
9944        default,
9945        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9946    )]
9947    pub country: Option<String>,
9948    #[serde(
9949        default,
9950        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9951    )]
9952    pub language: Option<String>,
9953    #[serde(
9954        default,
9955        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9956    )]
9957    pub email: Option<String>,
9958    #[serde(
9959        default,
9960        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9961    )]
9962    pub other_info: Option<String>,
9963}
9964
9965/// Response body for [`Client::e911_provision`] (wire method `e911Provision`).
9966#[derive(Debug, Clone, Default, serde::Deserialize)]
9967pub struct E911ProvisionResponse {
9968    #[serde(
9969        default,
9970        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9971    )]
9972    pub status: Option<String>,
9973}
9974
9975/// Response body for [`Client::e911_provision_manually`] (wire method `e911ProvisionManually`).
9976#[derive(Debug, Clone, Default, serde::Deserialize)]
9977pub struct E911ProvisionManuallyResponse {
9978    #[serde(
9979        default,
9980        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9981    )]
9982    pub status: Option<String>,
9983}
9984
9985/// Response body for [`Client::e911_update`] (wire method `e911Update`).
9986#[derive(Debug, Clone, Default, serde::Deserialize)]
9987pub struct E911UpdateResponse {
9988    #[serde(
9989        default,
9990        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9991    )]
9992    pub status: Option<String>,
9993}
9994
9995/// Response body for [`Client::e911_validate`] (wire method `e911Validate`).
9996#[derive(Debug, Clone, Default, serde::Deserialize)]
9997pub struct E911ValidateResponse {
9998    #[serde(
9999        default,
10000        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10001    )]
10002    pub status: Option<String>,
10003}
10004
10005/// Response body for [`Client::get_allowed_codecs`] (wire method `getAllowedCodecs`).
10006#[derive(Debug, Clone, Default, serde::Deserialize)]
10007pub struct GetAllowedCodecsResponseAllowedCodec {
10008    #[serde(
10009        default,
10010        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10011    )]
10012    pub value: Option<String>,
10013    #[serde(
10014        default,
10015        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10016    )]
10017    pub description: Option<String>,
10018}
10019
10020#[derive(Debug, Clone, Default, serde::Deserialize)]
10021pub struct GetAllowedCodecsResponse {
10022    #[serde(
10023        default,
10024        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10025    )]
10026    pub status: Option<String>,
10027    #[serde(default)]
10028    pub allowed_codecs: Option<Vec<GetAllowedCodecsResponseAllowedCodec>>,
10029}
10030
10031/// Response body for [`Client::get_auth_types`] (wire method `getAuthTypes`).
10032#[derive(Debug, Clone, Default, serde::Deserialize)]
10033pub struct GetAuthTypesResponseAuthType {
10034    #[serde(
10035        default,
10036        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10037    )]
10038    pub value: Option<u64>,
10039    #[serde(
10040        default,
10041        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10042    )]
10043    pub description: Option<String>,
10044}
10045
10046#[derive(Debug, Clone, Default, serde::Deserialize)]
10047pub struct GetAuthTypesResponse {
10048    #[serde(
10049        default,
10050        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10051    )]
10052    pub status: Option<String>,
10053    #[serde(default)]
10054    pub auth_types: Option<Vec<GetAuthTypesResponseAuthType>>,
10055}
10056
10057/// Response body for [`Client::get_back_orders`] (wire method `getBackOrders`).
10058#[derive(Debug, Clone, Default, serde::Deserialize)]
10059pub struct GetBackOrdersResponseBackOrder {
10060    #[serde(
10061        default,
10062        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10063    )]
10064    pub id: Option<u64>,
10065    #[serde(
10066        default,
10067        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10068    )]
10069    pub description: Option<String>,
10070    #[serde(
10071        default,
10072        deserialize_with = "crate::responses::deserialize_opt_routing"
10073    )]
10074    pub routing: Option<crate::Routing>,
10075    #[serde(
10076        default,
10077        deserialize_with = "crate::responses::deserialize_opt_routing"
10078    )]
10079    pub failover_busy: Option<crate::Routing>,
10080    #[serde(
10081        default,
10082        deserialize_with = "crate::responses::deserialize_opt_routing"
10083    )]
10084    pub failover_unreachable: Option<crate::Routing>,
10085    #[serde(
10086        default,
10087        deserialize_with = "crate::responses::deserialize_opt_routing"
10088    )]
10089    pub failover_noanswer: Option<crate::Routing>,
10090    #[serde(
10091        default,
10092        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10093    )]
10094    pub voicemail: Option<u64>,
10095    #[serde(
10096        default,
10097        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10098    )]
10099    pub pop: Option<u64>,
10100    #[serde(
10101        default,
10102        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10103    )]
10104    pub dialtime: Option<u64>,
10105    #[serde(
10106        default,
10107        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10108    )]
10109    pub cnam: Option<u64>,
10110    #[serde(default, deserialize_with = "deserialize_opt_did_billing_type")]
10111    pub billing_type: Option<DidBillingType>,
10112    #[serde(
10113        default,
10114        deserialize_with = "crate::responses::deserialize_opt_datetime"
10115    )]
10116    pub order_date: Option<chrono::NaiveDateTime>,
10117}
10118
10119#[derive(Debug, Clone, Default, serde::Deserialize)]
10120pub struct GetBackOrdersResponse {
10121    #[serde(
10122        default,
10123        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10124    )]
10125    pub status: Option<String>,
10126    #[serde(
10127        default,
10128        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10129    )]
10130    pub quantity: Option<u64>,
10131    #[serde(default)]
10132    pub back_orders: Option<Vec<GetBackOrdersResponseBackOrder>>,
10133}
10134
10135/// Response body for [`Client::get_balance`] (wire method `getBalance`).
10136#[derive(Debug, Clone, Default, serde::Deserialize)]
10137pub struct GetBalanceResponseBalance {
10138    #[serde(
10139        default,
10140        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10141    )]
10142    pub current_balance: Option<rust_decimal::Decimal>,
10143    #[serde(
10144        default,
10145        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10146    )]
10147    pub spent_total: Option<rust_decimal::Decimal>,
10148    #[serde(
10149        default,
10150        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10151    )]
10152    pub calls_total: Option<u64>,
10153    #[serde(
10154        default,
10155        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10156    )]
10157    pub time_total: Option<String>,
10158    #[serde(
10159        default,
10160        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10161    )]
10162    pub spent_today: Option<rust_decimal::Decimal>,
10163    #[serde(
10164        default,
10165        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10166    )]
10167    pub calls_today: Option<u64>,
10168    #[serde(
10169        default,
10170        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10171    )]
10172    pub time_today: Option<String>,
10173}
10174
10175#[derive(Debug, Clone, Default, serde::Deserialize)]
10176pub struct GetBalanceResponse {
10177    #[serde(
10178        default,
10179        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10180    )]
10181    pub status: Option<String>,
10182    #[serde(default)]
10183    pub balance: Option<GetBalanceResponseBalance>,
10184}
10185
10186/// Response body for [`Client::get_balance_management`] (wire method `getBalanceManagement`).
10187#[derive(Debug, Clone, Default, serde::Deserialize)]
10188pub struct GetBalanceManagementResponseBalanceManagement {
10189    #[serde(
10190        default,
10191        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10192    )]
10193    pub value: Option<u64>,
10194    #[serde(
10195        default,
10196        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10197    )]
10198    pub description: Option<String>,
10199}
10200
10201#[derive(Debug, Clone, Default, serde::Deserialize)]
10202pub struct GetBalanceManagementResponse {
10203    #[serde(
10204        default,
10205        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10206    )]
10207    pub status: Option<String>,
10208    #[serde(default)]
10209    pub balance_management: Option<Vec<GetBalanceManagementResponseBalanceManagement>>,
10210}
10211
10212/// Response body for [`Client::get_cdr`] (wire method `getCDR`).
10213#[derive(Debug, Clone, Default, serde::Deserialize)]
10214pub struct GetCDRResponseCDR {
10215    #[serde(
10216        default,
10217        deserialize_with = "crate::responses::deserialize_opt_datetime"
10218    )]
10219    pub date: Option<chrono::NaiveDateTime>,
10220    #[serde(
10221        default,
10222        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10223    )]
10224    pub callerid: Option<String>,
10225    #[serde(
10226        default,
10227        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10228    )]
10229    pub destination: Option<u64>,
10230    #[serde(
10231        default,
10232        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10233    )]
10234    pub description: Option<String>,
10235    #[serde(
10236        default,
10237        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10238    )]
10239    pub account: Option<String>,
10240    #[serde(
10241        default,
10242        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10243    )]
10244    pub disposition: Option<String>,
10245    #[serde(
10246        default,
10247        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10248    )]
10249    pub duration: Option<String>,
10250    #[serde(
10251        default,
10252        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10253    )]
10254    pub seconds: Option<u64>,
10255    #[serde(
10256        default,
10257        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10258    )]
10259    pub rate: Option<rust_decimal::Decimal>,
10260    #[serde(
10261        default,
10262        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10263    )]
10264    pub total: Option<rust_decimal::Decimal>,
10265    #[serde(
10266        default,
10267        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10268    )]
10269    pub uniqueid: Option<u64>,
10270    #[serde(
10271        default,
10272        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10273    )]
10274    pub destination_type: Option<String>,
10275    #[serde(
10276        default,
10277        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10278    )]
10279    pub call_logs: Option<String>,
10280}
10281
10282#[derive(Debug, Clone, Default, serde::Deserialize)]
10283pub struct GetCDRResponse {
10284    #[serde(
10285        default,
10286        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10287    )]
10288    pub status: Option<String>,
10289    #[serde(default)]
10290    pub cdr: Option<Vec<GetCDRResponseCDR>>,
10291}
10292
10293/// Response body for [`Client::get_call_accounts`] (wire method `getCallAccounts`).
10294#[derive(Debug, Clone, Default, serde::Deserialize)]
10295pub struct GetCallAccountsResponseAccount {
10296    #[serde(
10297        default,
10298        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10299    )]
10300    pub value: Option<String>,
10301    #[serde(
10302        default,
10303        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10304    )]
10305    pub description: Option<String>,
10306}
10307
10308#[derive(Debug, Clone, Default, serde::Deserialize)]
10309pub struct GetCallAccountsResponse {
10310    #[serde(
10311        default,
10312        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10313    )]
10314    pub status: Option<String>,
10315    #[serde(default)]
10316    pub accounts: Option<Vec<GetCallAccountsResponseAccount>>,
10317}
10318
10319/// Response body for [`Client::get_call_billing`] (wire method `getCallBilling`).
10320#[derive(Debug, Clone, Default, serde::Deserialize)]
10321pub struct GetCallBillingResponseCallBilling {
10322    #[serde(
10323        default,
10324        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10325    )]
10326    pub value: Option<String>,
10327    #[serde(
10328        default,
10329        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10330    )]
10331    pub description: Option<String>,
10332}
10333
10334#[derive(Debug, Clone, Default, serde::Deserialize)]
10335pub struct GetCallBillingResponse {
10336    #[serde(
10337        default,
10338        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10339    )]
10340    pub status: Option<String>,
10341    #[serde(default)]
10342    pub call_billing: Option<Vec<GetCallBillingResponseCallBilling>>,
10343}
10344
10345/// Response body for [`Client::get_call_huntings`] (wire method `getCallHuntings`).
10346#[derive(Debug, Clone, Default, serde::Deserialize)]
10347pub struct GetCallHuntingsResponseCallHunting {
10348    #[serde(
10349        default,
10350        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10351    )]
10352    pub callhunting: Option<u64>,
10353    #[serde(
10354        default,
10355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10356    )]
10357    pub description: Option<String>,
10358    #[serde(
10359        default,
10360        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10361    )]
10362    pub members: Option<String>,
10363    #[serde(
10364        default,
10365        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10366    )]
10367    pub ring_time: Option<String>,
10368    #[serde(default, deserialize_with = "deserialize_opt_ring_group_order")]
10369    pub order: Option<RingGroupOrder>,
10370    #[serde(
10371        default,
10372        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10373    )]
10374    pub press: Option<String>,
10375    #[serde(
10376        default,
10377        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10378    )]
10379    pub music: Option<String>,
10380    #[serde(
10381        default,
10382        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10383    )]
10384    pub recording: Option<String>,
10385    #[serde(
10386        default,
10387        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10388    )]
10389    pub language: Option<String>,
10390}
10391
10392#[derive(Debug, Clone, Default, serde::Deserialize)]
10393pub struct GetCallHuntingsResponse {
10394    #[serde(
10395        default,
10396        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10397    )]
10398    pub status: Option<String>,
10399    #[serde(default)]
10400    pub call_hunting: Option<Vec<GetCallHuntingsResponseCallHunting>>,
10401}
10402
10403/// Response body for [`Client::get_call_parking`] (wire method `getCallParking`).
10404#[derive(Debug, Clone, Default, serde::Deserialize)]
10405pub struct GetCallParkingResponseCallHunting {
10406    #[serde(
10407        default,
10408        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10409    )]
10410    pub callparking: Option<u64>,
10411    #[serde(
10412        default,
10413        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10414    )]
10415    pub name: Option<String>,
10416    #[serde(
10417        default,
10418        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10419    )]
10420    pub timeout: Option<u64>,
10421    #[serde(
10422        default,
10423        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10424    )]
10425    pub musiconhold: Option<String>,
10426    #[serde(
10427        default,
10428        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10429    )]
10430    pub failover: Option<String>,
10431    #[serde(
10432        default,
10433        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10434    )]
10435    pub language: Option<String>,
10436    #[serde(
10437        default,
10438        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10439    )]
10440    pub destination: Option<String>,
10441    #[serde(
10442        default,
10443        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10444    )]
10445    pub delay: Option<u64>,
10446    #[serde(
10447        default,
10448        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10449    )]
10450    pub blf_lamps: Option<u64>,
10451}
10452
10453#[derive(Debug, Clone, Default, serde::Deserialize)]
10454pub struct GetCallParkingResponse {
10455    #[serde(
10456        default,
10457        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10458    )]
10459    pub status: Option<String>,
10460    #[serde(default)]
10461    pub call_hunting: Option<Vec<GetCallParkingResponseCallHunting>>,
10462}
10463
10464/// Response body for [`Client::get_call_recording`] (wire method `getCallRecording`).
10465#[derive(Debug, Clone, Default, serde::Deserialize)]
10466pub struct GetCallRecordingResponse {
10467    #[serde(
10468        default,
10469        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10470    )]
10471    pub status: Option<String>,
10472    #[serde(
10473        default,
10474        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10475    )]
10476    pub callrecording: Option<String>,
10477    #[serde(
10478        default,
10479        deserialize_with = "crate::responses::deserialize_opt_datetime"
10480    )]
10481    pub datetime: Option<chrono::NaiveDateTime>,
10482    #[serde(
10483        default,
10484        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10485    )]
10486    pub destination: Option<u64>,
10487    #[serde(
10488        default,
10489        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
10490        rename = "type"
10491    )]
10492    pub r#type: Option<String>,
10493    #[serde(
10494        default,
10495        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10496    )]
10497    pub subaccount: Option<u64>,
10498    #[serde(
10499        default,
10500        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10501    )]
10502    pub duration: Option<String>,
10503    #[serde(
10504        default,
10505        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10506    )]
10507    pub base64file: Option<String>,
10508}
10509
10510/// Response body for [`Client::get_call_recordings`] (wire method `getCallRecordings`).
10511#[derive(Debug, Clone, Default, serde::Deserialize)]
10512pub struct GetCallRecordingsResponseRecording {
10513    #[serde(
10514        default,
10515        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10516    )]
10517    pub callrecording: Option<String>,
10518    #[serde(
10519        default,
10520        deserialize_with = "crate::responses::deserialize_opt_datetime"
10521    )]
10522    pub datetime: Option<chrono::NaiveDateTime>,
10523    #[serde(
10524        default,
10525        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10526    )]
10527    pub destination: Option<u64>,
10528    #[serde(
10529        default,
10530        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
10531        rename = "type"
10532    )]
10533    pub r#type: Option<String>,
10534    #[serde(
10535        default,
10536        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10537    )]
10538    pub subaccount: Option<u64>,
10539    #[serde(
10540        default,
10541        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10542    )]
10543    pub duration: Option<String>,
10544}
10545
10546#[derive(Debug, Clone, Default, serde::Deserialize)]
10547pub struct GetCallRecordingsResponse {
10548    #[serde(
10549        default,
10550        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10551    )]
10552    pub status: Option<String>,
10553    #[serde(default)]
10554    pub recordings: Option<Vec<GetCallRecordingsResponseRecording>>,
10555}
10556
10557/// Response body for [`Client::get_call_transcriptions`] (wire method `getCallTranscriptions`).
10558#[derive(Debug, Clone, Default, serde::Deserialize)]
10559pub struct GetCallTranscriptionsResponseTranscriptionRecognizedPhrase {
10560    #[serde(
10561        default,
10562        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10563    )]
10564    pub time: Option<String>,
10565    #[serde(
10566        default,
10567        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10568    )]
10569    pub duration: Option<rust_decimal::Decimal>,
10570    #[serde(
10571        default,
10572        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10573    )]
10574    pub speaker: Option<u64>,
10575    #[serde(
10576        default,
10577        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10578    )]
10579    pub phrase: Option<String>,
10580}
10581
10582#[derive(Debug, Clone, Default, serde::Deserialize)]
10583pub struct GetCallTranscriptionsResponseTranscription {
10584    #[serde(
10585        default,
10586        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10587    )]
10588    pub date: Option<String>,
10589    #[serde(
10590        default,
10591        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10592    )]
10593    pub duration: Option<String>,
10594    #[serde(default)]
10595    pub speakers: Option<Vec<String>>,
10596    #[serde(
10597        default,
10598        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10599    )]
10600    pub locale: Option<String>,
10601    #[serde(
10602        default,
10603        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10604    )]
10605    pub confidence: Option<String>,
10606    #[serde(default)]
10607    pub recognized_phrases: Option<Vec<GetCallTranscriptionsResponseTranscriptionRecognizedPhrase>>,
10608}
10609
10610#[derive(Debug, Clone, Default, serde::Deserialize)]
10611pub struct GetCallTranscriptionsResponse {
10612    #[serde(
10613        default,
10614        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10615    )]
10616    pub status: Option<String>,
10617    #[serde(default)]
10618    pub transcriptions: Option<Vec<GetCallTranscriptionsResponseTranscription>>,
10619}
10620
10621/// Response body for [`Client::get_call_types`] (wire method `getCallTypes`).
10622#[derive(Debug, Clone, Default, serde::Deserialize)]
10623pub struct GetCallTypesResponseCallType {
10624    #[serde(
10625        default,
10626        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10627    )]
10628    pub value: Option<String>,
10629    #[serde(
10630        default,
10631        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10632    )]
10633    pub description: Option<String>,
10634}
10635
10636#[derive(Debug, Clone, Default, serde::Deserialize)]
10637pub struct GetCallTypesResponse {
10638    #[serde(
10639        default,
10640        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10641    )]
10642    pub status: Option<String>,
10643    #[serde(default)]
10644    pub call_types: Option<Vec<GetCallTypesResponseCallType>>,
10645}
10646
10647/// Response body for [`Client::get_callbacks`] (wire method `getCallbacks`).
10648#[derive(Debug, Clone, Default, serde::Deserialize)]
10649pub struct GetCallbacksResponseCallback {
10650    #[serde(
10651        default,
10652        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10653    )]
10654    pub callback: Option<u64>,
10655    #[serde(
10656        default,
10657        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10658    )]
10659    pub description: Option<String>,
10660    #[serde(
10661        default,
10662        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10663    )]
10664    pub number: Option<u64>,
10665    #[serde(
10666        default,
10667        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10668    )]
10669    pub delay_before: Option<u64>,
10670    #[serde(
10671        default,
10672        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10673    )]
10674    pub response_timeout: Option<u64>,
10675    #[serde(
10676        default,
10677        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10678    )]
10679    pub digit_timeout: Option<u64>,
10680    #[serde(
10681        default,
10682        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10683    )]
10684    pub callerid_number: Option<u64>,
10685}
10686
10687#[derive(Debug, Clone, Default, serde::Deserialize)]
10688pub struct GetCallbacksResponse {
10689    #[serde(
10690        default,
10691        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10692    )]
10693    pub status: Option<String>,
10694    #[serde(default)]
10695    pub callbacks: Option<Vec<GetCallbacksResponseCallback>>,
10696}
10697
10698/// Response body for [`Client::get_caller_id_filtering`] (wire method `getCallerIDFiltering`).
10699#[derive(Debug, Clone, Default, serde::Deserialize)]
10700pub struct GetCallerIDFilteringResponseFiltering {
10701    #[serde(
10702        default,
10703        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10704    )]
10705    pub filtering: Option<u64>,
10706    #[serde(
10707        default,
10708        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10709    )]
10710    pub callerid: Option<u64>,
10711    #[serde(
10712        default,
10713        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10714    )]
10715    pub did: Option<u64>,
10716    #[serde(
10717        default,
10718        deserialize_with = "crate::responses::deserialize_opt_routing"
10719    )]
10720    pub routing: Option<crate::Routing>,
10721    #[serde(
10722        default,
10723        deserialize_with = "crate::responses::deserialize_opt_routing"
10724    )]
10725    pub failover_unreachable: Option<crate::Routing>,
10726    #[serde(
10727        default,
10728        deserialize_with = "crate::responses::deserialize_opt_routing"
10729    )]
10730    pub failover_busy: Option<crate::Routing>,
10731    #[serde(
10732        default,
10733        deserialize_with = "crate::responses::deserialize_opt_routing"
10734    )]
10735    pub failover_noanswer: Option<crate::Routing>,
10736    #[serde(
10737        default,
10738        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10739    )]
10740    pub note: Option<String>,
10741}
10742
10743#[derive(Debug, Clone, Default, serde::Deserialize)]
10744pub struct GetCallerIDFilteringResponse {
10745    #[serde(
10746        default,
10747        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10748    )]
10749    pub status: Option<String>,
10750    #[serde(default)]
10751    pub filtering: Option<Vec<GetCallerIDFilteringResponseFiltering>>,
10752}
10753
10754/// Response body for [`Client::get_carriers`] (wire method `getCarriers`).
10755#[derive(Debug, Clone, Default, serde::Deserialize)]
10756pub struct GetCarriersResponseCarrier {
10757    #[serde(
10758        default,
10759        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10760    )]
10761    pub value: Option<u64>,
10762    #[serde(
10763        default,
10764        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10765    )]
10766    pub description: Option<String>,
10767}
10768
10769#[derive(Debug, Clone, Default, serde::Deserialize)]
10770pub struct GetCarriersResponse {
10771    #[serde(
10772        default,
10773        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10774    )]
10775    pub status: Option<String>,
10776    #[serde(default)]
10777    pub carriers: Option<Vec<GetCarriersResponseCarrier>>,
10778}
10779
10780/// Response body for [`Client::get_charges`] (wire method `getCharges`).
10781#[derive(Debug, Clone, Default, serde::Deserialize)]
10782pub struct GetChargesResponseCharge {
10783    #[serde(
10784        default,
10785        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10786    )]
10787    pub id: Option<u64>,
10788    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
10789    pub date: Option<chrono::NaiveDate>,
10790    #[serde(
10791        default,
10792        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10793    )]
10794    pub amount: Option<rust_decimal::Decimal>,
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 GetChargesResponse {
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 charges: Option<Vec<GetChargesResponseCharge>>,
10811}
10812
10813/// Response body for [`Client::get_client_packages`] (wire method `getClientPackages`).
10814#[derive(Debug, Clone, Default, serde::Deserialize)]
10815pub struct GetClientPackagesResponsePackage {
10816    #[serde(
10817        default,
10818        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10819    )]
10820    pub value: Option<u64>,
10821    #[serde(
10822        default,
10823        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10824    )]
10825    pub description: Option<String>,
10826}
10827
10828#[derive(Debug, Clone, Default, serde::Deserialize)]
10829pub struct GetClientPackagesResponse {
10830    #[serde(
10831        default,
10832        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10833    )]
10834    pub status: Option<String>,
10835    #[serde(default)]
10836    pub packages: Option<Vec<GetClientPackagesResponsePackage>>,
10837}
10838
10839/// Response body for [`Client::get_client_threshold`] (wire method `getClientThreshold`).
10840#[derive(Debug, Clone, Default, serde::Deserialize)]
10841pub struct GetClientThresholdResponseThresholdInformation {
10842    #[serde(
10843        default,
10844        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10845    )]
10846    pub threshold: Option<u64>,
10847    #[serde(
10848        default,
10849        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10850    )]
10851    pub email: Option<String>,
10852}
10853
10854#[derive(Debug, Clone, Default, serde::Deserialize)]
10855pub struct GetClientThresholdResponse {
10856    #[serde(
10857        default,
10858        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10859    )]
10860    pub status: Option<String>,
10861    #[serde(default)]
10862    pub threshold_information: Option<GetClientThresholdResponseThresholdInformation>,
10863}
10864
10865/// Response body for [`Client::get_clients`] (wire method `getClients`).
10866#[derive(Debug, Clone, Default, serde::Deserialize)]
10867pub struct GetClientsResponseClient {
10868    #[serde(
10869        default,
10870        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10871    )]
10872    pub client: Option<u64>,
10873    #[serde(
10874        default,
10875        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10876    )]
10877    pub email: Option<String>,
10878    #[serde(
10879        default,
10880        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10881    )]
10882    pub password: Option<String>,
10883    #[serde(
10884        default,
10885        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10886    )]
10887    pub company: Option<String>,
10888    #[serde(
10889        default,
10890        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10891    )]
10892    pub firstname: Option<String>,
10893    #[serde(
10894        default,
10895        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10896    )]
10897    pub lastname: Option<String>,
10898    #[serde(
10899        default,
10900        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10901    )]
10902    pub address: Option<String>,
10903    #[serde(
10904        default,
10905        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10906    )]
10907    pub city: Option<String>,
10908    #[serde(
10909        default,
10910        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10911    )]
10912    pub state: Option<String>,
10913    #[serde(
10914        default,
10915        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10916    )]
10917    pub country: Option<String>,
10918    #[serde(
10919        default,
10920        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10921    )]
10922    pub zip: Option<u64>,
10923    #[serde(
10924        default,
10925        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10926    )]
10927    pub phone_number: Option<u64>,
10928    #[serde(
10929        default,
10930        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10931    )]
10932    pub balance_management: Option<u64>,
10933}
10934
10935#[derive(Debug, Clone, Default, serde::Deserialize)]
10936pub struct GetClientsResponse {
10937    #[serde(
10938        default,
10939        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10940    )]
10941    pub status: Option<String>,
10942    #[serde(default)]
10943    pub clients: Option<Vec<GetClientsResponseClient>>,
10944}
10945
10946/// Response body for [`Client::get_conference`] (wire method `getConference`).
10947#[derive(Debug, Clone, Default, serde::Deserialize)]
10948pub struct GetConferenceResponseConference {
10949    #[serde(
10950        default,
10951        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10952    )]
10953    pub conference: Option<u64>,
10954    #[serde(
10955        default,
10956        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10957    )]
10958    pub name: Option<String>,
10959    #[serde(
10960        default,
10961        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10962    )]
10963    pub description: Option<String>,
10964    #[serde(
10965        default,
10966        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10967    )]
10968    pub max_members: Option<u64>,
10969    #[serde(
10970        default,
10971        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10972    )]
10973    pub sound_join: Option<u64>,
10974    #[serde(
10975        default,
10976        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10977    )]
10978    pub sound_leave: Option<u64>,
10979    #[serde(
10980        default,
10981        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10982    )]
10983    pub sound_has_joined: Option<u64>,
10984    #[serde(
10985        default,
10986        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10987    )]
10988    pub sound_has_left: Option<u64>,
10989    #[serde(
10990        default,
10991        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10992    )]
10993    pub sound_kicked: Option<u64>,
10994    #[serde(
10995        default,
10996        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10997    )]
10998    pub sound_muted: Option<u64>,
10999    #[serde(
11000        default,
11001        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11002    )]
11003    pub sound_unmuted: Option<u64>,
11004    #[serde(
11005        default,
11006        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11007    )]
11008    pub sound_only_person: Option<u64>,
11009    #[serde(
11010        default,
11011        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11012    )]
11013    pub sound_only_one: Option<u64>,
11014    #[serde(
11015        default,
11016        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11017    )]
11018    pub sound_there_are: Option<u64>,
11019    #[serde(
11020        default,
11021        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11022    )]
11023    pub sound_other_in_party: Option<u64>,
11024    #[serde(
11025        default,
11026        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11027    )]
11028    pub sound_place_into_conference: Option<u64>,
11029    #[serde(
11030        default,
11031        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11032    )]
11033    pub sound_get_pin: Option<u64>,
11034    #[serde(
11035        default,
11036        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11037    )]
11038    pub sound_invalid_pin: Option<u64>,
11039    #[serde(
11040        default,
11041        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11042    )]
11043    pub sound_locked: Option<u64>,
11044    #[serde(
11045        default,
11046        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11047    )]
11048    pub sound_locked_now: Option<u64>,
11049    #[serde(
11050        default,
11051        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11052    )]
11053    pub sound_unlocked_now: Option<u64>,
11054    #[serde(
11055        default,
11056        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11057    )]
11058    pub sound_error_menu: Option<u64>,
11059    #[serde(
11060        default,
11061        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11062    )]
11063    pub sound_participants_muted: Option<u64>,
11064    #[serde(
11065        default,
11066        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11067    )]
11068    pub sound_participants_unmuted: Option<u64>,
11069    #[serde(
11070        default,
11071        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11072    )]
11073    pub language: Option<String>,
11074    #[serde(
11075        default,
11076        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11077    )]
11078    pub members: Option<String>,
11079}
11080
11081#[derive(Debug, Clone, Default, serde::Deserialize)]
11082pub struct GetConferenceResponse {
11083    #[serde(
11084        default,
11085        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11086    )]
11087    pub status: Option<String>,
11088    #[serde(default)]
11089    pub conference: Option<Vec<GetConferenceResponseConference>>,
11090}
11091
11092/// Response body for [`Client::get_conference_members`] (wire method `getConferenceMembers`).
11093#[derive(Debug, Clone, Default, serde::Deserialize)]
11094pub struct GetConferenceMembersResponseMember {
11095    #[serde(
11096        default,
11097        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11098    )]
11099    pub member: Option<u64>,
11100    #[serde(
11101        default,
11102        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11103    )]
11104    pub name: Option<String>,
11105    #[serde(
11106        default,
11107        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11108    )]
11109    pub description: Option<String>,
11110    #[serde(
11111        default,
11112        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11113    )]
11114    pub pin: Option<u64>,
11115    #[serde(
11116        default,
11117        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11118    )]
11119    pub announce_join_leave: Option<bool>,
11120    #[serde(
11121        default,
11122        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11123    )]
11124    pub admin: Option<bool>,
11125    #[serde(
11126        default,
11127        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11128    )]
11129    pub start_muted: Option<bool>,
11130    #[serde(
11131        default,
11132        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11133    )]
11134    pub announce_user_count: Option<bool>,
11135    #[serde(
11136        default,
11137        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11138    )]
11139    pub announce_only_user: Option<bool>,
11140    #[serde(
11141        default,
11142        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11143    )]
11144    pub moh_when_empty: Option<String>,
11145    #[serde(
11146        default,
11147        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11148    )]
11149    pub quiet: Option<bool>,
11150    #[serde(
11151        default,
11152        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11153    )]
11154    pub announcement: Option<u64>,
11155    #[serde(
11156        default,
11157        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11158    )]
11159    pub drop_silence: Option<bool>,
11160    #[serde(
11161        default,
11162        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11163    )]
11164    pub talking_threshold: Option<u64>,
11165    #[serde(
11166        default,
11167        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11168    )]
11169    pub silence_threshold: Option<u64>,
11170    #[serde(
11171        default,
11172        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11173    )]
11174    pub talk_detection: Option<bool>,
11175    #[serde(
11176        default,
11177        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11178    )]
11179    pub jitter_buffer: Option<bool>,
11180}
11181
11182#[derive(Debug, Clone, Default, serde::Deserialize)]
11183pub struct GetConferenceMembersResponse {
11184    #[serde(
11185        default,
11186        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11187    )]
11188    pub status: Option<String>,
11189    #[serde(default)]
11190    pub members: Option<Vec<GetConferenceMembersResponseMember>>,
11191}
11192
11193/// Response body for [`Client::get_conference_recording_file`] (wire method `getConferenceRecordingFile`).
11194#[derive(Debug, Clone, Default, serde::Deserialize)]
11195pub struct GetConferenceRecordingFileResponseRecording {
11196    #[serde(
11197        default,
11198        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11199    )]
11200    pub recording: Option<u64>,
11201    #[serde(
11202        default,
11203        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11204    )]
11205    pub data: Option<String>,
11206}
11207
11208#[derive(Debug, Clone, Default, serde::Deserialize)]
11209pub struct GetConferenceRecordingFileResponse {
11210    #[serde(
11211        default,
11212        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11213    )]
11214    pub status: Option<String>,
11215    #[serde(default)]
11216    pub recording: Option<Vec<GetConferenceRecordingFileResponseRecording>>,
11217}
11218
11219/// Response body for [`Client::get_conference_recordings`] (wire method `getConferenceRecordings`).
11220#[derive(Debug, Clone, Default, serde::Deserialize)]
11221pub struct GetConferenceRecordingsResponseRecording {
11222    #[serde(
11223        default,
11224        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11225    )]
11226    pub did: Option<u64>,
11227    #[serde(
11228        default,
11229        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11230    )]
11231    pub recording: Option<u64>,
11232    #[serde(
11233        default,
11234        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11235    )]
11236    pub conference: Option<u64>,
11237    #[serde(
11238        default,
11239        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11240    )]
11241    pub duration: Option<u64>,
11242    #[serde(
11243        default,
11244        deserialize_with = "crate::responses::deserialize_opt_datetime"
11245    )]
11246    pub date: Option<chrono::NaiveDateTime>,
11247}
11248
11249#[derive(Debug, Clone, Default, serde::Deserialize)]
11250pub struct GetConferenceRecordingsResponse {
11251    #[serde(
11252        default,
11253        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11254    )]
11255    pub status: Option<String>,
11256    #[serde(default)]
11257    pub recordings: Option<Vec<GetConferenceRecordingsResponseRecording>>,
11258}
11259
11260/// Response body for [`Client::get_countries`] (wire method `getCountries`).
11261#[derive(Debug, Clone, Default, serde::Deserialize)]
11262pub struct GetCountriesResponseCountry {
11263    #[serde(
11264        default,
11265        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11266    )]
11267    pub value: Option<String>,
11268    #[serde(
11269        default,
11270        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11271    )]
11272    pub description: Option<String>,
11273}
11274
11275#[derive(Debug, Clone, Default, serde::Deserialize)]
11276pub struct GetCountriesResponse {
11277    #[serde(
11278        default,
11279        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11280    )]
11281    pub status: Option<String>,
11282    #[serde(default)]
11283    pub countries: Option<Vec<GetCountriesResponseCountry>>,
11284}
11285
11286/// Response body for [`Client::get_did_countries`] (wire method `getDIDCountries`).
11287#[derive(Debug, Clone, Default, serde::Deserialize)]
11288pub struct GetDIDCountriesResponseCountry {
11289    #[serde(
11290        default,
11291        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11292    )]
11293    pub value: Option<u64>,
11294    #[serde(
11295        default,
11296        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11297    )]
11298    pub description: Option<String>,
11299}
11300
11301#[derive(Debug, Clone, Default, serde::Deserialize)]
11302pub struct GetDIDCountriesResponse {
11303    #[serde(
11304        default,
11305        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11306    )]
11307    pub status: Option<String>,
11308    #[serde(default)]
11309    pub countries: Option<Vec<GetDIDCountriesResponseCountry>>,
11310}
11311
11312/// Response body for [`Client::get_dids_can`] (wire method `getDIDsCAN`).
11313#[derive(Debug, Clone, Default, serde::Deserialize)]
11314pub struct GetDIDsCANResponseDID {
11315    #[serde(
11316        default,
11317        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11318    )]
11319    pub did: Option<u64>,
11320    #[serde(
11321        default,
11322        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11323    )]
11324    pub ratecenter: Option<String>,
11325    #[serde(
11326        default,
11327        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11328    )]
11329    pub province: Option<String>,
11330    #[serde(
11331        default,
11332        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11333    )]
11334    pub province_description: Option<String>,
11335    #[serde(
11336        default,
11337        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11338    )]
11339    pub perminute_monthly: Option<rust_decimal::Decimal>,
11340    #[serde(
11341        default,
11342        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11343    )]
11344    pub perminute_minute: Option<rust_decimal::Decimal>,
11345    #[serde(
11346        default,
11347        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11348    )]
11349    pub perminute_setup: Option<rust_decimal::Decimal>,
11350    #[serde(
11351        default,
11352        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11353    )]
11354    pub flat_monthly: Option<rust_decimal::Decimal>,
11355    #[serde(
11356        default,
11357        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11358    )]
11359    pub flat_minute: Option<rust_decimal::Decimal>,
11360    #[serde(
11361        default,
11362        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11363    )]
11364    pub flat_setup: Option<rust_decimal::Decimal>,
11365    #[serde(
11366        default,
11367        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11368    )]
11369    pub sms: Option<u64>,
11370}
11371
11372#[derive(Debug, Clone, Default, serde::Deserialize)]
11373pub struct GetDIDsCANResponse {
11374    #[serde(
11375        default,
11376        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11377    )]
11378    pub status: Option<String>,
11379    #[serde(default)]
11380    pub dids: Option<Vec<GetDIDsCANResponseDID>>,
11381}
11382
11383/// Response body for [`Client::get_dids_info`] (wire method `getDIDsInfo`).
11384#[derive(Debug, Clone, Default, serde::Deserialize)]
11385pub struct GetDIDsInfoResponseDID {
11386    #[serde(
11387        default,
11388        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11389    )]
11390    pub did: Option<String>,
11391    #[serde(
11392        default,
11393        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11394    )]
11395    pub description: Option<String>,
11396    #[serde(
11397        default,
11398        deserialize_with = "crate::responses::deserialize_opt_routing"
11399    )]
11400    pub routing: Option<crate::Routing>,
11401    #[serde(
11402        default,
11403        deserialize_with = "crate::responses::deserialize_opt_routing"
11404    )]
11405    pub failover_busy: Option<crate::Routing>,
11406    #[serde(
11407        default,
11408        deserialize_with = "crate::responses::deserialize_opt_routing"
11409    )]
11410    pub failover_unreachable: Option<crate::Routing>,
11411    #[serde(
11412        default,
11413        deserialize_with = "crate::responses::deserialize_opt_routing"
11414    )]
11415    pub failover_noanswer: Option<crate::Routing>,
11416    #[serde(
11417        default,
11418        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11419    )]
11420    pub voicemail: Option<u64>,
11421    #[serde(
11422        default,
11423        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11424    )]
11425    pub pop: Option<u64>,
11426    #[serde(
11427        default,
11428        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11429    )]
11430    pub dialtime: Option<u64>,
11431    #[serde(
11432        default,
11433        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11434    )]
11435    pub cnam: Option<bool>,
11436    #[serde(
11437        default,
11438        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11439    )]
11440    pub e911: Option<u64>,
11441    #[serde(
11442        default,
11443        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11444    )]
11445    pub callerid_prefix: Option<String>,
11446    #[serde(
11447        default,
11448        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11449    )]
11450    pub note: Option<String>,
11451    #[serde(
11452        default,
11453        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11454    )]
11455    pub port_out_pin: Option<u64>,
11456    #[serde(default, deserialize_with = "deserialize_opt_did_billing_type")]
11457    pub billing_type: Option<DidBillingType>,
11458    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11459    pub next_billing: Option<chrono::NaiveDate>,
11460    #[serde(
11461        default,
11462        deserialize_with = "crate::responses::deserialize_opt_datetime"
11463    )]
11464    pub order_date: Option<chrono::NaiveDateTime>,
11465    #[serde(
11466        default,
11467        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11468    )]
11469    pub reseller_account: Option<String>,
11470    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11471    pub reseller_next_billing: Option<chrono::NaiveDate>,
11472    #[serde(
11473        default,
11474        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11475    )]
11476    pub reseller_monthly: Option<rust_decimal::Decimal>,
11477    #[serde(
11478        default,
11479        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11480    )]
11481    pub reseller_minute: Option<rust_decimal::Decimal>,
11482    #[serde(
11483        default,
11484        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11485    )]
11486    pub reseller_setup: Option<rust_decimal::Decimal>,
11487    #[serde(
11488        default,
11489        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11490    )]
11491    pub sms_available: Option<bool>,
11492    #[serde(
11493        default,
11494        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11495    )]
11496    pub sms_enabled: Option<bool>,
11497    #[serde(
11498        default,
11499        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11500    )]
11501    pub sms_email: Option<String>,
11502    #[serde(
11503        default,
11504        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11505    )]
11506    pub sms_email_enabled: Option<bool>,
11507    #[serde(
11508        default,
11509        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11510    )]
11511    pub sms_forward: Option<u64>,
11512    #[serde(
11513        default,
11514        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11515    )]
11516    pub sms_forward_enabled: Option<bool>,
11517    #[serde(
11518        default,
11519        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11520    )]
11521    pub sms_url_callback: Option<String>,
11522    #[serde(
11523        default,
11524        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11525    )]
11526    pub sms_url_callback_enabled: Option<bool>,
11527    #[serde(
11528        default,
11529        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11530    )]
11531    pub sms_url_callback_retry: Option<bool>,
11532    #[serde(
11533        default,
11534        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11535    )]
11536    pub smpp_enabled: Option<bool>,
11537    #[serde(
11538        default,
11539        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11540    )]
11541    pub smpp_url: Option<String>,
11542    #[serde(
11543        default,
11544        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11545    )]
11546    pub smpp_user: Option<String>,
11547    #[serde(
11548        default,
11549        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11550    )]
11551    pub smpp_pass: Option<String>,
11552    #[serde(
11553        default,
11554        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11555    )]
11556    pub transcribe: Option<bool>,
11557    #[serde(
11558        default,
11559        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11560    )]
11561    pub transcription_locale: Option<String>,
11562    #[serde(
11563        default,
11564        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11565    )]
11566    pub transcription_redaction: Option<bool>,
11567    #[serde(
11568        default,
11569        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11570    )]
11571    pub transcription_summary: Option<bool>,
11572    #[serde(
11573        default,
11574        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11575    )]
11576    pub transcription_sentiment: Option<bool>,
11577    #[serde(
11578        default,
11579        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11580    )]
11581    pub transcription_email: Option<String>,
11582}
11583
11584#[derive(Debug, Clone, Default, serde::Deserialize)]
11585pub struct GetDIDsInfoResponse {
11586    #[serde(
11587        default,
11588        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11589    )]
11590    pub status: Option<String>,
11591    #[serde(default)]
11592    pub dids: Option<Vec<GetDIDsInfoResponseDID>>,
11593}
11594
11595/// Response body for [`Client::get_dids_international_geographic`] (wire method `getDIDsInternationalGeographic`).
11596#[derive(Debug, Clone, Default, serde::Deserialize)]
11597pub struct GetDIDsInternationalGeographicResponseLocation {
11598    #[serde(
11599        default,
11600        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11601    )]
11602    pub location_id: Option<String>,
11603    #[serde(
11604        default,
11605        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11606    )]
11607    pub location_name: Option<String>,
11608    #[serde(
11609        default,
11610        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11611    )]
11612    pub country: Option<String>,
11613    #[serde(
11614        default,
11615        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11616    )]
11617    pub area_code: Option<u64>,
11618    #[serde(
11619        default,
11620        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11621    )]
11622    pub stock: Option<u64>,
11623    #[serde(
11624        default,
11625        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11626    )]
11627    pub monthly: Option<rust_decimal::Decimal>,
11628    #[serde(
11629        default,
11630        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11631    )]
11632    pub setup: Option<rust_decimal::Decimal>,
11633    #[serde(
11634        default,
11635        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11636    )]
11637    pub minute: Option<rust_decimal::Decimal>,
11638    #[serde(
11639        default,
11640        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11641    )]
11642    pub monthly_per_minute: Option<String>,
11643    #[serde(
11644        default,
11645        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11646    )]
11647    pub setup_per_minute: Option<String>,
11648    #[serde(
11649        default,
11650        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11651    )]
11652    pub channels: Option<u64>,
11653}
11654
11655#[derive(Debug, Clone, Default, serde::Deserialize)]
11656pub struct GetDIDsInternationalGeographicResponse {
11657    #[serde(
11658        default,
11659        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11660    )]
11661    pub status: Option<String>,
11662    #[serde(default)]
11663    pub locations: Option<Vec<GetDIDsInternationalGeographicResponseLocation>>,
11664}
11665
11666/// Response body for [`Client::get_dids_international_national`] (wire method `getDIDsInternationalNational`).
11667#[derive(Debug, Clone, Default, serde::Deserialize)]
11668pub struct GetDIDsInternationalNationalResponseLocation {
11669    #[serde(
11670        default,
11671        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11672    )]
11673    pub location_id: Option<String>,
11674    #[serde(
11675        default,
11676        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11677    )]
11678    pub location_name: Option<String>,
11679    #[serde(
11680        default,
11681        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11682    )]
11683    pub country: Option<String>,
11684    #[serde(
11685        default,
11686        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11687    )]
11688    pub area_code: Option<u64>,
11689    #[serde(
11690        default,
11691        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11692    )]
11693    pub stock: Option<u64>,
11694    #[serde(
11695        default,
11696        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11697    )]
11698    pub monthly: Option<rust_decimal::Decimal>,
11699    #[serde(
11700        default,
11701        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11702    )]
11703    pub setup: Option<u64>,
11704    #[serde(
11705        default,
11706        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11707    )]
11708    pub minute: Option<u64>,
11709    #[serde(
11710        default,
11711        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11712    )]
11713    pub monthly_per_minute: Option<String>,
11714    #[serde(
11715        default,
11716        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11717    )]
11718    pub setup_per_minute: Option<String>,
11719}
11720
11721#[derive(Debug, Clone, Default, serde::Deserialize)]
11722pub struct GetDIDsInternationalNationalResponse {
11723    #[serde(
11724        default,
11725        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11726    )]
11727    pub status: Option<String>,
11728    #[serde(default)]
11729    pub locations: Option<Vec<GetDIDsInternationalNationalResponseLocation>>,
11730}
11731
11732/// Response body for [`Client::get_dids_international_toll_free`] (wire method `getDIDsInternationalTollFree`).
11733#[derive(Debug, Clone, Default, serde::Deserialize)]
11734pub struct GetDIDsInternationalTollFreeResponseLocation {
11735    #[serde(
11736        default,
11737        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11738    )]
11739    pub location_id: Option<String>,
11740    #[serde(
11741        default,
11742        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11743    )]
11744    pub location_name: Option<String>,
11745    #[serde(
11746        default,
11747        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11748    )]
11749    pub country: Option<String>,
11750    #[serde(
11751        default,
11752        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11753    )]
11754    pub area_code: Option<u64>,
11755    #[serde(
11756        default,
11757        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11758    )]
11759    pub stock: Option<u64>,
11760    #[serde(
11761        default,
11762        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11763    )]
11764    pub monthly: Option<rust_decimal::Decimal>,
11765    #[serde(
11766        default,
11767        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11768    )]
11769    pub setup: Option<rust_decimal::Decimal>,
11770    #[serde(
11771        default,
11772        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11773    )]
11774    pub minute: Option<rust_decimal::Decimal>,
11775}
11776
11777#[derive(Debug, Clone, Default, serde::Deserialize)]
11778pub struct GetDIDsInternationalTollFreeResponse {
11779    #[serde(
11780        default,
11781        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11782    )]
11783    pub status: Option<String>,
11784    #[serde(default)]
11785    pub locations: Option<Vec<GetDIDsInternationalTollFreeResponseLocation>>,
11786}
11787
11788/// Response body for [`Client::get_dids_usa`] (wire method `getDIDsUSA`).
11789#[derive(Debug, Clone, Default, serde::Deserialize)]
11790pub struct GetDIDsUSAResponseDID {
11791    #[serde(
11792        default,
11793        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11794    )]
11795    pub did: Option<u64>,
11796    #[serde(
11797        default,
11798        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11799    )]
11800    pub ratecenter: Option<String>,
11801    #[serde(
11802        default,
11803        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11804    )]
11805    pub state: Option<String>,
11806    #[serde(
11807        default,
11808        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11809    )]
11810    pub state_description: Option<String>,
11811    #[serde(
11812        default,
11813        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11814    )]
11815    pub perminute_monthly: Option<rust_decimal::Decimal>,
11816    #[serde(
11817        default,
11818        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11819    )]
11820    pub perminute_minute: Option<rust_decimal::Decimal>,
11821    #[serde(
11822        default,
11823        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11824    )]
11825    pub perminute_setup: Option<rust_decimal::Decimal>,
11826    #[serde(
11827        default,
11828        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11829    )]
11830    pub flat_monthly: Option<rust_decimal::Decimal>,
11831    #[serde(
11832        default,
11833        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11834    )]
11835    pub flat_minute: Option<rust_decimal::Decimal>,
11836    #[serde(
11837        default,
11838        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11839    )]
11840    pub flat_setup: Option<rust_decimal::Decimal>,
11841    #[serde(
11842        default,
11843        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11844    )]
11845    pub has_port_out_pin: Option<u64>,
11846    #[serde(
11847        default,
11848        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11849    )]
11850    pub sms: Option<u64>,
11851}
11852
11853#[derive(Debug, Clone, Default, serde::Deserialize)]
11854pub struct GetDIDsUSAResponse {
11855    #[serde(
11856        default,
11857        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11858    )]
11859    pub status: Option<String>,
11860    #[serde(default)]
11861    pub dids: Option<Vec<GetDIDsUSAResponseDID>>,
11862}
11863
11864/// Response body for [`Client::get_did_vpri`] (wire method `getDIDvPRI`).
11865#[derive(Debug, Clone, Default, serde::Deserialize)]
11866pub struct GetDIDvPRIResponse {
11867    #[serde(
11868        default,
11869        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11870    )]
11871    pub status: Option<String>,
11872    #[serde(default)]
11873    pub dids: Option<Vec<u64>>,
11874}
11875
11876/// Response body for [`Client::get_disas`] (wire method `getDISAs`).
11877#[derive(Debug, Clone, Default, serde::Deserialize)]
11878pub struct GetDISAsResponseDISA {
11879    #[serde(
11880        default,
11881        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11882    )]
11883    pub disa: Option<u64>,
11884    #[serde(
11885        default,
11886        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11887    )]
11888    pub name: Option<String>,
11889    #[serde(
11890        default,
11891        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11892    )]
11893    pub pin: Option<u64>,
11894    #[serde(
11895        default,
11896        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11897    )]
11898    pub digit_timeout: Option<u64>,
11899    #[serde(
11900        default,
11901        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11902    )]
11903    pub callerid_override: Option<u64>,
11904    #[serde(
11905        default,
11906        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11907    )]
11908    pub language: Option<String>,
11909}
11910
11911#[derive(Debug, Clone, Default, serde::Deserialize)]
11912pub struct GetDISAsResponse {
11913    #[serde(
11914        default,
11915        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11916    )]
11917    pub status: Option<String>,
11918    #[serde(default)]
11919    pub disa: Option<Vec<GetDISAsResponseDISA>>,
11920}
11921
11922/// Response body for [`Client::get_dtmf_modes`] (wire method `getDTMFModes`).
11923#[derive(Debug, Clone, Default, serde::Deserialize)]
11924pub struct GetDTMFModesResponseDTMFMode {
11925    #[serde(
11926        default,
11927        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11928    )]
11929    pub value: Option<String>,
11930    #[serde(
11931        default,
11932        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11933    )]
11934    pub description: Option<String>,
11935}
11936
11937#[derive(Debug, Clone, Default, serde::Deserialize)]
11938pub struct GetDTMFModesResponse {
11939    #[serde(
11940        default,
11941        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11942    )]
11943    pub status: Option<String>,
11944    #[serde(default)]
11945    pub dtmf_modes: Option<Vec<GetDTMFModesResponseDTMFMode>>,
11946}
11947
11948/// Response body for [`Client::get_deposits`] (wire method `getDeposits`).
11949#[derive(Debug, Clone, Default, serde::Deserialize)]
11950pub struct GetDepositsResponseDeposit {
11951    #[serde(
11952        default,
11953        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11954    )]
11955    pub id: Option<u64>,
11956    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11957    pub date: Option<chrono::NaiveDate>,
11958    #[serde(
11959        default,
11960        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11961    )]
11962    pub amount: Option<rust_decimal::Decimal>,
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 GetDepositsResponse {
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 deposits: Option<Vec<GetDepositsResponseDeposit>>,
11979}
11980
11981/// Response body for [`Client::get_device_types`] (wire method `getDeviceTypes`).
11982#[derive(Debug, Clone, Default, serde::Deserialize)]
11983pub struct GetDeviceTypesResponseDeviceType {
11984    #[serde(
11985        default,
11986        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11987    )]
11988    pub value: Option<u64>,
11989    #[serde(
11990        default,
11991        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11992    )]
11993    pub description: Option<String>,
11994}
11995
11996#[derive(Debug, Clone, Default, serde::Deserialize)]
11997pub struct GetDeviceTypesResponse {
11998    #[serde(
11999        default,
12000        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12001    )]
12002    pub status: Option<String>,
12003    #[serde(default)]
12004    pub device_types: Option<Vec<GetDeviceTypesResponseDeviceType>>,
12005}
12006
12007/// Response body for [`Client::get_email_to_fax`] (wire method `getEmailToFax`).
12008#[derive(Debug, Clone, Default, serde::Deserialize)]
12009pub struct GetEmailToFAXResponseEmailToFAX {
12010    #[serde(
12011        default,
12012        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12013    )]
12014    pub id: Option<String>,
12015    #[serde(
12016        default,
12017        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12018    )]
12019    pub enabled: Option<bool>,
12020    #[serde(
12021        default,
12022        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12023    )]
12024    pub email: Option<String>,
12025    #[serde(
12026        default,
12027        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12028    )]
12029    pub security_code: Option<u64>,
12030    #[serde(
12031        default,
12032        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12033    )]
12034    pub security_code_enabled: Option<bool>,
12035    #[serde(
12036        default,
12037        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12038    )]
12039    pub from: Option<u64>,
12040}
12041
12042#[derive(Debug, Clone, Default, serde::Deserialize)]
12043pub struct GetEmailToFAXResponse {
12044    #[serde(
12045        default,
12046        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12047    )]
12048    pub status: Option<String>,
12049    #[serde(default)]
12050    pub emailToFax: Option<Vec<GetEmailToFAXResponseEmailToFAX>>,
12051}
12052
12053/// Response body for [`Client::get_fax_folders`] (wire method `getFaxFolders`).
12054#[derive(Debug, Clone, Default, serde::Deserialize)]
12055pub struct GetFAXFoldersResponseFolder {
12056    #[serde(
12057        default,
12058        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12059    )]
12060    pub id: Option<String>,
12061    #[serde(
12062        default,
12063        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12064    )]
12065    pub name: Option<String>,
12066}
12067
12068#[derive(Debug, Clone, Default, serde::Deserialize)]
12069pub struct GetFAXFoldersResponse {
12070    #[serde(
12071        default,
12072        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12073    )]
12074    pub status: Option<String>,
12075    #[serde(default)]
12076    pub folders: Option<Vec<GetFAXFoldersResponseFolder>>,
12077}
12078
12079/// Response body for [`Client::get_fax_message_pdf`] (wire method `getFaxMessagePDF`).
12080#[derive(Debug, Clone, Default, serde::Deserialize)]
12081pub struct GetFAXMessagePDFResponse {
12082    #[serde(
12083        default,
12084        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12085    )]
12086    pub status: Option<String>,
12087    #[serde(
12088        default,
12089        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12090    )]
12091    pub message_base64: Option<String>,
12092}
12093
12094/// Response body for [`Client::get_fax_messages`] (wire method `getFaxMessages`).
12095#[derive(Debug, Clone, Default, serde::Deserialize)]
12096pub struct GetFAXMessagesResponseFAX {
12097    #[serde(
12098        default,
12099        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12100    )]
12101    pub id: Option<String>,
12102    #[serde(
12103        default,
12104        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12105    )]
12106    pub folder: Option<String>,
12107    #[serde(
12108        default,
12109        deserialize_with = "crate::responses::deserialize_opt_datetime"
12110    )]
12111    pub date: Option<chrono::NaiveDateTime>,
12112    #[serde(
12113        default,
12114        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12115    )]
12116    pub callerid: Option<u64>,
12117    #[serde(
12118        default,
12119        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12120    )]
12121    pub stationid: Option<u64>,
12122    #[serde(
12123        default,
12124        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12125    )]
12126    pub destination: Option<u64>,
12127    #[serde(
12128        default,
12129        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12130    )]
12131    pub description: Option<String>,
12132    #[serde(
12133        default,
12134        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12135    )]
12136    pub pages: Option<u64>,
12137    #[serde(
12138        default,
12139        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12140    )]
12141    pub duration: Option<String>,
12142    #[serde(
12143        default,
12144        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12145    )]
12146    pub status: Option<String>,
12147    #[serde(
12148        default,
12149        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12150    )]
12151    pub rate: Option<rust_decimal::Decimal>,
12152    #[serde(
12153        default,
12154        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12155    )]
12156    pub total: Option<rust_decimal::Decimal>,
12157    #[serde(
12158        default,
12159        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12160    )]
12161    pub msg: Option<String>,
12162}
12163
12164#[derive(Debug, Clone, Default, serde::Deserialize)]
12165pub struct GetFAXMessagesResponse {
12166    #[serde(
12167        default,
12168        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12169    )]
12170    pub status: Option<String>,
12171    #[serde(default)]
12172    pub faxes: Option<Vec<GetFAXMessagesResponseFAX>>,
12173}
12174
12175/// Response body for [`Client::get_fax_numbers_info`] (wire method `getFaxNumbersInfo`).
12176#[derive(Debug, Clone, Default, serde::Deserialize)]
12177pub struct GetFAXNumbersInfoResponseNumber {
12178    #[serde(
12179        default,
12180        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12181    )]
12182    pub id: Option<String>,
12183    #[serde(
12184        default,
12185        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12186    )]
12187    pub did: Option<u64>,
12188    #[serde(
12189        default,
12190        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12191    )]
12192    pub description: Option<String>,
12193    #[serde(
12194        default,
12195        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12196    )]
12197    pub state: Option<String>,
12198    #[serde(
12199        default,
12200        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12201    )]
12202    pub city: Option<String>,
12203    #[serde(
12204        default,
12205        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12206    )]
12207    pub country: Option<String>,
12208    #[serde(
12209        default,
12210        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12211    )]
12212    pub email_enabled: Option<bool>,
12213    #[serde(
12214        default,
12215        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12216    )]
12217    pub email: Option<String>,
12218    #[serde(
12219        default,
12220        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12221    )]
12222    pub url_enabled: Option<bool>,
12223    #[serde(
12224        default,
12225        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12226    )]
12227    pub url: Option<String>,
12228    #[serde(
12229        default,
12230        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12231    )]
12232    pub retry: Option<u64>,
12233    #[serde(
12234        default,
12235        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12236    )]
12237    pub attach_file: Option<u64>,
12238    #[serde(
12239        default,
12240        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12241    )]
12242    pub note: Option<String>,
12243    #[serde(
12244        default,
12245        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12246    )]
12247    pub reseller_account: Option<String>,
12248    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12249    pub reseller_next_billing: Option<chrono::NaiveDate>,
12250    #[serde(
12251        default,
12252        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12253    )]
12254    pub reseller_monthly: Option<rust_decimal::Decimal>,
12255    #[serde(
12256        default,
12257        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12258    )]
12259    pub reseller_minute: Option<rust_decimal::Decimal>,
12260    #[serde(
12261        default,
12262        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12263    )]
12264    pub reseller_setup: Option<rust_decimal::Decimal>,
12265    #[serde(
12266        default,
12267        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12268    )]
12269    pub fax_to_sip_enabled: Option<bool>,
12270    #[serde(
12271        default,
12272        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12273    )]
12274    pub fax_to_sip_enabled_account: Option<String>,
12275}
12276
12277#[derive(Debug, Clone, Default, serde::Deserialize)]
12278pub struct GetFAXNumbersInfoResponse {
12279    #[serde(
12280        default,
12281        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12282    )]
12283    pub status: Option<String>,
12284    #[serde(default)]
12285    pub numbers: Option<Vec<GetFAXNumbersInfoResponseNumber>>,
12286}
12287
12288/// Response body for [`Client::get_fax_numbers_portability`] (wire method `getFaxNumbersPortability`).
12289#[derive(Debug, Clone, Default, serde::Deserialize)]
12290pub struct GetFAXNumbersPortabilityResponse {
12291    #[serde(
12292        default,
12293        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12294    )]
12295    pub status: Option<String>,
12296    #[serde(
12297        default,
12298        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12299    )]
12300    pub getFaxNumbersPortability: Option<bool>,
12301}
12302
12303/// Response body for [`Client::get_fax_provinces`] (wire method `getFaxProvinces`).
12304#[derive(Debug, Clone, Default, serde::Deserialize)]
12305pub struct GetFAXProvincesResponseProvince {
12306    #[serde(
12307        default,
12308        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12309    )]
12310    pub province: Option<String>,
12311    #[serde(
12312        default,
12313        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12314    )]
12315    pub province_id: Option<u64>,
12316    #[serde(
12317        default,
12318        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12319    )]
12320    pub province_name: Option<String>,
12321    #[serde(
12322        default,
12323        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12324    )]
12325    pub country_code: Option<String>,
12326}
12327
12328#[derive(Debug, Clone, Default, serde::Deserialize)]
12329pub struct GetFAXProvincesResponse {
12330    #[serde(
12331        default,
12332        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12333    )]
12334    pub status: Option<String>,
12335    #[serde(default)]
12336    pub provinces: Option<Vec<GetFAXProvincesResponseProvince>>,
12337}
12338
12339/// Response body for [`Client::get_fax_rate_centers_can`] (wire method `getFaxRateCentersCAN`).
12340#[derive(Debug, Clone, Default, serde::Deserialize)]
12341pub struct GetFAXRateCentersCANResponseRatecenter {
12342    #[serde(
12343        default,
12344        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12345    )]
12346    pub location: Option<u64>,
12347    #[serde(
12348        default,
12349        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12350    )]
12351    pub area_code: Option<u64>,
12352    #[serde(
12353        default,
12354        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12355    )]
12356    pub ratecenter: Option<String>,
12357    #[serde(
12358        default,
12359        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12360    )]
12361    pub available: Option<bool>,
12362}
12363
12364#[derive(Debug, Clone, Default, serde::Deserialize)]
12365pub struct GetFAXRateCentersCANResponse {
12366    #[serde(
12367        default,
12368        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12369    )]
12370    pub status: Option<String>,
12371    #[serde(default)]
12372    pub ratecenters: Option<Vec<GetFAXRateCentersCANResponseRatecenter>>,
12373}
12374
12375/// Response body for [`Client::get_fax_rate_centers_usa`] (wire method `getFaxRateCentersUSA`).
12376#[derive(Debug, Clone, Default, serde::Deserialize)]
12377pub struct GetFAXRateCentersUSAResponseRatecenter {
12378    #[serde(
12379        default,
12380        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12381    )]
12382    pub location: Option<u64>,
12383    #[serde(
12384        default,
12385        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12386    )]
12387    pub area_code: Option<u64>,
12388    #[serde(
12389        default,
12390        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12391    )]
12392    pub ratecenter: Option<String>,
12393    #[serde(
12394        default,
12395        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12396    )]
12397    pub available: Option<bool>,
12398}
12399
12400#[derive(Debug, Clone, Default, serde::Deserialize)]
12401pub struct GetFAXRateCentersUSAResponse {
12402    #[serde(
12403        default,
12404        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12405    )]
12406    pub status: Option<String>,
12407    #[serde(default)]
12408    pub ratecenters: Option<Vec<GetFAXRateCentersUSAResponseRatecenter>>,
12409}
12410
12411/// Response body for [`Client::get_fax_states`] (wire method `getFaxStates`).
12412#[derive(Debug, Clone, Default, serde::Deserialize)]
12413pub struct GetFAXStatesResponseState {
12414    #[serde(
12415        default,
12416        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12417    )]
12418    pub state: Option<String>,
12419    #[serde(
12420        default,
12421        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12422    )]
12423    pub state_id: Option<u64>,
12424    #[serde(
12425        default,
12426        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12427    )]
12428    pub state_name: Option<String>,
12429    #[serde(
12430        default,
12431        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12432    )]
12433    pub country_code: Option<String>,
12434}
12435
12436#[derive(Debug, Clone, Default, serde::Deserialize)]
12437pub struct GetFAXStatesResponse {
12438    #[serde(
12439        default,
12440        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12441    )]
12442    pub status: Option<String>,
12443    #[serde(default)]
12444    pub states: Option<Vec<GetFAXStatesResponseState>>,
12445}
12446
12447/// Response body for [`Client::get_forwardings`] (wire method `getForwardings`).
12448#[derive(Debug, Clone, Default, serde::Deserialize)]
12449pub struct GetForwardingsResponseForwarding {
12450    #[serde(
12451        default,
12452        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12453    )]
12454    pub forwarding: Option<u64>,
12455    #[serde(
12456        default,
12457        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12458    )]
12459    pub phone_number: Option<u64>,
12460    #[serde(
12461        default,
12462        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12463    )]
12464    pub callerid_override: Option<u64>,
12465    #[serde(
12466        default,
12467        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12468    )]
12469    pub description: Option<String>,
12470    #[serde(
12471        default,
12472        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12473    )]
12474    pub dtmf_digits: Option<u64>,
12475    #[serde(
12476        default,
12477        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12478    )]
12479    pub pause: Option<rust_decimal::Decimal>,
12480    #[serde(
12481        default,
12482        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12483    )]
12484    pub diversion_header: Option<bool>,
12485}
12486
12487#[derive(Debug, Clone, Default, serde::Deserialize)]
12488pub struct GetForwardingsResponse {
12489    #[serde(
12490        default,
12491        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12492    )]
12493    pub status: Option<String>,
12494    #[serde(default)]
12495    pub forwardings: Option<Vec<GetForwardingsResponseForwarding>>,
12496}
12497
12498/// Response body for [`Client::get_ip`] (wire method `getIP`).
12499#[derive(Debug, Clone, Default, serde::Deserialize)]
12500pub struct GetIPResponse {
12501    #[serde(
12502        default,
12503        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12504    )]
12505    pub status: Option<String>,
12506    #[serde(
12507        default,
12508        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12509    )]
12510    pub ip: Option<String>,
12511}
12512
12513/// Response body for [`Client::get_ivrs`] (wire method `getIVRs`).
12514#[derive(Debug, Clone, Default, serde::Deserialize)]
12515pub struct GetIVRsResponseIVR {
12516    #[serde(
12517        default,
12518        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12519    )]
12520    pub ivr: Option<u64>,
12521    #[serde(
12522        default,
12523        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12524    )]
12525    pub name: Option<String>,
12526    #[serde(
12527        default,
12528        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12529    )]
12530    pub recording: Option<u64>,
12531    #[serde(
12532        default,
12533        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12534    )]
12535    pub timeout: Option<u64>,
12536    #[serde(
12537        default,
12538        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12539    )]
12540    pub language: Option<String>,
12541    #[serde(
12542        default,
12543        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12544    )]
12545    pub voicemailsetup: Option<u64>,
12546    #[serde(
12547        default,
12548        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12549    )]
12550    pub choices: Option<String>,
12551}
12552
12553#[derive(Debug, Clone, Default, serde::Deserialize)]
12554pub struct GetIVRsResponse {
12555    #[serde(
12556        default,
12557        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12558    )]
12559    pub status: Option<String>,
12560    #[serde(default)]
12561    pub ivrs: Option<Vec<GetIVRsResponseIVR>>,
12562}
12563
12564/// Response body for [`Client::get_international_types`] (wire method `getInternationalTypes`).
12565#[derive(Debug, Clone, Default, serde::Deserialize)]
12566pub struct GetInternationalTypesResponseType {
12567    #[serde(
12568        default,
12569        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12570    )]
12571    pub value: Option<String>,
12572    #[serde(
12573        default,
12574        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12575    )]
12576    pub description: Option<String>,
12577}
12578
12579#[derive(Debug, Clone, Default, serde::Deserialize)]
12580pub struct GetInternationalTypesResponse {
12581    #[serde(
12582        default,
12583        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12584    )]
12585    pub status: Option<String>,
12586    #[serde(default)]
12587    pub types: Option<Vec<GetInternationalTypesResponseType>>,
12588}
12589
12590/// Response body for [`Client::get_join_when_empty_types`] (wire method `getJoinWhenEmptyTypes`).
12591#[derive(Debug, Clone, Default, serde::Deserialize)]
12592pub struct GetJoinWhenEmptyTypesResponseType {
12593    #[serde(
12594        default,
12595        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12596    )]
12597    pub value: Option<bool>,
12598    #[serde(
12599        default,
12600        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12601    )]
12602    pub description: Option<bool>,
12603}
12604
12605#[derive(Debug, Clone, Default, serde::Deserialize)]
12606pub struct GetJoinWhenEmptyTypesResponse {
12607    #[serde(
12608        default,
12609        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12610    )]
12611    pub status: Option<String>,
12612    #[serde(default)]
12613    pub types: Option<Vec<GetJoinWhenEmptyTypesResponseType>>,
12614}
12615
12616/// Response body for [`Client::get_lnp_attach`] (wire method `getLNPAttach`).
12617#[derive(Debug, Clone, Default, serde::Deserialize)]
12618pub struct GetLNPAttachResponse {
12619    #[serde(
12620        default,
12621        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12622    )]
12623    pub status: Option<String>,
12624    #[serde(
12625        default,
12626        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12627        rename = "type"
12628    )]
12629    pub r#type: Option<String>,
12630    #[serde(
12631        default,
12632        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12633    )]
12634    pub size: Option<String>,
12635    #[serde(
12636        default,
12637        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12638    )]
12639    pub base64: Option<String>,
12640}
12641
12642/// Response body for [`Client::get_lnp_attach_list`] (wire method `getLNPAttachList`).
12643#[derive(Debug, Clone, Default, serde::Deserialize)]
12644pub struct GetLNPAttachListResponse {
12645    #[serde(
12646        default,
12647        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12648    )]
12649    pub status: Option<String>,
12650    #[serde(
12651        default,
12652        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12653    )]
12654    pub list: Option<String>,
12655    #[serde(
12656        default,
12657        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12658    )]
12659    pub attachid: Option<String>,
12660    #[serde(
12661        default,
12662        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12663        rename = "type"
12664    )]
12665    pub r#type: Option<String>,
12666    #[serde(
12667        default,
12668        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12669    )]
12670    pub size: Option<String>,
12671}
12672
12673/// Response body for [`Client::get_lnp_details`] (wire method `getLNPDetails`).
12674#[derive(Debug, Clone, Default, serde::Deserialize)]
12675pub struct GetLNPDetailsResponseNumber {
12676    #[serde(
12677        default,
12678        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12679    )]
12680    pub did: Option<String>,
12681    #[serde(
12682        default,
12683        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12684    )]
12685    pub rateCenter: Option<String>,
12686    #[serde(
12687        default,
12688        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12689    )]
12690    pub state: Option<String>,
12691}
12692
12693#[derive(Debug, Clone, Default, serde::Deserialize)]
12694pub struct GetLNPDetailsResponseNote {
12695    #[serde(
12696        default,
12697        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12698    )]
12699    pub note: Option<String>,
12700    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12701    pub date: Option<chrono::NaiveDate>,
12702    #[serde(
12703        default,
12704        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12705    )]
12706    pub time: Option<String>,
12707}
12708
12709#[derive(Debug, Clone, Default, serde::Deserialize)]
12710pub struct GetLNPDetailsResponseAttachment {
12711    #[serde(
12712        default,
12713        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12714    )]
12715    pub id: Option<String>,
12716    #[serde(
12717        default,
12718        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12719    )]
12720    pub description: Option<String>,
12721    #[serde(
12722        default,
12723        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12724        rename = "type"
12725    )]
12726    pub r#type: Option<String>,
12727    #[serde(
12728        default,
12729        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12730    )]
12731    pub bytes: Option<u64>,
12732}
12733
12734#[derive(Debug, Clone, Default, serde::Deserialize)]
12735pub struct GetLNPDetailsResponse {
12736    #[serde(
12737        default,
12738        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12739    )]
12740    pub status: Option<String>,
12741    #[serde(
12742        default,
12743        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12744    )]
12745    pub id: Option<u64>,
12746    #[serde(default)]
12747    pub numbers: Option<Vec<GetLNPDetailsResponseNumber>>,
12748    #[serde(
12749        default,
12750        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12751    )]
12752    pub isPartial: Option<bool>,
12753    #[serde(
12754        default,
12755        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12756    )]
12757    pub locationType: Option<u64>,
12758    #[serde(
12759        default,
12760        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12761    )]
12762    pub isMobile: Option<bool>,
12763    #[serde(
12764        default,
12765        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12766    )]
12767    pub mobileInfo: Option<String>,
12768    #[serde(
12769        default,
12770        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12771    )]
12772    pub tfType: Option<u64>,
12773    #[serde(
12774        default,
12775        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12776    )]
12777    pub portType: Option<u64>,
12778    #[serde(
12779        default,
12780        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12781    )]
12782    pub btn: Option<String>,
12783    #[serde(
12784        default,
12785        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12786    )]
12787    pub services: Option<String>,
12788    #[serde(
12789        default,
12790        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12791    )]
12792    pub statementName: Option<String>,
12793    #[serde(
12794        default,
12795        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12796    )]
12797    pub firstName: Option<String>,
12798    #[serde(
12799        default,
12800        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12801    )]
12802    pub lastName: Option<String>,
12803    #[serde(
12804        default,
12805        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12806    )]
12807    pub address1: Option<String>,
12808    #[serde(
12809        default,
12810        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12811    )]
12812    pub address2: Option<String>,
12813    #[serde(
12814        default,
12815        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12816    )]
12817    pub city: Option<String>,
12818    #[serde(
12819        default,
12820        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12821    )]
12822    pub zip: Option<String>,
12823    #[serde(
12824        default,
12825        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12826    )]
12827    pub state: Option<String>,
12828    #[serde(
12829        default,
12830        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12831    )]
12832    pub country: Option<String>,
12833    #[serde(
12834        default,
12835        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12836    )]
12837    pub providerName: Option<String>,
12838    #[serde(
12839        default,
12840        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12841    )]
12842    pub providerAccount: Option<String>,
12843    #[serde(
12844        default,
12845        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12846    )]
12847    pub customer_notes: Option<String>,
12848    #[serde(default)]
12849    pub notes: Option<Vec<GetLNPDetailsResponseNote>>,
12850    #[serde(
12851        default,
12852        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12853    )]
12854    pub post_status: Option<String>,
12855    #[serde(
12856        default,
12857        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12858    )]
12859    pub post_status_description: Option<String>,
12860    #[serde(
12861        default,
12862        deserialize_with = "crate::responses::deserialize_opt_datetime"
12863    )]
12864    pub date: Option<chrono::NaiveDateTime>,
12865    #[serde(
12866        default,
12867        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12868    )]
12869    pub focDate: Option<String>,
12870    #[serde(default)]
12871    pub attachments: Option<Vec<GetLNPDetailsResponseAttachment>>,
12872}
12873
12874/// Response body for [`Client::get_lnp_list`] (wire method `getLNPList`).
12875#[derive(Debug, Clone, Default, serde::Deserialize)]
12876pub struct GetLNPListResponse {
12877    #[serde(
12878        default,
12879        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12880    )]
12881    pub status: Option<String>,
12882    #[serde(
12883        default,
12884        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12885    )]
12886    pub list: Option<String>,
12887    #[serde(
12888        default,
12889        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12890    )]
12891    pub portid: Option<String>,
12892    #[serde(
12893        default,
12894        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12895    )]
12896    pub numbers: Option<String>,
12897    #[serde(
12898        default,
12899        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12900    )]
12901    pub foc_date: Option<String>,
12902}
12903
12904/// Response body for [`Client::get_lnp_list_status`] (wire method `getLNPListStatus`).
12905#[derive(Debug, Clone, Default, serde::Deserialize)]
12906pub struct GetLNPListStatusResponse {
12907    #[serde(
12908        default,
12909        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12910    )]
12911    pub status: Option<String>,
12912    #[serde(
12913        default,
12914        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12915    )]
12916    pub list_status: Option<String>,
12917}
12918
12919/// Response body for [`Client::get_lnp_notes`] (wire method `getLNPNotes`).
12920#[derive(Debug, Clone, Default, serde::Deserialize)]
12921pub struct GetLNPNotesResponse {
12922    #[serde(
12923        default,
12924        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12925    )]
12926    pub status: Option<String>,
12927    #[serde(
12928        default,
12929        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12930    )]
12931    pub list: Option<String>,
12932    #[serde(
12933        default,
12934        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12935    )]
12936    pub note: Option<String>,
12937    #[serde(
12938        default,
12939        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12940    )]
12941    pub date: Option<String>,
12942    #[serde(
12943        default,
12944        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12945    )]
12946    pub time: Option<String>,
12947}
12948
12949/// Response body for [`Client::get_lnp_status`] (wire method `getLNPStatus`).
12950#[derive(Debug, Clone, Default, serde::Deserialize)]
12951pub struct GetLNPStatusResponse {
12952    #[serde(
12953        default,
12954        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12955    )]
12956    pub status: Option<String>,
12957    #[serde(
12958        default,
12959        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12960    )]
12961    pub post_status: Option<String>,
12962    #[serde(
12963        default,
12964        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12965    )]
12966    pub post_status_description: Option<String>,
12967}
12968
12969/// Response body for [`Client::get_languages`] (wire method `getLanguages`).
12970#[derive(Debug, Clone, Default, serde::Deserialize)]
12971pub struct GetLanguagesResponseLanguage {
12972    #[serde(
12973        default,
12974        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12975    )]
12976    pub value: Option<String>,
12977    #[serde(
12978        default,
12979        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12980    )]
12981    pub description: Option<String>,
12982}
12983
12984#[derive(Debug, Clone, Default, serde::Deserialize)]
12985pub struct GetLanguagesResponse {
12986    #[serde(
12987        default,
12988        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12989    )]
12990    pub status: Option<String>,
12991    #[serde(default)]
12992    pub languages: Option<Vec<GetLanguagesResponseLanguage>>,
12993}
12994
12995/// Response body for [`Client::get_locales`] (wire method `getLocales`).
12996#[derive(Debug, Clone, Default, serde::Deserialize)]
12997pub struct GetLocalesResponseLocale {
12998    #[serde(
12999        default,
13000        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13001    )]
13002    pub value: Option<String>,
13003    #[serde(
13004        default,
13005        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13006    )]
13007    pub description: Option<String>,
13008}
13009
13010#[derive(Debug, Clone, Default, serde::Deserialize)]
13011pub struct GetLocalesResponse {
13012    #[serde(
13013        default,
13014        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13015    )]
13016    pub status: Option<String>,
13017    #[serde(default)]
13018    pub locales: Option<Vec<GetLocalesResponseLocale>>,
13019}
13020
13021/// Response body for [`Client::get_locations`] (wire method `getLocations`).
13022#[derive(Debug, Clone, Default, serde::Deserialize)]
13023pub struct GetLocationsResponse {
13024    #[serde(
13025        default,
13026        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13027    )]
13028    pub status: Option<String>,
13029    #[serde(default)]
13030    pub locations: Option<Vec<String>>,
13031}
13032
13033/// Response body for [`Client::get_lock_international`] (wire method `getLockInternational`).
13034#[derive(Debug, Clone, Default, serde::Deserialize)]
13035pub struct GetLockInternationalResponseLockInternational {
13036    #[serde(
13037        default,
13038        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13039    )]
13040    pub value: Option<u64>,
13041    #[serde(
13042        default,
13043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13044    )]
13045    pub description: Option<String>,
13046}
13047
13048#[derive(Debug, Clone, Default, serde::Deserialize)]
13049pub struct GetLockInternationalResponse {
13050    #[serde(
13051        default,
13052        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13053    )]
13054    pub status: Option<String>,
13055    #[serde(default)]
13056    pub lock_international: Option<Vec<GetLockInternationalResponseLockInternational>>,
13057}
13058
13059/// Response body for [`Client::get_mms`] (wire method `getMMS`).
13060#[derive(Debug, Clone, Default, serde::Deserialize)]
13061pub struct GetMMSResponseSMS {
13062    #[serde(
13063        default,
13064        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13065    )]
13066    pub id: Option<u64>,
13067    #[serde(
13068        default,
13069        deserialize_with = "crate::responses::deserialize_opt_datetime"
13070    )]
13071    pub date: Option<chrono::NaiveDateTime>,
13072    #[serde(
13073        default,
13074        deserialize_with = "deserialize_opt_message_type",
13075        rename = "type"
13076    )]
13077    pub r#type: Option<MessageType>,
13078    #[serde(
13079        default,
13080        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13081    )]
13082    pub did: Option<u64>,
13083    #[serde(
13084        default,
13085        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13086    )]
13087    pub contact: Option<u64>,
13088    #[serde(
13089        default,
13090        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13091    )]
13092    pub message: Option<String>,
13093    #[serde(
13094        default,
13095        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13096    )]
13097    pub carrier_status: Option<String>,
13098    #[serde(
13099        default,
13100        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13101    )]
13102    pub col_media1: Option<String>,
13103    #[serde(
13104        default,
13105        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13106    )]
13107    pub col_media2: Option<String>,
13108    #[serde(
13109        default,
13110        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13111    )]
13112    pub col_media3: Option<String>,
13113    #[serde(default)]
13114    pub media: Option<Vec<String>>,
13115}
13116
13117#[derive(Debug, Clone, Default, serde::Deserialize)]
13118pub struct GetMMSResponse {
13119    #[serde(
13120        default,
13121        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13122    )]
13123    pub status: Option<String>,
13124    #[serde(default)]
13125    pub sms: Option<Vec<GetMMSResponseSMS>>,
13126}
13127
13128/// Response body for [`Client::get_media_mms`] (wire method `getMediaMMS`).
13129#[derive(Debug, Clone, Default, serde::Deserialize)]
13130pub struct GetMediaMMSResponse {
13131    #[serde(
13132        default,
13133        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13134    )]
13135    pub status: Option<String>,
13136    #[serde(
13137        default,
13138        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13139    )]
13140    pub id: Option<u64>,
13141    #[serde(
13142        default,
13143        deserialize_with = "crate::responses::deserialize_opt_datetime"
13144    )]
13145    pub date: Option<chrono::NaiveDateTime>,
13146    #[serde(
13147        default,
13148        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13149    )]
13150    pub media: Option<String>,
13151    #[serde(
13152        default,
13153        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13154        rename = "0"
13155    )]
13156    pub field_0: Option<String>,
13157    #[serde(
13158        default,
13159        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13160        rename = "1"
13161    )]
13162    pub field_1: Option<String>,
13163    #[serde(
13164        default,
13165        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13166        rename = "2"
13167    )]
13168    pub field_2: Option<String>,
13169}
13170
13171/// Response body for [`Client::get_music_on_hold`] (wire method `getMusicOnHold`).
13172#[derive(Debug, Clone, Default, serde::Deserialize)]
13173pub struct GetMusicOnHoldResponseMusicOnHold {
13174    #[serde(
13175        default,
13176        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13177    )]
13178    pub value: Option<String>,
13179    #[serde(
13180        default,
13181        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13182    )]
13183    pub description: Option<String>,
13184    #[serde(
13185        default,
13186        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13187    )]
13188    pub recordings: Option<String>,
13189    #[serde(
13190        default,
13191        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13192    )]
13193    pub total: Option<u64>,
13194    #[serde(
13195        default,
13196        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13197    )]
13198    pub volume: Option<String>,
13199    #[serde(default, deserialize_with = "deserialize_opt_recording_sort")]
13200    pub sort: Option<RecordingSort>,
13201    #[serde(
13202        default,
13203        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13204    )]
13205    pub custom: Option<u64>,
13206}
13207
13208#[derive(Debug, Clone, Default, serde::Deserialize)]
13209pub struct GetMusicOnHoldResponse {
13210    #[serde(
13211        default,
13212        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13213    )]
13214    pub status: Option<String>,
13215    #[serde(default)]
13216    pub music_on_hold: Option<Vec<GetMusicOnHoldResponseMusicOnHold>>,
13217}
13218
13219/// Response body for [`Client::get_nat`] (wire method `getNAT`).
13220#[derive(Debug, Clone, Default, serde::Deserialize)]
13221pub struct GetNATResponse {
13222    #[serde(
13223        default,
13224        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13225    )]
13226    pub status: Option<String>,
13227    #[serde(default, deserialize_with = "deserialize_opt_nat")]
13228    pub nat: Option<Nat>,
13229}
13230
13231/// Response body for [`Client::get_packages`] (wire method `getPackages`).
13232#[derive(Debug, Clone, Default, serde::Deserialize)]
13233pub struct GetPackagesResponsePackage {
13234    #[serde(
13235        default,
13236        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13237    )]
13238    pub package: Option<u64>,
13239    #[serde(
13240        default,
13241        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13242    )]
13243    pub name: Option<String>,
13244    #[serde(
13245        default,
13246        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13247    )]
13248    pub markup_fixed: Option<rust_decimal::Decimal>,
13249    #[serde(
13250        default,
13251        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13252    )]
13253    pub markup_percentage: Option<u64>,
13254    #[serde(
13255        default,
13256        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13257    )]
13258    pub pulse: Option<u64>,
13259    #[serde(
13260        default,
13261        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13262    )]
13263    pub international_route: Option<u64>,
13264    #[serde(
13265        default,
13266        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13267    )]
13268    pub canada_route: Option<u64>,
13269    #[serde(
13270        default,
13271        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13272    )]
13273    pub monthly_fee: Option<rust_decimal::Decimal>,
13274    #[serde(
13275        default,
13276        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13277    )]
13278    pub setup_fee: Option<rust_decimal::Decimal>,
13279    #[serde(
13280        default,
13281        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13282    )]
13283    pub free_minutes: Option<u64>,
13284}
13285
13286#[derive(Debug, Clone, Default, serde::Deserialize)]
13287pub struct GetPackagesResponse {
13288    #[serde(
13289        default,
13290        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13291    )]
13292    pub status: Option<String>,
13293    #[serde(default)]
13294    pub packages: Option<Vec<GetPackagesResponsePackage>>,
13295}
13296
13297/// Response body for [`Client::get_phonebook`] (wire method `getPhonebook`).
13298#[derive(Debug, Clone, Default, serde::Deserialize)]
13299pub struct GetPhonebookResponsePhonebook {
13300    #[serde(
13301        default,
13302        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13303    )]
13304    pub phonebook: Option<u64>,
13305    #[serde(
13306        default,
13307        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13308    )]
13309    pub speed_dial: Option<String>,
13310    #[serde(
13311        default,
13312        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13313    )]
13314    pub name: Option<String>,
13315    #[serde(
13316        default,
13317        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13318    )]
13319    pub number: Option<u64>,
13320    #[serde(
13321        default,
13322        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13323    )]
13324    pub callerid: Option<u64>,
13325    #[serde(
13326        default,
13327        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13328    )]
13329    pub note: Option<String>,
13330    #[serde(
13331        default,
13332        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13333    )]
13334    pub group: Option<u64>,
13335    #[serde(
13336        default,
13337        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13338    )]
13339    pub group_name: Option<String>,
13340}
13341
13342#[derive(Debug, Clone, Default, serde::Deserialize)]
13343pub struct GetPhonebookResponse {
13344    #[serde(
13345        default,
13346        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13347    )]
13348    pub status: Option<String>,
13349    #[serde(default)]
13350    pub phonebooks: Option<Vec<GetPhonebookResponsePhonebook>>,
13351}
13352
13353/// Response body for [`Client::get_phonebook_groups`] (wire method `getPhonebookGroups`).
13354#[derive(Debug, Clone, Default, serde::Deserialize)]
13355pub struct GetPhonebookGroupsResponsePhonebook {
13356    #[serde(
13357        default,
13358        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13359    )]
13360    pub phonebook_group: Option<u64>,
13361    #[serde(
13362        default,
13363        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13364    )]
13365    pub name: Option<String>,
13366    #[serde(
13367        default,
13368        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13369    )]
13370    pub members: Option<String>,
13371}
13372
13373#[derive(Debug, Clone, Default, serde::Deserialize)]
13374pub struct GetPhonebookGroupsResponse {
13375    #[serde(
13376        default,
13377        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13378    )]
13379    pub status: Option<String>,
13380    #[serde(default)]
13381    pub phonebooks: Option<Vec<GetPhonebookGroupsResponsePhonebook>>,
13382}
13383
13384/// Response body for [`Client::get_play_instructions`] (wire method `getPlayInstructions`).
13385#[derive(Debug, Clone, Default, serde::Deserialize)]
13386pub struct GetPlayInstructionsResponse {
13387    #[serde(
13388        default,
13389        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13390    )]
13391    pub status: Option<String>,
13392    #[serde(default, deserialize_with = "deserialize_opt_play_instructions")]
13393    pub play_instructions: Option<PlayInstructions>,
13394}
13395
13396/// Response body for [`Client::get_portability`] (wire method `getPortability`).
13397#[derive(Debug, Clone, Default, serde::Deserialize)]
13398pub struct GetPortabilityResponsePlan {
13399    #[serde(
13400        default,
13401        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13402    )]
13403    pub title: Option<String>,
13404    #[serde(
13405        default,
13406        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13407    )]
13408    pub pricePerMonth: Option<rust_decimal::Decimal>,
13409    #[serde(
13410        default,
13411        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13412    )]
13413    pub pricePerMin: Option<rust_decimal::Decimal>,
13414}
13415
13416#[derive(Debug, Clone, Default, serde::Deserialize)]
13417pub struct GetPortabilityResponse {
13418    #[serde(
13419        default,
13420        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13421    )]
13422    pub status: Option<String>,
13423    #[serde(
13424        default,
13425        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13426    )]
13427    pub portable: Option<bool>,
13428    #[serde(
13429        default,
13430        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13431    )]
13432    pub sms: Option<bool>,
13433    #[serde(default)]
13434    pub plans: Option<Vec<GetPortabilityResponsePlan>>,
13435}
13436
13437/// Response body for [`Client::get_protocols`] (wire method `getProtocols`).
13438#[derive(Debug, Clone, Default, serde::Deserialize)]
13439pub struct GetProtocolsResponseProtocol {
13440    #[serde(
13441        default,
13442        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13443    )]
13444    pub value: Option<u64>,
13445    #[serde(
13446        default,
13447        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13448    )]
13449    pub description: Option<String>,
13450}
13451
13452#[derive(Debug, Clone, Default, serde::Deserialize)]
13453pub struct GetProtocolsResponse {
13454    #[serde(
13455        default,
13456        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13457    )]
13458    pub status: Option<String>,
13459    #[serde(default)]
13460    pub protocols: Option<Vec<GetProtocolsResponseProtocol>>,
13461}
13462
13463/// Response body for [`Client::get_provinces`] (wire method `getProvinces`).
13464#[derive(Debug, Clone, Default, serde::Deserialize)]
13465pub struct GetProvincesResponseProvince {
13466    #[serde(
13467        default,
13468        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13469    )]
13470    pub province: Option<String>,
13471    #[serde(
13472        default,
13473        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13474    )]
13475    pub description: Option<String>,
13476}
13477
13478#[derive(Debug, Clone, Default, serde::Deserialize)]
13479pub struct GetProvincesResponse {
13480    #[serde(
13481        default,
13482        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13483    )]
13484    pub status: Option<String>,
13485    #[serde(default)]
13486    pub provinces: Option<Vec<GetProvincesResponseProvince>>,
13487}
13488
13489/// Response body for [`Client::get_queues`] (wire method `getQueues`).
13490#[derive(Debug, Clone, Default, serde::Deserialize)]
13491pub struct GetQueuesResponseQueue {
13492    #[serde(
13493        default,
13494        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13495    )]
13496    pub queue: Option<u64>,
13497    #[serde(
13498        default,
13499        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13500    )]
13501    pub queue_name: Option<String>,
13502    #[serde(
13503        default,
13504        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13505    )]
13506    pub queue_number: Option<u64>,
13507    #[serde(
13508        default,
13509        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13510    )]
13511    pub queue_language: Option<String>,
13512    #[serde(
13513        default,
13514        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13515    )]
13516    pub queue_password: Option<String>,
13517    #[serde(
13518        default,
13519        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13520    )]
13521    pub callerid_prefix: Option<String>,
13522    #[serde(
13523        default,
13524        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13525    )]
13526    pub join_announcement: Option<String>,
13527    #[serde(
13528        default,
13529        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13530    )]
13531    pub priority_weight: Option<u64>,
13532    #[serde(
13533        default,
13534        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13535    )]
13536    pub agent_announcement: Option<u64>,
13537    #[serde(
13538        default,
13539        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13540    )]
13541    pub report_hold_time_agent: Option<bool>,
13542    #[serde(
13543        default,
13544        deserialize_with = "crate::responses::deserialize_opt_seconds"
13545    )]
13546    pub member_delay: Option<crate::Seconds>,
13547    #[serde(
13548        default,
13549        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13550    )]
13551    pub music_on_hold: Option<String>,
13552    #[serde(
13553        default,
13554        deserialize_with = "crate::responses::deserialize_opt_wait_time"
13555    )]
13556    pub maximum_wait_time: Option<crate::WaitTime>,
13557    #[serde(
13558        default,
13559        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13560    )]
13561    pub maximum_callers: Option<u64>,
13562    #[serde(default, deserialize_with = "deserialize_opt_queue_empty_behavior")]
13563    pub join_when_empty: Option<QueueEmptyBehavior>,
13564    #[serde(default, deserialize_with = "deserialize_opt_queue_empty_behavior")]
13565    pub leave_when_empty: Option<QueueEmptyBehavior>,
13566    #[serde(default, deserialize_with = "deserialize_opt_ring_strategy")]
13567    pub ring_strategy: Option<RingStrategy>,
13568    #[serde(
13569        default,
13570        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13571    )]
13572    pub ring_inuse: Option<bool>,
13573    #[serde(
13574        default,
13575        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13576    )]
13577    pub agent_ring_timeout: Option<u64>,
13578    #[serde(
13579        default,
13580        deserialize_with = "crate::responses::deserialize_opt_seconds"
13581    )]
13582    pub retry_timer: Option<crate::Seconds>,
13583    #[serde(
13584        default,
13585        deserialize_with = "crate::responses::deserialize_opt_seconds"
13586    )]
13587    pub wrapup_time: Option<crate::Seconds>,
13588    #[serde(
13589        default,
13590        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13591    )]
13592    pub voice_announcement: Option<u64>,
13593    #[serde(
13594        default,
13595        deserialize_with = "crate::responses::deserialize_opt_seconds"
13596    )]
13597    pub frequency_announcement: Option<crate::Seconds>,
13598    #[serde(
13599        default,
13600        deserialize_with = "crate::responses::deserialize_opt_seconds"
13601    )]
13602    pub announce_position_frecuency: Option<crate::Seconds>,
13603    #[serde(
13604        default,
13605        deserialize_with = "crate::responses::deserialize_opt_seconds"
13606    )]
13607    pub announce_round_seconds: Option<crate::Seconds>,
13608    #[serde(
13609        default,
13610        deserialize_with = "deserialize_opt_estimated_hold_time_announce"
13611    )]
13612    pub if_announce_position_enabled_report_estimated_hold_time: Option<EstimatedHoldTimeAnnounce>,
13613    #[serde(
13614        default,
13615        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13616    )]
13617    pub thankyou_for_your_patience: Option<bool>,
13618    #[serde(
13619        default,
13620        deserialize_with = "crate::responses::deserialize_opt_routing"
13621    )]
13622    pub fail_over_routing_timeout: Option<crate::Routing>,
13623    #[serde(
13624        default,
13625        deserialize_with = "crate::responses::deserialize_opt_routing"
13626    )]
13627    pub fail_over_routing_full: Option<crate::Routing>,
13628    #[serde(
13629        default,
13630        deserialize_with = "crate::responses::deserialize_opt_routing"
13631    )]
13632    pub fail_over_routing_join_empty: Option<crate::Routing>,
13633    #[serde(
13634        default,
13635        deserialize_with = "crate::responses::deserialize_opt_routing"
13636    )]
13637    pub fail_over_routing_leave_empty: Option<crate::Routing>,
13638    #[serde(
13639        default,
13640        deserialize_with = "crate::responses::deserialize_opt_routing"
13641    )]
13642    pub fail_over_routing_join_unavail: Option<crate::Routing>,
13643    #[serde(
13644        default,
13645        deserialize_with = "crate::responses::deserialize_opt_routing"
13646    )]
13647    pub fail_over_routing_leave_unavail: Option<crate::Routing>,
13648}
13649
13650#[derive(Debug, Clone, Default, serde::Deserialize)]
13651pub struct GetQueuesResponse {
13652    #[serde(
13653        default,
13654        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13655    )]
13656    pub status: Option<String>,
13657    #[serde(default)]
13658    pub queues: Option<Vec<GetQueuesResponseQueue>>,
13659}
13660
13661/// Response body for [`Client::get_rate_centers_can`] (wire method `getRateCentersCAN`).
13662#[derive(Debug, Clone, Default, serde::Deserialize)]
13663pub struct GetRateCentersCANResponseRatecenter {
13664    #[serde(
13665        default,
13666        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13667    )]
13668    pub ratecenter: Option<String>,
13669    #[serde(
13670        default,
13671        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13672    )]
13673    pub available: Option<bool>,
13674}
13675
13676#[derive(Debug, Clone, Default, serde::Deserialize)]
13677pub struct GetRateCentersCANResponse {
13678    #[serde(
13679        default,
13680        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13681    )]
13682    pub status: Option<String>,
13683    #[serde(default)]
13684    pub ratecenters: Option<Vec<GetRateCentersCANResponseRatecenter>>,
13685}
13686
13687/// Response body for [`Client::get_rate_centers_usa`] (wire method `getRateCentersUSA`).
13688#[derive(Debug, Clone, Default, serde::Deserialize)]
13689pub struct GetRateCentersUSAResponseRatecenter {
13690    #[serde(
13691        default,
13692        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13693    )]
13694    pub ratecenter: Option<String>,
13695    #[serde(
13696        default,
13697        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13698    )]
13699    pub available: Option<bool>,
13700}
13701
13702#[derive(Debug, Clone, Default, serde::Deserialize)]
13703pub struct GetRateCentersUSAResponse {
13704    #[serde(
13705        default,
13706        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13707    )]
13708    pub status: Option<String>,
13709    #[serde(default)]
13710    pub ratecenters: Option<Vec<GetRateCentersUSAResponseRatecenter>>,
13711}
13712
13713/// Response body for [`Client::get_rates`] (wire method `getRates`).
13714#[derive(Debug, Clone, Default, serde::Deserialize)]
13715pub struct GetRatesResponseRate {
13716    #[serde(
13717        default,
13718        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13719    )]
13720    pub destination: Option<String>,
13721    #[serde(
13722        default,
13723        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13724    )]
13725    pub prefix: Option<u64>,
13726    #[serde(
13727        default,
13728        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13729    )]
13730    pub client_increment: Option<u64>,
13731    #[serde(
13732        default,
13733        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13734    )]
13735    pub client_rate: Option<rust_decimal::Decimal>,
13736    #[serde(
13737        default,
13738        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13739    )]
13740    pub real_increment: Option<u64>,
13741    #[serde(
13742        default,
13743        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13744    )]
13745    pub real_rate: Option<rust_decimal::Decimal>,
13746}
13747
13748#[derive(Debug, Clone, Default, serde::Deserialize)]
13749pub struct GetRatesResponse {
13750    #[serde(
13751        default,
13752        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13753    )]
13754    pub status: Option<String>,
13755    #[serde(default)]
13756    pub rates: Option<Vec<GetRatesResponseRate>>,
13757}
13758
13759/// Response body for [`Client::get_recording_file`] (wire method `getRecordingFile`).
13760#[derive(Debug, Clone, Default, serde::Deserialize)]
13761pub struct GetRecordingFileResponseRecording {
13762    #[serde(
13763        default,
13764        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13765    )]
13766    pub value: Option<u64>,
13767    #[serde(
13768        default,
13769        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13770    )]
13771    pub data: Option<String>,
13772}
13773
13774#[derive(Debug, Clone, Default, serde::Deserialize)]
13775pub struct GetRecordingFileResponse {
13776    #[serde(
13777        default,
13778        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13779    )]
13780    pub status: Option<String>,
13781    #[serde(default)]
13782    pub recordings: Option<Vec<GetRecordingFileResponseRecording>>,
13783}
13784
13785/// Response body for [`Client::get_recordings`] (wire method `getRecordings`).
13786#[derive(Debug, Clone, Default, serde::Deserialize)]
13787pub struct GetRecordingsResponseRecording {
13788    #[serde(
13789        default,
13790        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13791    )]
13792    pub value: Option<u64>,
13793    #[serde(
13794        default,
13795        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13796    )]
13797    pub description: Option<String>,
13798}
13799
13800#[derive(Debug, Clone, Default, serde::Deserialize)]
13801pub struct GetRecordingsResponse {
13802    #[serde(
13803        default,
13804        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13805    )]
13806    pub status: Option<String>,
13807    #[serde(default)]
13808    pub recordings: Option<Vec<GetRecordingsResponseRecording>>,
13809}
13810
13811/// Response body for [`Client::get_registration_status`] (wire method `getRegistrationStatus`).
13812#[derive(Debug, Clone, Default, serde::Deserialize)]
13813pub struct GetRegistrationStatusResponseRegistration {
13814    #[serde(
13815        default,
13816        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13817    )]
13818    pub server_name: Option<String>,
13819    #[serde(
13820        default,
13821        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13822    )]
13823    pub server_shortname: Option<String>,
13824    #[serde(
13825        default,
13826        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13827    )]
13828    pub server_hostname: Option<String>,
13829    #[serde(
13830        default,
13831        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13832    )]
13833    pub server_ip: Option<String>,
13834    #[serde(
13835        default,
13836        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13837    )]
13838    pub server_country: Option<String>,
13839    #[serde(
13840        default,
13841        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13842    )]
13843    pub server_pop: Option<u64>,
13844    #[serde(
13845        default,
13846        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13847    )]
13848    pub register_ip: Option<String>,
13849    #[serde(
13850        default,
13851        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13852    )]
13853    pub register_port: Option<u64>,
13854    #[serde(
13855        default,
13856        deserialize_with = "crate::responses::deserialize_opt_datetime"
13857    )]
13858    pub register_next: Option<chrono::NaiveDateTime>,
13859    #[serde(
13860        default,
13861        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13862    )]
13863    pub register_protocol: Option<String>,
13864    #[serde(
13865        default,
13866        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13867    )]
13868    pub register_transport: Option<String>,
13869}
13870
13871#[derive(Debug, Clone, Default, serde::Deserialize)]
13872pub struct GetRegistrationStatusResponse {
13873    #[serde(
13874        default,
13875        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13876    )]
13877    pub status: Option<String>,
13878    #[serde(
13879        default,
13880        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13881    )]
13882    pub registered: Option<bool>,
13883    #[serde(
13884        default,
13885        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13886    )]
13887    pub rerouted: Option<u64>,
13888    #[serde(
13889        default,
13890        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13891    )]
13892    pub from_server_pop: Option<u64>,
13893    #[serde(default)]
13894    pub registrations: Option<Vec<GetRegistrationStatusResponseRegistration>>,
13895}
13896
13897/// Response body for [`Client::get_report_estimated_hold_time`] (wire method `getReportEstimatedHoldTime`).
13898#[derive(Debug, Clone, Default, serde::Deserialize)]
13899pub struct GetReportEstimatedHoldTimeResponseType {
13900    #[serde(
13901        default,
13902        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13903    )]
13904    pub value: Option<bool>,
13905    #[serde(
13906        default,
13907        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13908    )]
13909    pub description: Option<bool>,
13910}
13911
13912#[derive(Debug, Clone, Default, serde::Deserialize)]
13913pub struct GetReportEstimatedHoldTimeResponse {
13914    #[serde(
13915        default,
13916        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13917    )]
13918    pub status: Option<String>,
13919    #[serde(default)]
13920    pub types: Option<Vec<GetReportEstimatedHoldTimeResponseType>>,
13921}
13922
13923/// Response body for [`Client::get_reseller_balance`] (wire method `getResellerBalance`).
13924#[derive(Debug, Clone, Default, serde::Deserialize)]
13925pub struct GetResellerBalanceResponseBalance {
13926    #[serde(
13927        default,
13928        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13929    )]
13930    pub current_balance: Option<rust_decimal::Decimal>,
13931    #[serde(
13932        default,
13933        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13934    )]
13935    pub spent_total: Option<rust_decimal::Decimal>,
13936    #[serde(
13937        default,
13938        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13939    )]
13940    pub calls_total: Option<u64>,
13941    #[serde(
13942        default,
13943        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13944    )]
13945    pub time_total: Option<String>,
13946    #[serde(
13947        default,
13948        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13949    )]
13950    pub spent_today: Option<rust_decimal::Decimal>,
13951    #[serde(
13952        default,
13953        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13954    )]
13955    pub calls_today: Option<u64>,
13956    #[serde(
13957        default,
13958        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13959    )]
13960    pub time_today: Option<String>,
13961}
13962
13963#[derive(Debug, Clone, Default, serde::Deserialize)]
13964pub struct GetResellerBalanceResponse {
13965    #[serde(
13966        default,
13967        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13968    )]
13969    pub status: Option<String>,
13970    #[serde(default)]
13971    pub balance: Option<GetResellerBalanceResponseBalance>,
13972}
13973
13974/// Response body for [`Client::get_reseller_cdr`] (wire method `getResellerCDR`).
13975#[derive(Debug, Clone, Default, serde::Deserialize)]
13976pub struct GetResellerCDRResponseCDR {
13977    #[serde(
13978        default,
13979        deserialize_with = "crate::responses::deserialize_opt_datetime"
13980    )]
13981    pub date: Option<chrono::NaiveDateTime>,
13982    #[serde(
13983        default,
13984        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13985    )]
13986    pub callerid: Option<String>,
13987    #[serde(
13988        default,
13989        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13990    )]
13991    pub destination: Option<u64>,
13992    #[serde(
13993        default,
13994        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13995    )]
13996    pub description: Option<String>,
13997    #[serde(
13998        default,
13999        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14000    )]
14001    pub account: Option<String>,
14002    #[serde(
14003        default,
14004        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14005    )]
14006    pub disposition: Option<String>,
14007    #[serde(
14008        default,
14009        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14010    )]
14011    pub duration: Option<String>,
14012    #[serde(
14013        default,
14014        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14015    )]
14016    pub seconds: Option<u64>,
14017    #[serde(
14018        default,
14019        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14020    )]
14021    pub total: Option<rust_decimal::Decimal>,
14022    #[serde(
14023        default,
14024        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14025    )]
14026    pub uniqueid: Option<u64>,
14027    #[serde(
14028        default,
14029        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14030    )]
14031    pub destination_type: Option<String>,
14032    #[serde(
14033        default,
14034        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14035    )]
14036    pub call_logs: Option<String>,
14037}
14038
14039#[derive(Debug, Clone, Default, serde::Deserialize)]
14040pub struct GetResellerCDRResponse {
14041    #[serde(
14042        default,
14043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14044    )]
14045    pub status: Option<String>,
14046    #[serde(default)]
14047    pub cdr: Option<Vec<GetResellerCDRResponseCDR>>,
14048}
14049
14050/// Response body for [`Client::get_reseller_mms`] (wire method `getResellerMMS`).
14051#[derive(Debug, Clone, Default, serde::Deserialize)]
14052pub struct GetResellerMMSResponseSMS {
14053    #[serde(
14054        default,
14055        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14056    )]
14057    pub id: Option<u64>,
14058    #[serde(
14059        default,
14060        deserialize_with = "crate::responses::deserialize_opt_datetime"
14061    )]
14062    pub date: Option<chrono::NaiveDateTime>,
14063    #[serde(
14064        default,
14065        deserialize_with = "deserialize_opt_message_type",
14066        rename = "type"
14067    )]
14068    pub r#type: Option<MessageType>,
14069    #[serde(
14070        default,
14071        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14072    )]
14073    pub did: Option<u64>,
14074    #[serde(
14075        default,
14076        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14077    )]
14078    pub contact: Option<u64>,
14079    #[serde(
14080        default,
14081        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14082    )]
14083    pub message: Option<String>,
14084}
14085
14086#[derive(Debug, Clone, Default, serde::Deserialize)]
14087pub struct GetResellerMMSResponse {
14088    #[serde(
14089        default,
14090        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14091    )]
14092    pub status: Option<String>,
14093    #[serde(default)]
14094    pub sms: Option<Vec<GetResellerMMSResponseSMS>>,
14095}
14096
14097/// Response body for [`Client::get_reseller_sms`] (wire method `getResellerSMS`).
14098#[derive(Debug, Clone, Default, serde::Deserialize)]
14099pub struct GetResellerSMSResponseSMS {
14100    #[serde(
14101        default,
14102        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14103    )]
14104    pub id: Option<u64>,
14105    #[serde(
14106        default,
14107        deserialize_with = "crate::responses::deserialize_opt_datetime"
14108    )]
14109    pub date: Option<chrono::NaiveDateTime>,
14110    #[serde(
14111        default,
14112        deserialize_with = "deserialize_opt_message_type",
14113        rename = "type"
14114    )]
14115    pub r#type: Option<MessageType>,
14116    #[serde(
14117        default,
14118        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14119    )]
14120    pub did: Option<u64>,
14121    #[serde(
14122        default,
14123        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14124    )]
14125    pub contact: Option<u64>,
14126    #[serde(
14127        default,
14128        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14129    )]
14130    pub message: Option<String>,
14131}
14132
14133#[derive(Debug, Clone, Default, serde::Deserialize)]
14134pub struct GetResellerSMSResponse {
14135    #[serde(
14136        default,
14137        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14138    )]
14139    pub status: Option<String>,
14140    #[serde(default)]
14141    pub sms: Option<Vec<GetResellerSMSResponseSMS>>,
14142}
14143
14144/// Response body for [`Client::get_ring_groups`] (wire method `getRingGroups`).
14145#[derive(Debug, Clone, Default, serde::Deserialize)]
14146pub struct GetRingGroupsResponseRingGroup {
14147    #[serde(
14148        default,
14149        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14150    )]
14151    pub ring_group: Option<u64>,
14152    #[serde(
14153        default,
14154        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14155    )]
14156    pub name: Option<String>,
14157    #[serde(
14158        default,
14159        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14160    )]
14161    pub caller_announcement: Option<u64>,
14162    #[serde(
14163        default,
14164        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14165    )]
14166    pub music_on_hold: Option<String>,
14167    #[serde(
14168        default,
14169        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14170    )]
14171    pub language: Option<String>,
14172    #[serde(
14173        default,
14174        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14175    )]
14176    pub members: Option<String>,
14177    #[serde(
14178        default,
14179        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14180    )]
14181    pub voicemail: Option<u64>,
14182}
14183
14184#[derive(Debug, Clone, Default, serde::Deserialize)]
14185pub struct GetRingGroupsResponse {
14186    #[serde(
14187        default,
14188        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14189    )]
14190    pub status: Option<String>,
14191    #[serde(default)]
14192    pub ring_groups: Option<Vec<GetRingGroupsResponseRingGroup>>,
14193}
14194
14195/// Response body for [`Client::get_ring_strategies`] (wire method `getRingStrategies`).
14196#[derive(Debug, Clone, Default, serde::Deserialize)]
14197pub struct GetRingStrategiesResponseStrategy {
14198    #[serde(
14199        default,
14200        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14201    )]
14202    pub value: Option<String>,
14203    #[serde(
14204        default,
14205        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14206    )]
14207    pub description: Option<String>,
14208}
14209
14210#[derive(Debug, Clone, Default, serde::Deserialize)]
14211pub struct GetRingStrategiesResponse {
14212    #[serde(
14213        default,
14214        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14215    )]
14216    pub status: Option<String>,
14217    #[serde(default)]
14218    pub strategies: Option<Vec<GetRingStrategiesResponseStrategy>>,
14219}
14220
14221/// Response body for [`Client::get_routes`] (wire method `getRoutes`).
14222#[derive(Debug, Clone, Default, serde::Deserialize)]
14223pub struct GetRoutesResponseRoute {
14224    #[serde(
14225        default,
14226        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14227    )]
14228    pub value: Option<u64>,
14229    #[serde(
14230        default,
14231        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14232    )]
14233    pub description: Option<String>,
14234}
14235
14236#[derive(Debug, Clone, Default, serde::Deserialize)]
14237pub struct GetRoutesResponse {
14238    #[serde(
14239        default,
14240        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14241    )]
14242    pub status: Option<String>,
14243    #[serde(default)]
14244    pub routes: Option<Vec<GetRoutesResponseRoute>>,
14245}
14246
14247/// Response body for [`Client::get_sip_uris`] (wire method `getSIPURIs`).
14248#[derive(Debug, Clone, Default, serde::Deserialize)]
14249pub struct GetSIPURIsResponseSIPURI {
14250    #[serde(
14251        default,
14252        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14253    )]
14254    pub sipuri: Option<u64>,
14255    #[serde(
14256        default,
14257        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14258    )]
14259    pub uri: Option<String>,
14260    #[serde(
14261        default,
14262        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14263    )]
14264    pub description: Option<String>,
14265    #[serde(
14266        default,
14267        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14268    )]
14269    pub callerid_override: Option<u64>,
14270    #[serde(
14271        default,
14272        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14273    )]
14274    pub callerid_e164: Option<u64>,
14275}
14276
14277#[derive(Debug, Clone, Default, serde::Deserialize)]
14278pub struct GetSIPURIsResponse {
14279    #[serde(
14280        default,
14281        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14282    )]
14283    pub status: Option<String>,
14284    #[serde(default)]
14285    pub sipuris: Option<Vec<GetSIPURIsResponseSIPURI>>,
14286}
14287
14288/// Response body for [`Client::get_sms`] (wire method `getSMS`).
14289#[derive(Debug, Clone, Default, serde::Deserialize)]
14290pub struct GetSMSResponseSMS {
14291    #[serde(
14292        default,
14293        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14294    )]
14295    pub id: Option<u64>,
14296    #[serde(
14297        default,
14298        deserialize_with = "crate::responses::deserialize_opt_datetime"
14299    )]
14300    pub date: Option<chrono::NaiveDateTime>,
14301    #[serde(
14302        default,
14303        deserialize_with = "deserialize_opt_message_type",
14304        rename = "type"
14305    )]
14306    pub r#type: Option<MessageType>,
14307    #[serde(
14308        default,
14309        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14310    )]
14311    pub did: Option<u64>,
14312    #[serde(
14313        default,
14314        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14315    )]
14316    pub contact: Option<u64>,
14317    #[serde(
14318        default,
14319        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14320    )]
14321    pub message: Option<String>,
14322    #[serde(
14323        default,
14324        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14325    )]
14326    pub carrier_status: Option<String>,
14327}
14328
14329#[derive(Debug, Clone, Default, serde::Deserialize)]
14330pub struct GetSMSResponse {
14331    #[serde(
14332        default,
14333        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14334    )]
14335    pub status: Option<String>,
14336    #[serde(default)]
14337    pub sms: Option<Vec<GetSMSResponseSMS>>,
14338}
14339
14340/// Response body for [`Client::get_servers_info`] (wire method `getServersInfo`).
14341#[derive(Debug, Clone, Default, serde::Deserialize)]
14342pub struct GetServersInfoResponseServer {
14343    #[serde(
14344        default,
14345        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14346    )]
14347    pub server_name: Option<String>,
14348    #[serde(
14349        default,
14350        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14351    )]
14352    pub server_shortname: Option<String>,
14353    #[serde(
14354        default,
14355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14356    )]
14357    pub server_hostname: Option<String>,
14358    #[serde(
14359        default,
14360        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14361    )]
14362    pub server_ip: Option<String>,
14363    #[serde(
14364        default,
14365        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14366    )]
14367    pub server_country: Option<String>,
14368    #[serde(
14369        default,
14370        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14371    )]
14372    pub server_pop: Option<u64>,
14373    #[serde(
14374        default,
14375        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14376    )]
14377    pub server_recommended: Option<bool>,
14378}
14379
14380#[derive(Debug, Clone, Default, serde::Deserialize)]
14381pub struct GetServersInfoResponse {
14382    #[serde(
14383        default,
14384        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14385    )]
14386    pub status: Option<String>,
14387    #[serde(default)]
14388    pub servers: Option<Vec<GetServersInfoResponseServer>>,
14389}
14390
14391/// Response body for [`Client::get_states`] (wire method `getStates`).
14392#[derive(Debug, Clone, Default, serde::Deserialize)]
14393pub struct GetStatesResponseState {
14394    #[serde(
14395        default,
14396        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14397    )]
14398    pub state: Option<String>,
14399    #[serde(
14400        default,
14401        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14402    )]
14403    pub description: Option<String>,
14404}
14405
14406#[derive(Debug, Clone, Default, serde::Deserialize)]
14407pub struct GetStatesResponse {
14408    #[serde(
14409        default,
14410        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14411    )]
14412    pub status: Option<String>,
14413    #[serde(default)]
14414    pub states: Option<Vec<GetStatesResponseState>>,
14415}
14416
14417/// Response body for [`Client::get_static_members`] (wire method `getStaticMembers`).
14418#[derive(Debug, Clone, Default, serde::Deserialize)]
14419pub struct GetStaticMembersResponseMember {
14420    #[serde(
14421        default,
14422        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14423    )]
14424    pub member: Option<u64>,
14425    #[serde(
14426        default,
14427        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14428    )]
14429    pub queue_number: Option<u64>,
14430    #[serde(
14431        default,
14432        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14433    )]
14434    pub name: Option<String>,
14435    #[serde(
14436        default,
14437        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14438    )]
14439    pub account: Option<String>,
14440    #[serde(
14441        default,
14442        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14443    )]
14444    pub priority: Option<u64>,
14445}
14446
14447#[derive(Debug, Clone, Default, serde::Deserialize)]
14448pub struct GetStaticMembersResponse {
14449    #[serde(
14450        default,
14451        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14452    )]
14453    pub status: Option<String>,
14454    #[serde(default)]
14455    pub members: Option<Vec<GetStaticMembersResponseMember>>,
14456}
14457
14458/// Response body for [`Client::get_sub_accounts`] (wire method `getSubAccounts`).
14459#[derive(Debug, Clone, Default, serde::Deserialize)]
14460pub struct GetSubAccountsResponseAccount {
14461    #[serde(
14462        default,
14463        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14464    )]
14465    pub id: Option<u64>,
14466    #[serde(
14467        default,
14468        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14469    )]
14470    pub account: Option<String>,
14471    #[serde(
14472        default,
14473        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14474    )]
14475    pub username: Option<String>,
14476    #[serde(
14477        default,
14478        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14479    )]
14480    pub description: Option<String>,
14481    #[serde(
14482        default,
14483        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14484    )]
14485    pub protocol: Option<u64>,
14486    #[serde(
14487        default,
14488        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14489    )]
14490    pub auth_type: Option<u64>,
14491    #[serde(
14492        default,
14493        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14494    )]
14495    pub password: Option<String>,
14496    #[serde(
14497        default,
14498        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14499    )]
14500    pub ip: Option<String>,
14501    #[serde(
14502        default,
14503        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14504    )]
14505    pub device_type: Option<u64>,
14506    #[serde(
14507        default,
14508        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14509    )]
14510    pub callerid_number: Option<u64>,
14511    #[serde(
14512        default,
14513        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14514    )]
14515    pub canada_routing: Option<u64>,
14516    #[serde(
14517        default,
14518        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14519    )]
14520    pub lock_international: Option<u64>,
14521    #[serde(
14522        default,
14523        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14524    )]
14525    pub international_route: Option<u64>,
14526    #[serde(
14527        default,
14528        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14529    )]
14530    pub music_on_hold: Option<String>,
14531    #[serde(
14532        default,
14533        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14534    )]
14535    pub language: Option<String>,
14536    #[serde(
14537        default,
14538        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14539    )]
14540    pub allowed_codecs: Option<String>,
14541    #[serde(default, deserialize_with = "deserialize_opt_dtmf_mode")]
14542    pub dtmf_mode: Option<DtmfMode>,
14543    #[serde(default, deserialize_with = "deserialize_opt_nat")]
14544    pub nat: Option<Nat>,
14545    #[serde(
14546        default,
14547        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14548    )]
14549    pub sip_traffic: Option<u64>,
14550    #[serde(
14551        default,
14552        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14553    )]
14554    pub max_expiry: Option<u64>,
14555    #[serde(
14556        default,
14557        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14558    )]
14559    pub rtp_timeout: Option<u64>,
14560    #[serde(
14561        default,
14562        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14563    )]
14564    pub rtp_hold_timeout: Option<u64>,
14565    #[serde(
14566        default,
14567        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14568    )]
14569    pub ip_restriction: Option<String>,
14570    #[serde(
14571        default,
14572        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14573    )]
14574    pub enable_ip_restriction: Option<bool>,
14575    #[serde(
14576        default,
14577        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14578    )]
14579    pub pop_restriction: Option<String>,
14580    #[serde(
14581        default,
14582        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14583    )]
14584    pub enable_pop_restriction: Option<bool>,
14585    #[serde(
14586        default,
14587        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14588    )]
14589    pub send_bye: Option<bool>,
14590    #[serde(
14591        default,
14592        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14593    )]
14594    pub record_calls: Option<bool>,
14595    #[serde(
14596        default,
14597        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14598    )]
14599    pub internal_extension: Option<u64>,
14600    #[serde(
14601        default,
14602        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14603    )]
14604    pub internal_voicemail: Option<u64>,
14605    #[serde(
14606        default,
14607        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14608    )]
14609    pub internal_dialtime: Option<u64>,
14610    #[serde(
14611        default,
14612        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14613    )]
14614    pub reseller_client: Option<u64>,
14615    #[serde(
14616        default,
14617        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14618    )]
14619    pub reseller_package: Option<u64>,
14620    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
14621    pub reseller_nextbilling: Option<chrono::NaiveDate>,
14622    #[serde(
14623        default,
14624        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14625    )]
14626    pub transcribe: Option<bool>,
14627    #[serde(
14628        default,
14629        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14630    )]
14631    pub transcription_locale: Option<String>,
14632    #[serde(
14633        default,
14634        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14635    )]
14636    pub transcription_redaction: Option<bool>,
14637    #[serde(
14638        default,
14639        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14640    )]
14641    pub transcription_summary: Option<bool>,
14642    #[serde(
14643        default,
14644        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14645    )]
14646    pub transcription_sentiment: Option<bool>,
14647    #[serde(
14648        default,
14649        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14650    )]
14651    pub transcription_email: Option<String>,
14652    #[serde(
14653        default,
14654        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14655    )]
14656    pub parking_lot: Option<u64>,
14657    #[serde(
14658        default,
14659        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14660    )]
14661    pub enable_internal_cnam: Option<bool>,
14662    #[serde(
14663        default,
14664        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14665    )]
14666    pub internal_cnam: Option<String>,
14667    #[serde(default, deserialize_with = "deserialize_opt_toll_free_carrier")]
14668    pub tfcarrier: Option<TollFreeCarrier>,
14669    #[serde(
14670        default,
14671        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14672    )]
14673    pub default_e911: Option<u64>,
14674    #[serde(default, deserialize_with = "deserialize_opt_call_pickup_behavior")]
14675    pub call_pickup_behavior: Option<CallPickupBehavior>,
14676}
14677
14678#[derive(Debug, Clone, Default, serde::Deserialize)]
14679pub struct GetSubAccountsResponse {
14680    #[serde(
14681        default,
14682        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14683    )]
14684    pub status: Option<String>,
14685    #[serde(default)]
14686    pub accounts: Option<Vec<GetSubAccountsResponseAccount>>,
14687}
14688
14689/// Response body for [`Client::get_termination_rates`] (wire method `getTerminationRates`).
14690#[derive(Debug, Clone, Default, serde::Deserialize)]
14691pub struct GetTerminationRatesResponseRoute {
14692    #[serde(
14693        default,
14694        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14695    )]
14696    pub value: Option<u64>,
14697    #[serde(
14698        default,
14699        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14700    )]
14701    pub description: Option<String>,
14702}
14703
14704#[derive(Debug, Clone, Default, serde::Deserialize)]
14705pub struct GetTerminationRatesResponseRate {
14706    #[serde(
14707        default,
14708        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14709    )]
14710    pub destination: Option<String>,
14711    #[serde(
14712        default,
14713        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14714    )]
14715    pub prefix: Option<u64>,
14716    #[serde(
14717        default,
14718        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14719    )]
14720    pub increment: Option<u64>,
14721    #[serde(
14722        default,
14723        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14724    )]
14725    pub rate: Option<rust_decimal::Decimal>,
14726}
14727
14728#[derive(Debug, Clone, Default, serde::Deserialize)]
14729pub struct GetTerminationRatesResponse {
14730    #[serde(
14731        default,
14732        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14733    )]
14734    pub status: Option<String>,
14735    #[serde(default)]
14736    pub route: Option<GetTerminationRatesResponseRoute>,
14737    #[serde(default)]
14738    pub rates: Option<Vec<GetTerminationRatesResponseRate>>,
14739}
14740
14741/// Response body for [`Client::get_time_conditions`] (wire method `getTimeConditions`).
14742#[derive(Debug, Clone, Default, serde::Deserialize)]
14743pub struct GetTimeConditionsResponseTimecondition {
14744    #[serde(
14745        default,
14746        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14747    )]
14748    pub timecondition: Option<u64>,
14749    #[serde(
14750        default,
14751        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14752    )]
14753    pub name: Option<String>,
14754    #[serde(
14755        default,
14756        deserialize_with = "crate::responses::deserialize_opt_routing"
14757    )]
14758    pub routing_match: Option<crate::Routing>,
14759    #[serde(
14760        default,
14761        deserialize_with = "crate::responses::deserialize_opt_routing"
14762    )]
14763    pub routing_nomatch: Option<crate::Routing>,
14764    #[serde(
14765        default,
14766        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14767    )]
14768    pub starthour: Option<String>,
14769    #[serde(
14770        default,
14771        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14772    )]
14773    pub startminute: Option<String>,
14774    #[serde(
14775        default,
14776        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14777    )]
14778    pub endhour: Option<String>,
14779    #[serde(
14780        default,
14781        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14782    )]
14783    pub endminute: Option<String>,
14784    #[serde(
14785        default,
14786        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14787    )]
14788    pub weekdaystart: Option<String>,
14789    #[serde(
14790        default,
14791        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14792    )]
14793    pub weekdayend: Option<String>,
14794}
14795
14796#[derive(Debug, Clone, Default, serde::Deserialize)]
14797pub struct GetTimeConditionsResponse {
14798    #[serde(
14799        default,
14800        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14801    )]
14802    pub status: Option<String>,
14803    #[serde(default)]
14804    pub timecondition: Option<Vec<GetTimeConditionsResponseTimecondition>>,
14805}
14806
14807/// Response body for [`Client::get_timezones`] (wire method `getTimezones`).
14808#[derive(Debug, Clone, Default, serde::Deserialize)]
14809pub struct GetTimezonesResponseTimezone {
14810    #[serde(
14811        default,
14812        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14813    )]
14814    pub value: Option<String>,
14815    #[serde(
14816        default,
14817        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14818    )]
14819    pub description: Option<String>,
14820}
14821
14822#[derive(Debug, Clone, Default, serde::Deserialize)]
14823pub struct GetTimezonesResponse {
14824    #[serde(
14825        default,
14826        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14827    )]
14828    pub status: Option<String>,
14829    #[serde(default)]
14830    pub timezones: Option<Vec<GetTimezonesResponseTimezone>>,
14831}
14832
14833/// Response body for [`Client::get_transaction_history`] (wire method `getTransactionHistory`).
14834#[derive(Debug, Clone, Default, serde::Deserialize)]
14835pub struct GetTransactionHistoryResponseTransaction {
14836    #[serde(
14837        default,
14838        deserialize_with = "crate::responses::deserialize_opt_datetime"
14839    )]
14840    pub date: Option<chrono::NaiveDateTime>,
14841    #[serde(
14842        default,
14843        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14844    )]
14845    pub uniqueid: Option<String>,
14846    #[serde(
14847        default,
14848        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
14849        rename = "type"
14850    )]
14851    pub r#type: Option<String>,
14852    #[serde(
14853        default,
14854        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14855    )]
14856    pub description: Option<String>,
14857    #[serde(
14858        default,
14859        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14860    )]
14861    pub ammount: Option<rust_decimal::Decimal>,
14862}
14863
14864#[derive(Debug, Clone, Default, serde::Deserialize)]
14865pub struct GetTransactionHistoryResponse {
14866    #[serde(
14867        default,
14868        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14869    )]
14870    pub status: Option<String>,
14871    #[serde(default)]
14872    pub transactions: Option<Vec<GetTransactionHistoryResponseTransaction>>,
14873}
14874
14875/// Response body for [`Client::get_vpris`] (wire method `getVPRIs`).
14876#[derive(Debug, Clone, Default, serde::Deserialize)]
14877pub struct GetVPRIsResponseVPRI {
14878    #[serde(
14879        default,
14880        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14881    )]
14882    pub vpri: Option<u64>,
14883    #[serde(
14884        default,
14885        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14886    )]
14887    pub name: Option<String>,
14888    #[serde(
14889        default,
14890        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14891    )]
14892    pub note: Option<String>,
14893    #[serde(
14894        default,
14895        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14896    )]
14897    pub channels: Option<u64>,
14898    #[serde(
14899        default,
14900        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14901    )]
14902    pub monthly_fee: Option<rust_decimal::Decimal>,
14903    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
14904    pub next_billing: Option<chrono::NaiveDate>,
14905    #[serde(
14906        default,
14907        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14908    )]
14909    pub burst_enabled: Option<bool>,
14910    #[serde(
14911        default,
14912        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14913    )]
14914    pub burst_max_channels: Option<u64>,
14915    #[serde(
14916        default,
14917        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14918    )]
14919    pub burst_percentage_charge: Option<u64>,
14920}
14921
14922#[derive(Debug, Clone, Default, serde::Deserialize)]
14923pub struct GetVPRIsResponse {
14924    #[serde(
14925        default,
14926        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14927    )]
14928    pub status: Option<String>,
14929    #[serde(default)]
14930    pub vpri: Option<Vec<GetVPRIsResponseVPRI>>,
14931}
14932
14933/// Response body for [`Client::get_voicemail_attachment_formats`] (wire method `getVoicemailAttachmentFormats`).
14934#[derive(Debug, Clone, Default, serde::Deserialize)]
14935pub struct GetVoicemailAttachmentFormatsResponseEmailAttachmentFormat {
14936    #[serde(
14937        default,
14938        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14939    )]
14940    pub value: Option<String>,
14941    #[serde(
14942        default,
14943        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14944    )]
14945    pub description: Option<String>,
14946}
14947
14948#[derive(Debug, Clone, Default, serde::Deserialize)]
14949pub struct GetVoicemailAttachmentFormatsResponse {
14950    #[serde(
14951        default,
14952        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14953    )]
14954    pub status: Option<String>,
14955    #[serde(default)]
14956    pub email_attachment_formats:
14957        Option<Vec<GetVoicemailAttachmentFormatsResponseEmailAttachmentFormat>>,
14958}
14959
14960/// Response body for [`Client::get_voicemail_folders`] (wire method `getVoicemailFolders`).
14961#[derive(Debug, Clone, Default, serde::Deserialize)]
14962pub struct GetVoicemailFoldersResponseFolder {
14963    #[serde(
14964        default,
14965        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14966    )]
14967    pub value: Option<String>,
14968    #[serde(
14969        default,
14970        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14971    )]
14972    pub description: Option<String>,
14973}
14974
14975#[derive(Debug, Clone, Default, serde::Deserialize)]
14976pub struct GetVoicemailFoldersResponse {
14977    #[serde(
14978        default,
14979        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14980    )]
14981    pub status: Option<String>,
14982    #[serde(default)]
14983    pub folders: Option<Vec<GetVoicemailFoldersResponseFolder>>,
14984}
14985
14986/// Response body for [`Client::get_voicemail_message_file`] (wire method `getVoicemailMessageFile`).
14987#[derive(Debug, Clone, Default, serde::Deserialize)]
14988pub struct GetVoicemailMessageFileResponseMessage {
14989    #[serde(
14990        default,
14991        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14992    )]
14993    pub mailbox: Option<u64>,
14994    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
14995    pub folder: Option<VoicemailFolder>,
14996    #[serde(
14997        default,
14998        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14999    )]
15000    pub message_num: Option<u64>,
15001    #[serde(
15002        default,
15003        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15004    )]
15005    pub data: Option<String>,
15006}
15007
15008#[derive(Debug, Clone, Default, serde::Deserialize)]
15009pub struct GetVoicemailMessageFileResponse {
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 message: Option<Vec<GetVoicemailMessageFileResponseMessage>>,
15017}
15018
15019/// Response body for [`Client::get_voicemail_messages`] (wire method `getVoicemailMessages`).
15020#[derive(Debug, Clone, Default, serde::Deserialize)]
15021pub struct GetVoicemailMessagesResponseMessage {
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(default, deserialize_with = "crate::responses::deserialize_opt_date")]
15035    pub date: Option<chrono::NaiveDate>,
15036    #[serde(
15037        default,
15038        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15039    )]
15040    pub callerid: Option<u64>,
15041    #[serde(
15042        default,
15043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15044    )]
15045    pub duration: Option<String>,
15046    #[serde(
15047        default,
15048        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15049    )]
15050    pub urgent: Option<bool>,
15051    #[serde(
15052        default,
15053        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15054    )]
15055    pub listened: Option<bool>,
15056}
15057
15058#[derive(Debug, Clone, Default, serde::Deserialize)]
15059pub struct GetVoicemailMessagesResponse {
15060    #[serde(
15061        default,
15062        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15063    )]
15064    pub status: Option<String>,
15065    #[serde(default)]
15066    pub messages: Option<Vec<GetVoicemailMessagesResponseMessage>>,
15067}
15068
15069/// Response body for [`Client::get_voicemail_setups`] (wire method `getVoicemailSetups`).
15070#[derive(Debug, Clone, Default, serde::Deserialize)]
15071pub struct GetVoicemailSetupsResponseVoicemailsetup {
15072    #[serde(
15073        default,
15074        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15075    )]
15076    pub value: Option<u64>,
15077    #[serde(
15078        default,
15079        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15080    )]
15081    pub description: Option<String>,
15082}
15083
15084#[derive(Debug, Clone, Default, serde::Deserialize)]
15085pub struct GetVoicemailSetupsResponse {
15086    #[serde(
15087        default,
15088        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15089    )]
15090    pub status: Option<String>,
15091    #[serde(default)]
15092    pub voicemailsetups: Option<Vec<GetVoicemailSetupsResponseVoicemailsetup>>,
15093}
15094
15095/// Response body for [`Client::get_voicemail_transcriptions`] (wire method `getVoicemailTranscriptions`).
15096#[derive(Debug, Clone, Default, serde::Deserialize)]
15097pub struct GetVoicemailTranscriptionsResponseMessage {
15098    #[serde(
15099        default,
15100        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15101    )]
15102    pub date: Option<String>,
15103    #[serde(
15104        default,
15105        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15106    )]
15107    pub callerid: Option<String>,
15108    #[serde(
15109        default,
15110        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15111    )]
15112    pub duration: Option<String>,
15113    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15114    pub folder: Option<VoicemailFolder>,
15115    #[serde(
15116        default,
15117        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15118    )]
15119    pub result: Option<String>,
15120}
15121
15122#[derive(Debug, Clone, Default, serde::Deserialize)]
15123pub struct GetVoicemailTranscriptionsResponse {
15124    #[serde(
15125        default,
15126        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15127    )]
15128    pub status: Option<String>,
15129    #[serde(default)]
15130    pub messages: Option<Vec<GetVoicemailTranscriptionsResponseMessage>>,
15131}
15132
15133/// Response body for [`Client::get_voicemails`] (wire method `getVoicemails`).
15134#[derive(Debug, Clone, Default, serde::Deserialize)]
15135pub struct GetVoicemailsResponseVoicemail {
15136    #[serde(
15137        default,
15138        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15139    )]
15140    pub mailbox: Option<u64>,
15141    #[serde(
15142        default,
15143        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15144    )]
15145    pub name: Option<String>,
15146    #[serde(
15147        default,
15148        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15149    )]
15150    pub password: Option<u64>,
15151    #[serde(
15152        default,
15153        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15154    )]
15155    pub skip_password: Option<bool>,
15156    #[serde(
15157        default,
15158        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15159    )]
15160    pub email: Option<String>,
15161    #[serde(
15162        default,
15163        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15164    )]
15165    pub attach_message: Option<bool>,
15166    #[serde(
15167        default,
15168        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15169    )]
15170    pub delete_message: Option<bool>,
15171    #[serde(
15172        default,
15173        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15174    )]
15175    pub say_time: Option<bool>,
15176    #[serde(
15177        default,
15178        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15179    )]
15180    pub timezone: Option<String>,
15181    #[serde(
15182        default,
15183        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15184    )]
15185    pub say_callerid: Option<bool>,
15186    #[serde(default, deserialize_with = "deserialize_opt_play_instructions")]
15187    pub play_instructions: Option<PlayInstructions>,
15188    #[serde(
15189        default,
15190        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15191    )]
15192    pub language: Option<String>,
15193    #[serde(default, deserialize_with = "deserialize_opt_email_attachment_format")]
15194    pub email_attachment_format: Option<EmailAttachmentFormat>,
15195    #[serde(
15196        default,
15197        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15198    )]
15199    pub unavailable_message_recording: Option<u64>,
15200    #[serde(
15201        default,
15202        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15203    )]
15204    pub new: Option<u64>,
15205    #[serde(
15206        default,
15207        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15208    )]
15209    pub urgent: Option<u64>,
15210    #[serde(
15211        default,
15212        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15213    )]
15214    pub transcription: Option<bool>,
15215    #[serde(
15216        default,
15217        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15218    )]
15219    pub transcription_locale: Option<String>,
15220    #[serde(
15221        default,
15222        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15223    )]
15224    pub transcription_redaction: Option<bool>,
15225    #[serde(
15226        default,
15227        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15228    )]
15229    pub transcription_sentiment: Option<bool>,
15230    #[serde(
15231        default,
15232        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15233    )]
15234    pub transcription_summary: Option<bool>,
15235    #[serde(default, deserialize_with = "deserialize_opt_transcription_format")]
15236    pub transcription_format: Option<TranscriptionFormat>,
15237    #[serde(
15238        default,
15239        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15240    )]
15241    pub transcription_delay: Option<u64>,
15242}
15243
15244#[derive(Debug, Clone, Default, serde::Deserialize)]
15245pub struct GetVoicemailsResponse {
15246    #[serde(
15247        default,
15248        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15249    )]
15250    pub status: Option<String>,
15251    #[serde(default)]
15252    pub voicemails: Option<Vec<GetVoicemailsResponseVoicemail>>,
15253}
15254
15255/// Response body for [`Client::mail_fax_message_pdf`] (wire method `mailFaxMessagePDF`).
15256#[derive(Debug, Clone, Default, serde::Deserialize)]
15257pub struct MailFAXMessagePDFResponse {
15258    #[serde(
15259        default,
15260        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15261    )]
15262    pub status: Option<String>,
15263    #[serde(
15264        default,
15265        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15266    )]
15267    pub message_status: Option<String>,
15268}
15269
15270/// Response body for [`Client::mark_listened_voicemail_message`] (wire method `markListenedVoicemailMessage`).
15271#[derive(Debug, Clone, Default, serde::Deserialize)]
15272pub struct MarkListenedVoicemailMessageResponse {
15273    #[serde(
15274        default,
15275        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15276    )]
15277    pub status: Option<String>,
15278}
15279
15280/// Response body for [`Client::mark_urgent_voicemail_message`] (wire method `markUrgentVoicemailMessage`).
15281#[derive(Debug, Clone, Default, serde::Deserialize)]
15282pub struct MarkUrgentVoicemailMessageResponse {
15283    #[serde(
15284        default,
15285        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15286    )]
15287    pub status: Option<String>,
15288}
15289
15290/// Response body for [`Client::move_fax_message`] (wire method `moveFaxMessage`).
15291#[derive(Debug, Clone, Default, serde::Deserialize)]
15292pub struct MoveFAXMessageResponse {
15293    #[serde(
15294        default,
15295        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15296    )]
15297    pub status: Option<String>,
15298}
15299
15300/// Response body for [`Client::move_folder_voicemail_message`] (wire method `moveFolderVoicemailMessage`).
15301#[derive(Debug, Clone, Default, serde::Deserialize)]
15302pub struct MoveFolderVoicemailMessageResponse {
15303    #[serde(
15304        default,
15305        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15306    )]
15307    pub status: Option<String>,
15308}
15309
15310/// Response body for [`Client::order_did`] (wire method `orderDID`).
15311#[derive(Debug, Clone, Default, serde::Deserialize)]
15312pub struct OrderDIDResponse {
15313    #[serde(
15314        default,
15315        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15316    )]
15317    pub status: Option<String>,
15318}
15319
15320/// Response body for [`Client::order_did_international_geographic`] (wire method `orderDIDInternationalGeographic`).
15321#[derive(Debug, Clone, Default, serde::Deserialize)]
15322pub struct OrderDIDInternationalGeographicResponse {
15323    #[serde(
15324        default,
15325        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15326    )]
15327    pub status: Option<String>,
15328}
15329
15330/// Response body for [`Client::order_did_international_national`] (wire method `orderDIDInternationalNational`).
15331#[derive(Debug, Clone, Default, serde::Deserialize)]
15332pub struct OrderDIDInternationalNationalResponse {
15333    #[serde(
15334        default,
15335        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15336    )]
15337    pub status: Option<String>,
15338}
15339
15340/// Response body for [`Client::order_did_international_toll_free`] (wire method `orderDIDInternationalTollFree`).
15341#[derive(Debug, Clone, Default, serde::Deserialize)]
15342pub struct OrderDIDInternationalTollFreeResponse {
15343    #[serde(
15344        default,
15345        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15346    )]
15347    pub status: Option<String>,
15348}
15349
15350/// Response body for [`Client::order_did_virtual`] (wire method `orderDIDVirtual`).
15351#[derive(Debug, Clone, Default, serde::Deserialize)]
15352pub struct OrderDIDVirtualResponse {
15353    #[serde(
15354        default,
15355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15356    )]
15357    pub status: Option<String>,
15358}
15359
15360/// Response body for [`Client::order_fax_number`] (wire method `orderFaxNumber`).
15361#[derive(Debug, Clone, Default, serde::Deserialize)]
15362pub struct OrderFAXNumberResponse {
15363    #[serde(
15364        default,
15365        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15366    )]
15367    pub status: Option<String>,
15368    #[serde(
15369        default,
15370        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15371    )]
15372    pub dids: Option<String>,
15373    #[serde(
15374        default,
15375        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number",
15376        rename = "0"
15377    )]
15378    pub field_0: Option<u64>,
15379    #[serde(
15380        default,
15381        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number",
15382        rename = "1"
15383    )]
15384    pub field_1: Option<u64>,
15385    #[serde(
15386        default,
15387        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15388        rename = "2"
15389    )]
15390    pub field_2: Option<String>,
15391}
15392
15393/// Response body for [`Client::order_toll_free`] (wire method `orderTollFree`).
15394#[derive(Debug, Clone, Default, serde::Deserialize)]
15395pub struct OrderTollFreeResponse {
15396    #[serde(
15397        default,
15398        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15399    )]
15400    pub status: Option<String>,
15401}
15402
15403/// Response body for [`Client::order_vanity`] (wire method `orderVanity`).
15404#[derive(Debug, Clone, Default, serde::Deserialize)]
15405pub struct OrderVanityResponse {
15406    #[serde(
15407        default,
15408        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15409    )]
15410    pub status: Option<String>,
15411}
15412
15413/// Response body for [`Client::remove_did_vpri`] (wire method `removeDIDvPRI`).
15414#[derive(Debug, Clone, Default, serde::Deserialize)]
15415pub struct RemoveDIDvPRIResponse {
15416    #[serde(
15417        default,
15418        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15419    )]
15420    pub status: Option<String>,
15421    #[serde(
15422        default,
15423        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15424    )]
15425    pub vpri: Option<u64>,
15426    #[serde(
15427        default,
15428        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15429    )]
15430    pub DIDRemoved: Option<u64>,
15431}
15432
15433/// Response body for [`Client::search_dids_can`] (wire method `searchDIDsCAN`).
15434#[derive(Debug, Clone, Default, serde::Deserialize)]
15435pub struct SearchDIDsCANResponseDID {
15436    #[serde(
15437        default,
15438        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15439    )]
15440    pub did: Option<u64>,
15441    #[serde(
15442        default,
15443        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15444    )]
15445    pub ratecenter: Option<String>,
15446    #[serde(
15447        default,
15448        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15449    )]
15450    pub province: Option<String>,
15451    #[serde(
15452        default,
15453        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15454    )]
15455    pub province_description: Option<String>,
15456    #[serde(
15457        default,
15458        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15459    )]
15460    pub perminute_monthly: Option<rust_decimal::Decimal>,
15461    #[serde(
15462        default,
15463        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15464    )]
15465    pub perminute_minute: Option<rust_decimal::Decimal>,
15466    #[serde(
15467        default,
15468        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15469    )]
15470    pub perminute_setup: Option<rust_decimal::Decimal>,
15471    #[serde(
15472        default,
15473        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15474    )]
15475    pub flat_monthly: Option<rust_decimal::Decimal>,
15476    #[serde(
15477        default,
15478        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15479    )]
15480    pub flat_minute: Option<rust_decimal::Decimal>,
15481    #[serde(
15482        default,
15483        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15484    )]
15485    pub flat_setup: Option<rust_decimal::Decimal>,
15486}
15487
15488#[derive(Debug, Clone, Default, serde::Deserialize)]
15489pub struct SearchDIDsCANResponse {
15490    #[serde(
15491        default,
15492        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15493    )]
15494    pub status: Option<String>,
15495    #[serde(default)]
15496    pub dids: Option<Vec<SearchDIDsCANResponseDID>>,
15497}
15498
15499/// Response body for [`Client::search_dids_usa`] (wire method `searchDIDsUSA`).
15500#[derive(Debug, Clone, Default, serde::Deserialize)]
15501pub struct SearchDIDsUSAResponseDID {
15502    #[serde(
15503        default,
15504        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15505    )]
15506    pub did: Option<u64>,
15507    #[serde(
15508        default,
15509        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15510    )]
15511    pub ratecenter: Option<String>,
15512    #[serde(
15513        default,
15514        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15515    )]
15516    pub state: Option<String>,
15517    #[serde(
15518        default,
15519        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15520    )]
15521    pub state_description: Option<String>,
15522    #[serde(
15523        default,
15524        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15525    )]
15526    pub perminute_monthly: Option<rust_decimal::Decimal>,
15527    #[serde(
15528        default,
15529        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15530    )]
15531    pub perminute_minute: Option<rust_decimal::Decimal>,
15532    #[serde(
15533        default,
15534        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15535    )]
15536    pub perminute_setup: Option<rust_decimal::Decimal>,
15537    #[serde(
15538        default,
15539        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15540    )]
15541    pub flat_monthly: Option<rust_decimal::Decimal>,
15542    #[serde(
15543        default,
15544        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15545    )]
15546    pub flat_minute: Option<rust_decimal::Decimal>,
15547    #[serde(
15548        default,
15549        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15550    )]
15551    pub flat_setup: Option<rust_decimal::Decimal>,
15552}
15553
15554#[derive(Debug, Clone, Default, serde::Deserialize)]
15555pub struct SearchDIDsUSAResponse {
15556    #[serde(
15557        default,
15558        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15559    )]
15560    pub status: Option<String>,
15561    #[serde(default)]
15562    pub dids: Option<Vec<SearchDIDsUSAResponseDID>>,
15563}
15564
15565/// Response body for [`Client::search_fax_area_code_can`] (wire method `searchFaxAreaCodeCAN`).
15566#[derive(Debug, Clone, Default, serde::Deserialize)]
15567pub struct SearchFAXAreaCodeCANResponse0 {
15568    #[serde(
15569        default,
15570        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15571    )]
15572    pub ratecenter: Option<String>,
15573    #[serde(
15574        default,
15575        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15576    )]
15577    pub area_code: Option<u64>,
15578    #[serde(
15579        default,
15580        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15581    )]
15582    pub available: Option<bool>,
15583}
15584
15585#[derive(Debug, Clone, Default, serde::Deserialize)]
15586pub struct SearchFAXAreaCodeCANResponse {
15587    #[serde(
15588        default,
15589        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15590    )]
15591    pub status: Option<String>,
15592    #[serde(
15593        default,
15594        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15595    )]
15596    pub ratecenters: Option<String>,
15597    #[serde(default, rename = "0")]
15598    pub field_0: Option<SearchFAXAreaCodeCANResponse0>,
15599}
15600
15601/// Response body for [`Client::search_fax_area_code_usa`] (wire method `searchFaxAreaCodeUSA`).
15602#[derive(Debug, Clone, Default, serde::Deserialize)]
15603pub struct SearchFAXAreaCodeUSAResponse {
15604    #[serde(
15605        default,
15606        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15607    )]
15608    pub status: Option<String>,
15609    #[serde(
15610        default,
15611        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15612    )]
15613    pub ratecenters: Option<String>,
15614    #[serde(
15615        default,
15616        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15617        rename = "0"
15618    )]
15619    pub field_0: Option<String>,
15620    #[serde(
15621        default,
15622        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15623    )]
15624    pub ratecenter: Option<String>,
15625    #[serde(
15626        default,
15627        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15628    )]
15629    pub area_code: Option<u64>,
15630    #[serde(
15631        default,
15632        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15633    )]
15634    pub available: Option<bool>,
15635}
15636
15637/// Response body for [`Client::search_toll_free_can_us`] (wire method `searchTollFreeCanUS`).
15638#[derive(Debug, Clone, Default, serde::Deserialize)]
15639pub struct SearchTollFreeCANUSResponseDID {
15640    #[serde(
15641        default,
15642        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15643    )]
15644    pub did: Option<u64>,
15645    #[serde(
15646        default,
15647        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15648    )]
15649    pub monthly: Option<rust_decimal::Decimal>,
15650    #[serde(
15651        default,
15652        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15653    )]
15654    pub minute: Option<rust_decimal::Decimal>,
15655    #[serde(
15656        default,
15657        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15658    )]
15659    pub setup: Option<rust_decimal::Decimal>,
15660}
15661
15662#[derive(Debug, Clone, Default, serde::Deserialize)]
15663pub struct SearchTollFreeCANUSResponse {
15664    #[serde(
15665        default,
15666        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15667    )]
15668    pub status: Option<String>,
15669    #[serde(default)]
15670    pub dids: Option<Vec<SearchTollFreeCANUSResponseDID>>,
15671}
15672
15673/// Response body for [`Client::search_toll_free_usa`] (wire method `searchTollFreeUSA`).
15674#[derive(Debug, Clone, Default, serde::Deserialize)]
15675pub struct SearchTollFreeUSAResponseDID {
15676    #[serde(
15677        default,
15678        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15679    )]
15680    pub did: Option<u64>,
15681    #[serde(
15682        default,
15683        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15684    )]
15685    pub monthly: Option<rust_decimal::Decimal>,
15686    #[serde(
15687        default,
15688        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15689    )]
15690    pub minute_usa: Option<rust_decimal::Decimal>,
15691    #[serde(
15692        default,
15693        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15694    )]
15695    pub minute_canada: Option<rust_decimal::Decimal>,
15696    #[serde(
15697        default,
15698        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15699    )]
15700    pub minute_puertorico: Option<rust_decimal::Decimal>,
15701    #[serde(
15702        default,
15703        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15704    )]
15705    pub minute_alaska: Option<rust_decimal::Decimal>,
15706    #[serde(
15707        default,
15708        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15709    )]
15710    pub setup: Option<u64>,
15711}
15712
15713#[derive(Debug, Clone, Default, serde::Deserialize)]
15714pub struct SearchTollFreeUSAResponse {
15715    #[serde(
15716        default,
15717        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15718    )]
15719    pub status: Option<String>,
15720    #[serde(default)]
15721    pub dids: Option<Vec<SearchTollFreeUSAResponseDID>>,
15722}
15723
15724/// Response body for [`Client::search_vanity`] (wire method `searchVanity`).
15725#[derive(Debug, Clone, Default, serde::Deserialize)]
15726pub struct SearchVanityResponseDID {
15727    #[serde(
15728        default,
15729        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15730    )]
15731    pub did: Option<u64>,
15732    #[serde(
15733        default,
15734        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15735    )]
15736    pub monthly_american: Option<rust_decimal::Decimal>,
15737    #[serde(
15738        default,
15739        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15740    )]
15741    pub monthly_canadian: Option<rust_decimal::Decimal>,
15742    #[serde(
15743        default,
15744        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15745    )]
15746    pub minute_american_usa: Option<rust_decimal::Decimal>,
15747    #[serde(
15748        default,
15749        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15750    )]
15751    pub minute_american_canada: Option<rust_decimal::Decimal>,
15752    #[serde(
15753        default,
15754        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15755    )]
15756    pub minute_canadian: Option<rust_decimal::Decimal>,
15757    #[serde(
15758        default,
15759        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15760    )]
15761    pub setup_american: Option<u64>,
15762    #[serde(
15763        default,
15764        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15765    )]
15766    pub setup_canadian: Option<u64>,
15767}
15768
15769#[derive(Debug, Clone, Default, serde::Deserialize)]
15770pub struct SearchVanityResponse {
15771    #[serde(
15772        default,
15773        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15774    )]
15775    pub status: Option<String>,
15776    #[serde(default)]
15777    pub dids: Option<Vec<SearchVanityResponseDID>>,
15778}
15779
15780/// Response body for [`Client::send_call_recording_email`] (wire method `sendCallRecordingEmail`).
15781#[derive(Debug, Clone, Default, serde::Deserialize)]
15782pub struct SendCallRecordingEmailResponse {
15783    #[serde(
15784        default,
15785        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15786    )]
15787    pub status: Option<String>,
15788    #[serde(
15789        default,
15790        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15791    )]
15792    pub msg: Option<String>,
15793}
15794
15795/// Response body for [`Client::send_fax_message`] (wire method `sendFaxMessage`).
15796#[derive(Debug, Clone, Default, serde::Deserialize)]
15797pub struct SendFAXMessageResponse {
15798    #[serde(
15799        default,
15800        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15801    )]
15802    pub status: Option<String>,
15803}
15804
15805/// Response body for [`Client::send_mms`] (wire method `sendMMS`).
15806#[derive(Debug, Clone, Default, serde::Deserialize)]
15807pub struct SendMMSResponse {
15808    #[serde(
15809        default,
15810        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15811    )]
15812    pub status: Option<String>,
15813    #[serde(
15814        default,
15815        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15816    )]
15817    pub mms: Option<u64>,
15818}
15819
15820/// Response body for [`Client::send_sms`] (wire method `sendSMS`).
15821#[derive(Debug, Clone, Default, serde::Deserialize)]
15822pub struct SendSMSResponse {
15823    #[serde(
15824        default,
15825        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15826    )]
15827    pub status: Option<String>,
15828    #[serde(
15829        default,
15830        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15831    )]
15832    pub sms: Option<u64>,
15833}
15834
15835/// Response body for [`Client::send_voicemail_email`] (wire method `sendVoicemailEmail`).
15836#[derive(Debug, Clone, Default, serde::Deserialize)]
15837pub struct SendVoicemailEmailResponse {
15838    #[serde(
15839        default,
15840        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15841    )]
15842    pub status: Option<String>,
15843}
15844
15845/// Response body for [`Client::set_call_hunting`] (wire method `setCallHunting`).
15846#[derive(Debug, Clone, Default, serde::Deserialize)]
15847pub struct SetCallHuntingResponse {
15848    #[serde(
15849        default,
15850        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15851    )]
15852    pub status: Option<String>,
15853    #[serde(
15854        default,
15855        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15856    )]
15857    pub call_hunting: Option<u64>,
15858}
15859
15860/// Response body for [`Client::set_call_parking`] (wire method `setCallParking`).
15861#[derive(Debug, Clone, Default, serde::Deserialize)]
15862pub struct SetCallParkingResponse {
15863    #[serde(
15864        default,
15865        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15866    )]
15867    pub status: Option<String>,
15868    #[serde(
15869        default,
15870        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15871    )]
15872    pub callparking: Option<u64>,
15873}
15874
15875/// Response body for [`Client::set_callback`] (wire method `setCallback`).
15876#[derive(Debug, Clone, Default, serde::Deserialize)]
15877pub struct SetCallbackResponse {
15878    #[serde(
15879        default,
15880        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15881    )]
15882    pub status: Option<String>,
15883    #[serde(
15884        default,
15885        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15886    )]
15887    pub callback: Option<u64>,
15888}
15889
15890/// Response body for [`Client::set_caller_id_filtering`] (wire method `setCallerIDFiltering`).
15891#[derive(Debug, Clone, Default, serde::Deserialize)]
15892pub struct SetCallerIDFilteringResponse {
15893    #[serde(
15894        default,
15895        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15896    )]
15897    pub status: Option<String>,
15898    #[serde(
15899        default,
15900        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15901    )]
15902    pub filtering: Option<u64>,
15903}
15904
15905/// Response body for [`Client::set_client`] (wire method `setClient`).
15906#[derive(Debug, Clone, Default, serde::Deserialize)]
15907pub struct SetClientResponse {
15908    #[serde(
15909        default,
15910        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15911    )]
15912    pub status: Option<String>,
15913}
15914
15915/// Response body for [`Client::set_client_threshold`] (wire method `setClientThreshold`).
15916#[derive(Debug, Clone, Default, serde::Deserialize)]
15917pub struct SetClientThresholdResponse {
15918    #[serde(
15919        default,
15920        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15921    )]
15922    pub status: Option<String>,
15923}
15924
15925/// Response body for [`Client::set_conference`] (wire method `setConference`).
15926#[derive(Debug, Clone, Default, serde::Deserialize)]
15927pub struct SetConferenceResponse {
15928    #[serde(
15929        default,
15930        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15931    )]
15932    pub status: Option<String>,
15933    #[serde(
15934        default,
15935        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15936    )]
15937    pub conference: Option<u64>,
15938}
15939
15940/// Response body for [`Client::set_conference_member`] (wire method `setConferenceMember`).
15941#[derive(Debug, Clone, Default, serde::Deserialize)]
15942pub struct SetConferenceMemberResponse {
15943    #[serde(
15944        default,
15945        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15946    )]
15947    pub status: Option<String>,
15948    #[serde(
15949        default,
15950        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15951    )]
15952    pub member: Option<u64>,
15953}
15954
15955/// Response body for [`Client::set_did_billing_type`] (wire method `setDIDBillingType`).
15956#[derive(Debug, Clone, Default, serde::Deserialize)]
15957pub struct SetDIDBillingTypeResponse {
15958    #[serde(
15959        default,
15960        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15961    )]
15962    pub status: Option<String>,
15963}
15964
15965/// Response body for [`Client::set_did_info`] (wire method `setDIDInfo`).
15966#[derive(Debug, Clone, Default, serde::Deserialize)]
15967pub struct SetDIDInfoResponse {
15968    #[serde(
15969        default,
15970        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15971    )]
15972    pub status: Option<String>,
15973}
15974
15975/// Response body for [`Client::set_did_pop`] (wire method `setDIDPOP`).
15976#[derive(Debug, Clone, Default, serde::Deserialize)]
15977pub struct SetDIDPOPResponse {
15978    #[serde(
15979        default,
15980        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15981    )]
15982    pub status: Option<String>,
15983}
15984
15985/// Response body for [`Client::set_did_routing`] (wire method `setDIDRouting`).
15986#[derive(Debug, Clone, Default, serde::Deserialize)]
15987pub struct SetDIDRoutingResponse {
15988    #[serde(
15989        default,
15990        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15991    )]
15992    pub status: Option<String>,
15993}
15994
15995/// Response body for [`Client::set_did_voicemail`] (wire method `setDIDVoicemail`).
15996#[derive(Debug, Clone, Default, serde::Deserialize)]
15997pub struct SetDIDVoicemailResponse {
15998    #[serde(
15999        default,
16000        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16001    )]
16002    pub status: Option<String>,
16003}
16004
16005/// Response body for [`Client::set_disa`] (wire method `setDISA`).
16006#[derive(Debug, Clone, Default, serde::Deserialize)]
16007pub struct SetDISAResponse {
16008    #[serde(
16009        default,
16010        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16011    )]
16012    pub status: Option<String>,
16013    #[serde(
16014        default,
16015        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16016    )]
16017    pub disa: Option<u64>,
16018}
16019
16020/// Response body for [`Client::set_email_to_fax`] (wire method `setEmailToFax`).
16021#[derive(Debug, Clone, Default, serde::Deserialize)]
16022pub struct SetEmailToFAXResponse {
16023    #[serde(
16024        default,
16025        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16026    )]
16027    pub status: Option<String>,
16028}
16029
16030/// Response body for [`Client::set_fax_folder`] (wire method `setFaxFolder`).
16031#[derive(Debug, Clone, Default, serde::Deserialize)]
16032pub struct SetFAXFolderResponse {
16033    #[serde(
16034        default,
16035        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16036    )]
16037    pub status: Option<String>,
16038}
16039
16040/// Response body for [`Client::set_fax_number_email`] (wire method `setFaxNumberEmail`).
16041#[derive(Debug, Clone, Default, serde::Deserialize)]
16042pub struct SetFAXNumberEmailResponse {
16043    #[serde(
16044        default,
16045        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16046    )]
16047    pub status: Option<String>,
16048}
16049
16050/// Response body for [`Client::set_fax_number_info`] (wire method `setFaxNumberInfo`).
16051#[derive(Debug, Clone, Default, serde::Deserialize)]
16052pub struct SetFAXNumberInfoResponse {
16053    #[serde(
16054        default,
16055        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16056    )]
16057    pub status: Option<String>,
16058}
16059
16060/// Response body for [`Client::set_fax_number_url_callback`] (wire method `setFaxNumberURLCallback`).
16061#[derive(Debug, Clone, Default, serde::Deserialize)]
16062pub struct SetFAXNumberURLCallbackResponse {
16063    #[serde(
16064        default,
16065        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16066    )]
16067    pub status: Option<String>,
16068}
16069
16070/// Response body for [`Client::set_forwarding`] (wire method `setForwarding`).
16071#[derive(Debug, Clone, Default, serde::Deserialize)]
16072pub struct SetForwardingResponse {
16073    #[serde(
16074        default,
16075        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16076    )]
16077    pub status: Option<String>,
16078    #[serde(
16079        default,
16080        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16081    )]
16082    pub forwarding: Option<u64>,
16083}
16084
16085/// Response body for [`Client::set_ivr`] (wire method `setIVR`).
16086#[derive(Debug, Clone, Default, serde::Deserialize)]
16087pub struct SetIVRResponse {
16088    #[serde(
16089        default,
16090        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16091    )]
16092    pub status: Option<String>,
16093    #[serde(
16094        default,
16095        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16096    )]
16097    pub ivr: Option<u64>,
16098}
16099
16100/// Response body for [`Client::set_location`] (wire method `setLocation`).
16101#[derive(Debug, Clone, Default, serde::Deserialize)]
16102pub struct SetLocationResponse {
16103    #[serde(
16104        default,
16105        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16106    )]
16107    pub status: Option<String>,
16108}
16109
16110/// Response body for [`Client::set_music_on_hold`] (wire method `setMusicOnHold`).
16111#[derive(Debug, Clone, Default, serde::Deserialize)]
16112pub struct SetMusicOnHoldResponse {
16113    #[serde(
16114        default,
16115        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16116    )]
16117    pub status: Option<String>,
16118}
16119
16120/// Response body for [`Client::set_phonebook`] (wire method `setPhonebook`).
16121#[derive(Debug, Clone, Default, serde::Deserialize)]
16122pub struct SetPhonebookResponse {
16123    #[serde(
16124        default,
16125        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16126    )]
16127    pub status: Option<String>,
16128    #[serde(
16129        default,
16130        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16131    )]
16132    pub phonebook: Option<u64>,
16133}
16134
16135/// Response body for [`Client::set_phonebook_group`] (wire method `setPhonebookGroup`).
16136#[derive(Debug, Clone, Default, serde::Deserialize)]
16137pub struct SetPhonebookGroupResponse {
16138    #[serde(
16139        default,
16140        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16141    )]
16142    pub status: Option<String>,
16143    #[serde(
16144        default,
16145        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16146    )]
16147    pub group: Option<u64>,
16148}
16149
16150/// Response body for [`Client::set_queue`] (wire method `setQueue`).
16151#[derive(Debug, Clone, Default, serde::Deserialize)]
16152pub struct SetQueueResponse {
16153    #[serde(
16154        default,
16155        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16156    )]
16157    pub status: Option<String>,
16158    #[serde(
16159        default,
16160        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16161    )]
16162    pub queue: Option<u64>,
16163}
16164
16165/// Response body for [`Client::set_recording`] (wire method `setRecording`).
16166#[derive(Debug, Clone, Default, serde::Deserialize)]
16167pub struct SetRecordingResponse {
16168    #[serde(
16169        default,
16170        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16171    )]
16172    pub status: Option<String>,
16173    #[serde(
16174        default,
16175        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16176    )]
16177    pub recording: Option<u64>,
16178}
16179
16180/// Response body for [`Client::set_ring_group`] (wire method `setRingGroup`).
16181#[derive(Debug, Clone, Default, serde::Deserialize)]
16182pub struct SetRingGroupResponse {
16183    #[serde(
16184        default,
16185        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16186    )]
16187    pub status: Option<String>,
16188    #[serde(
16189        default,
16190        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16191    )]
16192    pub ring_group: Option<u64>,
16193}
16194
16195/// Response body for [`Client::set_sip_uri`] (wire method `setSIPURI`).
16196#[derive(Debug, Clone, Default, serde::Deserialize)]
16197pub struct SetSIPURIResponse {
16198    #[serde(
16199        default,
16200        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16201    )]
16202    pub status: Option<String>,
16203}
16204
16205/// Response body for [`Client::set_sms`] (wire method `setSMS`).
16206#[derive(Debug, Clone, Default, serde::Deserialize)]
16207pub struct SetSMSResponse {
16208    #[serde(
16209        default,
16210        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16211    )]
16212    pub status: Option<String>,
16213    #[serde(
16214        default,
16215        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16216    )]
16217    pub sipuri: Option<u64>,
16218}
16219
16220/// Response body for [`Client::set_static_member`] (wire method `setStaticMember`).
16221#[derive(Debug, Clone, Default, serde::Deserialize)]
16222pub struct SetStaticMemberResponse {
16223    #[serde(
16224        default,
16225        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16226    )]
16227    pub status: Option<String>,
16228    #[serde(
16229        default,
16230        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16231    )]
16232    pub member: Option<u64>,
16233}
16234
16235/// Response body for [`Client::set_sub_account`] (wire method `setSubAccount`).
16236#[derive(Debug, Clone, Default, serde::Deserialize)]
16237pub struct SetSubAccountResponse {
16238    #[serde(
16239        default,
16240        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16241    )]
16242    pub status: Option<String>,
16243}
16244
16245/// Response body for [`Client::set_time_condition`] (wire method `setTimeCondition`).
16246#[derive(Debug, Clone, Default, serde::Deserialize)]
16247pub struct SetTimeConditionResponse {
16248    #[serde(
16249        default,
16250        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16251    )]
16252    pub status: Option<String>,
16253    #[serde(
16254        default,
16255        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16256    )]
16257    pub timecondition: Option<u64>,
16258}
16259
16260/// Response body for [`Client::set_voicemail`] (wire method `setVoicemail`).
16261#[derive(Debug, Clone, Default, serde::Deserialize)]
16262pub struct SetVoicemailResponse {
16263    #[serde(
16264        default,
16265        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16266    )]
16267    pub status: Option<String>,
16268}
16269
16270/// Response body for [`Client::signup_client`] (wire method `signupClient`).
16271#[derive(Debug, Clone, Default, serde::Deserialize)]
16272pub struct SignupClientResponse {
16273    #[serde(
16274        default,
16275        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16276    )]
16277    pub status: Option<String>,
16278    #[serde(
16279        default,
16280        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16281    )]
16282    pub client: Option<u64>,
16283}
16284
16285/// Response body for [`Client::unconnect_did`] (wire method `unconnectDID`).
16286#[derive(Debug, Clone, Default, serde::Deserialize)]
16287pub struct UnconnectDIDResponse {
16288    #[serde(
16289        default,
16290        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16291    )]
16292    pub status: Option<String>,
16293}
16294
16295/// Response body for [`Client::unconnect_fax`] (wire method `unconnectFAX`).
16296#[derive(Debug, Clone, Default, serde::Deserialize)]
16297pub struct UnconnectFAXResponse {
16298    #[serde(
16299        default,
16300        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16301    )]
16302    pub status: Option<String>,
16303}
16304
16305impl Client {
16306    /// \- Adds a Charge to a specific Reseller Client
16307    ///
16308    /// Call the `addCharge` API method and deserialize into [`AddChargeResponse`].
16309    pub async fn add_charge(&self, params: &AddChargeParams) -> Result<AddChargeResponse> {
16310        self.call("addCharge", params).await
16311    }
16312
16313    /// Call the `addCharge` API method and return the raw JSON envelope.
16314    pub async fn add_charge_raw(&self, params: &AddChargeParams) -> Result<Value> {
16315        self.call_raw("addCharge", params).await
16316    }
16317
16318    /// \- Add an invoice file to a portability process.
16319    ///
16320    /// Call the `addLNPFile` API method and deserialize into [`AddLNPFileResponse`].
16321    pub async fn add_lnp_file(&self, params: &AddLNPFileParams) -> Result<AddLNPFileResponse> {
16322        self.call("addLNPFile", params).await
16323    }
16324
16325    /// Call the `addLNPFile` API method and return the raw JSON envelope.
16326    pub async fn add_lnp_file_raw(&self, params: &AddLNPFileParams) -> Result<Value> {
16327        self.call_raw("addLNPFile", params).await
16328    }
16329
16330    /// \- Add one or more numbers to start a portability process.
16331    ///
16332    /// Call the `addLNPPort` API method and deserialize into [`AddLNPPortResponse`].
16333    pub async fn add_lnp_port(&self, params: &AddLNPPortParams) -> Result<AddLNPPortResponse> {
16334        self.call("addLNPPort", params).await
16335    }
16336
16337    /// Call the `addLNPPort` API method and return the raw JSON envelope.
16338    pub async fn add_lnp_port_raw(&self, params: &AddLNPPortParams) -> Result<Value> {
16339        self.call_raw("addLNPPort", params).await
16340    }
16341
16342    /// \- Add Member to a Conference
16343    ///
16344    /// Call the `addMemberToConference` API method and deserialize into [`AddMemberToConferenceResponse`].
16345    pub async fn add_member_to_conference(
16346        &self,
16347        params: &AddMemberToConferenceParams,
16348    ) -> Result<AddMemberToConferenceResponse> {
16349        self.call("addMemberToConference", params).await
16350    }
16351
16352    /// Call the `addMemberToConference` API method and return the raw JSON envelope.
16353    pub async fn add_member_to_conference_raw(
16354        &self,
16355        params: &AddMemberToConferenceParams,
16356    ) -> Result<Value> {
16357        self.call_raw("addMemberToConference", params).await
16358    }
16359
16360    /// \- Adds a Payment to a specific Reseller Client
16361    ///
16362    /// Call the `addPayment` API method and deserialize into [`AddPaymentResponse`].
16363    pub async fn add_payment(&self, params: &AddPaymentParams) -> Result<AddPaymentResponse> {
16364        self.call("addPayment", params).await
16365    }
16366
16367    /// Call the `addPayment` API method and return the raw JSON envelope.
16368    pub async fn add_payment_raw(&self, params: &AddPaymentParams) -> Result<Value> {
16369        self.call_raw("addPayment", params).await
16370    }
16371
16372    /// \- Assigns a Per Minute DID to a VPRI (Flat Rate DIDs can&rsquo;t be
16373    /// assigned)
16374    ///
16375    /// Call the `assignDIDvPRI` API method and deserialize into [`AssignDIDvPRIResponse`].
16376    pub async fn assign_did_vpri(
16377        &self,
16378        params: &AssignDIDvPRIParams,
16379    ) -> Result<AssignDIDvPRIResponse> {
16380        self.call("assignDIDvPRI", params).await
16381    }
16382
16383    /// Call the `assignDIDvPRI` API method and return the raw JSON envelope.
16384    pub async fn assign_did_vpri_raw(&self, params: &AssignDIDvPRIParams) -> Result<Value> {
16385        self.call_raw("assignDIDvPRI", params).await
16386    }
16387
16388    /// \- Backorder DID (CANADA) from a specific ratecenter and province.
16389    ///
16390    /// Call the `backOrderDIDCAN` API method and deserialize into [`BackOrderDIDCANResponse`].
16391    pub async fn back_order_did_can(
16392        &self,
16393        params: &BackOrderDIDCANParams,
16394    ) -> Result<BackOrderDIDCANResponse> {
16395        self.call("backOrderDIDCAN", params).await
16396    }
16397
16398    /// Call the `backOrderDIDCAN` API method and return the raw JSON envelope.
16399    pub async fn back_order_did_can_raw(&self, params: &BackOrderDIDCANParams) -> Result<Value> {
16400        self.call_raw("backOrderDIDCAN", params).await
16401    }
16402
16403    /// \- Backorder DID (USA) from a specific ratecenter and state.
16404    ///
16405    /// Call the `backOrderDIDUSA` API method and deserialize into [`BackOrderDIDUSAResponse`].
16406    pub async fn back_order_did_usa(
16407        &self,
16408        params: &BackOrderDIDUSAParams,
16409    ) -> Result<BackOrderDIDUSAResponse> {
16410        self.call("backOrderDIDUSA", params).await
16411    }
16412
16413    /// Call the `backOrderDIDUSA` API method and return the raw JSON envelope.
16414    pub async fn back_order_did_usa_raw(&self, params: &BackOrderDIDUSAParams) -> Result<Value> {
16415        self.call_raw("backOrderDIDUSA", params).await
16416    }
16417
16418    /// \- Deletes a specific DID from your Account.
16419    ///
16420    /// Call the `cancelDID` API method and deserialize into [`CancelDIDResponse`].
16421    pub async fn cancel_did(&self, params: &CancelDIDParams) -> Result<CancelDIDResponse> {
16422        self.call("cancelDID", params).await
16423    }
16424
16425    /// Call the `cancelDID` API method and return the raw JSON envelope.
16426    pub async fn cancel_did_raw(&self, params: &CancelDIDParams) -> Result<Value> {
16427        self.call_raw("cancelDID", params).await
16428    }
16429
16430    /// \- Deletes a specific Fax Number from your Account.
16431    ///
16432    /// Call the `cancelFaxNumber` API method and deserialize into [`CancelFAXNumberResponse`].
16433    pub async fn cancel_fax_number(
16434        &self,
16435        params: &CancelFAXNumberParams,
16436    ) -> Result<CancelFAXNumberResponse> {
16437        self.call("cancelFaxNumber", params).await
16438    }
16439
16440    /// Call the `cancelFaxNumber` API method and return the raw JSON envelope.
16441    pub async fn cancel_fax_number_raw(&self, params: &CancelFAXNumberParams) -> Result<Value> {
16442        self.call_raw("cancelFaxNumber", params).await
16443    }
16444
16445    /// \- Connects a specific DID to a specific Reseller Client Sub Account
16446    ///
16447    /// Call the `connectDID` API method and deserialize into [`ConnectDIDResponse`].
16448    pub async fn connect_did(&self, params: &ConnectDIDParams) -> Result<ConnectDIDResponse> {
16449        self.call("connectDID", params).await
16450    }
16451
16452    /// Call the `connectDID` API method and return the raw JSON envelope.
16453    pub async fn connect_did_raw(&self, params: &ConnectDIDParams) -> Result<Value> {
16454        self.call_raw("connectDID", params).await
16455    }
16456
16457    /// \- Connects a specific FAX DID to a specific Reseller Client Sub Account
16458    ///
16459    /// Call the `connectFAX` API method and deserialize into [`ConnectFAXResponse`].
16460    pub async fn connect_fax(&self, params: &ConnectFAXParams) -> Result<ConnectFAXResponse> {
16461        self.call("connectFAX", params).await
16462    }
16463
16464    /// Call the `connectFAX` API method and return the raw JSON envelope.
16465    pub async fn connect_fax_raw(&self, params: &ConnectFAXParams) -> Result<Value> {
16466        self.call_raw("connectFAX", params).await
16467    }
16468
16469    /// \- Adds a new Sub Account entry to your Account
16470    ///
16471    /// Call the `createSubAccount` API method and deserialize into [`CreateSubAccountResponse`].
16472    pub async fn create_sub_account(
16473        &self,
16474        params: &CreateSubAccountParams,
16475    ) -> Result<CreateSubAccountResponse> {
16476        self.call("createSubAccount", params).await
16477    }
16478
16479    /// Call the `createSubAccount` API method and return the raw JSON envelope.
16480    pub async fn create_sub_account_raw(&self, params: &CreateSubAccountParams) -> Result<Value> {
16481        self.call_raw("createSubAccount", params).await
16482    }
16483
16484    /// \- Adds a new Voicemail entry to your Account
16485    ///
16486    /// Call the `createVoicemail` API method and deserialize into [`CreateVoicemailResponse`].
16487    pub async fn create_voicemail(
16488        &self,
16489        params: &CreateVoicemailParams,
16490    ) -> Result<CreateVoicemailResponse> {
16491        self.call("createVoicemail", params).await
16492    }
16493
16494    /// Call the `createVoicemail` API method and return the raw JSON envelope.
16495    pub async fn create_voicemail_raw(&self, params: &CreateVoicemailParams) -> Result<Value> {
16496        self.call_raw("createVoicemail", params).await
16497    }
16498
16499    /// \- Deletes a specific Call Hunting from your Account.
16500    ///
16501    /// Call the `delCallHunting` API method and deserialize into [`DelCallHuntingResponse`].
16502    pub async fn del_call_hunting(
16503        &self,
16504        params: &DelCallHuntingParams,
16505    ) -> Result<DelCallHuntingResponse> {
16506        self.call("delCallHunting", params).await
16507    }
16508
16509    /// Call the `delCallHunting` API method and return the raw JSON envelope.
16510    pub async fn del_call_hunting_raw(&self, params: &DelCallHuntingParams) -> Result<Value> {
16511        self.call_raw("delCallHunting", params).await
16512    }
16513
16514    /// \- Deletes a specific Call Parking entry from your Account.
16515    ///
16516    /// Call the `delCallParking` API method and deserialize into [`DelCallParkingResponse`].
16517    pub async fn del_call_parking(
16518        &self,
16519        params: &DelCallParkingParams,
16520    ) -> Result<DelCallParkingResponse> {
16521        self.call("delCallParking", params).await
16522    }
16523
16524    /// Call the `delCallParking` API method and return the raw JSON envelope.
16525    pub async fn del_call_parking_raw(&self, params: &DelCallParkingParams) -> Result<Value> {
16526        self.call_raw("delCallParking", params).await
16527    }
16528
16529    /// \- Delete specific call recording, audio file and information related.
16530    ///
16531    /// Call the `delCallRecording` API method and deserialize into [`DelCallRecordingResponse`].
16532    pub async fn del_call_recording(
16533        &self,
16534        params: &DelCallRecordingParams,
16535    ) -> Result<DelCallRecordingResponse> {
16536        self.call("delCallRecording", params).await
16537    }
16538
16539    /// Call the `delCallRecording` API method and return the raw JSON envelope.
16540    pub async fn del_call_recording_raw(&self, params: &DelCallRecordingParams) -> Result<Value> {
16541        self.call_raw("delCallRecording", params).await
16542    }
16543
16544    /// \- Deletes a specific Callback from your Account.
16545    ///
16546    /// Call the `delCallback` API method and deserialize into [`DelCallbackResponse`].
16547    pub async fn del_callback(&self, params: &DelCallbackParams) -> Result<DelCallbackResponse> {
16548        self.call("delCallback", params).await
16549    }
16550
16551    /// Call the `delCallback` API method and return the raw JSON envelope.
16552    pub async fn del_callback_raw(&self, params: &DelCallbackParams) -> Result<Value> {
16553        self.call_raw("delCallback", params).await
16554    }
16555
16556    /// \- Deletes a specific CallerID Filtering from your Account.
16557    ///
16558    /// Call the `delCallerIDFiltering` API method and deserialize into [`DelCallerIDFilteringResponse`].
16559    pub async fn del_caller_id_filtering(
16560        &self,
16561        params: &DelCallerIDFilteringParams,
16562    ) -> Result<DelCallerIDFilteringResponse> {
16563        self.call("delCallerIDFiltering", params).await
16564    }
16565
16566    /// Call the `delCallerIDFiltering` API method and return the raw JSON envelope.
16567    pub async fn del_caller_id_filtering_raw(
16568        &self,
16569        params: &DelCallerIDFilteringParams,
16570    ) -> Result<Value> {
16571        self.call_raw("delCallerIDFiltering", params).await
16572    }
16573
16574    /// \- Deletes a specific reseller client from your Account.
16575    ///
16576    /// Call the `delClient` API method and deserialize into [`DelClientResponse`].
16577    pub async fn del_client(&self, params: &DelClientParams) -> Result<DelClientResponse> {
16578        self.call("delClient", params).await
16579    }
16580
16581    /// Call the `delClient` API method and return the raw JSON envelope.
16582    pub async fn del_client_raw(&self, params: &DelClientParams) -> Result<Value> {
16583        self.call_raw("delClient", params).await
16584    }
16585
16586    /// \- Deletes a specific Conference from your Account.
16587    ///
16588    /// Call the `delConference` API method and deserialize into [`DelConferenceResponse`].
16589    pub async fn del_conference(
16590        &self,
16591        params: &DelConferenceParams,
16592    ) -> Result<DelConferenceResponse> {
16593        self.call("delConference", params).await
16594    }
16595
16596    /// Call the `delConference` API method and return the raw JSON envelope.
16597    pub async fn del_conference_raw(&self, params: &DelConferenceParams) -> Result<Value> {
16598        self.call_raw("delConference", params).await
16599    }
16600
16601    /// \- Deletes a specific Member profile from your Account.
16602    ///
16603    /// Call the `delConferenceMember` API method and deserialize into [`DelConferenceMemberResponse`].
16604    pub async fn del_conference_member(
16605        &self,
16606        params: &DelConferenceMemberParams,
16607    ) -> Result<DelConferenceMemberResponse> {
16608        self.call("delConferenceMember", params).await
16609    }
16610
16611    /// Call the `delConferenceMember` API method and return the raw JSON envelope.
16612    pub async fn del_conference_member_raw(
16613        &self,
16614        params: &DelConferenceMemberParams,
16615    ) -> Result<Value> {
16616        self.call_raw("delConferenceMember", params).await
16617    }
16618
16619    /// \- Deletes a specific DISA from your Account.
16620    ///
16621    /// Call the `delDISA` API method and deserialize into [`DelDISAResponse`].
16622    pub async fn del_disa(&self, params: &DelDISAParams) -> Result<DelDISAResponse> {
16623        self.call("delDISA", params).await
16624    }
16625
16626    /// Call the `delDISA` API method and return the raw JSON envelope.
16627    pub async fn del_disa_raw(&self, params: &DelDISAParams) -> Result<Value> {
16628        self.call_raw("delDISA", params).await
16629    }
16630
16631    /// \- Deletes a specific "Email to Fax configuration" from your Account.
16632    ///
16633    /// Call the `delEmailToFax` API method and deserialize into [`DelEmailToFAXResponse`].
16634    pub async fn del_email_to_fax(
16635        &self,
16636        params: &DelEmailToFAXParams,
16637    ) -> Result<DelEmailToFAXResponse> {
16638        self.call("delEmailToFax", params).await
16639    }
16640
16641    /// Call the `delEmailToFax` API method and return the raw JSON envelope.
16642    pub async fn del_email_to_fax_raw(&self, params: &DelEmailToFAXParams) -> Result<Value> {
16643        self.call_raw("delEmailToFax", params).await
16644    }
16645
16646    /// \- Deletes a specific Fax Folder from your Account.
16647    ///
16648    /// Call the `delFaxFolder` API method and deserialize into [`DelFAXFolderResponse`].
16649    pub async fn del_fax_folder(
16650        &self,
16651        params: &DelFAXFolderParams,
16652    ) -> Result<DelFAXFolderResponse> {
16653        self.call("delFaxFolder", params).await
16654    }
16655
16656    /// Call the `delFaxFolder` API method and return the raw JSON envelope.
16657    pub async fn del_fax_folder_raw(&self, params: &DelFAXFolderParams) -> Result<Value> {
16658        self.call_raw("delFaxFolder", params).await
16659    }
16660
16661    /// \- Deletes a specific Forwarding from your Account.
16662    ///
16663    /// Call the `delForwarding` API method and deserialize into [`DelForwardingResponse`].
16664    pub async fn del_forwarding(
16665        &self,
16666        params: &DelForwardingParams,
16667    ) -> Result<DelForwardingResponse> {
16668        self.call("delForwarding", params).await
16669    }
16670
16671    /// Call the `delForwarding` API method and return the raw JSON envelope.
16672    pub async fn del_forwarding_raw(&self, params: &DelForwardingParams) -> Result<Value> {
16673        self.call_raw("delForwarding", params).await
16674    }
16675
16676    /// \- Deletes a specific IVR from your Account.
16677    ///
16678    /// Call the `delIVR` API method and deserialize into [`DelIVRResponse`].
16679    pub async fn del_ivr(&self, params: &DelIVRParams) -> Result<DelIVRResponse> {
16680        self.call("delIVR", params).await
16681    }
16682
16683    /// Call the `delIVR` API method and return the raw JSON envelope.
16684    pub async fn del_ivr_raw(&self, params: &DelIVRParams) -> Result<Value> {
16685        self.call_raw("delIVR", params).await
16686    }
16687
16688    /// Call the `delLocation` API method and deserialize into [`DelLocationResponse`].
16689    pub async fn del_location(&self, params: &DelLocationParams) -> Result<DelLocationResponse> {
16690        self.call("delLocation", params).await
16691    }
16692
16693    /// Call the `delLocation` API method and return the raw JSON envelope.
16694    pub async fn del_location_raw(&self, params: &DelLocationParams) -> Result<Value> {
16695        self.call_raw("delLocation", params).await
16696    }
16697
16698    /// \- Removes a member profile from a specific Conference from your Account
16699    ///
16700    /// Call the `delMemberFromConference` API method and deserialize into [`DelMemberFromConferenceResponse`].
16701    pub async fn del_member_from_conference(
16702        &self,
16703        params: &DelMemberFromConferenceParams,
16704    ) -> Result<DelMemberFromConferenceResponse> {
16705        self.call("delMemberFromConference", params).await
16706    }
16707
16708    /// Call the `delMemberFromConference` API method and return the raw JSON envelope.
16709    pub async fn del_member_from_conference_raw(
16710        &self,
16711        params: &DelMemberFromConferenceParams,
16712    ) -> Result<Value> {
16713        self.call_raw("delMemberFromConference", params).await
16714    }
16715
16716    /// \- Deletes all messages in all servers from a specific Voicemail from
16717    /// your Account
16718    ///
16719    /// Call the `delMessages` API method and deserialize into [`DelMessagesResponse`].
16720    pub async fn del_messages(&self, params: &DelMessagesParams) -> Result<DelMessagesResponse> {
16721        self.call("delMessages", params).await
16722    }
16723
16724    /// Call the `delMessages` API method and return the raw JSON envelope.
16725    pub async fn del_messages_raw(&self, params: &DelMessagesParams) -> Result<Value> {
16726        self.call_raw("delMessages", params).await
16727    }
16728
16729    /// \- Deletes a specific custom Music on Hold.
16730    ///
16731    /// Call the `delMusicOnHold` API method and deserialize into [`DelMusicOnHoldResponse`].
16732    pub async fn del_music_on_hold(
16733        &self,
16734        params: &DelMusicOnHoldParams,
16735    ) -> Result<DelMusicOnHoldResponse> {
16736        self.call("delMusicOnHold", params).await
16737    }
16738
16739    /// Call the `delMusicOnHold` API method and return the raw JSON envelope.
16740    pub async fn del_music_on_hold_raw(&self, params: &DelMusicOnHoldParams) -> Result<Value> {
16741        self.call_raw("delMusicOnHold", params).await
16742    }
16743
16744    /// \- Deletes a specific Phonebook from your Account.
16745    ///
16746    /// Call the `delPhonebook` API method and deserialize into [`DelPhonebookResponse`].
16747    pub async fn del_phonebook(&self, params: &DelPhonebookParams) -> Result<DelPhonebookResponse> {
16748        self.call("delPhonebook", params).await
16749    }
16750
16751    /// Call the `delPhonebook` API method and return the raw JSON envelope.
16752    pub async fn del_phonebook_raw(&self, params: &DelPhonebookParams) -> Result<Value> {
16753        self.call_raw("delPhonebook", params).await
16754    }
16755
16756    /// \- Deletes a specific Phonebook group from your Account.
16757    ///
16758    /// Call the `delPhonebookGroup` API method and deserialize into [`DelPhonebookGroupResponse`].
16759    pub async fn del_phonebook_group(
16760        &self,
16761        params: &DelPhonebookGroupParams,
16762    ) -> Result<DelPhonebookGroupResponse> {
16763        self.call("delPhonebookGroup", params).await
16764    }
16765
16766    /// Call the `delPhonebookGroup` API method and return the raw JSON envelope.
16767    pub async fn del_phonebook_group_raw(&self, params: &DelPhonebookGroupParams) -> Result<Value> {
16768        self.call_raw("delPhonebookGroup", params).await
16769    }
16770
16771    /// \- Deletes a specific Queue from your Account.
16772    ///
16773    /// Call the `delQueue` API method and deserialize into [`DelQueueResponse`].
16774    pub async fn del_queue(&self, params: &DelQueueParams) -> Result<DelQueueResponse> {
16775        self.call("delQueue", params).await
16776    }
16777
16778    /// Call the `delQueue` API method and return the raw JSON envelope.
16779    pub async fn del_queue_raw(&self, params: &DelQueueParams) -> Result<Value> {
16780        self.call_raw("delQueue", params).await
16781    }
16782
16783    /// \- Deletes a specific Recording from your Account.
16784    ///
16785    /// Call the `delRecording` API method and deserialize into [`DelRecordingResponse`].
16786    pub async fn del_recording(&self, params: &DelRecordingParams) -> Result<DelRecordingResponse> {
16787        self.call("delRecording", params).await
16788    }
16789
16790    /// Call the `delRecording` API method and return the raw JSON envelope.
16791    pub async fn del_recording_raw(&self, params: &DelRecordingParams) -> Result<Value> {
16792        self.call_raw("delRecording", params).await
16793    }
16794
16795    /// \- Deletes a specific Ring Group from your Account.
16796    ///
16797    /// Call the `delRingGroup` API method and deserialize into [`DelRingGroupResponse`].
16798    pub async fn del_ring_group(
16799        &self,
16800        params: &DelRingGroupParams,
16801    ) -> Result<DelRingGroupResponse> {
16802        self.call("delRingGroup", params).await
16803    }
16804
16805    /// Call the `delRingGroup` API method and return the raw JSON envelope.
16806    pub async fn del_ring_group_raw(&self, params: &DelRingGroupParams) -> Result<Value> {
16807        self.call_raw("delRingGroup", params).await
16808    }
16809
16810    /// \- Deletes a specific SIP URI from your Account.
16811    ///
16812    /// Call the `delSIPURI` API method and deserialize into [`DelSIPURIResponse`].
16813    pub async fn del_sip_uri(&self, params: &DelSIPURIParams) -> Result<DelSIPURIResponse> {
16814        self.call("delSIPURI", params).await
16815    }
16816
16817    /// Call the `delSIPURI` API method and return the raw JSON envelope.
16818    pub async fn del_sip_uri_raw(&self, params: &DelSIPURIParams) -> Result<Value> {
16819        self.call_raw("delSIPURI", params).await
16820    }
16821
16822    /// \- Deletes a specific Static Member from Queue.
16823    ///
16824    /// Call the `delStaticMember` API method and deserialize into [`DelStaticMemberResponse`].
16825    pub async fn del_static_member(
16826        &self,
16827        params: &DelStaticMemberParams,
16828    ) -> Result<DelStaticMemberResponse> {
16829        self.call("delStaticMember", params).await
16830    }
16831
16832    /// Call the `delStaticMember` API method and return the raw JSON envelope.
16833    pub async fn del_static_member_raw(&self, params: &DelStaticMemberParams) -> Result<Value> {
16834        self.call_raw("delStaticMember", params).await
16835    }
16836
16837    /// \- Deletes a specific Sub Account from your Account
16838    ///
16839    /// Call the `delSubAccount` API method and deserialize into [`DelSubAccountResponse`].
16840    pub async fn del_sub_account(
16841        &self,
16842        params: &DelSubAccountParams,
16843    ) -> Result<DelSubAccountResponse> {
16844        self.call("delSubAccount", params).await
16845    }
16846
16847    /// Call the `delSubAccount` API method and return the raw JSON envelope.
16848    pub async fn del_sub_account_raw(&self, params: &DelSubAccountParams) -> Result<Value> {
16849        self.call_raw("delSubAccount", params).await
16850    }
16851
16852    /// \- Deletes a specific Time Condition from your Account.
16853    ///
16854    /// Call the `delTimeCondition` API method and deserialize into [`DelTimeConditionResponse`].
16855    pub async fn del_time_condition(
16856        &self,
16857        params: &DelTimeConditionParams,
16858    ) -> Result<DelTimeConditionResponse> {
16859        self.call("delTimeCondition", params).await
16860    }
16861
16862    /// Call the `delTimeCondition` API method and return the raw JSON envelope.
16863    pub async fn del_time_condition_raw(&self, params: &DelTimeConditionParams) -> Result<Value> {
16864        self.call_raw("delTimeCondition", params).await
16865    }
16866
16867    /// \- Deletes a specific Voicemail from your Account
16868    ///
16869    /// Call the `delVoicemail` API method and deserialize into [`DelVoicemailResponse`].
16870    pub async fn del_voicemail(&self, params: &DelVoicemailParams) -> Result<DelVoicemailResponse> {
16871        self.call("delVoicemail", params).await
16872    }
16873
16874    /// Call the `delVoicemail` API method and return the raw JSON envelope.
16875    pub async fn del_voicemail_raw(&self, params: &DelVoicemailParams) -> Result<Value> {
16876        self.call_raw("delVoicemail", params).await
16877    }
16878
16879    /// \- Deletes a specific Fax Message from your Account.
16880    ///
16881    /// Call the `deleteFaxMessage` API method and deserialize into [`DeleteFAXMessageResponse`].
16882    pub async fn delete_fax_message(
16883        &self,
16884        params: &DeleteFAXMessageParams,
16885    ) -> Result<DeleteFAXMessageResponse> {
16886        self.call("deleteFaxMessage", params).await
16887    }
16888
16889    /// Call the `deleteFaxMessage` API method and return the raw JSON envelope.
16890    pub async fn delete_fax_message_raw(&self, params: &DeleteFAXMessageParams) -> Result<Value> {
16891        self.call_raw("deleteFaxMessage", params).await
16892    }
16893
16894    /// \- Deletes a specific MMS from your Account.
16895    ///
16896    /// Call the `deleteMMS` API method and deserialize into [`DeleteMMSResponse`].
16897    pub async fn delete_mms(&self, params: &DeleteMMSParams) -> Result<DeleteMMSResponse> {
16898        self.call("deleteMMS", params).await
16899    }
16900
16901    /// Call the `deleteMMS` API method and return the raw JSON envelope.
16902    pub async fn delete_mms_raw(&self, params: &DeleteMMSParams) -> Result<Value> {
16903        self.call_raw("deleteMMS", params).await
16904    }
16905
16906    /// \- Deletes a specific SMS from your Account.
16907    ///
16908    /// Call the `deleteSMS` API method and deserialize into [`DeleteSMSResponse`].
16909    pub async fn delete_sms(&self, params: &DeleteSMSParams) -> Result<DeleteSMSResponse> {
16910        self.call("deleteSMS", params).await
16911    }
16912
16913    /// Call the `deleteSMS` API method and return the raw JSON envelope.
16914    pub async fn delete_sms_raw(&self, params: &DeleteSMSParams) -> Result<Value> {
16915        self.call_raw("deleteSMS", params).await
16916    }
16917
16918    /// \- Retrieves a list of e911 Address Types if no additional parameter is
16919    /// provided.
16920    /// \- Retrieves a specific e911 Address Type if an Address code is provided.
16921    ///
16922    /// Call the `e911AddressTypes` API method and deserialize into [`E911AddressTypesResponse`].
16923    pub async fn e911_address_types(
16924        &self,
16925        params: &E911AddressTypesParams,
16926    ) -> Result<E911AddressTypesResponse> {
16927        self.call("e911AddressTypes", params).await
16928    }
16929
16930    /// Call the `e911AddressTypes` API method and return the raw JSON envelope.
16931    pub async fn e911_address_types_raw(&self, params: &E911AddressTypesParams) -> Result<Value> {
16932        self.call_raw("e911AddressTypes", params).await
16933    }
16934
16935    /// \- Cancel the e911 Service from a specific DID.
16936    ///
16937    /// Call the `e911Cancel` API method and deserialize into [`E911CancelResponse`].
16938    pub async fn e911_cancel(&self, params: &E911CancelParams) -> Result<E911CancelResponse> {
16939        self.call("e911Cancel", params).await
16940    }
16941
16942    /// Call the `e911Cancel` API method and return the raw JSON envelope.
16943    pub async fn e911_cancel_raw(&self, params: &E911CancelParams) -> Result<Value> {
16944        self.call_raw("e911Cancel", params).await
16945    }
16946
16947    /// \- Retrieves the e911 information from a specific DID.
16948    ///
16949    /// Call the `e911Info` API method and deserialize into [`E911InfoResponse`].
16950    pub async fn e911_info(&self, params: &E911InfoParams) -> Result<E911InfoResponse> {
16951        self.call("e911Info", params).await
16952    }
16953
16954    /// Call the `e911Info` API method and return the raw JSON envelope.
16955    pub async fn e911_info_raw(&self, params: &E911InfoParams) -> Result<Value> {
16956        self.call_raw("e911Info", params).await
16957    }
16958
16959    /// \- Subscribes your DID to the e911 Emergency Services.
16960    ///
16961    /// Call the `e911Provision` API method and deserialize into [`E911ProvisionResponse`].
16962    pub async fn e911_provision(
16963        &self,
16964        params: &E911ProvisionParams,
16965    ) -> Result<E911ProvisionResponse> {
16966        self.call("e911Provision", params).await
16967    }
16968
16969    /// Call the `e911Provision` API method and return the raw JSON envelope.
16970    pub async fn e911_provision_raw(&self, params: &E911ProvisionParams) -> Result<Value> {
16971        self.call_raw("e911Provision", params).await
16972    }
16973
16974    /// \- Subscribes your DID to the e911 Emergency Services.
16975    /// \- All e911 information will be validated by the VoIP.ms staff.
16976    ///
16977    /// Call the `e911ProvisionManually` API method and deserialize into [`E911ProvisionManuallyResponse`].
16978    pub async fn e911_provision_manually(
16979        &self,
16980        params: &E911ProvisionManuallyParams,
16981    ) -> Result<E911ProvisionManuallyResponse> {
16982        self.call("e911ProvisionManually", params).await
16983    }
16984
16985    /// Call the `e911ProvisionManually` API method and return the raw JSON envelope.
16986    pub async fn e911_provision_manually_raw(
16987        &self,
16988        params: &E911ProvisionManuallyParams,
16989    ) -> Result<Value> {
16990        self.call_raw("e911ProvisionManually", params).await
16991    }
16992
16993    /// \- Updates the Information from your e911 Emergency Services
16994    /// Subscription.
16995    ///
16996    /// Call the `e911Update` API method and deserialize into [`E911UpdateResponse`].
16997    pub async fn e911_update(&self, params: &E911UpdateParams) -> Result<E911UpdateResponse> {
16998        self.call("e911Update", params).await
16999    }
17000
17001    /// Call the `e911Update` API method and return the raw JSON envelope.
17002    pub async fn e911_update_raw(&self, params: &E911UpdateParams) -> Result<Value> {
17003        self.call_raw("e911Update", params).await
17004    }
17005
17006    /// \- Validates your e911 information in order to start your e911 Emergency
17007    /// Services Subscription.
17008    ///
17009    /// Call the `e911Validate` API method and deserialize into [`E911ValidateResponse`].
17010    pub async fn e911_validate(&self, params: &E911ValidateParams) -> Result<E911ValidateResponse> {
17011        self.call("e911Validate", params).await
17012    }
17013
17014    /// Call the `e911Validate` API method and return the raw JSON envelope.
17015    pub async fn e911_validate_raw(&self, params: &E911ValidateParams) -> Result<Value> {
17016        self.call_raw("e911Validate", params).await
17017    }
17018
17019    /// \- Retrieves a list of Allowed Codecs if no additional parameter is
17020    /// provided.
17021    /// \- Retrieves a specific Allowed Codec if a codec code is provided.
17022    ///
17023    /// Call the `getAllowedCodecs` API method and deserialize into [`GetAllowedCodecsResponse`].
17024    pub async fn get_allowed_codecs(
17025        &self,
17026        params: &GetAllowedCodecsParams,
17027    ) -> Result<GetAllowedCodecsResponse> {
17028        self.call("getAllowedCodecs", params).await
17029    }
17030
17031    /// Call the `getAllowedCodecs` API method and return the raw JSON envelope.
17032    pub async fn get_allowed_codecs_raw(&self, params: &GetAllowedCodecsParams) -> Result<Value> {
17033        self.call_raw("getAllowedCodecs", params).await
17034    }
17035
17036    /// \- Retrieves a list of Authentication Types if no additional parameter is
17037    /// provided.
17038    /// \- Retrieves a specific Authentication Type if an auth type code is
17039    /// provided.
17040    ///
17041    /// Call the `getAuthTypes` API method and deserialize into [`GetAuthTypesResponse`].
17042    pub async fn get_auth_types(
17043        &self,
17044        params: &GetAuthTypesParams,
17045    ) -> Result<GetAuthTypesResponse> {
17046        self.call("getAuthTypes", params).await
17047    }
17048
17049    /// Call the `getAuthTypes` API method and return the raw JSON envelope.
17050    pub async fn get_auth_types_raw(&self, params: &GetAuthTypesParams) -> Result<Value> {
17051        self.call_raw("getAuthTypes", params).await
17052    }
17053
17054    /// \- Retrieves a list of backorder DIDs if no additional parameter is
17055    /// provided.
17056    /// \- Retrieves a specific backorder DID if a backorder DID code is
17057    /// provided.
17058    ///
17059    /// Call the `getBackOrders` API method and deserialize into [`GetBackOrdersResponse`].
17060    pub async fn get_back_orders(
17061        &self,
17062        params: &GetBackOrdersParams,
17063    ) -> Result<GetBackOrdersResponse> {
17064        self.call("getBackOrders", params).await
17065    }
17066
17067    /// Call the `getBackOrders` API method and return the raw JSON envelope.
17068    pub async fn get_back_orders_raw(&self, params: &GetBackOrdersParams) -> Result<Value> {
17069        self.call_raw("getBackOrders", params).await
17070    }
17071
17072    /// \- Retrieves Balance for your Account if no additional parameter is
17073    /// provided.
17074    /// \- Retrieves Balance and Calls Statistics for your Account if "advanced"
17075    /// parameter is true.
17076    ///
17077    /// Call the `getBalance` API method and deserialize into [`GetBalanceResponse`].
17078    pub async fn get_balance(&self, params: &GetBalanceParams) -> Result<GetBalanceResponse> {
17079        self.call("getBalance", params).await
17080    }
17081
17082    /// Call the `getBalance` API method and return the raw JSON envelope.
17083    pub async fn get_balance_raw(&self, params: &GetBalanceParams) -> Result<Value> {
17084        self.call_raw("getBalance", params).await
17085    }
17086
17087    /// \- Retrieves a list of Balance Management Options if no additional
17088    /// parameter is provided.
17089    /// \- Retrieves a specific Balance Management Option if a code is provided.
17090    ///
17091    /// Call the `getBalanceManagement` API method and deserialize into [`GetBalanceManagementResponse`].
17092    pub async fn get_balance_management(
17093        &self,
17094        params: &GetBalanceManagementParams,
17095    ) -> Result<GetBalanceManagementResponse> {
17096        self.call("getBalanceManagement", params).await
17097    }
17098
17099    /// Call the `getBalanceManagement` API method and return the raw JSON envelope.
17100    pub async fn get_balance_management_raw(
17101        &self,
17102        params: &GetBalanceManagementParams,
17103    ) -> Result<Value> {
17104        self.call_raw("getBalanceManagement", params).await
17105    }
17106
17107    /// \- Retrieves the Call Detail Records of all your calls.
17108    ///
17109    /// Call the `getCDR` API method and deserialize into [`GetCDRResponse`].
17110    pub async fn get_cdr(&self, params: &GetCDRParams) -> Result<GetCDRResponse> {
17111        self.call("getCDR", params).await
17112    }
17113
17114    /// Call the `getCDR` API method and return the raw JSON envelope.
17115    pub async fn get_cdr_raw(&self, params: &GetCDRParams) -> Result<Value> {
17116        self.call_raw("getCDR", params).await
17117    }
17118
17119    /// \- Retrieves all Sub Accounts if no additional parameter is provided.
17120    /// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
17121    ///
17122    /// Call the `getCallAccounts` API method and deserialize into [`GetCallAccountsResponse`].
17123    pub async fn get_call_accounts(
17124        &self,
17125        params: &GetCallAccountsParams,
17126    ) -> Result<GetCallAccountsResponse> {
17127        self.call("getCallAccounts", params).await
17128    }
17129
17130    /// Call the `getCallAccounts` API method and return the raw JSON envelope.
17131    pub async fn get_call_accounts_raw(&self, params: &GetCallAccountsParams) -> Result<Value> {
17132        self.call_raw("getCallAccounts", params).await
17133    }
17134
17135    /// \- Retrieves a list of Call Billing Options.
17136    ///
17137    /// Call the `getCallBilling` API method and deserialize into [`GetCallBillingResponse`].
17138    pub async fn get_call_billing(
17139        &self,
17140        params: &GetCallBillingParams,
17141    ) -> Result<GetCallBillingResponse> {
17142        self.call("getCallBilling", params).await
17143    }
17144
17145    /// Call the `getCallBilling` API method and return the raw JSON envelope.
17146    pub async fn get_call_billing_raw(&self, params: &GetCallBillingParams) -> Result<Value> {
17147        self.call_raw("getCallBilling", params).await
17148    }
17149
17150    /// \- Retrieves a list of Call Huntings if no additional parameter is
17151    /// provided.
17152    /// \- Retrieves a specific Call Huntings if a Call Hunting code is provided.
17153    ///
17154    /// Call the `getCallHuntings` API method and deserialize into [`GetCallHuntingsResponse`].
17155    pub async fn get_call_huntings(
17156        &self,
17157        params: &GetCallHuntingsParams,
17158    ) -> Result<GetCallHuntingsResponse> {
17159        self.call("getCallHuntings", params).await
17160    }
17161
17162    /// Call the `getCallHuntings` API method and return the raw JSON envelope.
17163    pub async fn get_call_huntings_raw(&self, params: &GetCallHuntingsParams) -> Result<Value> {
17164        self.call_raw("getCallHuntings", params).await
17165    }
17166
17167    /// \- Retrieves all Call Parking entries if no additional parameter is
17168    /// provided.
17169    /// \- Retrieves a specific Parking entry if a Call Parking ID is provided.
17170    ///
17171    /// Call the `getCallParking` API method and deserialize into [`GetCallParkingResponse`].
17172    pub async fn get_call_parking(
17173        &self,
17174        params: &GetCallParkingParams,
17175    ) -> Result<GetCallParkingResponse> {
17176        self.call("getCallParking", params).await
17177    }
17178
17179    /// Call the `getCallParking` API method and return the raw JSON envelope.
17180    pub async fn get_call_parking_raw(&self, params: &GetCallParkingParams) -> Result<Value> {
17181        self.call_raw("getCallParking", params).await
17182    }
17183
17184    /// \- Retrieves one especific call recording information, including the
17185    /// recording file on mp3 format.
17186    ///
17187    /// Call the `getCallRecording` API method and deserialize into [`GetCallRecordingResponse`].
17188    pub async fn get_call_recording(
17189        &self,
17190        params: &GetCallRecordingParams,
17191    ) -> Result<GetCallRecordingResponse> {
17192        self.call("getCallRecording", params).await
17193    }
17194
17195    /// Call the `getCallRecording` API method and return the raw JSON envelope.
17196    pub async fn get_call_recording_raw(&self, params: &GetCallRecordingParams) -> Result<Value> {
17197        self.call_raw("getCallRecording", params).await
17198    }
17199
17200    /// \- Retrieves all call recordings related to account.
17201    ///
17202    /// Call the `getCallRecordings` API method and deserialize into [`GetCallRecordingsResponse`].
17203    pub async fn get_call_recordings(
17204        &self,
17205        params: &GetCallRecordingsParams,
17206    ) -> Result<GetCallRecordingsResponse> {
17207        self.call("getCallRecordings", params).await
17208    }
17209
17210    /// Call the `getCallRecordings` API method and return the raw JSON envelope.
17211    pub async fn get_call_recordings_raw(&self, params: &GetCallRecordingsParams) -> Result<Value> {
17212        self.call_raw("getCallRecordings", params).await
17213    }
17214
17215    /// \- Retrieves all Call Transcriptions if no additional parameter is
17216    /// provided.
17217    ///
17218    /// Call the `getCallTranscriptions` API method and deserialize into [`GetCallTranscriptionsResponse`].
17219    pub async fn get_call_transcriptions(
17220        &self,
17221        params: &GetCallTranscriptionsParams,
17222    ) -> Result<GetCallTranscriptionsResponse> {
17223        self.call("getCallTranscriptions", params).await
17224    }
17225
17226    /// Call the `getCallTranscriptions` API method and return the raw JSON envelope.
17227    pub async fn get_call_transcriptions_raw(
17228        &self,
17229        params: &GetCallTranscriptionsParams,
17230    ) -> Result<Value> {
17231        self.call_raw("getCallTranscriptions", params).await
17232    }
17233
17234    /// \- Retrieves a list of Call Types and All DIDs if no additional parameter
17235    /// is provided.
17236    /// \- Retrieves a list of Call Types and Reseller Client DIDs if a Reseller
17237    /// Client ID is provided.
17238    ///
17239    /// Call the `getCallTypes` API method and deserialize into [`GetCallTypesResponse`].
17240    pub async fn get_call_types(
17241        &self,
17242        params: &GetCallTypesParams,
17243    ) -> Result<GetCallTypesResponse> {
17244        self.call("getCallTypes", params).await
17245    }
17246
17247    /// Call the `getCallTypes` API method and return the raw JSON envelope.
17248    pub async fn get_call_types_raw(&self, params: &GetCallTypesParams) -> Result<Value> {
17249        self.call_raw("getCallTypes", params).await
17250    }
17251
17252    /// \- Retrieves a list of Callbacks if no additional parameter is provided.
17253    /// \- Retrieves a specific Callback if a Callback code is provided.
17254    ///
17255    /// Call the `getCallbacks` API method and deserialize into [`GetCallbacksResponse`].
17256    pub async fn get_callbacks(&self, params: &GetCallbacksParams) -> Result<GetCallbacksResponse> {
17257        self.call("getCallbacks", params).await
17258    }
17259
17260    /// Call the `getCallbacks` API method and return the raw JSON envelope.
17261    pub async fn get_callbacks_raw(&self, params: &GetCallbacksParams) -> Result<Value> {
17262        self.call_raw("getCallbacks", params).await
17263    }
17264
17265    /// \- Retrieves a list of CallerID Filterings if no additional parameter is
17266    /// provided.
17267    /// \- Retrieves a specific CallerID Filtering if a CallerID Filtering code
17268    /// is provided.
17269    ///
17270    /// Call the `getCallerIDFiltering` API method and deserialize into [`GetCallerIDFilteringResponse`].
17271    pub async fn get_caller_id_filtering(
17272        &self,
17273        params: &GetCallerIDFilteringParams,
17274    ) -> Result<GetCallerIDFilteringResponse> {
17275        self.call("getCallerIDFiltering", params).await
17276    }
17277
17278    /// Call the `getCallerIDFiltering` API method and return the raw JSON envelope.
17279    pub async fn get_caller_id_filtering_raw(
17280        &self,
17281        params: &GetCallerIDFilteringParams,
17282    ) -> Result<Value> {
17283        self.call_raw("getCallerIDFiltering", params).await
17284    }
17285
17286    /// \- Retrieves a list of Carriers for Vanity Numbers if no additional
17287    /// parameter is provided.
17288    /// \- Retrieves a specific Carrier for Vanity Numbers if a carrier code is
17289    /// provided.
17290    ///
17291    /// Call the `getCarriers` API method and deserialize into [`GetCarriersResponse`].
17292    pub async fn get_carriers(&self, params: &GetCarriersParams) -> Result<GetCarriersResponse> {
17293        self.call("getCarriers", params).await
17294    }
17295
17296    /// Call the `getCarriers` API method and return the raw JSON envelope.
17297    pub async fn get_carriers_raw(&self, params: &GetCarriersParams) -> Result<Value> {
17298        self.call_raw("getCarriers", params).await
17299    }
17300
17301    /// \- Retrieves Charges made to a specific Reseller Client.
17302    ///
17303    /// Call the `getCharges` API method and deserialize into [`GetChargesResponse`].
17304    pub async fn get_charges(&self, params: &GetChargesParams) -> Result<GetChargesResponse> {
17305        self.call("getCharges", params).await
17306    }
17307
17308    /// Call the `getCharges` API method and return the raw JSON envelope.
17309    pub async fn get_charges_raw(&self, params: &GetChargesParams) -> Result<Value> {
17310        self.call_raw("getCharges", params).await
17311    }
17312
17313    /// \- Retrieves a list of Packages for a specific Reseller Client.
17314    ///
17315    /// Call the `getClientPackages` API method and deserialize into [`GetClientPackagesResponse`].
17316    pub async fn get_client_packages(
17317        &self,
17318        params: &GetClientPackagesParams,
17319    ) -> Result<GetClientPackagesResponse> {
17320        self.call("getClientPackages", params).await
17321    }
17322
17323    /// Call the `getClientPackages` API method and return the raw JSON envelope.
17324    pub async fn get_client_packages_raw(&self, params: &GetClientPackagesParams) -> Result<Value> {
17325        self.call_raw("getClientPackages", params).await
17326    }
17327
17328    /// \- Retrieves the Threshold Information for a specific Reseller Client.
17329    ///
17330    /// Call the `getClientThreshold` API method and deserialize into [`GetClientThresholdResponse`].
17331    pub async fn get_client_threshold(
17332        &self,
17333        params: &GetClientThresholdParams,
17334    ) -> Result<GetClientThresholdResponse> {
17335        self.call("getClientThreshold", params).await
17336    }
17337
17338    /// Call the `getClientThreshold` API method and return the raw JSON envelope.
17339    pub async fn get_client_threshold_raw(
17340        &self,
17341        params: &GetClientThresholdParams,
17342    ) -> Result<Value> {
17343        self.call_raw("getClientThreshold", params).await
17344    }
17345
17346    /// \- Retrieves a list of all Clients if no additional parameter is
17347    /// provided.- Retrieves a specific Reseller Client if a Reseller Client ID
17348    /// is provided.
17349    /// \- Retrieves a specific Reseller Client if a Reseller Client e-mail is
17350    /// provided.
17351    ///
17352    /// Call the `getClients` API method and deserialize into [`GetClientsResponse`].
17353    pub async fn get_clients(&self, params: &GetClientsParams) -> Result<GetClientsResponse> {
17354        self.call("getClients", params).await
17355    }
17356
17357    /// Call the `getClients` API method and return the raw JSON envelope.
17358    pub async fn get_clients_raw(&self, params: &GetClientsParams) -> Result<Value> {
17359        self.call_raw("getClients", params).await
17360    }
17361
17362    /// \- Retrieves a list of Conferences if no additional parameter is
17363    /// provided.
17364    /// \- Retrieves a specific Conference if a conference code is provided.
17365    ///
17366    /// Call the `getConference` API method and deserialize into [`GetConferenceResponse`].
17367    pub async fn get_conference(
17368        &self,
17369        params: &GetConferenceParams,
17370    ) -> Result<GetConferenceResponse> {
17371        self.call("getConference", params).await
17372    }
17373
17374    /// Call the `getConference` API method and return the raw JSON envelope.
17375    pub async fn get_conference_raw(&self, params: &GetConferenceParams) -> Result<Value> {
17376        self.call_raw("getConference", params).await
17377    }
17378
17379    /// \- Retrieves a list of Member profiles if no additional parameter is
17380    /// provided.
17381    /// \- Retrieves a specific member if a member code is provided.
17382    ///
17383    /// Call the `getConferenceMembers` API method and deserialize into [`GetConferenceMembersResponse`].
17384    pub async fn get_conference_members(
17385        &self,
17386        params: &GetConferenceMembersParams,
17387    ) -> Result<GetConferenceMembersResponse> {
17388        self.call("getConferenceMembers", params).await
17389    }
17390
17391    /// Call the `getConferenceMembers` API method and return the raw JSON envelope.
17392    pub async fn get_conference_members_raw(
17393        &self,
17394        params: &GetConferenceMembersParams,
17395    ) -> Result<Value> {
17396        self.call_raw("getConferenceMembers", params).await
17397    }
17398
17399    /// \- Retrieves a specific Recording File data in Base64 format.
17400    ///
17401    /// Call the `getConferenceRecordingFile` API method and deserialize into [`GetConferenceRecordingFileResponse`].
17402    pub async fn get_conference_recording_file(
17403        &self,
17404        params: &GetConferenceRecordingFileParams,
17405    ) -> Result<GetConferenceRecordingFileResponse> {
17406        self.call("getConferenceRecordingFile", params).await
17407    }
17408
17409    /// Call the `getConferenceRecordingFile` API method and return the raw JSON envelope.
17410    pub async fn get_conference_recording_file_raw(
17411        &self,
17412        params: &GetConferenceRecordingFileParams,
17413    ) -> Result<Value> {
17414        self.call_raw("getConferenceRecordingFile", params).await
17415    }
17416
17417    /// \- Retrieves a list of recordings of a specific conference.
17418    ///
17419    /// Call the `getConferenceRecordings` API method and deserialize into [`GetConferenceRecordingsResponse`].
17420    pub async fn get_conference_recordings(
17421        &self,
17422        params: &GetConferenceRecordingsParams,
17423    ) -> Result<GetConferenceRecordingsResponse> {
17424        self.call("getConferenceRecordings", params).await
17425    }
17426
17427    /// Call the `getConferenceRecordings` API method and return the raw JSON envelope.
17428    pub async fn get_conference_recordings_raw(
17429        &self,
17430        params: &GetConferenceRecordingsParams,
17431    ) -> Result<Value> {
17432        self.call_raw("getConferenceRecordings", params).await
17433    }
17434
17435    /// \- Retrieves a list of Countries if no additional parameter is provided.
17436    /// \- Retrieves a specific Country if a country code is provided.
17437    ///
17438    /// Call the `getCountries` API method and deserialize into [`GetCountriesResponse`].
17439    pub async fn get_countries(&self, params: &GetCountriesParams) -> Result<GetCountriesResponse> {
17440        self.call("getCountries", params).await
17441    }
17442
17443    /// Call the `getCountries` API method and return the raw JSON envelope.
17444    pub async fn get_countries_raw(&self, params: &GetCountriesParams) -> Result<Value> {
17445        self.call_raw("getCountries", params).await
17446    }
17447
17448    /// \- Retrieves a list of Countries for International DIDs if no country
17449    /// code is provided.
17450    /// \- Retrieves a specific Country for International DIDs if a country code
17451    /// is provided.
17452    ///
17453    /// Call the `getDIDCountries` API method and deserialize into [`GetDIDCountriesResponse`].
17454    pub async fn get_did_countries(
17455        &self,
17456        params: &GetDIDCountriesParams,
17457    ) -> Result<GetDIDCountriesResponse> {
17458        self.call("getDIDCountries", params).await
17459    }
17460
17461    /// Call the `getDIDCountries` API method and return the raw JSON envelope.
17462    pub async fn get_did_countries_raw(&self, params: &GetDIDCountriesParams) -> Result<Value> {
17463        self.call_raw("getDIDCountries", params).await
17464    }
17465
17466    /// \- Retrives a list of Canadian DIDs by Province and Ratecenter.
17467    ///
17468    /// Call the `getDIDsCAN` API method and deserialize into [`GetDIDsCANResponse`].
17469    pub async fn get_dids_can(&self, params: &GetDIDsCANParams) -> Result<GetDIDsCANResponse> {
17470        self.call("getDIDsCAN", params).await
17471    }
17472
17473    /// Call the `getDIDsCAN` API method and return the raw JSON envelope.
17474    pub async fn get_dids_can_raw(&self, params: &GetDIDsCANParams) -> Result<Value> {
17475        self.call_raw("getDIDsCAN", params).await
17476    }
17477
17478    /// \- Retrieves information from all your DIDs if no additional parameter is
17479    /// provided.
17480    /// \- Retrieves information from Reseller Client's DIDs if a Reseller Client
17481    /// ID is provided.
17482    /// \- Retrieves information from Sub Account's DIDs if a Sub Accunt is
17483    /// provided.
17484    /// \- Retrieves information from a specific DID if a DID Number is provided.
17485    /// \- Retrieves SMS information from a specific DID if the SMS is available.
17486    ///
17487    /// Call the `getDIDsInfo` API method and deserialize into [`GetDIDsInfoResponse`].
17488    pub async fn get_dids_info(&self, params: &GetDIDsInfoParams) -> Result<GetDIDsInfoResponse> {
17489        self.call("getDIDsInfo", params).await
17490    }
17491
17492    /// Call the `getDIDsInfo` API method and return the raw JSON envelope.
17493    pub async fn get_dids_info_raw(&self, params: &GetDIDsInfoParams) -> Result<Value> {
17494        self.call_raw("getDIDsInfo", params).await
17495    }
17496
17497    /// \- Retrieves a list of International Geographic DIDs by Country.
17498    ///
17499    /// Call the `getDIDsInternationalGeographic` API method and deserialize into [`GetDIDsInternationalGeographicResponse`].
17500    pub async fn get_dids_international_geographic(
17501        &self,
17502        params: &GetDIDsInternationalGeographicParams,
17503    ) -> Result<GetDIDsInternationalGeographicResponse> {
17504        self.call("getDIDsInternationalGeographic", params).await
17505    }
17506
17507    /// Call the `getDIDsInternationalGeographic` API method and return the raw JSON envelope.
17508    pub async fn get_dids_international_geographic_raw(
17509        &self,
17510        params: &GetDIDsInternationalGeographicParams,
17511    ) -> Result<Value> {
17512        self.call_raw("getDIDsInternationalGeographic", params)
17513            .await
17514    }
17515
17516    /// \- Retrieves a list of International National DIDs by Country.
17517    ///
17518    /// Call the `getDIDsInternationalNational` API method and deserialize into [`GetDIDsInternationalNationalResponse`].
17519    pub async fn get_dids_international_national(
17520        &self,
17521        params: &GetDIDsInternationalNationalParams,
17522    ) -> Result<GetDIDsInternationalNationalResponse> {
17523        self.call("getDIDsInternationalNational", params).await
17524    }
17525
17526    /// Call the `getDIDsInternationalNational` API method and return the raw JSON envelope.
17527    pub async fn get_dids_international_national_raw(
17528        &self,
17529        params: &GetDIDsInternationalNationalParams,
17530    ) -> Result<Value> {
17531        self.call_raw("getDIDsInternationalNational", params).await
17532    }
17533
17534    /// \- Retrieves a list of International TollFree DIDs by Country.
17535    ///
17536    /// Call the `getDIDsInternationalTollFree` API method and deserialize into [`GetDIDsInternationalTollFreeResponse`].
17537    pub async fn get_dids_international_toll_free(
17538        &self,
17539        params: &GetDIDsInternationalTollFreeParams,
17540    ) -> Result<GetDIDsInternationalTollFreeResponse> {
17541        self.call("getDIDsInternationalTollFree", params).await
17542    }
17543
17544    /// Call the `getDIDsInternationalTollFree` API method and return the raw JSON envelope.
17545    pub async fn get_dids_international_toll_free_raw(
17546        &self,
17547        params: &GetDIDsInternationalTollFreeParams,
17548    ) -> Result<Value> {
17549        self.call_raw("getDIDsInternationalTollFree", params).await
17550    }
17551
17552    /// \- Retrives a list of USA DIDs by State and Ratecenter.
17553    ///
17554    /// Call the `getDIDsUSA` API method and deserialize into [`GetDIDsUSAResponse`].
17555    pub async fn get_dids_usa(&self, params: &GetDIDsUSAParams) -> Result<GetDIDsUSAResponse> {
17556        self.call("getDIDsUSA", params).await
17557    }
17558
17559    /// Call the `getDIDsUSA` API method and return the raw JSON envelope.
17560    pub async fn get_dids_usa_raw(&self, params: &GetDIDsUSAParams) -> Result<Value> {
17561        self.call_raw("getDIDsUSA", params).await
17562    }
17563
17564    /// \- Retrives the list of DIDs assigned to the VPRI.
17565    ///
17566    /// Call the `getDIDvPRI` API method and deserialize into [`GetDIDvPRIResponse`].
17567    pub async fn get_did_vpri(&self, params: &GetDIDvPRIParams) -> Result<GetDIDvPRIResponse> {
17568        self.call("getDIDvPRI", params).await
17569    }
17570
17571    /// Call the `getDIDvPRI` API method and return the raw JSON envelope.
17572    pub async fn get_did_vpri_raw(&self, params: &GetDIDvPRIParams) -> Result<Value> {
17573        self.call_raw("getDIDvPRI", params).await
17574    }
17575
17576    /// \- Retrieves a list of DISAs if no additional parameter is provided.
17577    /// \- Retrieves a specific DISA if a DISA code is provided.
17578    ///
17579    /// Call the `getDISAs` API method and deserialize into [`GetDISAsResponse`].
17580    pub async fn get_disas(&self, params: &GetDISAsParams) -> Result<GetDISAsResponse> {
17581        self.call("getDISAs", params).await
17582    }
17583
17584    /// Call the `getDISAs` API method and return the raw JSON envelope.
17585    pub async fn get_disas_raw(&self, params: &GetDISAsParams) -> Result<Value> {
17586        self.call_raw("getDISAs", params).await
17587    }
17588
17589    /// \- Retrieves a list of DTMF Modes if no additional parameter is provided.
17590    /// \- Retrieves a specific DTMF Mode if a DTMF mode code is provided.
17591    ///
17592    /// Call the `getDTMFModes` API method and deserialize into [`GetDTMFModesResponse`].
17593    pub async fn get_dtmf_modes(
17594        &self,
17595        params: &GetDTMFModesParams,
17596    ) -> Result<GetDTMFModesResponse> {
17597        self.call("getDTMFModes", params).await
17598    }
17599
17600    /// Call the `getDTMFModes` API method and return the raw JSON envelope.
17601    pub async fn get_dtmf_modes_raw(&self, params: &GetDTMFModesParams) -> Result<Value> {
17602        self.call_raw("getDTMFModes", params).await
17603    }
17604
17605    /// \- Retrieves Deposits made for a specific Reseller Client.
17606    ///
17607    /// Call the `getDeposits` API method and deserialize into [`GetDepositsResponse`].
17608    pub async fn get_deposits(&self, params: &GetDepositsParams) -> Result<GetDepositsResponse> {
17609        self.call("getDeposits", params).await
17610    }
17611
17612    /// Call the `getDeposits` API method and return the raw JSON envelope.
17613    pub async fn get_deposits_raw(&self, params: &GetDepositsParams) -> Result<Value> {
17614        self.call_raw("getDeposits", params).await
17615    }
17616
17617    /// \- Retrieves a list of Device Types if no additional parameter is
17618    /// provided.
17619    /// \- Retrieves a specific Device Type if a device type code is provided.
17620    ///
17621    /// Call the `getDeviceTypes` API method and deserialize into [`GetDeviceTypesResponse`].
17622    pub async fn get_device_types(
17623        &self,
17624        params: &GetDeviceTypesParams,
17625    ) -> Result<GetDeviceTypesResponse> {
17626        self.call("getDeviceTypes", params).await
17627    }
17628
17629    /// Call the `getDeviceTypes` API method and return the raw JSON envelope.
17630    pub async fn get_device_types_raw(&self, params: &GetDeviceTypesParams) -> Result<Value> {
17631        self.call_raw("getDeviceTypes", params).await
17632    }
17633
17634    /// \- Retrieves a list of "Email to Fax configurations" from your account if
17635    /// no additional parameter is provided.
17636    /// \- Retrieves a specific "Email to Fax configuration" from your account if
17637    /// a ID is provided.
17638    ///
17639    /// Call the `getEmailToFax` API method and deserialize into [`GetEmailToFAXResponse`].
17640    pub async fn get_email_to_fax(
17641        &self,
17642        params: &GetEmailToFAXParams,
17643    ) -> Result<GetEmailToFAXResponse> {
17644        self.call("getEmailToFax", params).await
17645    }
17646
17647    /// Call the `getEmailToFax` API method and return the raw JSON envelope.
17648    pub async fn get_email_to_fax_raw(&self, params: &GetEmailToFAXParams) -> Result<Value> {
17649        self.call_raw("getEmailToFax", params).await
17650    }
17651
17652    /// \- Retrieves a list of Fax Folders from your account.
17653    ///
17654    /// Call the `getFaxFolders` API method and deserialize into [`GetFAXFoldersResponse`].
17655    pub async fn get_fax_folders(
17656        &self,
17657        params: &GetFAXFoldersParams,
17658    ) -> Result<GetFAXFoldersResponse> {
17659        self.call("getFaxFolders", params).await
17660    }
17661
17662    /// Call the `getFaxFolders` API method and return the raw JSON envelope.
17663    pub async fn get_fax_folders_raw(&self, params: &GetFAXFoldersParams) -> Result<Value> {
17664        self.call_raw("getFaxFolders", params).await
17665    }
17666
17667    /// \- Retrieves a Base64 code of the Fax Message to create a PDF file.
17668    ///
17669    /// Call the `getFaxMessagePDF` API method and deserialize into [`GetFAXMessagePDFResponse`].
17670    pub async fn get_fax_message_pdf(
17671        &self,
17672        params: &GetFAXMessagePDFParams,
17673    ) -> Result<GetFAXMessagePDFResponse> {
17674        self.call("getFaxMessagePDF", params).await
17675    }
17676
17677    /// Call the `getFaxMessagePDF` API method and return the raw JSON envelope.
17678    pub async fn get_fax_message_pdf_raw(&self, params: &GetFAXMessagePDFParams) -> Result<Value> {
17679        self.call_raw("getFaxMessagePDF", params).await
17680    }
17681
17682    /// \- Retrieves a list of Fax Messages.
17683    /// \- Retrieves a specific Fax Message if a Fax Message ID is provided.
17684    ///
17685    /// Call the `getFaxMessages` API method and deserialize into [`GetFAXMessagesResponse`].
17686    pub async fn get_fax_messages(
17687        &self,
17688        params: &GetFAXMessagesParams,
17689    ) -> Result<GetFAXMessagesResponse> {
17690        self.call("getFaxMessages", params).await
17691    }
17692
17693    /// Call the `getFaxMessages` API method and return the raw JSON envelope.
17694    pub async fn get_fax_messages_raw(&self, params: &GetFAXMessagesParams) -> Result<Value> {
17695        self.call_raw("getFaxMessages", params).await
17696    }
17697
17698    /// \- Retrieves a list of Fax Numbers.
17699    ///
17700    /// Call the `getFaxNumbersInfo` API method and deserialize into [`GetFAXNumbersInfoResponse`].
17701    pub async fn get_fax_numbers_info(
17702        &self,
17703        params: &GetFAXNumbersInfoParams,
17704    ) -> Result<GetFAXNumbersInfoResponse> {
17705        self.call("getFaxNumbersInfo", params).await
17706    }
17707
17708    /// Call the `getFaxNumbersInfo` API method and return the raw JSON envelope.
17709    pub async fn get_fax_numbers_info_raw(
17710        &self,
17711        params: &GetFAXNumbersInfoParams,
17712    ) -> Result<Value> {
17713        self.call_raw("getFaxNumbersInfo", params).await
17714    }
17715
17716    /// \- Shows if a Fax Number can be ported into our network
17717    ///
17718    /// Call the `getFaxNumbersPortability` API method and deserialize into [`GetFAXNumbersPortabilityResponse`].
17719    pub async fn get_fax_numbers_portability(
17720        &self,
17721        params: &GetFAXNumbersPortabilityParams,
17722    ) -> Result<GetFAXNumbersPortabilityResponse> {
17723        self.call("getFaxNumbersPortability", params).await
17724    }
17725
17726    /// Call the `getFaxNumbersPortability` API method and return the raw JSON envelope.
17727    pub async fn get_fax_numbers_portability_raw(
17728        &self,
17729        params: &GetFAXNumbersPortabilityParams,
17730    ) -> Result<Value> {
17731        self.call_raw("getFaxNumbersPortability", params).await
17732    }
17733
17734    /// \- Retrieves a list of Canadian Fax Provinces if no additional parameter
17735    /// is provided.
17736    /// \- Retrieves a specific Canadian Fax Province if a province code is
17737    /// provided.
17738    ///
17739    /// Call the `getFaxProvinces` API method and deserialize into [`GetFAXProvincesResponse`].
17740    pub async fn get_fax_provinces(
17741        &self,
17742        params: &GetFAXProvincesParams,
17743    ) -> Result<GetFAXProvincesResponse> {
17744        self.call("getFaxProvinces", params).await
17745    }
17746
17747    /// Call the `getFaxProvinces` API method and return the raw JSON envelope.
17748    pub async fn get_fax_provinces_raw(&self, params: &GetFAXProvincesParams) -> Result<Value> {
17749        self.call_raw("getFaxProvinces", params).await
17750    }
17751
17752    /// \- Retrieves a list of Canadian Ratecenters by Province.
17753    ///
17754    /// Call the `getFaxRateCentersCAN` API method and deserialize into [`GetFAXRateCentersCANResponse`].
17755    pub async fn get_fax_rate_centers_can(
17756        &self,
17757        params: &GetFAXRateCentersCANParams,
17758    ) -> Result<GetFAXRateCentersCANResponse> {
17759        self.call("getFaxRateCentersCAN", params).await
17760    }
17761
17762    /// Call the `getFaxRateCentersCAN` API method and return the raw JSON envelope.
17763    pub async fn get_fax_rate_centers_can_raw(
17764        &self,
17765        params: &GetFAXRateCentersCANParams,
17766    ) -> Result<Value> {
17767        self.call_raw("getFaxRateCentersCAN", params).await
17768    }
17769
17770    /// \- Retrieves a list of USA Ratecenters by State.
17771    ///
17772    /// Call the `getFaxRateCentersUSA` API method and deserialize into [`GetFAXRateCentersUSAResponse`].
17773    pub async fn get_fax_rate_centers_usa(
17774        &self,
17775        params: &GetFAXRateCentersUSAParams,
17776    ) -> Result<GetFAXRateCentersUSAResponse> {
17777        self.call("getFaxRateCentersUSA", params).await
17778    }
17779
17780    /// Call the `getFaxRateCentersUSA` API method and return the raw JSON envelope.
17781    pub async fn get_fax_rate_centers_usa_raw(
17782        &self,
17783        params: &GetFAXRateCentersUSAParams,
17784    ) -> Result<Value> {
17785        self.call_raw("getFaxRateCentersUSA", params).await
17786    }
17787
17788    /// \- Retrieves a list of American Fax States if no additional parameter is
17789    /// provided.
17790    /// \- Retrieves a specific American Fax State if a state code is provided.
17791    ///
17792    /// Call the `getFaxStates` API method and deserialize into [`GetFAXStatesResponse`].
17793    pub async fn get_fax_states(
17794        &self,
17795        params: &GetFAXStatesParams,
17796    ) -> Result<GetFAXStatesResponse> {
17797        self.call("getFaxStates", params).await
17798    }
17799
17800    /// Call the `getFaxStates` API method and return the raw JSON envelope.
17801    pub async fn get_fax_states_raw(&self, params: &GetFAXStatesParams) -> Result<Value> {
17802        self.call_raw("getFaxStates", params).await
17803    }
17804
17805    /// \- Retrieves a list of Forwardings if no additional parameter is
17806    /// provided.
17807    /// \- Retrieves a specific Forwarding if a fwd code is provided.
17808    ///
17809    /// Call the `getForwardings` API method and deserialize into [`GetForwardingsResponse`].
17810    pub async fn get_forwardings(
17811        &self,
17812        params: &GetForwardingsParams,
17813    ) -> Result<GetForwardingsResponse> {
17814        self.call("getForwardings", params).await
17815    }
17816
17817    /// Call the `getForwardings` API method and return the raw JSON envelope.
17818    pub async fn get_forwardings_raw(&self, params: &GetForwardingsParams) -> Result<Value> {
17819        self.call_raw("getForwardings", params).await
17820    }
17821
17822    /// \- Shows the IP used by the client application requesting information
17823    /// from the API
17824    /// \* this is the only function not using the IP for authentication.
17825    /// \* the IP returned should be the one used in the API Configuration.
17826    ///
17827    /// Call the `getIP` API method and deserialize into [`GetIPResponse`].
17828    pub async fn get_ip(&self, params: &GetIPParams) -> Result<GetIPResponse> {
17829        self.call("getIP", params).await
17830    }
17831
17832    /// Call the `getIP` API method and return the raw JSON envelope.
17833    pub async fn get_ip_raw(&self, params: &GetIPParams) -> Result<Value> {
17834        self.call_raw("getIP", params).await
17835    }
17836
17837    /// \- Retrieves a list of IVRs if no additional parameter is provided.
17838    /// \- Retrieves a specific IVR if a IVR code is provided.
17839    ///
17840    /// Call the `getIVRs` API method and deserialize into [`GetIVRsResponse`].
17841    pub async fn get_ivrs(&self, params: &GetIVRsParams) -> Result<GetIVRsResponse> {
17842        self.call("getIVRs", params).await
17843    }
17844
17845    /// Call the `getIVRs` API method and return the raw JSON envelope.
17846    pub async fn get_ivrs_raw(&self, params: &GetIVRsParams) -> Result<Value> {
17847        self.call_raw("getIVRs", params).await
17848    }
17849
17850    /// \- Retrieves a list of Types for International DIDs if no additional
17851    /// parameter is provided.
17852    /// \- Retrieves a specific Types for International DIDs if a type code is
17853    /// provided.
17854    ///
17855    /// Call the `getInternationalTypes` API method and deserialize into [`GetInternationalTypesResponse`].
17856    pub async fn get_international_types(
17857        &self,
17858        params: &GetInternationalTypesParams,
17859    ) -> Result<GetInternationalTypesResponse> {
17860        self.call("getInternationalTypes", params).await
17861    }
17862
17863    /// Call the `getInternationalTypes` API method and return the raw JSON envelope.
17864    pub async fn get_international_types_raw(
17865        &self,
17866        params: &GetInternationalTypesParams,
17867    ) -> Result<Value> {
17868        self.call_raw("getInternationalTypes", params).await
17869    }
17870
17871    /// \- Retrieves a list of 'JoinWhenEmpty' Types if no additional parameter
17872    /// is provided.
17873    /// \- Retrieves a specific 'JoinWhenEmpty' Types if a type code is provided.
17874    ///
17875    /// Call the `getJoinWhenEmptyTypes` API method and deserialize into [`GetJoinWhenEmptyTypesResponse`].
17876    pub async fn get_join_when_empty_types(
17877        &self,
17878        params: &GetJoinWhenEmptyTypesParams,
17879    ) -> Result<GetJoinWhenEmptyTypesResponse> {
17880        self.call("getJoinWhenEmptyTypes", params).await
17881    }
17882
17883    /// Call the `getJoinWhenEmptyTypes` API method and return the raw JSON envelope.
17884    pub async fn get_join_when_empty_types_raw(
17885        &self,
17886        params: &GetJoinWhenEmptyTypesParams,
17887    ) -> Result<Value> {
17888        self.call_raw("getJoinWhenEmptyTypes", params).await
17889    }
17890
17891    /// \- Retrieve the details of an attached invoice.
17892    ///
17893    /// Call the `getLNPAttach` API method and deserialize into [`GetLNPAttachResponse`].
17894    pub async fn get_lnp_attach(
17895        &self,
17896        params: &GetLNPAttachParams,
17897    ) -> Result<GetLNPAttachResponse> {
17898        self.call("getLNPAttach", params).await
17899    }
17900
17901    /// Call the `getLNPAttach` API method and return the raw JSON envelope.
17902    pub async fn get_lnp_attach_raw(&self, params: &GetLNPAttachParams) -> Result<Value> {
17903        self.call_raw("getLNPAttach", params).await
17904    }
17905
17906    /// \- Retrieve the list of invoice (attached) files from a given portability
17907    /// process.
17908    ///
17909    /// Call the `getLNPAttachList` API method and deserialize into [`GetLNPAttachListResponse`].
17910    pub async fn get_lnp_attach_list(
17911        &self,
17912        params: &GetLNPAttachListParams,
17913    ) -> Result<GetLNPAttachListResponse> {
17914        self.call("getLNPAttachList", params).await
17915    }
17916
17917    /// Call the `getLNPAttachList` API method and return the raw JSON envelope.
17918    pub async fn get_lnp_attach_list_raw(&self, params: &GetLNPAttachListParams) -> Result<Value> {
17919        self.call_raw("getLNPAttachList", params).await
17920    }
17921
17922    /// \- Retrieve the details of a given portability process.
17923    ///
17924    /// Call the `getLNPDetails` API method and deserialize into [`GetLNPDetailsResponse`].
17925    pub async fn get_lnp_details(
17926        &self,
17927        params: &GetLNPDetailsParams,
17928    ) -> Result<GetLNPDetailsResponse> {
17929        self.call("getLNPDetails", params).await
17930    }
17931
17932    /// Call the `getLNPDetails` API method and return the raw JSON envelope.
17933    pub async fn get_lnp_details_raw(&self, params: &GetLNPDetailsParams) -> Result<Value> {
17934        self.call_raw("getLNPDetails", params).await
17935    }
17936
17937    /// \- Retrieve the full list of all your portability processes.
17938    ///
17939    /// Call the `getLNPList` API method and deserialize into [`GetLNPListResponse`].
17940    pub async fn get_lnp_list(&self, params: &GetLNPListParams) -> Result<GetLNPListResponse> {
17941        self.call("getLNPList", params).await
17942    }
17943
17944    /// Call the `getLNPList` API method and return the raw JSON envelope.
17945    pub async fn get_lnp_list_raw(&self, params: &GetLNPListParams) -> Result<Value> {
17946        self.call_raw("getLNPList", params).await
17947    }
17948
17949    /// \- Retrieve the list of possible status of a portability process.
17950    ///
17951    /// Call the `getLNPListStatus` API method and deserialize into [`GetLNPListStatusResponse`].
17952    pub async fn get_lnp_list_status(
17953        &self,
17954        params: &GetLNPListStatusParams,
17955    ) -> Result<GetLNPListStatusResponse> {
17956        self.call("getLNPListStatus", params).await
17957    }
17958
17959    /// Call the `getLNPListStatus` API method and return the raw JSON envelope.
17960    pub async fn get_lnp_list_status_raw(&self, params: &GetLNPListStatusParams) -> Result<Value> {
17961        self.call_raw("getLNPListStatus", params).await
17962    }
17963
17964    /// \- Retrieve the list of notes from the given portability process.
17965    ///
17966    /// Call the `getLNPNotes` API method and deserialize into [`GetLNPNotesResponse`].
17967    pub async fn get_lnp_notes(&self, params: &GetLNPNotesParams) -> Result<GetLNPNotesResponse> {
17968        self.call("getLNPNotes", params).await
17969    }
17970
17971    /// Call the `getLNPNotes` API method and return the raw JSON envelope.
17972    pub async fn get_lnp_notes_raw(&self, params: &GetLNPNotesParams) -> Result<Value> {
17973        self.call_raw("getLNPNotes", params).await
17974    }
17975
17976    /// \- Retrieve the current status of a given portability process.
17977    ///
17978    /// Call the `getLNPStatus` API method and deserialize into [`GetLNPStatusResponse`].
17979    pub async fn get_lnp_status(
17980        &self,
17981        params: &GetLNPStatusParams,
17982    ) -> Result<GetLNPStatusResponse> {
17983        self.call("getLNPStatus", params).await
17984    }
17985
17986    /// Call the `getLNPStatus` API method and return the raw JSON envelope.
17987    pub async fn get_lnp_status_raw(&self, params: &GetLNPStatusParams) -> Result<Value> {
17988        self.call_raw("getLNPStatus", params).await
17989    }
17990
17991    /// \- Retrieves a list of Languages if no additional parameter is provided.
17992    /// \- Retrieves a specific Language if a language code is provided.
17993    ///
17994    /// Call the `getLanguages` API method and deserialize into [`GetLanguagesResponse`].
17995    pub async fn get_languages(&self, params: &GetLanguagesParams) -> Result<GetLanguagesResponse> {
17996        self.call("getLanguages", params).await
17997    }
17998
17999    /// Call the `getLanguages` API method and return the raw JSON envelope.
18000    pub async fn get_languages_raw(&self, params: &GetLanguagesParams) -> Result<Value> {
18001        self.call_raw("getLanguages", params).await
18002    }
18003
18004    /// \- Retrieves a list of locale codes if no additional parameter is
18005    /// provided.
18006    /// \- Retrieves a specific locale code if a language code is provided.
18007    ///
18008    /// Call the `getLocales` API method and deserialize into [`GetLocalesResponse`].
18009    pub async fn get_locales(&self, params: &GetLocalesParams) -> Result<GetLocalesResponse> {
18010        self.call("getLocales", params).await
18011    }
18012
18013    /// Call the `getLocales` API method and return the raw JSON envelope.
18014    pub async fn get_locales_raw(&self, params: &GetLocalesParams) -> Result<Value> {
18015        self.call_raw("getLocales", params).await
18016    }
18017
18018    /// Call the `getLocations` API method and deserialize into [`GetLocationsResponse`].
18019    pub async fn get_locations(&self, params: &GetLocationsParams) -> Result<GetLocationsResponse> {
18020        self.call("getLocations", params).await
18021    }
18022
18023    /// Call the `getLocations` API method and return the raw JSON envelope.
18024    pub async fn get_locations_raw(&self, params: &GetLocationsParams) -> Result<Value> {
18025        self.call_raw("getLocations", params).await
18026    }
18027
18028    /// \- Retrieves a list of Lock Modes if no additional parameter is provided.
18029    /// \- Retrieves a specific Lock Mode if a lock code is provided.
18030    ///
18031    /// Call the `getLockInternational` API method and deserialize into [`GetLockInternationalResponse`].
18032    pub async fn get_lock_international(
18033        &self,
18034        params: &GetLockInternationalParams,
18035    ) -> Result<GetLockInternationalResponse> {
18036        self.call("getLockInternational", params).await
18037    }
18038
18039    /// Call the `getLockInternational` API method and return the raw JSON envelope.
18040    pub async fn get_lock_international_raw(
18041        &self,
18042        params: &GetLockInternationalParams,
18043    ) -> Result<Value> {
18044        self.call_raw("getLockInternational", params).await
18045    }
18046
18047    /// \- Retrieves a list of MMS messages by: date range, mms type, DID number,
18048    /// and contact.
18049    ///
18050    /// Call the `getMMS` API method and deserialize into [`GetMMSResponse`].
18051    pub async fn get_mms(&self, params: &GetMMSParams) -> Result<GetMMSResponse> {
18052        self.call("getMMS", params).await
18053    }
18054
18055    /// Call the `getMMS` API method and return the raw JSON envelope.
18056    pub async fn get_mms_raw(&self, params: &GetMMSParams) -> Result<Value> {
18057        self.call_raw("getMMS", params).await
18058    }
18059
18060    /// \- Retrieves media files from the message.
18061    ///
18062    /// Call the `getMediaMMS` API method and deserialize into [`GetMediaMMSResponse`].
18063    pub async fn get_media_mms(&self, params: &GetMediaMMSParams) -> Result<GetMediaMMSResponse> {
18064        self.call("getMediaMMS", params).await
18065    }
18066
18067    /// Call the `getMediaMMS` API method and return the raw JSON envelope.
18068    pub async fn get_media_mms_raw(&self, params: &GetMediaMMSParams) -> Result<Value> {
18069        self.call_raw("getMediaMMS", params).await
18070    }
18071
18072    /// \- Retrieves a list of Music on Hold Options if no additional parameter
18073    /// is provided.
18074    /// \- Retrieves a specific Music on Hold Option if a MOH code is provided.
18075    ///
18076    /// Call the `getMusicOnHold` API method and deserialize into [`GetMusicOnHoldResponse`].
18077    pub async fn get_music_on_hold(
18078        &self,
18079        params: &GetMusicOnHoldParams,
18080    ) -> Result<GetMusicOnHoldResponse> {
18081        self.call("getMusicOnHold", params).await
18082    }
18083
18084    /// Call the `getMusicOnHold` API method and return the raw JSON envelope.
18085    pub async fn get_music_on_hold_raw(&self, params: &GetMusicOnHoldParams) -> Result<Value> {
18086        self.call_raw("getMusicOnHold", params).await
18087    }
18088
18089    /// \- Retrieves a list of NAT Options if no additional parameter is
18090    /// provided.
18091    /// \- Retrieves a specific NAT Option if a NAT code is provided.
18092    ///
18093    /// Call the `getNAT` API method and deserialize into [`GetNATResponse`].
18094    pub async fn get_nat(&self, params: &GetNATParams) -> Result<GetNATResponse> {
18095        self.call("getNAT", params).await
18096    }
18097
18098    /// Call the `getNAT` API method and return the raw JSON envelope.
18099    pub async fn get_nat_raw(&self, params: &GetNATParams) -> Result<Value> {
18100        self.call_raw("getNAT", params).await
18101    }
18102
18103    /// \- Retrieves a list of Packages if no additional parameter is provided.-
18104    /// Retrieves a specific Package if a package code is provided.
18105    ///
18106    /// Call the `getPackages` API method and deserialize into [`GetPackagesResponse`].
18107    pub async fn get_packages(&self, params: &GetPackagesParams) -> Result<GetPackagesResponse> {
18108        self.call("getPackages", params).await
18109    }
18110
18111    /// Call the `getPackages` API method and return the raw JSON envelope.
18112    pub async fn get_packages_raw(&self, params: &GetPackagesParams) -> Result<Value> {
18113        self.call_raw("getPackages", params).await
18114    }
18115
18116    /// \- Retrieves a list of Phonebook entries if no additional parameter is
18117    /// provided.
18118    /// \- Retrieves a list of Phonebook entries if a name is provided.
18119    /// \- Retrieves a specific Phonebook entry if a Phonebook code is provided.
18120    /// \- Retrieves a list of Phonebook entries if a phonebook group name is
18121    /// provided.
18122    /// \- Retrieves a list of Phonebook entries if a phonebook group code is
18123    /// provided.
18124    ///
18125    /// Call the `getPhonebook` API method and deserialize into [`GetPhonebookResponse`].
18126    pub async fn get_phonebook(&self, params: &GetPhonebookParams) -> Result<GetPhonebookResponse> {
18127        self.call("getPhonebook", params).await
18128    }
18129
18130    /// Call the `getPhonebook` API method and return the raw JSON envelope.
18131    pub async fn get_phonebook_raw(&self, params: &GetPhonebookParams) -> Result<Value> {
18132        self.call_raw("getPhonebook", params).await
18133    }
18134
18135    /// \- Retrieves a list of Phonebook groups if no additional parameter is
18136    /// provided.
18137    /// \- Retrieves a list of Phonebook groups if a name is provided.
18138    /// \- Retrieves a specific Phonebook group if a group ID is provided.
18139    ///
18140    /// Call the `getPhonebookGroups` API method and deserialize into [`GetPhonebookGroupsResponse`].
18141    pub async fn get_phonebook_groups(
18142        &self,
18143        params: &GetPhonebookGroupsParams,
18144    ) -> Result<GetPhonebookGroupsResponse> {
18145        self.call("getPhonebookGroups", params).await
18146    }
18147
18148    /// Call the `getPhonebookGroups` API method and return the raw JSON envelope.
18149    pub async fn get_phonebook_groups_raw(
18150        &self,
18151        params: &GetPhonebookGroupsParams,
18152    ) -> Result<Value> {
18153        self.call_raw("getPhonebookGroups", params).await
18154    }
18155
18156    /// \- Retrieves a list of Play Instructions modes if no additional parameter
18157    /// is provided.
18158    /// \- Retrieves a specific Play Instructions mode if a play code is
18159    /// provided.
18160    ///
18161    /// Call the `getPlayInstructions` API method and deserialize into [`GetPlayInstructionsResponse`].
18162    pub async fn get_play_instructions(
18163        &self,
18164        params: &GetPlayInstructionsParams,
18165    ) -> Result<GetPlayInstructionsResponse> {
18166        self.call("getPlayInstructions", params).await
18167    }
18168
18169    /// Call the `getPlayInstructions` API method and return the raw JSON envelope.
18170    pub async fn get_play_instructions_raw(
18171        &self,
18172        params: &GetPlayInstructionsParams,
18173    ) -> Result<Value> {
18174        self.call_raw("getPlayInstructions", params).await
18175    }
18176
18177    /// \- Shows if a DID Number can be ported into our network.
18178    /// \- Display plans and rates available if the DID Number can be ported into
18179    /// our network.
18180    ///
18181    /// Call the `getPortability` API method and deserialize into [`GetPortabilityResponse`].
18182    pub async fn get_portability(
18183        &self,
18184        params: &GetPortabilityParams,
18185    ) -> Result<GetPortabilityResponse> {
18186        self.call("getPortability", params).await
18187    }
18188
18189    /// Call the `getPortability` API method and return the raw JSON envelope.
18190    pub async fn get_portability_raw(&self, params: &GetPortabilityParams) -> Result<Value> {
18191        self.call_raw("getPortability", params).await
18192    }
18193
18194    /// \- Retrieves a list of Protocols if no additional parameter is provided.
18195    /// \- Retrieves a specific Protocol if a protocol code is provided.
18196    ///
18197    /// Call the `getProtocols` API method and deserialize into [`GetProtocolsResponse`].
18198    pub async fn get_protocols(&self, params: &GetProtocolsParams) -> Result<GetProtocolsResponse> {
18199        self.call("getProtocols", params).await
18200    }
18201
18202    /// Call the `getProtocols` API method and return the raw JSON envelope.
18203    pub async fn get_protocols_raw(&self, params: &GetProtocolsParams) -> Result<Value> {
18204        self.call_raw("getProtocols", params).await
18205    }
18206
18207    /// \- Retrieves a list of Canadian Provinces.
18208    ///
18209    /// Call the `getProvinces` API method and deserialize into [`GetProvincesResponse`].
18210    pub async fn get_provinces(&self, params: &GetProvincesParams) -> Result<GetProvincesResponse> {
18211        self.call("getProvinces", params).await
18212    }
18213
18214    /// Call the `getProvinces` API method and return the raw JSON envelope.
18215    pub async fn get_provinces_raw(&self, params: &GetProvincesParams) -> Result<Value> {
18216        self.call_raw("getProvinces", params).await
18217    }
18218
18219    /// \- Retrieves a list of Queue entries if no additional parameter is
18220    /// provided.
18221    /// \- Retrieves a specific Queue entry if a Queue code is provided.
18222    ///
18223    /// Call the `getQueues` API method and deserialize into [`GetQueuesResponse`].
18224    pub async fn get_queues(&self, params: &GetQueuesParams) -> Result<GetQueuesResponse> {
18225        self.call("getQueues", params).await
18226    }
18227
18228    /// Call the `getQueues` API method and return the raw JSON envelope.
18229    pub async fn get_queues_raw(&self, params: &GetQueuesParams) -> Result<Value> {
18230        self.call_raw("getQueues", params).await
18231    }
18232
18233    /// \- Retrieves a list of Canadian Ratecenters by Province.
18234    ///
18235    /// Call the `getRateCentersCAN` API method and deserialize into [`GetRateCentersCANResponse`].
18236    pub async fn get_rate_centers_can(
18237        &self,
18238        params: &GetRateCentersCANParams,
18239    ) -> Result<GetRateCentersCANResponse> {
18240        self.call("getRateCentersCAN", params).await
18241    }
18242
18243    /// Call the `getRateCentersCAN` API method and return the raw JSON envelope.
18244    pub async fn get_rate_centers_can_raw(
18245        &self,
18246        params: &GetRateCentersCANParams,
18247    ) -> Result<Value> {
18248        self.call_raw("getRateCentersCAN", params).await
18249    }
18250
18251    /// \- Retrieves a list of USA Ratecenters by State.
18252    ///
18253    /// Call the `getRateCentersUSA` API method and deserialize into [`GetRateCentersUSAResponse`].
18254    pub async fn get_rate_centers_usa(
18255        &self,
18256        params: &GetRateCentersUSAParams,
18257    ) -> Result<GetRateCentersUSAResponse> {
18258        self.call("getRateCentersUSA", params).await
18259    }
18260
18261    /// Call the `getRateCentersUSA` API method and return the raw JSON envelope.
18262    pub async fn get_rate_centers_usa_raw(
18263        &self,
18264        params: &GetRateCentersUSAParams,
18265    ) -> Result<Value> {
18266        self.call_raw("getRateCentersUSA", params).await
18267    }
18268
18269    /// \- Retrieves the Rates for a specific Package and a Search term.
18270    ///
18271    /// Call the `getRates` API method and deserialize into [`GetRatesResponse`].
18272    pub async fn get_rates(&self, params: &GetRatesParams) -> Result<GetRatesResponse> {
18273        self.call("getRates", params).await
18274    }
18275
18276    /// Call the `getRates` API method and return the raw JSON envelope.
18277    pub async fn get_rates_raw(&self, params: &GetRatesParams) -> Result<Value> {
18278        self.call_raw("getRates", params).await
18279    }
18280
18281    /// \- Retrieves a specific Recording File data in Base64 format.
18282    ///
18283    /// Call the `getRecordingFile` API method and deserialize into [`GetRecordingFileResponse`].
18284    pub async fn get_recording_file(
18285        &self,
18286        params: &GetRecordingFileParams,
18287    ) -> Result<GetRecordingFileResponse> {
18288        self.call("getRecordingFile", params).await
18289    }
18290
18291    /// Call the `getRecordingFile` API method and return the raw JSON envelope.
18292    pub async fn get_recording_file_raw(&self, params: &GetRecordingFileParams) -> Result<Value> {
18293        self.call_raw("getRecordingFile", params).await
18294    }
18295
18296    /// \- Retrieves a list of Recordings if no additional parameter is provided.
18297    /// \- Retrieves a specific Recording if a Recording code is provided.
18298    ///
18299    /// Call the `getRecordings` API method and deserialize into [`GetRecordingsResponse`].
18300    pub async fn get_recordings(
18301        &self,
18302        params: &GetRecordingsParams,
18303    ) -> Result<GetRecordingsResponse> {
18304        self.call("getRecordings", params).await
18305    }
18306
18307    /// Call the `getRecordings` API method and return the raw JSON envelope.
18308    pub async fn get_recordings_raw(&self, params: &GetRecordingsParams) -> Result<Value> {
18309        self.call_raw("getRecordings", params).await
18310    }
18311
18312    /// \- Retrieves the Registration Status of all accounts if no account is
18313    /// provided.
18314    ///
18315    /// Call the `getRegistrationStatus` API method and deserialize into [`GetRegistrationStatusResponse`].
18316    pub async fn get_registration_status(
18317        &self,
18318        params: &GetRegistrationStatusParams,
18319    ) -> Result<GetRegistrationStatusResponse> {
18320        self.call("getRegistrationStatus", params).await
18321    }
18322
18323    /// Call the `getRegistrationStatus` API method and return the raw JSON envelope.
18324    pub async fn get_registration_status_raw(
18325        &self,
18326        params: &GetRegistrationStatusParams,
18327    ) -> Result<Value> {
18328        self.call_raw("getRegistrationStatus", params).await
18329    }
18330
18331    /// \- Retrieves a list of 'ReportEstimateHoldTime' Types if no additional
18332    /// parameter is provided.
18333    /// \- Retrieves a specific 'ReportEstimateHoldTime' Type if a type code is
18334    /// provided.
18335    ///
18336    /// Call the `getReportEstimatedHoldTime` API method and deserialize into [`GetReportEstimatedHoldTimeResponse`].
18337    pub async fn get_report_estimated_hold_time(
18338        &self,
18339        params: &GetReportEstimatedHoldTimeParams,
18340    ) -> Result<GetReportEstimatedHoldTimeResponse> {
18341        self.call("getReportEstimatedHoldTime", params).await
18342    }
18343
18344    /// Call the `getReportEstimatedHoldTime` API method and return the raw JSON envelope.
18345    pub async fn get_report_estimated_hold_time_raw(
18346        &self,
18347        params: &GetReportEstimatedHoldTimeParams,
18348    ) -> Result<Value> {
18349        self.call_raw("getReportEstimatedHoldTime", params).await
18350    }
18351
18352    /// \- Retrieves Balance and Calls Statistics for a specific Reseller Client
18353    /// for the last 30 days and current day.
18354    ///
18355    /// Call the `getResellerBalance` API method and deserialize into [`GetResellerBalanceResponse`].
18356    pub async fn get_reseller_balance(
18357        &self,
18358        params: &GetResellerBalanceParams,
18359    ) -> Result<GetResellerBalanceResponse> {
18360        self.call("getResellerBalance", params).await
18361    }
18362
18363    /// Call the `getResellerBalance` API method and return the raw JSON envelope.
18364    pub async fn get_reseller_balance_raw(
18365        &self,
18366        params: &GetResellerBalanceParams,
18367    ) -> Result<Value> {
18368        self.call_raw("getResellerBalance", params).await
18369    }
18370
18371    /// \- Retrieves the Call Detail Records for a specific Reseller Client.
18372    ///
18373    /// Call the `getResellerCDR` API method and deserialize into [`GetResellerCDRResponse`].
18374    pub async fn get_reseller_cdr(
18375        &self,
18376        params: &GetResellerCDRParams,
18377    ) -> Result<GetResellerCDRResponse> {
18378        self.call("getResellerCDR", params).await
18379    }
18380
18381    /// Call the `getResellerCDR` API method and return the raw JSON envelope.
18382    pub async fn get_reseller_cdr_raw(&self, params: &GetResellerCDRParams) -> Result<Value> {
18383        self.call_raw("getResellerCDR", params).await
18384    }
18385
18386    /// \- Retrieves a list of MMS messages for a specific Reseller Client. by:
18387    /// date range, mms type, DID number, and contact
18388    ///
18389    /// Call the `getResellerMMS` API method and deserialize into [`GetResellerMMSResponse`].
18390    pub async fn get_reseller_mms(
18391        &self,
18392        params: &GetResellerMMSParams,
18393    ) -> Result<GetResellerMMSResponse> {
18394        self.call("getResellerMMS", params).await
18395    }
18396
18397    /// Call the `getResellerMMS` API method and return the raw JSON envelope.
18398    pub async fn get_reseller_mms_raw(&self, params: &GetResellerMMSParams) -> Result<Value> {
18399        self.call_raw("getResellerMMS", params).await
18400    }
18401
18402    /// \- Retrieves a list of SMS messages for a specific Reseller Client. by:
18403    /// date range, sms type, DID number, and contact
18404    ///
18405    /// Call the `getResellerSMS` API method and deserialize into [`GetResellerSMSResponse`].
18406    pub async fn get_reseller_sms(
18407        &self,
18408        params: &GetResellerSMSParams,
18409    ) -> Result<GetResellerSMSResponse> {
18410        self.call("getResellerSMS", params).await
18411    }
18412
18413    /// Call the `getResellerSMS` API method and return the raw JSON envelope.
18414    pub async fn get_reseller_sms_raw(&self, params: &GetResellerSMSParams) -> Result<Value> {
18415        self.call_raw("getResellerSMS", params).await
18416    }
18417
18418    /// \- Retrieves a list of Ring Groups if no additional parameter is
18419    /// provided.
18420    /// \- Retrieves a specific Ring Group if a ring group code is provided.
18421    ///
18422    /// Call the `getRingGroups` API method and deserialize into [`GetRingGroupsResponse`].
18423    pub async fn get_ring_groups(
18424        &self,
18425        params: &GetRingGroupsParams,
18426    ) -> Result<GetRingGroupsResponse> {
18427        self.call("getRingGroups", params).await
18428    }
18429
18430    /// Call the `getRingGroups` API method and return the raw JSON envelope.
18431    pub async fn get_ring_groups_raw(&self, params: &GetRingGroupsParams) -> Result<Value> {
18432        self.call_raw("getRingGroups", params).await
18433    }
18434
18435    /// \- Retrieves a list of Ring Strategies if no additional parameter is
18436    /// provided.
18437    /// \- Retrieves a specific Ring Strategy if a ring strategy code is
18438    /// provided.
18439    ///
18440    /// Call the `getRingStrategies` API method and deserialize into [`GetRingStrategiesResponse`].
18441    pub async fn get_ring_strategies(
18442        &self,
18443        params: &GetRingStrategiesParams,
18444    ) -> Result<GetRingStrategiesResponse> {
18445        self.call("getRingStrategies", params).await
18446    }
18447
18448    /// Call the `getRingStrategies` API method and return the raw JSON envelope.
18449    pub async fn get_ring_strategies_raw(&self, params: &GetRingStrategiesParams) -> Result<Value> {
18450        self.call_raw("getRingStrategies", params).await
18451    }
18452
18453    /// \- Retrieves a list of Route Options if no additional parameter is
18454    /// provided.
18455    /// \- Retrieves a specific Route Option if a route code is provided.
18456    ///
18457    /// Call the `getRoutes` API method and deserialize into [`GetRoutesResponse`].
18458    pub async fn get_routes(&self, params: &GetRoutesParams) -> Result<GetRoutesResponse> {
18459        self.call("getRoutes", params).await
18460    }
18461
18462    /// Call the `getRoutes` API method and return the raw JSON envelope.
18463    pub async fn get_routes_raw(&self, params: &GetRoutesParams) -> Result<Value> {
18464        self.call_raw("getRoutes", params).await
18465    }
18466
18467    /// \- Retrieves a list of SIP URIs if no additional parameter is provided.
18468    /// \- Retrieves a specific SIP URI if a SIP URI code is provided.
18469    ///
18470    /// Call the `getSIPURIs` API method and deserialize into [`GetSIPURIsResponse`].
18471    pub async fn get_sip_uris(&self, params: &GetSIPURIsParams) -> Result<GetSIPURIsResponse> {
18472        self.call("getSIPURIs", params).await
18473    }
18474
18475    /// Call the `getSIPURIs` API method and return the raw JSON envelope.
18476    pub async fn get_sip_uris_raw(&self, params: &GetSIPURIsParams) -> Result<Value> {
18477        self.call_raw("getSIPURIs", params).await
18478    }
18479
18480    /// \- Retrieves a list of SMS messages by: date range, sms type, DID number,
18481    /// and contact.
18482    ///
18483    /// Call the `getSMS` API method and deserialize into [`GetSMSResponse`].
18484    pub async fn get_sms(&self, params: &GetSMSParams) -> Result<GetSMSResponse> {
18485        self.call("getSMS", params).await
18486    }
18487
18488    /// Call the `getSMS` API method and return the raw JSON envelope.
18489    pub async fn get_sms_raw(&self, params: &GetSMSParams) -> Result<Value> {
18490        self.call_raw("getSMS", params).await
18491    }
18492
18493    /// \- Retrieves a list of Servers with their info if no additional parameter
18494    /// is provided.
18495    /// \- Retrieves a specific Server with its info if a Server POP is provided.
18496    ///
18497    /// Call the `getServersInfo` API method and deserialize into [`GetServersInfoResponse`].
18498    pub async fn get_servers_info(
18499        &self,
18500        params: &GetServersInfoParams,
18501    ) -> Result<GetServersInfoResponse> {
18502        self.call("getServersInfo", params).await
18503    }
18504
18505    /// Call the `getServersInfo` API method and return the raw JSON envelope.
18506    pub async fn get_servers_info_raw(&self, params: &GetServersInfoParams) -> Result<Value> {
18507        self.call_raw("getServersInfo", params).await
18508    }
18509
18510    /// \- Retrieves a list of USA States.
18511    ///
18512    /// Call the `getStates` API method and deserialize into [`GetStatesResponse`].
18513    pub async fn get_states(&self, params: &GetStatesParams) -> Result<GetStatesResponse> {
18514        self.call("getStates", params).await
18515    }
18516
18517    /// Call the `getStates` API method and return the raw JSON envelope.
18518    pub async fn get_states_raw(&self, params: &GetStatesParams) -> Result<Value> {
18519        self.call_raw("getStates", params).await
18520    }
18521
18522    /// \- Retrieves a list of Static Members from a queue if no additional
18523    /// parameter is provided.
18524    /// \- Retrieves a specific Static Member from a queue if Queue ID and Member
18525    /// ID are provided
18526    ///
18527    /// Call the `getStaticMembers` API method and deserialize into [`GetStaticMembersResponse`].
18528    pub async fn get_static_members(
18529        &self,
18530        params: &GetStaticMembersParams,
18531    ) -> Result<GetStaticMembersResponse> {
18532        self.call("getStaticMembers", params).await
18533    }
18534
18535    /// Call the `getStaticMembers` API method and return the raw JSON envelope.
18536    pub async fn get_static_members_raw(&self, params: &GetStaticMembersParams) -> Result<Value> {
18537        self.call_raw("getStaticMembers", params).await
18538    }
18539
18540    /// \- Retrieves all Sub Accounts if no additional parameter is provided.
18541    /// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
18542    /// \- Retrieves a specific Sub Account if a Sub Account is provided.
18543    ///
18544    /// Call the `getSubAccounts` API method and deserialize into [`GetSubAccountsResponse`].
18545    pub async fn get_sub_accounts(
18546        &self,
18547        params: &GetSubAccountsParams,
18548    ) -> Result<GetSubAccountsResponse> {
18549        self.call("getSubAccounts", params).await
18550    }
18551
18552    /// Call the `getSubAccounts` API method and return the raw JSON envelope.
18553    pub async fn get_sub_accounts_raw(&self, params: &GetSubAccountsParams) -> Result<Value> {
18554        self.call_raw("getSubAccounts", params).await
18555    }
18556
18557    /// \- Retrieves the Rates for a specific Route (Premium, Value) and a Search
18558    /// term.
18559    ///
18560    /// Call the `getTerminationRates` API method and deserialize into [`GetTerminationRatesResponse`].
18561    pub async fn get_termination_rates(
18562        &self,
18563        params: &GetTerminationRatesParams,
18564    ) -> Result<GetTerminationRatesResponse> {
18565        self.call("getTerminationRates", params).await
18566    }
18567
18568    /// Call the `getTerminationRates` API method and return the raw JSON envelope.
18569    pub async fn get_termination_rates_raw(
18570        &self,
18571        params: &GetTerminationRatesParams,
18572    ) -> Result<Value> {
18573        self.call_raw("getTerminationRates", params).await
18574    }
18575
18576    /// \- Retrieves a list of Time Conditions if no additional parameter is
18577    /// provided.
18578    /// \- Retrieves a specific Time Condition if a time condition code is
18579    /// provided.
18580    ///
18581    /// Call the `getTimeConditions` API method and deserialize into [`GetTimeConditionsResponse`].
18582    pub async fn get_time_conditions(
18583        &self,
18584        params: &GetTimeConditionsParams,
18585    ) -> Result<GetTimeConditionsResponse> {
18586        self.call("getTimeConditions", params).await
18587    }
18588
18589    /// Call the `getTimeConditions` API method and return the raw JSON envelope.
18590    pub async fn get_time_conditions_raw(&self, params: &GetTimeConditionsParams) -> Result<Value> {
18591        self.call_raw("getTimeConditions", params).await
18592    }
18593
18594    /// \- Retrieves a list of Timezones if no additional parameter is provided.
18595    /// \- Retrieves a specific Timezone if a timezone code is provided.
18596    ///
18597    /// Call the `getTimezones` API method and deserialize into [`GetTimezonesResponse`].
18598    pub async fn get_timezones(&self, params: &GetTimezonesParams) -> Result<GetTimezonesResponse> {
18599        self.call("getTimezones", params).await
18600    }
18601
18602    /// Call the `getTimezones` API method and return the raw JSON envelope.
18603    pub async fn get_timezones_raw(&self, params: &GetTimezonesParams) -> Result<Value> {
18604        self.call_raw("getTimezones", params).await
18605    }
18606
18607    /// \- Retrieves the Transaction History records between two dates.
18608    ///
18609    /// Call the `getTransactionHistory` API method and deserialize into [`GetTransactionHistoryResponse`].
18610    pub async fn get_transaction_history(
18611        &self,
18612        params: &GetTransactionHistoryParams,
18613    ) -> Result<GetTransactionHistoryResponse> {
18614        self.call("getTransactionHistory", params).await
18615    }
18616
18617    /// Call the `getTransactionHistory` API method and return the raw JSON envelope.
18618    pub async fn get_transaction_history_raw(
18619        &self,
18620        params: &GetTransactionHistoryParams,
18621    ) -> Result<Value> {
18622        self.call_raw("getTransactionHistory", params).await
18623    }
18624
18625    /// \- Retrieves a list of vpri.
18626    ///
18627    /// Call the `getVPRIs` API method and deserialize into [`GetVPRIsResponse`].
18628    pub async fn get_vpris(&self, params: &GetVPRIsParams) -> Result<GetVPRIsResponse> {
18629        self.call("getVPRIs", params).await
18630    }
18631
18632    /// Call the `getVPRIs` API method and return the raw JSON envelope.
18633    pub async fn get_vpris_raw(&self, params: &GetVPRIsParams) -> Result<Value> {
18634        self.call_raw("getVPRIs", params).await
18635    }
18636
18637    /// \- Retrieves a list of Email Attachment Format Options if no additional
18638    /// parameter is provided.
18639    /// \- Retrieves a specific Email Attachment Format Option if a format value
18640    /// is provided.
18641    ///
18642    /// Call the `getVoicemailAttachmentFormats` API method and deserialize into [`GetVoicemailAttachmentFormatsResponse`].
18643    pub async fn get_voicemail_attachment_formats(
18644        &self,
18645        params: &GetVoicemailAttachmentFormatsParams,
18646    ) -> Result<GetVoicemailAttachmentFormatsResponse> {
18647        self.call("getVoicemailAttachmentFormats", params).await
18648    }
18649
18650    /// Call the `getVoicemailAttachmentFormats` API method and return the raw JSON envelope.
18651    pub async fn get_voicemail_attachment_formats_raw(
18652        &self,
18653        params: &GetVoicemailAttachmentFormatsParams,
18654    ) -> Result<Value> {
18655        self.call_raw("getVoicemailAttachmentFormats", params).await
18656    }
18657
18658    /// \- Retrieves a list of default Voicemail Folders if no additional
18659    /// parameter is provided.
18660    /// \- Retrieves a list of Voicemail Folders within a mailbox if mailbox
18661    /// parameter is provided.
18662    /// \- Retrieves a specific Folder if a folder name is provided.
18663    ///
18664    /// Call the `getVoicemailFolders` API method and deserialize into [`GetVoicemailFoldersResponse`].
18665    pub async fn get_voicemail_folders(
18666        &self,
18667        params: &GetVoicemailFoldersParams,
18668    ) -> Result<GetVoicemailFoldersResponse> {
18669        self.call("getVoicemailFolders", params).await
18670    }
18671
18672    /// Call the `getVoicemailFolders` API method and return the raw JSON envelope.
18673    pub async fn get_voicemail_folders_raw(
18674        &self,
18675        params: &GetVoicemailFoldersParams,
18676    ) -> Result<Value> {
18677        self.call_raw("getVoicemailFolders", params).await
18678    }
18679
18680    /// \- Retrieves a specific Voicemail Message File in Base64 format.
18681    ///
18682    /// Call the `getVoicemailMessageFile` API method and deserialize into [`GetVoicemailMessageFileResponse`].
18683    pub async fn get_voicemail_message_file(
18684        &self,
18685        params: &GetVoicemailMessageFileParams,
18686    ) -> Result<GetVoicemailMessageFileResponse> {
18687        self.call("getVoicemailMessageFile", params).await
18688    }
18689
18690    /// Call the `getVoicemailMessageFile` API method and return the raw JSON envelope.
18691    pub async fn get_voicemail_message_file_raw(
18692        &self,
18693        params: &GetVoicemailMessageFileParams,
18694    ) -> Result<Value> {
18695        self.call_raw("getVoicemailMessageFile", params).await
18696    }
18697
18698    /// \- Retrieves a list of Voicemail Messages if mailbox parameter is
18699    /// provided.
18700    /// \- Retrieves a list of Voicemail Messages in a Folder if a folder is
18701    /// provided.
18702    /// \- Retrieves a list of Voicemail Messages in a date range if a from and
18703    /// to are provided.
18704    ///
18705    /// Call the `getVoicemailMessages` API method and deserialize into [`GetVoicemailMessagesResponse`].
18706    pub async fn get_voicemail_messages(
18707        &self,
18708        params: &GetVoicemailMessagesParams,
18709    ) -> Result<GetVoicemailMessagesResponse> {
18710        self.call("getVoicemailMessages", params).await
18711    }
18712
18713    /// Call the `getVoicemailMessages` API method and return the raw JSON envelope.
18714    pub async fn get_voicemail_messages_raw(
18715        &self,
18716        params: &GetVoicemailMessagesParams,
18717    ) -> Result<Value> {
18718        self.call_raw("getVoicemailMessages", params).await
18719    }
18720
18721    /// \- Retrieves a list of Voicemail Setup Options if no additional parameter
18722    /// is provided.
18723    /// \- Retrieves a specific Voicemail Setup Option if a voicemail setup code
18724    /// is provided.
18725    ///
18726    /// Call the `getVoicemailSetups` API method and deserialize into [`GetVoicemailSetupsResponse`].
18727    pub async fn get_voicemail_setups(
18728        &self,
18729        params: &GetVoicemailSetupsParams,
18730    ) -> Result<GetVoicemailSetupsResponse> {
18731        self.call("getVoicemailSetups", params).await
18732    }
18733
18734    /// Call the `getVoicemailSetups` API method and return the raw JSON envelope.
18735    pub async fn get_voicemail_setups_raw(
18736        &self,
18737        params: &GetVoicemailSetupsParams,
18738    ) -> Result<Value> {
18739        self.call_raw("getVoicemailSetups", params).await
18740    }
18741
18742    /// \- Retrieves all Voicemail Transcriptions if no additional parameter is
18743    /// provided.
18744    ///
18745    /// Call the `getVoicemailTranscriptions` API method and deserialize into [`GetVoicemailTranscriptionsResponse`].
18746    pub async fn get_voicemail_transcriptions(
18747        &self,
18748        params: &GetVoicemailTranscriptionsParams,
18749    ) -> Result<GetVoicemailTranscriptionsResponse> {
18750        self.call("getVoicemailTranscriptions", params).await
18751    }
18752
18753    /// Call the `getVoicemailTranscriptions` API method and return the raw JSON envelope.
18754    pub async fn get_voicemail_transcriptions_raw(
18755        &self,
18756        params: &GetVoicemailTranscriptionsParams,
18757    ) -> Result<Value> {
18758        self.call_raw("getVoicemailTranscriptions", params).await
18759    }
18760
18761    /// \- Retrieves a list of Voicemails if no additional parameter is provided.
18762    /// \- Retrieves a specific Voicemail if a voicemail code is provided.
18763    ///
18764    /// Call the `getVoicemails` API method and deserialize into [`GetVoicemailsResponse`].
18765    pub async fn get_voicemails(
18766        &self,
18767        params: &GetVoicemailsParams,
18768    ) -> Result<GetVoicemailsResponse> {
18769        self.call("getVoicemails", params).await
18770    }
18771
18772    /// Call the `getVoicemails` API method and return the raw JSON envelope.
18773    pub async fn get_voicemails_raw(&self, params: &GetVoicemailsParams) -> Result<Value> {
18774        self.call_raw("getVoicemails", params).await
18775    }
18776
18777    /// \- Send a Fax Message attached as a PDF file to an email destination.
18778    ///
18779    /// Call the `mailFaxMessagePDF` API method and deserialize into [`MailFAXMessagePDFResponse`].
18780    pub async fn mail_fax_message_pdf(
18781        &self,
18782        params: &MailFAXMessagePDFParams,
18783    ) -> Result<MailFAXMessagePDFResponse> {
18784        self.call("mailFaxMessagePDF", params).await
18785    }
18786
18787    /// Call the `mailFaxMessagePDF` API method and return the raw JSON envelope.
18788    pub async fn mail_fax_message_pdf_raw(
18789        &self,
18790        params: &MailFAXMessagePDFParams,
18791    ) -> Result<Value> {
18792        self.call_raw("mailFaxMessagePDF", params).await
18793    }
18794
18795    /// \- Mark a Voicemail Message as Listened or Unlistened.
18796    /// \- If value is 'yes', the voicemail message will be marked as listened
18797    /// and will be moved to the Old Folder.
18798    /// \- If value is 'no', the voicemail message will be marked as not-listened
18799    /// and will be moved to the INBOX Folder.
18800    ///
18801    /// Call the `markListenedVoicemailMessage` API method and deserialize into [`MarkListenedVoicemailMessageResponse`].
18802    pub async fn mark_listened_voicemail_message(
18803        &self,
18804        params: &MarkListenedVoicemailMessageParams,
18805    ) -> Result<MarkListenedVoicemailMessageResponse> {
18806        self.call("markListenedVoicemailMessage", params).await
18807    }
18808
18809    /// Call the `markListenedVoicemailMessage` API method and return the raw JSON envelope.
18810    pub async fn mark_listened_voicemail_message_raw(
18811        &self,
18812        params: &MarkListenedVoicemailMessageParams,
18813    ) -> Result<Value> {
18814        self.call_raw("markListenedVoicemailMessage", params).await
18815    }
18816
18817    /// \- Mark Voicemail Message as Urgent or not Urgent.
18818    /// \- If value is 'yes', the voicemail message will be marked as urgent and
18819    /// will be moved to the Urgent Folder.
18820    /// \- If value is 'no', the voicemail message will be unmarked as urgent and
18821    /// will be moved to the INBOX Folder.
18822    ///
18823    /// Call the `markUrgentVoicemailMessage` API method and deserialize into [`MarkUrgentVoicemailMessageResponse`].
18824    pub async fn mark_urgent_voicemail_message(
18825        &self,
18826        params: &MarkUrgentVoicemailMessageParams,
18827    ) -> Result<MarkUrgentVoicemailMessageResponse> {
18828        self.call("markUrgentVoicemailMessage", params).await
18829    }
18830
18831    /// Call the `markUrgentVoicemailMessage` API method and return the raw JSON envelope.
18832    pub async fn mark_urgent_voicemail_message_raw(
18833        &self,
18834        params: &MarkUrgentVoicemailMessageParams,
18835    ) -> Result<Value> {
18836        self.call_raw("markUrgentVoicemailMessage", params).await
18837    }
18838
18839    /// \- Moves a Fax Message to a different folder.
18840    ///
18841    /// Call the `moveFaxMessage` API method and deserialize into [`MoveFAXMessageResponse`].
18842    pub async fn move_fax_message(
18843        &self,
18844        params: &MoveFAXMessageParams,
18845    ) -> Result<MoveFAXMessageResponse> {
18846        self.call("moveFaxMessage", params).await
18847    }
18848
18849    /// Call the `moveFaxMessage` API method and return the raw JSON envelope.
18850    pub async fn move_fax_message_raw(&self, params: &MoveFAXMessageParams) -> Result<Value> {
18851        self.call_raw("moveFaxMessage", params).await
18852    }
18853
18854    /// \- Move Voicemail Message to a Destination Folder.
18855    ///
18856    /// Call the `moveFolderVoicemailMessage` API method and deserialize into [`MoveFolderVoicemailMessageResponse`].
18857    pub async fn move_folder_voicemail_message(
18858        &self,
18859        params: &MoveFolderVoicemailMessageParams,
18860    ) -> Result<MoveFolderVoicemailMessageResponse> {
18861        self.call("moveFolderVoicemailMessage", params).await
18862    }
18863
18864    /// Call the `moveFolderVoicemailMessage` API method and return the raw JSON envelope.
18865    pub async fn move_folder_voicemail_message_raw(
18866        &self,
18867        params: &MoveFolderVoicemailMessageParams,
18868    ) -> Result<Value> {
18869        self.call_raw("moveFolderVoicemailMessage", params).await
18870    }
18871
18872    /// \- Orders and Adds a new DID Number to the Account.
18873    ///
18874    /// Call the `orderDID` API method and deserialize into [`OrderDIDResponse`].
18875    pub async fn order_did(&self, params: &OrderDIDParams) -> Result<OrderDIDResponse> {
18876        self.call("orderDID", params).await
18877    }
18878
18879    /// Call the `orderDID` API method and return the raw JSON envelope.
18880    pub async fn order_did_raw(&self, params: &OrderDIDParams) -> Result<Value> {
18881        self.call_raw("orderDID", params).await
18882    }
18883
18884    /// \- Orders and Adds new International Geographic DID Numbers to the
18885    /// Account.
18886    ///
18887    /// Call the `orderDIDInternationalGeographic` API method and deserialize into [`OrderDIDInternationalGeographicResponse`].
18888    pub async fn order_did_international_geographic(
18889        &self,
18890        params: &OrderDIDInternationalGeographicParams,
18891    ) -> Result<OrderDIDInternationalGeographicResponse> {
18892        self.call("orderDIDInternationalGeographic", params).await
18893    }
18894
18895    /// Call the `orderDIDInternationalGeographic` API method and return the raw JSON envelope.
18896    pub async fn order_did_international_geographic_raw(
18897        &self,
18898        params: &OrderDIDInternationalGeographicParams,
18899    ) -> Result<Value> {
18900        self.call_raw("orderDIDInternationalGeographic", params)
18901            .await
18902    }
18903
18904    /// \- Orders and Adds new International National DID Numbers to the Account.
18905    ///
18906    /// Call the `orderDIDInternationalNational` API method and deserialize into [`OrderDIDInternationalNationalResponse`].
18907    pub async fn order_did_international_national(
18908        &self,
18909        params: &OrderDIDInternationalNationalParams,
18910    ) -> Result<OrderDIDInternationalNationalResponse> {
18911        self.call("orderDIDInternationalNational", params).await
18912    }
18913
18914    /// Call the `orderDIDInternationalNational` API method and return the raw JSON envelope.
18915    pub async fn order_did_international_national_raw(
18916        &self,
18917        params: &OrderDIDInternationalNationalParams,
18918    ) -> Result<Value> {
18919        self.call_raw("orderDIDInternationalNational", params).await
18920    }
18921
18922    /// \- Orders and Adds new International TollFree DID Numbers to the Account.
18923    ///
18924    /// Call the `orderDIDInternationalTollFree` API method and deserialize into [`OrderDIDInternationalTollFreeResponse`].
18925    pub async fn order_did_international_toll_free(
18926        &self,
18927        params: &OrderDIDInternationalTollFreeParams,
18928    ) -> Result<OrderDIDInternationalTollFreeResponse> {
18929        self.call("orderDIDInternationalTollFree", params).await
18930    }
18931
18932    /// Call the `orderDIDInternationalTollFree` API method and return the raw JSON envelope.
18933    pub async fn order_did_international_toll_free_raw(
18934        &self,
18935        params: &OrderDIDInternationalTollFreeParams,
18936    ) -> Result<Value> {
18937        self.call_raw("orderDIDInternationalTollFree", params).await
18938    }
18939
18940    /// \- Orders and Adds a new Virtual DID Number to the Account.
18941    ///
18942    /// Call the `orderDIDVirtual` API method and deserialize into [`OrderDIDVirtualResponse`].
18943    pub async fn order_did_virtual(
18944        &self,
18945        params: &OrderDIDVirtualParams,
18946    ) -> Result<OrderDIDVirtualResponse> {
18947        self.call("orderDIDVirtual", params).await
18948    }
18949
18950    /// Call the `orderDIDVirtual` API method and return the raw JSON envelope.
18951    pub async fn order_did_virtual_raw(&self, params: &OrderDIDVirtualParams) -> Result<Value> {
18952        self.call_raw("orderDIDVirtual", params).await
18953    }
18954
18955    /// \- Orders and Adds a new Fax Number to the Account.
18956    ///
18957    /// Call the `orderFaxNumber` API method and deserialize into [`OrderFAXNumberResponse`].
18958    pub async fn order_fax_number(
18959        &self,
18960        params: &OrderFAXNumberParams,
18961    ) -> Result<OrderFAXNumberResponse> {
18962        self.call("orderFaxNumber", params).await
18963    }
18964
18965    /// Call the `orderFaxNumber` API method and return the raw JSON envelope.
18966    pub async fn order_fax_number_raw(&self, params: &OrderFAXNumberParams) -> Result<Value> {
18967        self.call_raw("orderFaxNumber", params).await
18968    }
18969
18970    /// \- Orders and Adds a new Toll Free Number to the Account.
18971    ///
18972    /// Call the `orderTollFree` API method and deserialize into [`OrderTollFreeResponse`].
18973    pub async fn order_toll_free(
18974        &self,
18975        params: &OrderTollFreeParams,
18976    ) -> Result<OrderTollFreeResponse> {
18977        self.call("orderTollFree", params).await
18978    }
18979
18980    /// Call the `orderTollFree` API method and return the raw JSON envelope.
18981    pub async fn order_toll_free_raw(&self, params: &OrderTollFreeParams) -> Result<Value> {
18982        self.call_raw("orderTollFree", params).await
18983    }
18984
18985    /// \- Orders and Adds a new Vanity Toll Free Number to the Account.
18986    ///
18987    /// Call the `orderVanity` API method and deserialize into [`OrderVanityResponse`].
18988    pub async fn order_vanity(&self, params: &OrderVanityParams) -> Result<OrderVanityResponse> {
18989        self.call("orderVanity", params).await
18990    }
18991
18992    /// Call the `orderVanity` API method and return the raw JSON envelope.
18993    pub async fn order_vanity_raw(&self, params: &OrderVanityParams) -> Result<Value> {
18994        self.call_raw("orderVanity", params).await
18995    }
18996
18997    /// \- Removes a DID from a VPRI
18998    ///
18999    /// Call the `removeDIDvPRI` API method and deserialize into [`RemoveDIDvPRIResponse`].
19000    pub async fn remove_did_vpri(
19001        &self,
19002        params: &RemoveDIDvPRIParams,
19003    ) -> Result<RemoveDIDvPRIResponse> {
19004        self.call("removeDIDvPRI", params).await
19005    }
19006
19007    /// Call the `removeDIDvPRI` API method and return the raw JSON envelope.
19008    pub async fn remove_did_vpri_raw(&self, params: &RemoveDIDvPRIParams) -> Result<Value> {
19009        self.call_raw("removeDIDvPRI", params).await
19010    }
19011
19012    /// \- Searches for Canadian DIDs by Province using a Search Criteria.
19013    ///
19014    /// Call the `searchDIDsCAN` API method and deserialize into [`SearchDIDsCANResponse`].
19015    pub async fn search_dids_can(
19016        &self,
19017        params: &SearchDIDsCANParams,
19018    ) -> Result<SearchDIDsCANResponse> {
19019        self.call("searchDIDsCAN", params).await
19020    }
19021
19022    /// Call the `searchDIDsCAN` API method and return the raw JSON envelope.
19023    pub async fn search_dids_can_raw(&self, params: &SearchDIDsCANParams) -> Result<Value> {
19024        self.call_raw("searchDIDsCAN", params).await
19025    }
19026
19027    /// \- Searches for USA DIDs by State using a Search Criteria.
19028    ///
19029    /// Call the `searchDIDsUSA` API method and deserialize into [`SearchDIDsUSAResponse`].
19030    pub async fn search_dids_usa(
19031        &self,
19032        params: &SearchDIDsUSAParams,
19033    ) -> Result<SearchDIDsUSAResponse> {
19034        self.call("searchDIDsUSA", params).await
19035    }
19036
19037    /// Call the `searchDIDsUSA` API method and return the raw JSON envelope.
19038    pub async fn search_dids_usa_raw(&self, params: &SearchDIDsUSAParams) -> Result<Value> {
19039        self.call_raw("searchDIDsUSA", params).await
19040    }
19041
19042    /// \- Retrieves a list of Canadian Ratecenters searched by Area Code.
19043    ///
19044    /// Call the `searchFaxAreaCodeCAN` API method and deserialize into [`SearchFAXAreaCodeCANResponse`].
19045    pub async fn search_fax_area_code_can(
19046        &self,
19047        params: &SearchFAXAreaCodeCANParams,
19048    ) -> Result<SearchFAXAreaCodeCANResponse> {
19049        self.call("searchFaxAreaCodeCAN", params).await
19050    }
19051
19052    /// Call the `searchFaxAreaCodeCAN` API method and return the raw JSON envelope.
19053    pub async fn search_fax_area_code_can_raw(
19054        &self,
19055        params: &SearchFAXAreaCodeCANParams,
19056    ) -> Result<Value> {
19057        self.call_raw("searchFaxAreaCodeCAN", params).await
19058    }
19059
19060    /// \- Retrieves a list of USA Ratecenters searched by Area Code.
19061    ///
19062    /// Call the `searchFaxAreaCodeUSA` API method and deserialize into [`SearchFAXAreaCodeUSAResponse`].
19063    pub async fn search_fax_area_code_usa(
19064        &self,
19065        params: &SearchFAXAreaCodeUSAParams,
19066    ) -> Result<SearchFAXAreaCodeUSAResponse> {
19067        self.call("searchFaxAreaCodeUSA", params).await
19068    }
19069
19070    /// Call the `searchFaxAreaCodeUSA` API method and return the raw JSON envelope.
19071    pub async fn search_fax_area_code_usa_raw(
19072        &self,
19073        params: &SearchFAXAreaCodeUSAParams,
19074    ) -> Result<Value> {
19075        self.call_raw("searchFaxAreaCodeUSA", params).await
19076    }
19077
19078    /// \- Searches for USA/Canada Toll Free Numbers using a Search Criteria.
19079    /// \- Shows all USA/Canada Toll Free Numbers available if no criteria is
19080    /// provided.
19081    ///
19082    /// Call the `searchTollFreeCanUS` API method and deserialize into [`SearchTollFreeCANUSResponse`].
19083    pub async fn search_toll_free_can_us(
19084        &self,
19085        params: &SearchTollFreeCANUSParams,
19086    ) -> Result<SearchTollFreeCANUSResponse> {
19087        self.call("searchTollFreeCanUS", params).await
19088    }
19089
19090    /// Call the `searchTollFreeCanUS` API method and return the raw JSON envelope.
19091    pub async fn search_toll_free_can_us_raw(
19092        &self,
19093        params: &SearchTollFreeCANUSParams,
19094    ) -> Result<Value> {
19095        self.call_raw("searchTollFreeCanUS", params).await
19096    }
19097
19098    /// \- Searches for USA Toll Free Numbers using a Search Criteria.
19099    /// \- Shows all USA Toll Free Numbers available if no criteria is provided.
19100    ///
19101    /// Call the `searchTollFreeUSA` API method and deserialize into [`SearchTollFreeUSAResponse`].
19102    pub async fn search_toll_free_usa(
19103        &self,
19104        params: &SearchTollFreeUSAParams,
19105    ) -> Result<SearchTollFreeUSAResponse> {
19106        self.call("searchTollFreeUSA", params).await
19107    }
19108
19109    /// Call the `searchTollFreeUSA` API method and return the raw JSON envelope.
19110    pub async fn search_toll_free_usa_raw(
19111        &self,
19112        params: &SearchTollFreeUSAParams,
19113    ) -> Result<Value> {
19114        self.call_raw("searchTollFreeUSA", params).await
19115    }
19116
19117    /// \- Searches for Vanity Toll Free Numbers using a Search Criteria.
19118    ///
19119    /// Call the `searchVanity` API method and deserialize into [`SearchVanityResponse`].
19120    pub async fn search_vanity(&self, params: &SearchVanityParams) -> Result<SearchVanityResponse> {
19121        self.call("searchVanity", params).await
19122    }
19123
19124    /// Call the `searchVanity` API method and return the raw JSON envelope.
19125    pub async fn search_vanity_raw(&self, params: &SearchVanityParams) -> Result<Value> {
19126        self.call_raw("searchVanity", params).await
19127    }
19128
19129    /// \- Send information and audio file to email account.
19130    ///
19131    /// Call the `sendCallRecordingEmail` API method and deserialize into [`SendCallRecordingEmailResponse`].
19132    pub async fn send_call_recording_email(
19133        &self,
19134        params: &SendCallRecordingEmailParams,
19135    ) -> Result<SendCallRecordingEmailResponse> {
19136        self.call("sendCallRecordingEmail", params).await
19137    }
19138
19139    /// Call the `sendCallRecordingEmail` API method and return the raw JSON envelope.
19140    pub async fn send_call_recording_email_raw(
19141        &self,
19142        params: &SendCallRecordingEmailParams,
19143    ) -> Result<Value> {
19144        self.call_raw("sendCallRecordingEmail", params).await
19145    }
19146
19147    /// \- Send a Fax message to a Destination Number.
19148    ///
19149    /// Call the `sendFaxMessage` API method and deserialize into [`SendFAXMessageResponse`].
19150    pub async fn send_fax_message(
19151        &self,
19152        params: &SendFAXMessageParams,
19153    ) -> Result<SendFAXMessageResponse> {
19154        self.call("sendFaxMessage", params).await
19155    }
19156
19157    /// Call the `sendFaxMessage` API method and return the raw JSON envelope.
19158    pub async fn send_fax_message_raw(&self, params: &SendFAXMessageParams) -> Result<Value> {
19159        self.call_raw("sendFaxMessage", params).await
19160    }
19161
19162    /// \- Send a MMS message to a Destination Number.
19163    ///
19164    /// Call the `sendMMS` API method and deserialize into [`SendMMSResponse`].
19165    pub async fn send_mms(&self, params: &SendMMSParams) -> Result<SendMMSResponse> {
19166        self.call("sendMMS", params).await
19167    }
19168
19169    /// Call the `sendMMS` API method and return the raw JSON envelope.
19170    pub async fn send_mms_raw(&self, params: &SendMMSParams) -> Result<Value> {
19171        self.call_raw("sendMMS", params).await
19172    }
19173
19174    /// \- Send a SMS message to a Destination Number.
19175    ///
19176    /// Call the `sendSMS` API method and deserialize into [`SendSMSResponse`].
19177    pub async fn send_sms(&self, params: &SendSMSParams) -> Result<SendSMSResponse> {
19178        self.call("sendSMS", params).await
19179    }
19180
19181    /// Call the `sendSMS` API method and return the raw JSON envelope.
19182    pub async fn send_sms_raw(&self, params: &SendSMSParams) -> Result<Value> {
19183        self.call_raw("sendSMS", params).await
19184    }
19185
19186    /// \- Send a Voicemail Message File to an Email Address.
19187    ///
19188    /// Call the `sendVoicemailEmail` API method and deserialize into [`SendVoicemailEmailResponse`].
19189    pub async fn send_voicemail_email(
19190        &self,
19191        params: &SendVoicemailEmailParams,
19192    ) -> Result<SendVoicemailEmailResponse> {
19193        self.call("sendVoicemailEmail", params).await
19194    }
19195
19196    /// Call the `sendVoicemailEmail` API method and return the raw JSON envelope.
19197    pub async fn send_voicemail_email_raw(
19198        &self,
19199        params: &SendVoicemailEmailParams,
19200    ) -> Result<Value> {
19201        self.call_raw("sendVoicemailEmail", params).await
19202    }
19203
19204    /// \- Updates a specific Call Hunting if a Call Hunting code is provided.
19205    /// \- Adds a new Call Hunting if no Call Hunting code is provided.
19206    ///
19207    /// Call the `setCallHunting` API method and deserialize into [`SetCallHuntingResponse`].
19208    pub async fn set_call_hunting(
19209        &self,
19210        params: &SetCallHuntingParams,
19211    ) -> Result<SetCallHuntingResponse> {
19212        self.call("setCallHunting", params).await
19213    }
19214
19215    /// Call the `setCallHunting` API method and return the raw JSON envelope.
19216    pub async fn set_call_hunting_raw(&self, params: &SetCallHuntingParams) -> Result<Value> {
19217        self.call_raw("setCallHunting", params).await
19218    }
19219
19220    /// \- Updates a specific Call Parking entry if a Call Parking ID is
19221    /// provided.
19222    /// \- Adds a new Call Parking entry if no Call Parking ID is provided.
19223    ///
19224    /// Call the `setCallParking` API method and deserialize into [`SetCallParkingResponse`].
19225    pub async fn set_call_parking(
19226        &self,
19227        params: &SetCallParkingParams,
19228    ) -> Result<SetCallParkingResponse> {
19229        self.call("setCallParking", params).await
19230    }
19231
19232    /// Call the `setCallParking` API method and return the raw JSON envelope.
19233    pub async fn set_call_parking_raw(&self, params: &SetCallParkingParams) -> Result<Value> {
19234        self.call_raw("setCallParking", params).await
19235    }
19236
19237    /// \- Updates a specific Callback if a callback code is provided.
19238    /// \- Adds a new Callback entry if no callback code is provided.
19239    ///
19240    /// Call the `setCallback` API method and deserialize into [`SetCallbackResponse`].
19241    pub async fn set_callback(&self, params: &SetCallbackParams) -> Result<SetCallbackResponse> {
19242        self.call("setCallback", params).await
19243    }
19244
19245    /// Call the `setCallback` API method and return the raw JSON envelope.
19246    pub async fn set_callback_raw(&self, params: &SetCallbackParams) -> Result<Value> {
19247        self.call_raw("setCallback", params).await
19248    }
19249
19250    /// \- Updates a specific Caller ID Filtering if a filtering code is
19251    /// provided.
19252    /// \- Adds a new Caller ID Filtering if no filtering code is provided.
19253    ///
19254    /// Call the `setCallerIDFiltering` API method and deserialize into [`SetCallerIDFilteringResponse`].
19255    pub async fn set_caller_id_filtering(
19256        &self,
19257        params: &SetCallerIDFilteringParams,
19258    ) -> Result<SetCallerIDFilteringResponse> {
19259        self.call("setCallerIDFiltering", params).await
19260    }
19261
19262    /// Call the `setCallerIDFiltering` API method and return the raw JSON envelope.
19263    pub async fn set_caller_id_filtering_raw(
19264        &self,
19265        params: &SetCallerIDFilteringParams,
19266    ) -> Result<Value> {
19267        self.call_raw("setCallerIDFiltering", params).await
19268    }
19269
19270    /// \- Updates Reseller Client information.
19271    ///
19272    /// Call the `setClient` API method and deserialize into [`SetClientResponse`].
19273    pub async fn set_client(&self, params: &SetClientParams) -> Result<SetClientResponse> {
19274        self.call("setClient", params).await
19275    }
19276
19277    /// Call the `setClient` API method and return the raw JSON envelope.
19278    pub async fn set_client_raw(&self, params: &SetClientParams) -> Result<Value> {
19279        self.call_raw("setClient", params).await
19280    }
19281
19282    /// \- Update the Threshold Amount for a specific Reseller Client.- Update
19283    /// the Threshold notification e-mail for a specific Reseller Client if the
19284    /// e-mail address is provided.
19285    ///
19286    /// Call the `setClientThreshold` API method and deserialize into [`SetClientThresholdResponse`].
19287    pub async fn set_client_threshold(
19288        &self,
19289        params: &SetClientThresholdParams,
19290    ) -> Result<SetClientThresholdResponse> {
19291        self.call("setClientThreshold", params).await
19292    }
19293
19294    /// Call the `setClientThreshold` API method and return the raw JSON envelope.
19295    pub async fn set_client_threshold_raw(
19296        &self,
19297        params: &SetClientThresholdParams,
19298    ) -> Result<Value> {
19299        self.call_raw("setClientThreshold", params).await
19300    }
19301
19302    /// \- Updates a specific Conference if a conference code is provided.
19303    /// \- Adds a new Conference entry if no conference code is provided.
19304    ///
19305    /// Call the `setConference` API method and deserialize into [`SetConferenceResponse`].
19306    pub async fn set_conference(
19307        &self,
19308        params: &SetConferenceParams,
19309    ) -> Result<SetConferenceResponse> {
19310        self.call("setConference", params).await
19311    }
19312
19313    /// Call the `setConference` API method and return the raw JSON envelope.
19314    pub async fn set_conference_raw(&self, params: &SetConferenceParams) -> Result<Value> {
19315        self.call_raw("setConference", params).await
19316    }
19317
19318    /// \- Updates a specific Member profile if a member code is provided.
19319    /// \- Adds a new Member profile entry if no member code is provided.
19320    ///
19321    /// Call the `setConferenceMember` API method and deserialize into [`SetConferenceMemberResponse`].
19322    pub async fn set_conference_member(
19323        &self,
19324        params: &SetConferenceMemberParams,
19325    ) -> Result<SetConferenceMemberResponse> {
19326        self.call("setConferenceMember", params).await
19327    }
19328
19329    /// Call the `setConferenceMember` API method and return the raw JSON envelope.
19330    pub async fn set_conference_member_raw(
19331        &self,
19332        params: &SetConferenceMemberParams,
19333    ) -> Result<Value> {
19334        self.call_raw("setConferenceMember", params).await
19335    }
19336
19337    /// \- Updates the Billing Plan from a specific DID.
19338    ///
19339    /// Call the `setDIDBillingType` API method and deserialize into [`SetDIDBillingTypeResponse`].
19340    pub async fn set_did_billing_type(
19341        &self,
19342        params: &SetDIDBillingTypeParams,
19343    ) -> Result<SetDIDBillingTypeResponse> {
19344        self.call("setDIDBillingType", params).await
19345    }
19346
19347    /// Call the `setDIDBillingType` API method and return the raw JSON envelope.
19348    pub async fn set_did_billing_type_raw(
19349        &self,
19350        params: &SetDIDBillingTypeParams,
19351    ) -> Result<Value> {
19352        self.call_raw("setDIDBillingType", params).await
19353    }
19354
19355    /// \- Updates the information from a specific DID.
19356    ///
19357    /// Call the `setDIDInfo` API method and deserialize into [`SetDIDInfoResponse`].
19358    pub async fn set_did_info(&self, params: &SetDIDInfoParams) -> Result<SetDIDInfoResponse> {
19359        self.call("setDIDInfo", params).await
19360    }
19361
19362    /// Call the `setDIDInfo` API method and return the raw JSON envelope.
19363    pub async fn set_did_info_raw(&self, params: &SetDIDInfoParams) -> Result<Value> {
19364        self.call_raw("setDIDInfo", params).await
19365    }
19366
19367    /// \- Updates the POP from a specific DID.
19368    ///
19369    /// Call the `setDIDPOP` API method and deserialize into [`SetDIDPOPResponse`].
19370    pub async fn set_did_pop(&self, params: &SetDIDPOPParams) -> Result<SetDIDPOPResponse> {
19371        self.call("setDIDPOP", params).await
19372    }
19373
19374    /// Call the `setDIDPOP` API method and return the raw JSON envelope.
19375    pub async fn set_did_pop_raw(&self, params: &SetDIDPOPParams) -> Result<Value> {
19376        self.call_raw("setDIDPOP", params).await
19377    }
19378
19379    /// \- Updates the Routing from a specific DID.
19380    ///
19381    /// Call the `setDIDRouting` API method and deserialize into [`SetDIDRoutingResponse`].
19382    pub async fn set_did_routing(
19383        &self,
19384        params: &SetDIDRoutingParams,
19385    ) -> Result<SetDIDRoutingResponse> {
19386        self.call("setDIDRouting", params).await
19387    }
19388
19389    /// Call the `setDIDRouting` API method and return the raw JSON envelope.
19390    pub async fn set_did_routing_raw(&self, params: &SetDIDRoutingParams) -> Result<Value> {
19391        self.call_raw("setDIDRouting", params).await
19392    }
19393
19394    /// \- Updates the Voicemail from a specific DID.
19395    ///
19396    /// Call the `setDIDVoicemail` API method and deserialize into [`SetDIDVoicemailResponse`].
19397    pub async fn set_did_voicemail(
19398        &self,
19399        params: &SetDIDVoicemailParams,
19400    ) -> Result<SetDIDVoicemailResponse> {
19401        self.call("setDIDVoicemail", params).await
19402    }
19403
19404    /// Call the `setDIDVoicemail` API method and return the raw JSON envelope.
19405    pub async fn set_did_voicemail_raw(&self, params: &SetDIDVoicemailParams) -> Result<Value> {
19406        self.call_raw("setDIDVoicemail", params).await
19407    }
19408
19409    /// \- Updates a specific DISA if a disa code is provided.
19410    /// \- Adds a new DISA entry if no disa code is provided.
19411    ///
19412    /// Call the `setDISA` API method and deserialize into [`SetDISAResponse`].
19413    pub async fn set_disa(&self, params: &SetDISAParams) -> Result<SetDISAResponse> {
19414        self.call("setDISA", params).await
19415    }
19416
19417    /// Call the `setDISA` API method and return the raw JSON envelope.
19418    pub async fn set_disa_raw(&self, params: &SetDISAParams) -> Result<Value> {
19419        self.call_raw("setDISA", params).await
19420    }
19421
19422    /// \- Create or update the information of a specific "Email to Fax
19423    /// configuration".
19424    ///
19425    /// Call the `setEmailToFax` API method and deserialize into [`SetEmailToFAXResponse`].
19426    pub async fn set_email_to_fax(
19427        &self,
19428        params: &SetEmailToFAXParams,
19429    ) -> Result<SetEmailToFAXResponse> {
19430        self.call("setEmailToFax", params).await
19431    }
19432
19433    /// Call the `setEmailToFax` API method and return the raw JSON envelope.
19434    pub async fn set_email_to_fax_raw(&self, params: &SetEmailToFAXParams) -> Result<Value> {
19435        self.call_raw("setEmailToFax", params).await
19436    }
19437
19438    /// \- Create or update the information of a specific Fax Folder.
19439    ///
19440    /// Call the `setFaxFolder` API method and deserialize into [`SetFAXFolderResponse`].
19441    pub async fn set_fax_folder(
19442        &self,
19443        params: &SetFAXFolderParams,
19444    ) -> Result<SetFAXFolderResponse> {
19445        self.call("setFaxFolder", params).await
19446    }
19447
19448    /// Call the `setFaxFolder` API method and return the raw JSON envelope.
19449    pub async fn set_fax_folder_raw(&self, params: &SetFAXFolderParams) -> Result<Value> {
19450        self.call_raw("setFaxFolder", params).await
19451    }
19452
19453    /// \- Updates the email configuration from a specific Fax Number.
19454    ///
19455    /// Call the `setFaxNumberEmail` API method and deserialize into [`SetFAXNumberEmailResponse`].
19456    pub async fn set_fax_number_email(
19457        &self,
19458        params: &SetFAXNumberEmailParams,
19459    ) -> Result<SetFAXNumberEmailResponse> {
19460        self.call("setFaxNumberEmail", params).await
19461    }
19462
19463    /// Call the `setFaxNumberEmail` API method and return the raw JSON envelope.
19464    pub async fn set_fax_number_email_raw(
19465        &self,
19466        params: &SetFAXNumberEmailParams,
19467    ) -> Result<Value> {
19468        self.call_raw("setFaxNumberEmail", params).await
19469    }
19470
19471    /// \- Updates the information from a specific Fax Number.
19472    ///
19473    /// Call the `setFaxNumberInfo` API method and deserialize into [`SetFAXNumberInfoResponse`].
19474    pub async fn set_fax_number_info(
19475        &self,
19476        params: &SetFAXNumberInfoParams,
19477    ) -> Result<SetFAXNumberInfoResponse> {
19478        self.call("setFaxNumberInfo", params).await
19479    }
19480
19481    /// Call the `setFaxNumberInfo` API method and return the raw JSON envelope.
19482    pub async fn set_fax_number_info_raw(&self, params: &SetFAXNumberInfoParams) -> Result<Value> {
19483        self.call_raw("setFaxNumberInfo", params).await
19484    }
19485
19486    /// \- Updates the url callback configuration from a specific Fax Number.
19487    ///
19488    /// Call the `setFaxNumberURLCallback` API method and deserialize into [`SetFAXNumberURLCallbackResponse`].
19489    pub async fn set_fax_number_url_callback(
19490        &self,
19491        params: &SetFAXNumberURLCallbackParams,
19492    ) -> Result<SetFAXNumberURLCallbackResponse> {
19493        self.call("setFaxNumberURLCallback", params).await
19494    }
19495
19496    /// Call the `setFaxNumberURLCallback` API method and return the raw JSON envelope.
19497    pub async fn set_fax_number_url_callback_raw(
19498        &self,
19499        params: &SetFAXNumberURLCallbackParams,
19500    ) -> Result<Value> {
19501        self.call_raw("setFaxNumberURLCallback", params).await
19502    }
19503
19504    /// \- Updates a specific Forwarding if a fwd code is provided.
19505    /// \- Adds a new Forwarding entry if no fwd code is provided.
19506    ///
19507    /// Call the `setForwarding` API method and deserialize into [`SetForwardingResponse`].
19508    pub async fn set_forwarding(
19509        &self,
19510        params: &SetForwardingParams,
19511    ) -> Result<SetForwardingResponse> {
19512        self.call("setForwarding", params).await
19513    }
19514
19515    /// Call the `setForwarding` API method and return the raw JSON envelope.
19516    pub async fn set_forwarding_raw(&self, params: &SetForwardingParams) -> Result<Value> {
19517        self.call_raw("setForwarding", params).await
19518    }
19519
19520    /// \- Updates a specific IVR if an IVR code is provided.
19521    /// \- Adds a new IVR entry if no IVR code is provided.
19522    ///
19523    /// Call the `setIVR` API method and deserialize into [`SetIVRResponse`].
19524    pub async fn set_ivr(&self, params: &SetIVRParams) -> Result<SetIVRResponse> {
19525        self.call("setIVR", params).await
19526    }
19527
19528    /// Call the `setIVR` API method and return the raw JSON envelope.
19529    pub async fn set_ivr_raw(&self, params: &SetIVRParams) -> Result<Value> {
19530        self.call_raw("setIVR", params).await
19531    }
19532
19533    /// Call the `setLocation` API method and deserialize into [`SetLocationResponse`].
19534    pub async fn set_location(&self, params: &SetLocationParams) -> Result<SetLocationResponse> {
19535        self.call("setLocation", params).await
19536    }
19537
19538    /// Call the `setLocation` API method and return the raw JSON envelope.
19539    pub async fn set_location_raw(&self, params: &SetLocationParams) -> Result<Value> {
19540        self.call_raw("setLocation", params).await
19541    }
19542
19543    /// Call the `setMusicOnHold` API method and deserialize into [`SetMusicOnHoldResponse`].
19544    pub async fn set_music_on_hold(
19545        &self,
19546        params: &SetMusicOnHoldParams,
19547    ) -> Result<SetMusicOnHoldResponse> {
19548        self.call("setMusicOnHold", params).await
19549    }
19550
19551    /// Call the `setMusicOnHold` API method and return the raw JSON envelope.
19552    pub async fn set_music_on_hold_raw(&self, params: &SetMusicOnHoldParams) -> Result<Value> {
19553        self.call_raw("setMusicOnHold", params).await
19554    }
19555
19556    /// \- Updates a specific Phonebook entry if a phonebook code is provided.
19557    /// \- Adds a new Phonebook entry if no phonebook code is provided.
19558    ///
19559    /// Call the `setPhonebook` API method and deserialize into [`SetPhonebookResponse`].
19560    pub async fn set_phonebook(&self, params: &SetPhonebookParams) -> Result<SetPhonebookResponse> {
19561        self.call("setPhonebook", params).await
19562    }
19563
19564    /// Call the `setPhonebook` API method and return the raw JSON envelope.
19565    pub async fn set_phonebook_raw(&self, params: &SetPhonebookParams) -> Result<Value> {
19566        self.call_raw("setPhonebook", params).await
19567    }
19568
19569    /// \- Updates a specific Phonebook group if a phonebook code is provided.
19570    /// \- Adds a new Phonebook group if no phonebook group code is provided.
19571    /// \- Assigns or modifies group members if a member list is provided
19572    ///
19573    /// Call the `setPhonebookGroup` API method and deserialize into [`SetPhonebookGroupResponse`].
19574    pub async fn set_phonebook_group(
19575        &self,
19576        params: &SetPhonebookGroupParams,
19577    ) -> Result<SetPhonebookGroupResponse> {
19578        self.call("setPhonebookGroup", params).await
19579    }
19580
19581    /// Call the `setPhonebookGroup` API method and return the raw JSON envelope.
19582    pub async fn set_phonebook_group_raw(&self, params: &SetPhonebookGroupParams) -> Result<Value> {
19583        self.call_raw("setPhonebookGroup", params).await
19584    }
19585
19586    /// \- Updates a specific Queue entry if a queue code is provided.
19587    /// \- Adds a new Queue entry if no queue code is provided.
19588    ///
19589    /// Call the `setQueue` API method and deserialize into [`SetQueueResponse`].
19590    pub async fn set_queue(&self, params: &SetQueueParams) -> Result<SetQueueResponse> {
19591        self.call("setQueue", params).await
19592    }
19593
19594    /// Call the `setQueue` API method and return the raw JSON envelope.
19595    pub async fn set_queue_raw(&self, params: &SetQueueParams) -> Result<Value> {
19596        self.call_raw("setQueue", params).await
19597    }
19598
19599    /// \- Updates a specific Recording File if a Recording ID is provided.
19600    /// \- Adds a new Recording file entry if no Recording ID is provided.
19601    ///
19602    /// Call the `setRecording` API method and deserialize into [`SetRecordingResponse`].
19603    pub async fn set_recording(&self, params: &SetRecordingParams) -> Result<SetRecordingResponse> {
19604        self.call("setRecording", params).await
19605    }
19606
19607    /// Call the `setRecording` API method and return the raw JSON envelope.
19608    pub async fn set_recording_raw(&self, params: &SetRecordingParams) -> Result<Value> {
19609        self.call_raw("setRecording", params).await
19610    }
19611
19612    /// \- Updates a specific Ring Group if a ring group code is provided.
19613    /// \- Adds a new Ring Group entry if no ring group code is provided.
19614    ///
19615    /// Call the `setRingGroup` API method and deserialize into [`SetRingGroupResponse`].
19616    pub async fn set_ring_group(
19617        &self,
19618        params: &SetRingGroupParams,
19619    ) -> Result<SetRingGroupResponse> {
19620        self.call("setRingGroup", params).await
19621    }
19622
19623    /// Call the `setRingGroup` API method and return the raw JSON envelope.
19624    pub async fn set_ring_group_raw(&self, params: &SetRingGroupParams) -> Result<Value> {
19625        self.call_raw("setRingGroup", params).await
19626    }
19627
19628    /// \- Updates a specific SIP URI if a SIP URI code is provided.
19629    /// \- Adds a new SIP URI entry if no SIP URI code is provided.
19630    ///
19631    /// Call the `setSIPURI` API method and deserialize into [`SetSIPURIResponse`].
19632    pub async fn set_sip_uri(&self, params: &SetSIPURIParams) -> Result<SetSIPURIResponse> {
19633        self.call("setSIPURI", params).await
19634    }
19635
19636    /// Call the `setSIPURI` API method and return the raw JSON envelope.
19637    pub async fn set_sip_uri_raw(&self, params: &SetSIPURIParams) -> Result<Value> {
19638        self.call_raw("setSIPURI", params).await
19639    }
19640
19641    /// \- Enable/Disable the SMS Service for a DID
19642    /// \- Change the SMS settings for a DID
19643    ///
19644    /// Call the `setSMS` API method and deserialize into [`SetSMSResponse`].
19645    pub async fn set_sms(&self, params: &SetSMSParams) -> Result<SetSMSResponse> {
19646        self.call("setSMS", params).await
19647    }
19648
19649    /// Call the `setSMS` API method and return the raw JSON envelope.
19650    pub async fn set_sms_raw(&self, params: &SetSMSParams) -> Result<Value> {
19651        self.call_raw("setSMS", params).await
19652    }
19653
19654    /// \- Updates a specific Member from queue if a Member code is provided.
19655    /// \- Adds a new Member to Queue if no Member code is provided.
19656    ///
19657    /// Call the `setStaticMember` API method and deserialize into [`SetStaticMemberResponse`].
19658    pub async fn set_static_member(
19659        &self,
19660        params: &SetStaticMemberParams,
19661    ) -> Result<SetStaticMemberResponse> {
19662        self.call("setStaticMember", params).await
19663    }
19664
19665    /// Call the `setStaticMember` API method and return the raw JSON envelope.
19666    pub async fn set_static_member_raw(&self, params: &SetStaticMemberParams) -> Result<Value> {
19667        self.call_raw("setStaticMember", params).await
19668    }
19669
19670    /// \- Updates Sub Account information.
19671    ///
19672    /// Call the `setSubAccount` API method and deserialize into [`SetSubAccountResponse`].
19673    pub async fn set_sub_account(
19674        &self,
19675        params: &SetSubAccountParams,
19676    ) -> Result<SetSubAccountResponse> {
19677        self.call("setSubAccount", params).await
19678    }
19679
19680    /// Call the `setSubAccount` API method and return the raw JSON envelope.
19681    pub async fn set_sub_account_raw(&self, params: &SetSubAccountParams) -> Result<Value> {
19682        self.call_raw("setSubAccount", params).await
19683    }
19684
19685    /// \- Updates a specific Time Condition if a time condition code is
19686    /// provided.
19687    /// \- Adds a new Time Condition entry if no time condition code is provided.
19688    ///
19689    /// Call the `setTimeCondition` API method and deserialize into [`SetTimeConditionResponse`].
19690    pub async fn set_time_condition(
19691        &self,
19692        params: &SetTimeConditionParams,
19693    ) -> Result<SetTimeConditionResponse> {
19694        self.call("setTimeCondition", params).await
19695    }
19696
19697    /// Call the `setTimeCondition` API method and return the raw JSON envelope.
19698    pub async fn set_time_condition_raw(&self, params: &SetTimeConditionParams) -> Result<Value> {
19699        self.call_raw("setTimeCondition", params).await
19700    }
19701
19702    /// \- Updates the information from a specific Voicemail.
19703    ///
19704    /// Call the `setVoicemail` API method and deserialize into [`SetVoicemailResponse`].
19705    pub async fn set_voicemail(&self, params: &SetVoicemailParams) -> Result<SetVoicemailResponse> {
19706        self.call("setVoicemail", params).await
19707    }
19708
19709    /// Call the `setVoicemail` API method and return the raw JSON envelope.
19710    pub async fn set_voicemail_raw(&self, params: &SetVoicemailParams) -> Result<Value> {
19711        self.call_raw("setVoicemail", params).await
19712    }
19713
19714    /// \- Signs a new Reseller Client to your Reseller Account.
19715    ///
19716    /// Call the `signupClient` API method and deserialize into [`SignupClientResponse`].
19717    pub async fn signup_client(&self, params: &SignupClientParams) -> Result<SignupClientResponse> {
19718        self.call("signupClient", params).await
19719    }
19720
19721    /// Call the `signupClient` API method and return the raw JSON envelope.
19722    pub async fn signup_client_raw(&self, params: &SignupClientParams) -> Result<Value> {
19723        self.call_raw("signupClient", params).await
19724    }
19725
19726    /// \- Unconnects specific DID from Reseller Client Sub Account.
19727    ///
19728    /// Call the `unconnectDID` API method and deserialize into [`UnconnectDIDResponse`].
19729    pub async fn unconnect_did(&self, params: &UnconnectDIDParams) -> Result<UnconnectDIDResponse> {
19730        self.call("unconnectDID", params).await
19731    }
19732
19733    /// Call the `unconnectDID` API method and return the raw JSON envelope.
19734    pub async fn unconnect_did_raw(&self, params: &UnconnectDIDParams) -> Result<Value> {
19735        self.call_raw("unconnectDID", params).await
19736    }
19737
19738    /// \- Unconnects specific FAX DID from Reseller Client Sub Account.
19739    ///
19740    /// Call the `unconnectFAX` API method and deserialize into [`UnconnectFAXResponse`].
19741    pub async fn unconnect_fax(&self, params: &UnconnectFAXParams) -> Result<UnconnectFAXResponse> {
19742        self.call("unconnectFAX", params).await
19743    }
19744
19745    /// Call the `unconnectFAX` API method and return the raw JSON envelope.
19746    pub async fn unconnect_fax_raw(&self, params: &UnconnectFAXParams) -> Result<Value> {
19747        self.call_raw("unconnectFAX", params).await
19748    }
19749}