Skip to main content

voip_ms/
generated.rs

1// @generated by xtask from tools/server.wsdl + tools/api-responses.json.
2// DO NOT EDIT — regenerate with `cargo xtask gen`.
3
4#![allow(clippy::too_many_arguments)]
5#![allow(non_snake_case)]
6
7use serde::Serialize;
8use serde_json::Value;
9
10use crate::client::Client;
11use crate::error::Result;
12
13/// Sub-account call-pickup permissions.
14#[derive(Debug, Clone, PartialEq, Eq, Hash)]
15pub enum CallPickupBehavior {
16    /// Can pick up and be picked up.
17    PickUpAndBePickedUp,
18    /// Can pick up; cannot be picked up.
19    PickUpOnly,
20    /// Can be picked up; cannot pick up.
21    BePickedUpOnly,
22    /// Cannot pick up nor be picked up.
23    Disabled,
24    /// Any wire value this crate doesn't recognize.
25    Unknown(String),
26}
27
28impl CallPickupBehavior {
29    /// The wire string for this variant.
30    pub fn as_wire(&self) -> &str {
31        match self {
32            CallPickupBehavior::PickUpAndBePickedUp => "1",
33            CallPickupBehavior::PickUpOnly => "2",
34            CallPickupBehavior::BePickedUpOnly => "3",
35            CallPickupBehavior::Disabled => "4",
36            CallPickupBehavior::Unknown(s) => s.as_str(),
37        }
38    }
39
40    /// Parse a wire string. Unknown values are preserved.
41    pub fn from_wire(s: &str) -> Self {
42        match s {
43            "1" => CallPickupBehavior::PickUpAndBePickedUp,
44            "2" => CallPickupBehavior::PickUpOnly,
45            "3" => CallPickupBehavior::BePickedUpOnly,
46            "4" => CallPickupBehavior::Disabled,
47            other => CallPickupBehavior::Unknown(other.to_string()),
48        }
49    }
50}
51
52impl std::fmt::Display for CallPickupBehavior {
53    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
54        f.write_str(self.as_wire())
55    }
56}
57
58impl serde::Serialize for CallPickupBehavior {
59    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
60        s.serialize_str(self.as_wire())
61    }
62}
63
64impl<'de> serde::Deserialize<'de> for CallPickupBehavior {
65    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
66        let s = crate::responses::deserialize_enum_wire_string(d)?;
67        Ok(CallPickupBehavior::from_wire(&s))
68    }
69}
70
71#[allow(dead_code)]
72pub(crate) fn deserialize_opt_call_pickup_behavior<'de, D>(
73    d: D,
74) -> std::result::Result<Option<CallPickupBehavior>, D::Error>
75where
76    D: serde::Deserializer<'de>,
77{
78    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
79    Ok(opt.and_then(|s| {
80        let t = s.trim();
81        if t.is_empty() {
82            None
83        } else {
84            Some(CallPickupBehavior::from_wire(t))
85        }
86    }))
87}
88
89/// Outgoing-call dialing mode for a sub-account.
90#[derive(Debug, Clone, PartialEq, Eq, Hash)]
91pub enum DialingMode {
92    /// Use the main account setting.
93    MainAccount,
94    E164,
95    Nanpa,
96    /// Any wire value this crate doesn't recognize.
97    Unknown(String),
98}
99
100impl DialingMode {
101    /// The wire string for this variant.
102    pub fn as_wire(&self) -> &str {
103        match self {
104            DialingMode::MainAccount => "0",
105            DialingMode::E164 => "1",
106            DialingMode::Nanpa => "2",
107            DialingMode::Unknown(s) => s.as_str(),
108        }
109    }
110
111    /// Parse a wire string. Unknown values are preserved.
112    pub fn from_wire(s: &str) -> Self {
113        match s {
114            "0" => DialingMode::MainAccount,
115            "1" => DialingMode::E164,
116            "2" => DialingMode::Nanpa,
117            other => DialingMode::Unknown(other.to_string()),
118        }
119    }
120}
121
122impl std::fmt::Display for DialingMode {
123    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
124        f.write_str(self.as_wire())
125    }
126}
127
128impl serde::Serialize for DialingMode {
129    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
130        s.serialize_str(self.as_wire())
131    }
132}
133
134impl<'de> serde::Deserialize<'de> for DialingMode {
135    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
136        let s = crate::responses::deserialize_enum_wire_string(d)?;
137        Ok(DialingMode::from_wire(&s))
138    }
139}
140
141#[allow(dead_code)]
142pub(crate) fn deserialize_opt_dialing_mode<'de, D>(
143    d: D,
144) -> std::result::Result<Option<DialingMode>, D::Error>
145where
146    D: serde::Deserializer<'de>,
147{
148    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
149    Ok(opt.and_then(|s| {
150        let t = s.trim();
151        if t.is_empty() {
152            None
153        } else {
154            Some(DialingMode::from_wire(t))
155        }
156    }))
157}
158
159/// DID billing model.
160#[derive(Debug, Clone, PartialEq, Eq, Hash)]
161pub enum DidBillingType {
162    PerMinute,
163    Flat,
164    /// Any wire value this crate doesn't recognize.
165    Unknown(String),
166}
167
168impl DidBillingType {
169    /// The wire string for this variant.
170    pub fn as_wire(&self) -> &str {
171        match self {
172            DidBillingType::PerMinute => "1",
173            DidBillingType::Flat => "2",
174            DidBillingType::Unknown(s) => s.as_str(),
175        }
176    }
177
178    /// Parse a wire string. Unknown values are preserved.
179    pub fn from_wire(s: &str) -> Self {
180        match s {
181            "1" => DidBillingType::PerMinute,
182            "2" => DidBillingType::Flat,
183            other => DidBillingType::Unknown(other.to_string()),
184        }
185    }
186}
187
188impl std::fmt::Display for DidBillingType {
189    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
190        f.write_str(self.as_wire())
191    }
192}
193
194impl serde::Serialize for DidBillingType {
195    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
196        s.serialize_str(self.as_wire())
197    }
198}
199
200impl<'de> serde::Deserialize<'de> for DidBillingType {
201    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
202        let s = crate::responses::deserialize_enum_wire_string(d)?;
203        Ok(DidBillingType::from_wire(&s))
204    }
205}
206
207#[allow(dead_code)]
208pub(crate) fn deserialize_opt_did_billing_type<'de, D>(
209    d: D,
210) -> std::result::Result<Option<DidBillingType>, D::Error>
211where
212    D: serde::Deserializer<'de>,
213{
214    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
215    Ok(opt.and_then(|s| {
216        let t = s.trim();
217        if t.is_empty() {
218            None
219        } else {
220            Some(DidBillingType::from_wire(t))
221        }
222    }))
223}
224
225/// DTMF transport mode for SIP sub-accounts.
226#[derive(Debug, Clone, PartialEq, Eq, Hash)]
227pub enum DtmfMode {
228    Auto,
229    Rfc2833,
230    Inband,
231    Info,
232    /// Any wire value this crate doesn't recognize.
233    Unknown(String),
234}
235
236impl DtmfMode {
237    /// The wire string for this variant.
238    pub fn as_wire(&self) -> &str {
239        match self {
240            DtmfMode::Auto => "auto",
241            DtmfMode::Rfc2833 => "rfc2833",
242            DtmfMode::Inband => "inband",
243            DtmfMode::Info => "info",
244            DtmfMode::Unknown(s) => s.as_str(),
245        }
246    }
247
248    /// Parse a wire string. Unknown values are preserved.
249    pub fn from_wire(s: &str) -> Self {
250        match s {
251            "auto" => DtmfMode::Auto,
252            "rfc2833" => DtmfMode::Rfc2833,
253            "inband" => DtmfMode::Inband,
254            "info" => DtmfMode::Info,
255            other => DtmfMode::Unknown(other.to_string()),
256        }
257    }
258}
259
260impl std::fmt::Display for DtmfMode {
261    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
262        f.write_str(self.as_wire())
263    }
264}
265
266impl serde::Serialize for DtmfMode {
267    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
268        s.serialize_str(self.as_wire())
269    }
270}
271
272impl<'de> serde::Deserialize<'de> for DtmfMode {
273    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
274        let s = crate::responses::deserialize_enum_wire_string(d)?;
275        Ok(DtmfMode::from_wire(&s))
276    }
277}
278
279#[allow(dead_code)]
280pub(crate) fn deserialize_opt_dtmf_mode<'de, D>(
281    d: D,
282) -> std::result::Result<Option<DtmfMode>, D::Error>
283where
284    D: serde::Deserializer<'de>,
285{
286    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
287    Ok(opt.and_then(|s| {
288        let t = s.trim();
289        if t.is_empty() {
290            None
291        } else {
292            Some(DtmfMode::from_wire(t))
293        }
294    }))
295}
296
297/// Voicemail email attachment format.
298#[derive(Debug, Clone, PartialEq, Eq, Hash)]
299pub enum EmailAttachmentFormat {
300    /// GSM-compressed WAV.
301    Wav49,
302    Wav,
303    Mp3,
304    /// Do not attach audio.
305    No,
306    /// Any wire value this crate doesn't recognize.
307    Unknown(String),
308}
309
310impl EmailAttachmentFormat {
311    /// The wire string for this variant.
312    pub fn as_wire(&self) -> &str {
313        match self {
314            EmailAttachmentFormat::Wav49 => "wav49",
315            EmailAttachmentFormat::Wav => "wav",
316            EmailAttachmentFormat::Mp3 => "mp3",
317            EmailAttachmentFormat::No => "no",
318            EmailAttachmentFormat::Unknown(s) => s.as_str(),
319        }
320    }
321
322    /// Parse a wire string. Unknown values are preserved.
323    pub fn from_wire(s: &str) -> Self {
324        match s {
325            "wav49" => EmailAttachmentFormat::Wav49,
326            "wav" => EmailAttachmentFormat::Wav,
327            "mp3" => EmailAttachmentFormat::Mp3,
328            "no" => EmailAttachmentFormat::No,
329            other => EmailAttachmentFormat::Unknown(other.to_string()),
330        }
331    }
332}
333
334impl std::fmt::Display for EmailAttachmentFormat {
335    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
336        f.write_str(self.as_wire())
337    }
338}
339
340impl serde::Serialize for EmailAttachmentFormat {
341    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
342        s.serialize_str(self.as_wire())
343    }
344}
345
346impl<'de> serde::Deserialize<'de> for EmailAttachmentFormat {
347    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
348        let s = crate::responses::deserialize_enum_wire_string(d)?;
349        Ok(EmailAttachmentFormat::from_wire(&s))
350    }
351}
352
353#[allow(dead_code)]
354pub(crate) fn deserialize_opt_email_attachment_format<'de, D>(
355    d: D,
356) -> std::result::Result<Option<EmailAttachmentFormat>, D::Error>
357where
358    D: serde::Deserializer<'de>,
359{
360    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
361    Ok(opt.and_then(|s| {
362        let t = s.trim();
363        if t.is_empty() {
364            None
365        } else {
366            Some(EmailAttachmentFormat::from_wire(t))
367        }
368    }))
369}
370
371/// When to include estimated hold time in queue position announcements.
372#[derive(Debug, Clone, PartialEq, Eq, Hash)]
373pub enum EstimatedHoldTimeAnnounce {
374    Yes,
375    No,
376    /// Announce only the first time.
377    Once,
378    /// Any wire value this crate doesn't recognize.
379    Unknown(String),
380}
381
382impl EstimatedHoldTimeAnnounce {
383    /// The wire string for this variant.
384    pub fn as_wire(&self) -> &str {
385        match self {
386            EstimatedHoldTimeAnnounce::Yes => "yes",
387            EstimatedHoldTimeAnnounce::No => "no",
388            EstimatedHoldTimeAnnounce::Once => "once",
389            EstimatedHoldTimeAnnounce::Unknown(s) => s.as_str(),
390        }
391    }
392
393    /// Parse a wire string. Unknown values are preserved.
394    pub fn from_wire(s: &str) -> Self {
395        match s {
396            "yes" => EstimatedHoldTimeAnnounce::Yes,
397            "no" => EstimatedHoldTimeAnnounce::No,
398            "once" => EstimatedHoldTimeAnnounce::Once,
399            other => EstimatedHoldTimeAnnounce::Unknown(other.to_string()),
400        }
401    }
402}
403
404impl std::fmt::Display for EstimatedHoldTimeAnnounce {
405    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
406        f.write_str(self.as_wire())
407    }
408}
409
410impl serde::Serialize for EstimatedHoldTimeAnnounce {
411    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
412        s.serialize_str(self.as_wire())
413    }
414}
415
416impl<'de> serde::Deserialize<'de> for EstimatedHoldTimeAnnounce {
417    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
418        let s = crate::responses::deserialize_enum_wire_string(d)?;
419        Ok(EstimatedHoldTimeAnnounce::from_wire(&s))
420    }
421}
422
423#[allow(dead_code)]
424pub(crate) fn deserialize_opt_estimated_hold_time_announce<'de, D>(
425    d: D,
426) -> std::result::Result<Option<EstimatedHoldTimeAnnounce>, D::Error>
427where
428    D: serde::Deserializer<'de>,
429{
430    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
431    Ok(opt.and_then(|s| {
432        let t = s.trim();
433        if t.is_empty() {
434            None
435        } else {
436            Some(EstimatedHoldTimeAnnounce::from_wire(t))
437        }
438    }))
439}
440
441/// Direction of an SMS / MMS message: a filter on requests, the direction on results.
442#[derive(Debug, Clone, PartialEq, Eq, Hash)]
443pub enum MessageType {
444    Received,
445    Sent,
446    /// Any wire value this crate doesn't recognize.
447    Unknown(String),
448}
449
450impl MessageType {
451    /// The wire string for this variant.
452    pub fn as_wire(&self) -> &str {
453        match self {
454            MessageType::Received => "1",
455            MessageType::Sent => "0",
456            MessageType::Unknown(s) => s.as_str(),
457        }
458    }
459
460    /// Parse a wire string. Unknown values are preserved.
461    pub fn from_wire(s: &str) -> Self {
462        match s {
463            "1" => MessageType::Received,
464            "0" => MessageType::Sent,
465            other => MessageType::Unknown(other.to_string()),
466        }
467    }
468}
469
470impl std::fmt::Display for MessageType {
471    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
472        f.write_str(self.as_wire())
473    }
474}
475
476impl serde::Serialize for MessageType {
477    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
478        s.serialize_str(self.as_wire())
479    }
480}
481
482impl<'de> serde::Deserialize<'de> for MessageType {
483    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
484        let s = crate::responses::deserialize_enum_wire_string(d)?;
485        Ok(MessageType::from_wire(&s))
486    }
487}
488
489#[allow(dead_code)]
490pub(crate) fn deserialize_opt_message_type<'de, D>(
491    d: D,
492) -> std::result::Result<Option<MessageType>, D::Error>
493where
494    D: serde::Deserializer<'de>,
495{
496    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
497    Ok(opt.and_then(|s| {
498        let t = s.trim();
499        if t.is_empty() {
500            None
501        } else {
502            Some(MessageType::from_wire(t))
503        }
504    }))
505}
506
507/// Asterisk NAT handling mode.
508#[derive(Debug, Clone, PartialEq, Eq, Hash)]
509pub enum Nat {
510    Yes,
511    No,
512    Route,
513    Never,
514    /// Any wire value this crate doesn't recognize.
515    Unknown(String),
516}
517
518impl Nat {
519    /// The wire string for this variant.
520    pub fn as_wire(&self) -> &str {
521        match self {
522            Nat::Yes => "yes",
523            Nat::No => "no",
524            Nat::Route => "route",
525            Nat::Never => "never",
526            Nat::Unknown(s) => s.as_str(),
527        }
528    }
529
530    /// Parse a wire string. Unknown values are preserved.
531    pub fn from_wire(s: &str) -> Self {
532        match s {
533            "yes" => Nat::Yes,
534            "no" => Nat::No,
535            "route" => Nat::Route,
536            "never" => Nat::Never,
537            other => Nat::Unknown(other.to_string()),
538        }
539    }
540}
541
542impl std::fmt::Display for Nat {
543    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
544        f.write_str(self.as_wire())
545    }
546}
547
548impl serde::Serialize for Nat {
549    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
550        s.serialize_str(self.as_wire())
551    }
552}
553
554impl<'de> serde::Deserialize<'de> for Nat {
555    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
556        let s = crate::responses::deserialize_enum_wire_string(d)?;
557        Ok(Nat::from_wire(&s))
558    }
559}
560
561#[allow(dead_code)]
562pub(crate) fn deserialize_opt_nat<'de, D>(d: D) -> std::result::Result<Option<Nat>, D::Error>
563where
564    D: serde::Deserializer<'de>,
565{
566    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
567    Ok(opt.and_then(|s| {
568        let t = s.trim();
569        if t.is_empty() {
570            None
571        } else {
572            Some(Nat::from_wire(t))
573        }
574    }))
575}
576
577/// Voicemail playback instruction mode.
578#[derive(Debug, Clone, PartialEq, Eq, Hash)]
579pub enum PlayInstructions {
580    /// Skip instructions on unread messages.
581    SkipUnread,
582    /// Read full instructions for unread messages.
583    Unread,
584    /// Don't say instructions.
585    DontSay,
586    /// Any wire value this crate doesn't recognize.
587    Unknown(String),
588}
589
590impl PlayInstructions {
591    /// The wire string for this variant.
592    pub fn as_wire(&self) -> &str {
593        match self {
594            PlayInstructions::SkipUnread => "su",
595            PlayInstructions::Unread => "u",
596            PlayInstructions::DontSay => "du",
597            PlayInstructions::Unknown(s) => s.as_str(),
598        }
599    }
600
601    /// Parse a wire string. Unknown values are preserved.
602    pub fn from_wire(s: &str) -> Self {
603        match s {
604            "su" => PlayInstructions::SkipUnread,
605            "u" => PlayInstructions::Unread,
606            "du" => PlayInstructions::DontSay,
607            other => PlayInstructions::Unknown(other.to_string()),
608        }
609    }
610}
611
612impl std::fmt::Display for PlayInstructions {
613    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
614        f.write_str(self.as_wire())
615    }
616}
617
618impl serde::Serialize for PlayInstructions {
619    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
620        s.serialize_str(self.as_wire())
621    }
622}
623
624impl<'de> serde::Deserialize<'de> for PlayInstructions {
625    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
626        let s = crate::responses::deserialize_enum_wire_string(d)?;
627        Ok(PlayInstructions::from_wire(&s))
628    }
629}
630
631#[allow(dead_code)]
632pub(crate) fn deserialize_opt_play_instructions<'de, D>(
633    d: D,
634) -> std::result::Result<Option<PlayInstructions>, D::Error>
635where
636    D: serde::Deserializer<'de>,
637{
638    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
639    Ok(opt.and_then(|s| {
640        let t = s.trim();
641        if t.is_empty() {
642            None
643        } else {
644            Some(PlayInstructions::from_wire(t))
645        }
646    }))
647}
648
649/// Whether callers may join, or are kept in, a queue with no available members. Used by both `join_when_empty` and `leave_when_empty`.
650#[derive(Debug, Clone, PartialEq, Eq, Hash)]
651pub enum QueueEmptyBehavior {
652    /// Callers may join / remain with no members.
653    Yes,
654    /// Callers may not join / are sent to failover.
655    No,
656    /// Like `No`, but also applies when members are present yet all unavailable.
657    Strict,
658    /// Any wire value this crate doesn't recognize.
659    Unknown(String),
660}
661
662impl QueueEmptyBehavior {
663    /// The wire string for this variant.
664    pub fn as_wire(&self) -> &str {
665        match self {
666            QueueEmptyBehavior::Yes => "yes",
667            QueueEmptyBehavior::No => "no",
668            QueueEmptyBehavior::Strict => "strict",
669            QueueEmptyBehavior::Unknown(s) => s.as_str(),
670        }
671    }
672
673    /// Parse a wire string. Unknown values are preserved.
674    pub fn from_wire(s: &str) -> Self {
675        match s {
676            "yes" => QueueEmptyBehavior::Yes,
677            "no" => QueueEmptyBehavior::No,
678            "strict" => QueueEmptyBehavior::Strict,
679            other => QueueEmptyBehavior::Unknown(other.to_string()),
680        }
681    }
682}
683
684impl std::fmt::Display for QueueEmptyBehavior {
685    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
686        f.write_str(self.as_wire())
687    }
688}
689
690impl serde::Serialize for QueueEmptyBehavior {
691    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
692        s.serialize_str(self.as_wire())
693    }
694}
695
696impl<'de> serde::Deserialize<'de> for QueueEmptyBehavior {
697    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
698        let s = crate::responses::deserialize_enum_wire_string(d)?;
699        Ok(QueueEmptyBehavior::from_wire(&s))
700    }
701}
702
703#[allow(dead_code)]
704pub(crate) fn deserialize_opt_queue_empty_behavior<'de, D>(
705    d: D,
706) -> std::result::Result<Option<QueueEmptyBehavior>, D::Error>
707where
708    D: serde::Deserializer<'de>,
709{
710    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
711    Ok(opt.and_then(|s| {
712        let t = s.trim();
713        if t.is_empty() {
714            None
715        } else {
716            Some(QueueEmptyBehavior::from_wire(t))
717        }
718    }))
719}
720
721/// Sort order for selected recordings.
722#[derive(Debug, Clone, PartialEq, Eq, Hash)]
723pub enum RecordingSort {
724    Alpha,
725    Random,
726    /// Any wire value this crate doesn't recognize.
727    Unknown(String),
728}
729
730impl RecordingSort {
731    /// The wire string for this variant.
732    pub fn as_wire(&self) -> &str {
733        match self {
734            RecordingSort::Alpha => "alpha",
735            RecordingSort::Random => "random",
736            RecordingSort::Unknown(s) => s.as_str(),
737        }
738    }
739
740    /// Parse a wire string. Unknown values are preserved.
741    pub fn from_wire(s: &str) -> Self {
742        match s {
743            "alpha" => RecordingSort::Alpha,
744            "random" => RecordingSort::Random,
745            other => RecordingSort::Unknown(other.to_string()),
746        }
747    }
748}
749
750impl std::fmt::Display for RecordingSort {
751    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
752        f.write_str(self.as_wire())
753    }
754}
755
756impl serde::Serialize for RecordingSort {
757    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
758        s.serialize_str(self.as_wire())
759    }
760}
761
762impl<'de> serde::Deserialize<'de> for RecordingSort {
763    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
764        let s = crate::responses::deserialize_enum_wire_string(d)?;
765        Ok(RecordingSort::from_wire(&s))
766    }
767}
768
769#[allow(dead_code)]
770pub(crate) fn deserialize_opt_recording_sort<'de, D>(
771    d: D,
772) -> std::result::Result<Option<RecordingSort>, D::Error>
773where
774    D: serde::Deserializer<'de>,
775{
776    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
777    Ok(opt.and_then(|s| {
778        let t = s.trim();
779        if t.is_empty() {
780            None
781        } else {
782            Some(RecordingSort::from_wire(t))
783        }
784    }))
785}
786
787/// Order in which ring-group members are attempted.
788#[derive(Debug, Clone, PartialEq, Eq, Hash)]
789pub enum RingGroupOrder {
790    /// Try members in declared order.
791    Follow,
792    Random,
793    /// Any wire value this crate doesn't recognize.
794    Unknown(String),
795}
796
797impl RingGroupOrder {
798    /// The wire string for this variant.
799    pub fn as_wire(&self) -> &str {
800        match self {
801            RingGroupOrder::Follow => "follow",
802            RingGroupOrder::Random => "random",
803            RingGroupOrder::Unknown(s) => s.as_str(),
804        }
805    }
806
807    /// Parse a wire string. Unknown values are preserved.
808    pub fn from_wire(s: &str) -> Self {
809        match s {
810            "follow" => RingGroupOrder::Follow,
811            "random" => RingGroupOrder::Random,
812            other => RingGroupOrder::Unknown(other.to_string()),
813        }
814    }
815}
816
817impl std::fmt::Display for RingGroupOrder {
818    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
819        f.write_str(self.as_wire())
820    }
821}
822
823impl serde::Serialize for RingGroupOrder {
824    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
825        s.serialize_str(self.as_wire())
826    }
827}
828
829impl<'de> serde::Deserialize<'de> for RingGroupOrder {
830    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
831        let s = crate::responses::deserialize_enum_wire_string(d)?;
832        Ok(RingGroupOrder::from_wire(&s))
833    }
834}
835
836#[allow(dead_code)]
837pub(crate) fn deserialize_opt_ring_group_order<'de, D>(
838    d: D,
839) -> std::result::Result<Option<RingGroupOrder>, D::Error>
840where
841    D: serde::Deserializer<'de>,
842{
843    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
844    Ok(opt.and_then(|s| {
845        let t = s.trim();
846        if t.is_empty() {
847            None
848        } else {
849            Some(RingGroupOrder::from_wire(t))
850        }
851    }))
852}
853
854/// Queue ring strategy. Mirrors Asterisk's queue strategy options.
855#[derive(Debug, Clone, PartialEq, Eq, Hash)]
856pub enum RingStrategy {
857    RingAll,
858    LeastRecent,
859    FewestCalls,
860    Random,
861    RrMemory,
862    Linear,
863    WRandom,
864    /// Any wire value this crate doesn't recognize.
865    Unknown(String),
866}
867
868impl RingStrategy {
869    /// The wire string for this variant.
870    pub fn as_wire(&self) -> &str {
871        match self {
872            RingStrategy::RingAll => "ringall",
873            RingStrategy::LeastRecent => "leastrecent",
874            RingStrategy::FewestCalls => "fewestcalls",
875            RingStrategy::Random => "random",
876            RingStrategy::RrMemory => "rrmemory",
877            RingStrategy::Linear => "linear",
878            RingStrategy::WRandom => "wrandom",
879            RingStrategy::Unknown(s) => s.as_str(),
880        }
881    }
882
883    /// Parse a wire string. Unknown values are preserved.
884    pub fn from_wire(s: &str) -> Self {
885        match s {
886            "ringall" => RingStrategy::RingAll,
887            "leastrecent" => RingStrategy::LeastRecent,
888            "fewestcalls" => RingStrategy::FewestCalls,
889            "random" => RingStrategy::Random,
890            "rrmemory" => RingStrategy::RrMemory,
891            "linear" => RingStrategy::Linear,
892            "wrandom" => RingStrategy::WRandom,
893            other => RingStrategy::Unknown(other.to_string()),
894        }
895    }
896}
897
898impl std::fmt::Display for RingStrategy {
899    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
900        f.write_str(self.as_wire())
901    }
902}
903
904impl serde::Serialize for RingStrategy {
905    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
906        s.serialize_str(self.as_wire())
907    }
908}
909
910impl<'de> serde::Deserialize<'de> for RingStrategy {
911    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
912        let s = crate::responses::deserialize_enum_wire_string(d)?;
913        Ok(RingStrategy::from_wire(&s))
914    }
915}
916
917#[allow(dead_code)]
918pub(crate) fn deserialize_opt_ring_strategy<'de, D>(
919    d: D,
920) -> std::result::Result<Option<RingStrategy>, D::Error>
921where
922    D: serde::Deserializer<'de>,
923{
924    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
925    Ok(opt.and_then(|s| {
926        let t = s.trim();
927        if t.is_empty() {
928            None
929        } else {
930            Some(RingStrategy::from_wire(t))
931        }
932    }))
933}
934
935/// How a DID / toll-free search string is matched.
936#[derive(Debug, Clone, PartialEq, Eq, Hash)]
937pub enum SearchType {
938    Starts,
939    Contains,
940    Ends,
941    /// Any wire value this crate doesn't recognize.
942    Unknown(String),
943}
944
945impl SearchType {
946    /// The wire string for this variant.
947    pub fn as_wire(&self) -> &str {
948        match self {
949            SearchType::Starts => "starts",
950            SearchType::Contains => "contains",
951            SearchType::Ends => "ends",
952            SearchType::Unknown(s) => s.as_str(),
953        }
954    }
955
956    /// Parse a wire string. Unknown values are preserved.
957    pub fn from_wire(s: &str) -> Self {
958        match s {
959            "starts" => SearchType::Starts,
960            "contains" => SearchType::Contains,
961            "ends" => SearchType::Ends,
962            other => SearchType::Unknown(other.to_string()),
963        }
964    }
965}
966
967impl std::fmt::Display for SearchType {
968    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
969        f.write_str(self.as_wire())
970    }
971}
972
973impl serde::Serialize for SearchType {
974    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
975        s.serialize_str(self.as_wire())
976    }
977}
978
979impl<'de> serde::Deserialize<'de> for SearchType {
980    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
981        let s = crate::responses::deserialize_enum_wire_string(d)?;
982        Ok(SearchType::from_wire(&s))
983    }
984}
985
986#[allow(dead_code)]
987pub(crate) fn deserialize_opt_search_type<'de, D>(
988    d: D,
989) -> std::result::Result<Option<SearchType>, D::Error>
990where
991    D: serde::Deserializer<'de>,
992{
993    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
994    Ok(opt.and_then(|s| {
995        let t = s.trim();
996        if t.is_empty() {
997            None
998        } else {
999            Some(SearchType::from_wire(t))
1000        }
1001    }))
1002}
1003
1004/// Carrier for outgoing calls to toll-free numbers.
1005#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1006pub enum TollFreeCarrier {
1007    /// Use the main account setting.
1008    MainAccount,
1009    /// Default server setting.
1010    Default,
1011    Us,
1012    Canadian,
1013    /// Any wire value this crate doesn't recognize.
1014    Unknown(String),
1015}
1016
1017impl TollFreeCarrier {
1018    /// The wire string for this variant.
1019    pub fn as_wire(&self) -> &str {
1020        match self {
1021            TollFreeCarrier::MainAccount => "-1",
1022            TollFreeCarrier::Default => "0",
1023            TollFreeCarrier::Us => "1",
1024            TollFreeCarrier::Canadian => "2",
1025            TollFreeCarrier::Unknown(s) => s.as_str(),
1026        }
1027    }
1028
1029    /// Parse a wire string. Unknown values are preserved.
1030    pub fn from_wire(s: &str) -> Self {
1031        match s {
1032            "-1" => TollFreeCarrier::MainAccount,
1033            "0" => TollFreeCarrier::Default,
1034            "1" => TollFreeCarrier::Us,
1035            "2" => TollFreeCarrier::Canadian,
1036            other => TollFreeCarrier::Unknown(other.to_string()),
1037        }
1038    }
1039}
1040
1041impl std::fmt::Display for TollFreeCarrier {
1042    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1043        f.write_str(self.as_wire())
1044    }
1045}
1046
1047impl serde::Serialize for TollFreeCarrier {
1048    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1049        s.serialize_str(self.as_wire())
1050    }
1051}
1052
1053impl<'de> serde::Deserialize<'de> for TollFreeCarrier {
1054    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1055        let s = crate::responses::deserialize_enum_wire_string(d)?;
1056        Ok(TollFreeCarrier::from_wire(&s))
1057    }
1058}
1059
1060#[allow(dead_code)]
1061pub(crate) fn deserialize_opt_toll_free_carrier<'de, D>(
1062    d: D,
1063) -> std::result::Result<Option<TollFreeCarrier>, D::Error>
1064where
1065    D: serde::Deserializer<'de>,
1066{
1067    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1068    Ok(opt.and_then(|s| {
1069        let t = s.trim();
1070        if t.is_empty() {
1071            None
1072        } else {
1073            Some(TollFreeCarrier::from_wire(t))
1074        }
1075    }))
1076}
1077
1078/// Voicemail transcription output format.
1079#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1080pub enum TranscriptionFormat {
1081    Text,
1082    Html,
1083    /// Any wire value this crate doesn't recognize.
1084    Unknown(String),
1085}
1086
1087impl TranscriptionFormat {
1088    /// The wire string for this variant.
1089    pub fn as_wire(&self) -> &str {
1090        match self {
1091            TranscriptionFormat::Text => "text",
1092            TranscriptionFormat::Html => "html",
1093            TranscriptionFormat::Unknown(s) => s.as_str(),
1094        }
1095    }
1096
1097    /// Parse a wire string. Unknown values are preserved.
1098    pub fn from_wire(s: &str) -> Self {
1099        match s {
1100            "text" => TranscriptionFormat::Text,
1101            "html" => TranscriptionFormat::Html,
1102            other => TranscriptionFormat::Unknown(other.to_string()),
1103        }
1104    }
1105}
1106
1107impl std::fmt::Display for TranscriptionFormat {
1108    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1109        f.write_str(self.as_wire())
1110    }
1111}
1112
1113impl serde::Serialize for TranscriptionFormat {
1114    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1115        s.serialize_str(self.as_wire())
1116    }
1117}
1118
1119impl<'de> serde::Deserialize<'de> for TranscriptionFormat {
1120    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1121        let s = crate::responses::deserialize_enum_wire_string(d)?;
1122        Ok(TranscriptionFormat::from_wire(&s))
1123    }
1124}
1125
1126#[allow(dead_code)]
1127pub(crate) fn deserialize_opt_transcription_format<'de, D>(
1128    d: D,
1129) -> std::result::Result<Option<TranscriptionFormat>, D::Error>
1130where
1131    D: serde::Deserializer<'de>,
1132{
1133    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1134    Ok(opt.and_then(|s| {
1135        let t = s.trim();
1136        if t.is_empty() {
1137            None
1138        } else {
1139            Some(TranscriptionFormat::from_wire(t))
1140        }
1141    }))
1142}
1143
1144/// Toll-free prefix to search for a vanity number.
1145#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1146pub enum VanityType {
1147    /// Any toll-free prefix.
1148    Any,
1149    N800,
1150    N833,
1151    N844,
1152    N855,
1153    N866,
1154    N877,
1155    N888,
1156    /// Any wire value this crate doesn't recognize.
1157    Unknown(String),
1158}
1159
1160impl VanityType {
1161    /// The wire string for this variant.
1162    pub fn as_wire(&self) -> &str {
1163        match self {
1164            VanityType::Any => "8**",
1165            VanityType::N800 => "800",
1166            VanityType::N833 => "833",
1167            VanityType::N844 => "844",
1168            VanityType::N855 => "855",
1169            VanityType::N866 => "866",
1170            VanityType::N877 => "877",
1171            VanityType::N888 => "888",
1172            VanityType::Unknown(s) => s.as_str(),
1173        }
1174    }
1175
1176    /// Parse a wire string. Unknown values are preserved.
1177    pub fn from_wire(s: &str) -> Self {
1178        match s {
1179            "8**" => VanityType::Any,
1180            "800" => VanityType::N800,
1181            "833" => VanityType::N833,
1182            "844" => VanityType::N844,
1183            "855" => VanityType::N855,
1184            "866" => VanityType::N866,
1185            "877" => VanityType::N877,
1186            "888" => VanityType::N888,
1187            other => VanityType::Unknown(other.to_string()),
1188        }
1189    }
1190}
1191
1192impl std::fmt::Display for VanityType {
1193    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1194        f.write_str(self.as_wire())
1195    }
1196}
1197
1198impl serde::Serialize for VanityType {
1199    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1200        s.serialize_str(self.as_wire())
1201    }
1202}
1203
1204impl<'de> serde::Deserialize<'de> for VanityType {
1205    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1206        let s = crate::responses::deserialize_enum_wire_string(d)?;
1207        Ok(VanityType::from_wire(&s))
1208    }
1209}
1210
1211#[allow(dead_code)]
1212pub(crate) fn deserialize_opt_vanity_type<'de, D>(
1213    d: D,
1214) -> std::result::Result<Option<VanityType>, D::Error>
1215where
1216    D: serde::Deserializer<'de>,
1217{
1218    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1219    Ok(opt.and_then(|s| {
1220        let t = s.trim();
1221        if t.is_empty() {
1222            None
1223        } else {
1224            Some(VanityType::from_wire(t))
1225        }
1226    }))
1227}
1228
1229/// Voicemail message folder.
1230#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1231pub enum VoicemailFolder {
1232    Inbox,
1233    Old,
1234    Urgent,
1235    Family,
1236    Friends,
1237    Work,
1238    /// Any wire value this crate doesn't recognize.
1239    Unknown(String),
1240}
1241
1242impl VoicemailFolder {
1243    /// The wire string for this variant.
1244    pub fn as_wire(&self) -> &str {
1245        match self {
1246            VoicemailFolder::Inbox => "INBOX",
1247            VoicemailFolder::Old => "Old",
1248            VoicemailFolder::Urgent => "Urgent",
1249            VoicemailFolder::Family => "Family",
1250            VoicemailFolder::Friends => "Friends",
1251            VoicemailFolder::Work => "Work",
1252            VoicemailFolder::Unknown(s) => s.as_str(),
1253        }
1254    }
1255
1256    /// Parse a wire string. Unknown values are preserved.
1257    pub fn from_wire(s: &str) -> Self {
1258        match s {
1259            "INBOX" => VoicemailFolder::Inbox,
1260            "Old" => VoicemailFolder::Old,
1261            "Urgent" => VoicemailFolder::Urgent,
1262            "Family" => VoicemailFolder::Family,
1263            "Friends" => VoicemailFolder::Friends,
1264            "Work" => VoicemailFolder::Work,
1265            other => VoicemailFolder::Unknown(other.to_string()),
1266        }
1267    }
1268}
1269
1270impl std::fmt::Display for VoicemailFolder {
1271    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
1272        f.write_str(self.as_wire())
1273    }
1274}
1275
1276impl serde::Serialize for VoicemailFolder {
1277    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
1278        s.serialize_str(self.as_wire())
1279    }
1280}
1281
1282impl<'de> serde::Deserialize<'de> for VoicemailFolder {
1283    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
1284        let s = crate::responses::deserialize_enum_wire_string(d)?;
1285        Ok(VoicemailFolder::from_wire(&s))
1286    }
1287}
1288
1289#[allow(dead_code)]
1290pub(crate) fn deserialize_opt_voicemail_folder<'de, D>(
1291    d: D,
1292) -> std::result::Result<Option<VoicemailFolder>, D::Error>
1293where
1294    D: serde::Deserializer<'de>,
1295{
1296    let opt = crate::responses::deserialize_opt_string_from_string_number_or_bool(d)?;
1297    Ok(opt.and_then(|s| {
1298        let t = s.trim();
1299        if t.is_empty() {
1300            None
1301        } else {
1302            Some(VoicemailFolder::from_wire(t))
1303        }
1304    }))
1305}
1306
1307/// A non-success `status` returned by the VoIP.ms API.
1308///
1309/// Every documented error code from the official API docs' global
1310/// error-code table is a variant; [`ApiStatus::description`] returns its
1311/// documented meaning. The set of codes is documentation, not a stable
1312/// contract — a code VoIP.ms returns but hasn't documented is preserved
1313/// verbatim in [`ApiStatus::Unknown`] rather than lost.
1314///
1315/// ```
1316/// # use voip_ms::ApiStatus;
1317/// let status = ApiStatus::from_wire("invalid_credentials");
1318/// assert_eq!(status, ApiStatus::InvalidCredentials);
1319/// assert_eq!(status.as_str(), "invalid_credentials");
1320/// assert_eq!(status.description(), Some("Username or Password is incorrect"));
1321/// assert!(status.is_documented());
1322///
1323/// let unknown = ApiStatus::from_wire("some_new_code");
1324/// assert_eq!(unknown, ApiStatus::Unknown("some_new_code".to_string()));
1325/// assert_eq!(unknown.description(), None);
1326/// assert!(!unknown.is_documented());
1327/// ```
1328#[derive(Debug, Clone, PartialEq, Eq, Hash)]
1329pub enum ApiStatus {
1330    /// `account_with_dids` — The Account has DIDs assigned to it.
1331    AccountWithDIDs,
1332    /// `api_limit_exceeded` — API requests limit per minute has been reached
1333    APILimitExceeded,
1334    /// `api_not_enabled` — API has not been enabled or has been disabled
1335    APINotEnabled,
1336    /// `cancel_failed` — The cancellation wasn't completed.
1337    CancelFailed,
1338    /// `can_have_only_one_profile_without_pin` — The conference can just have one profile member without pin
1339    CANHaveOnlyOneProfileWithoutPIN,
1340    /// `conference_member_relation_not_found` — There is no relation between the profile member and the conference.
1341    ConferenceMemberRelationNotFound,
1342    /// `did_in_use` — DID Number is already in use
1343    DIDInUse,
1344    /// `did_limit_reached` — You have reached the maximum number of DID numbers allowed for your account type. Please contact our team if you have a specific use case or if you would like to upgrade to a Business account.
1345    DIDLimitReached,
1346    /// `duplicated_name` — There is already another entry with this name
1347    DuplicatedName,
1348    /// `duplicated_pin` — The given pin has been duplicated
1349    DuplicatedPIN,
1350    /// `e911_disabled` — DID e911 service it's not enabled.
1351    E911Disabled,
1352    /// `e911_pending` — DID e911 service has been requested and is in validation process.
1353    E911Pending,
1354    /// `error_deleting_msg` — Error when deleting message
1355    ErrorDeletingMsg,
1356    /// `error_moving_msg` — Error when move the voicemail message to folder
1357    ErrorMovingMsg,
1358    /// `exceeds_file_size` — The file exceeds the limite size allowed.
1359    ExceedsFileSize,
1360    /// `existing_did` — You can't set a callback to an existing VoIP.ms DID number
1361    ExistingDID,
1362    /// `forwards_exceeded` — Your account is limited to 4 forward entries
1363    ForwardsExceeded,
1364    /// `invalid_account` — This is not a valid account
1365    InvalidAccount,
1366    /// `invalid_address` — Address is missing or the format is invalid.
1367    InvalidAddress,
1368    /// `invalid_admin` — This is not a valid admin
1369    InvalidAdmin,
1370    /// `invalid_agent_ring_timeout` — This is not a valid Agent ring time out value
1371    InvalidAgentRingTimeout,
1372    /// `invalid_allowedcodecs` — One of the codecs provided is invalid Format and Values: ulaw;g729;gsm;all
1373    InvalidAllowedcodecs,
1374    /// `invalid_announce_join_leave` — This is not a valid "Announce join leave"
1375    InvalidAnnounceJoinLeave,
1376    /// `invalid_announce_only_user` — This is not a valid "Announce only user"
1377    InvalidAnnounceOnlyUser,
1378    /// `invalid_announce_position_frequency` — This is not a valid Announce position frequency
1379    InvalidAnnouncePositionFrequency,
1380    /// `invalid_announce_round_seconds` — This is not a valid "Announce round seconds"
1381    InvalidAnnounceRoundSeconds,
1382    /// `invalid_announce_user_count` — This is not a valid "Announce user count"
1383    InvalidAnnounceUserCount,
1384    /// `invalid_area_code` — this is not a valid Area Code.
1385    InvalidAreaCode,
1386    /// `invalid_attachid` — The given ID is invalid or doesn't exist.
1387    InvalidAttachid,
1388    /// `invalid_attachmessage` — this is not a valid AttachMessage Should be: yes/no
1389    InvalidAttachmessage,
1390    /// `invalid_attach_file` — Valid formats: PDF, MS Word, BMP, JPG
1391    InvalidAttachFile,
1392    /// `invalid_authtype` — This is not a valid Auth Type
1393    InvalidAuthtype,
1394    /// `invalid_authtype_h323` — You must select IP Auth to use H.323
1395    InvalidAuthtypeH323,
1396    /// `invalid_authtype_iax2` — You must use User/Password Authentication for IAX2
1397    InvalidAuthtypeIax2,
1398    /// `invalid_balancemanagement` — This is not a valid BalanceManagement
1399    InvalidBalancemanagement,
1400    /// `invalid_base_recording` — This is not a valid recording path
1401    InvalidBaseRecording,
1402    /// `invalid_billingtype` — This is not a valid Billing Type Allowed values: 1 = PerMinute, 2 = Flat
1403    InvalidBillingtype,
1404    /// `invalid_callback` — This is not a valid Callback
1405    InvalidCallback,
1406    /// `invalid_callback_enable` — This is not a valid Callback enable value
1407    InvalidCallbackEnable,
1408    /// `invalid_callback_retry` — This is not a valid Callback retry
1409    InvalidCallbackRetry,
1410    /// `invalid_callerid` — This is not a valid CallerID
1411    InvalidCallerid,
1412    /// `invalid_calleridprefix` — This is not a valid CID Prefix, lenght should be less than 20 chars
1413    InvalidCalleridprefix,
1414    /// `invalid_callerid_override` — This is not a valid CallerID Override
1415    InvalidCalleridOverride,
1416    /// `invalid_callhunting` — This is not a valid Call Hunting
1417    InvalidCallhunting,
1418    /// `invalid_callparking` — This is not a valid Call Parking
1419    InvalidCallparking,
1420    /// `invalid_callrecording` — This is not a valid Call recording
1421    InvalidCallrecording,
1422    /// `invalid_call_type` — Call Type is not valid.
1423    InvalidCallType,
1424    /// `invalid_canada_routing` — This is not a valid Canada Route
1425    InvalidCanadaRouting,
1426    /// `invalid_carrier` — This is not a valid Carrier
1427    InvalidCarrier,
1428    /// `invalid_charge` — This is not a valid Charge
1429    InvalidCharge,
1430    /// `invalid_city` — City is missing or the format is invalid.
1431    InvalidCity,
1432    /// `invalid_client` — This is not a valid Client
1433    InvalidClient,
1434    /// `invalid_cnam` — This is not a valid CNAM Should be: 1/0
1435    InvalidCNAM,
1436    /// `invalid_codec` — This is not a valid Codec
1437    InvalidCodec,
1438    /// `invalid_conference` — This is not a valid Conference ID
1439    InvalidConference,
1440    /// `invalid_contact` — This is not a valid Contact Number
1441    InvalidContact,
1442    /// `invalid_country` — Country is missing or the format is invalid, must be in format ISO 3166-1 alpha-2, example: US, CA, etc. (You can use the values returned by the method getCountries)
1443    InvalidCountry,
1444    /// `invalid_countryid` — This is not a valid Country ID
1445    InvalidCountryid,
1446    /// `invalid_credentials` — Username or Password is incorrect
1447    InvalidCredentials,
1448    /// `invalid_date` — This is not a valid date Format is: yyyy-mm-dd
1449    InvalidDate,
1450    /// `invalid_daterange` — Date Range should be 92 days or less
1451    InvalidDaterange,
1452    /// `invalid_datetime` — This is not a valid datetime Format is: yyyy-mm-dd hh:mm:ss
1453    InvalidDatetime,
1454    /// `invalid_date_from` — The "From" date should be prior to the "To" date.
1455    InvalidDateFrom,
1456    /// `invalid_dayrange` — This is not a valid Day Range
1457    InvalidDayrange,
1458    /// `invalid_delay_before` — This is not a valid DelayBefore
1459    InvalidDelayBefore,
1460    /// `invalid_deletemessage` — This is not a valid DeleteMessage Should be: yes/no
1461    InvalidDeletemessage,
1462    /// `invalid_description` — This is not a valid Description
1463    InvalidDescription,
1464    /// `invalid_destination` — This is not a valid Destination
1465    InvalidDestination,
1466    /// `invalid_destination_folder` — This is not a valid Destination Folder
1467    InvalidDestinationFolder,
1468    /// `invalid_devicetype` — This is not a valid Device Type
1469    InvalidDevicetype,
1470    /// `invalid_dialtime` — This is not a valid Dialtime
1471    InvalidDialtime,
1472    /// `invalid_did` — This is not a valid DID
1473    InvalidDID,
1474    /// `invalid_digits` — These are not valid DigitsOrderDIDVirtual: Digits must be 3 numbers
1475    InvalidDigits,
1476    /// `invalid_digit_timeout` — This is not a valid DigitTimeOut
1477    InvalidDigitTimeout,
1478    /// `invalid_disa` — This is not a valid DISA
1479    InvalidDISA,
1480    /// `invalid_diversion_header` — This is not a valid Diversion Header. It must be a numeric value, accepting only 0 or 1.
1481    InvalidDiversionHeader,
1482    /// `invalid_drop_silence` — This is not a valid "drop silence" value
1483    InvalidDropSilence,
1484    /// `invalid_dst` — This is not a valid Destination Number
1485    InvalidDST,
1486    /// `invalid_dtmfmode` — This is no a valid DTMF Mode
1487    InvalidDtmfmode,
1488    /// `invalid_dtmf_digits` — This is no a valid DTMF digit
1489    InvalidDTMFDigits,
1490    /// `invalid_email` — This is not a valid email or email is already in database
1491    InvalidEmail,
1492    /// `invalid_email_attachment_format` — This is not a valid format value
1493    InvalidEmailAttachmentFormat,
1494    /// `invalid_email_enable` — This is not a valid email enable value
1495    InvalidEmailEnable,
1496    /// `invalid_enable_ip_restriction` — This is not a valid Enable IP Restriction value
1497    InvalidEnableIPRestriction,
1498    /// `invalid_enable_pop_restriction` — This is not a valid Enable POP Restriction value
1499    InvalidEnablePOPRestriction,
1500    /// `invalid_endhour` — This is not a valid End Hour
1501    InvalidEndhour,
1502    /// `invalid_endminute` — This is not a valid End Minute
1503    InvalidEndminute,
1504    /// `invalid_extension` — This is not a valid extension Extension can only contain digits
1505    InvalidExtension,
1506    /// `invalid_extensions` — Extensions cannot be: 098, 211, 311, 411, 4443, 4444, 4747, 511, 711, 811, 822, 911, 988
1507    InvalidExtensions,
1508    /// `invalid_extension_length` — Extensions should not contain more than 5 digits
1509    InvalidExtensionLength,
1510    /// `invalid_extension_prefix` — Extensions cannot start with: 068, 097
1511    InvalidExtensionPrefix,
1512    /// `invalid_failover_header` — This is not a valid failover header Should be: account/vm/fwd/none
1513    InvalidFailoverHeader,
1514    /// `invalid_fax_id` — This is not a valid Fax Message ID
1515    InvalidFAXID,
1516    /// `invalid_file` — This is not a valid File
1517    InvalidFile,
1518    /// `invalid_filter` — This is not a valid Filter
1519    InvalidFilter,
1520    /// `invalid_firstname` — First name is missing or the format is invalid.
1521    InvalidFirstname,
1522    /// `invalid_foc_enddate` — Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22
1523    InvalidFocEnddate,
1524    /// `invalid_foc_startdate` — Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22
1525    InvalidFocStartdate,
1526    /// `invalid_folder` — This is not a valid Folder
1527    InvalidFolder,
1528    /// `invalid_folder_id` — This is not a valid Fax Folder ID
1529    InvalidFolderID,
1530    /// `invalid_forwarding` — This is not a valid forwarding
1531    InvalidForwarding,
1532    /// `invalid_forwarding_did` — Forwarding to the same did is not allowed
1533    InvalidForwardingDID,
1534    /// `invalid_forward_enable` — This is not a valid forward enable value
1535    InvalidForwardEnable,
1536    /// `invalid_frequency_announcement` — This is not a valid Frequency announce
1537    InvalidFrequencyAnnouncement,
1538    /// `invalid_from_number` — This is not a valid sender number.
1539    InvalidFromNumber,
1540    /// `invalid_fullname` — This is not a valid Full Name
1541    InvalidFullname,
1542    /// `invalid_id` — This is not a valid ID
1543    InvalidID,
1544    /// `invalid_if_announce_position_enabled_report_e` — This is not a Report estimated hold time type
1545    InvalidIfAnnouncePositionEnabledReportE,
1546    /// `invalid_internaldialtime` — This is not a valid Internal Dialtime Should be: 1 to 60
1547    InvalidInternaldialtime,
1548    /// `invalid_internalvoicemail` — This is not a valid Internal Voicemail
1549    InvalidInternalvoicemail,
1550    /// `invalid_internationalroute` — This is not a valid International Route
1551    InvalidInternationalroute,
1552    /// `invalid_invoice_type` — Invalid invoice type, possible values: 0 = US, 1 = CAN.
1553    InvalidInvoiceType,
1554    /// `invalid_ip` — This is an invalid IP
1555    InvalidIP,
1556    /// `invalid_ip_auth` — Do not provide an IP address for User/Pass Authentication
1557    InvalidIPAuth,
1558    /// `invalid_ip_iax2` — Do not provide an IP address for IAX2
1559    InvalidIPIax2,
1560    /// `invalid_ivr` — This is not a valid IVR
1561    InvalidIVR,
1562    /// `invalid_jitter_buffer` — This is not a valid "jitter buffer" value
1563    InvalidJitterBuffer,
1564    /// `invalid_join_announcement` — This is not a valid 'Join Announcement' Type for a Queue
1565    InvalidJoinAnnouncement,
1566    /// `invalid_join_empty_type` — This is not a valid 'JoinWhenEmpty' Type for a Queue
1567    InvalidJoinEmptyType,
1568    /// `invalid_language` — This is not a valid Language Should be: es/en/fr
1569    InvalidLanguage,
1570    /// `invalid_lastname` — Lastname is missing or the format is invalid.
1571    InvalidLastname,
1572    /// `invalid_listened` — This is not a valid Listened value
1573    InvalidListened,
1574    /// `invalid_location` — This is not a valid Location
1575    InvalidLocation,
1576    /// `invalid_lockinternational` — This is not a valid Lock International
1577    InvalidLockinternational,
1578    /// `invalid_mailbox` — This is not a valid mailbox
1579    InvalidMailbox,
1580    /// `invalid_maximum_callers` — This is not a valid maximum callers value
1581    InvalidMaximumCallers,
1582    /// `invalid_maximum_wait_time` — This is not a valid maximum wait time value
1583    InvalidMaximumWaitTime,
1584    /// `invalid_max_expiry` — This is not a valid Max Expiry (value must be between 60 and 3600 seconds)
1585    InvalidMaxExpiry,
1586    /// `invalid_member` — This is not a valid Member
1587    InvalidMember,
1588    /// `invalid_member_delay` — This is not a valid Member Delay
1589    InvalidMemberDelay,
1590    /// `invalid_message_num` — This is not a valid Voicemail Message Number
1591    InvalidMessageNum,
1592    /// `invalid_method` — This is not a valid Method
1593    InvalidMethod,
1594    /// `invalid_minute` — This is not a valid Minute Rate
1595    InvalidMinute,
1596    /// `invalid_mixed_numbers` — Toll-free numbers and local numbers can not be mixed in the same order.
1597    InvalidMixedNumbers,
1598    /// `invalid_monthly` — This is not a valid Montly Fee
1599    InvalidMonthly,
1600    /// `invalid_musiconhold` — This is not a valid Music on Hold
1601    InvalidMusiconhold,
1602    /// `invalid_name` — This is not a valid name, Alphanumeric Only
1603    InvalidName,
1604    /// `invalid_nat` — This is not a valid NAT
1605    InvalidNAT,
1606    /// `invalid_note` — This is not a valid Note, lenght should be less than 50 chars
1607    InvalidNote,
1608    /// `invalid_number` — This is not a valid Number
1609    InvalidNumber,
1610    /// `invalid_numbermembers` — The element format of multiple data is not correct or it size does not match with other elements
1611    InvalidNumbermembers,
1612    /// `invalid_number_canadian` — You have entered a Canadian number (not valid in this portability process).
1613    InvalidNumberCanadian,
1614    /// `invalid_number_exist` — The number is already in our network
1615    InvalidNumberExist,
1616    /// `invalid_number_fax` — The Fax number can not be ported into our network
1617    InvalidNumberFAX,
1618    /// `invalid_number_porttype` — You have entered a local number (not valid in this portability process)
1619    InvalidNumberPorttype,
1620    /// `invalid_number_us` — You have entered a USA number (not valid in this portability process).
1621    InvalidNumberUS,
1622    /// `invalid_order` — This is not a valid "order" value
1623    InvalidOrder,
1624    /// `invalid_package` — This is not a valid Package
1625    InvalidPackage,
1626    /// `invalid_password` — This is not a valid passwordVoicemail: Must be 4 Digits SubAccounts: More than 6 chars, Must Contain Alphanumeric and !#$%&/()=?*[]_:.,{}+-
1627    InvalidPassword,
1628    /// `invalid_password_auth` — Do not provide a Password for IP Authentication
1629    InvalidPasswordAuth,
1630    /// `invalid_password_ilegal_characters` — This is not a valid password (Allowed characters: Alphanumeric and ! # $ % & / ( ) = ? * [ ] _ : . , { } + -)
1631    InvalidPasswordIlegalCharacters,
1632    /// `invalid_password_lessthan_8characters_long` — This is not a valid password (Less than 8 characters long)
1633    InvalidPasswordLessthan8charactersLong,
1634    /// `invalid_password_missing_lowercase` — This is not a valid password (Missing lower case character)
1635    InvalidPasswordMissingLowercase,
1636    /// `invalid_password_missing_number` — This is not a valid password (Missing a number)
1637    InvalidPasswordMissingNumber,
1638    /// `invalid_password_missing_uppercase` — This is not a valid password (Missing upper case character)
1639    InvalidPasswordMissingUppercase,
1640    /// `invalid_pause` — This is not a valid Pause
1641    InvalidPause,
1642    /// `invalid_payment` — This is not a valid Payment
1643    InvalidPayment,
1644    /// `invalid_phonebook` — This is not a valid Phonebook
1645    InvalidPhonebook,
1646    /// `invalid_phonenumber` — This is not a valid Phone Number
1647    InvalidPhonenumber,
1648    /// `invalid_pin` — This is not a valid PIN
1649    InvalidPIN,
1650    /// `invalid_pin_number` — Must provide the account PIN number.
1651    InvalidPINNumber,
1652    /// `invalid_playinstructions` — This is not a valid PlayInstructions Should be: u/su
1653    InvalidPlayinstructions,
1654    /// `invalid_pop_restriction` — This is not a valid POP Restriction
1655    InvalidPOPRestriction,
1656    /// `invalid_portingid` — The given ID is invalid or doesn't exist.
1657    InvalidPortingid,
1658    /// `invalid_porttype` — Must provide a valid port type.
1659    InvalidPorttype,
1660    /// `invalid_port_status` — The status code is invalid. (You can use the values returned by the method getListStatus)
1661    InvalidPortStatus,
1662    /// `invalid_priority` — This is not a valid Priority
1663    InvalidPriority,
1664    /// `invalid_priority_weight` — This is not valid weight/priority value
1665    InvalidPriorityWeight,
1666    /// `invalid_protocol` — This is not a valid Protocol
1667    InvalidProtocol,
1668    /// `invalid_provider_account` — You must provide your account # with the current provider
1669    InvalidProviderAccount,
1670    /// `invalid_provider_name` — You must provide the service provider name
1671    InvalidProviderName,
1672    /// `invalid_province` — This is not a valid Province
1673    InvalidProvince,
1674    /// `invalid_quantity` — This is not a valid quantity
1675    InvalidQuantity,
1676    /// `invalid_query` — This is not a valid Query
1677    InvalidQuery,
1678    /// `invalid_queue` — This is not a valid Queue
1679    InvalidQueue,
1680    /// `invalid_quiet` — This is not a valid "quiet" value
1681    InvalidQuiet,
1682    /// `invalid_recording` — This is not a valid recording
1683    InvalidRecording,
1684    /// `invalid_recording_sound_error_menu` — "error menu" is not a valid recording
1685    InvalidRecordingSoundErrorMenu,
1686    /// `invalid_recording_sound_get_pin` — "get pin" is not a valid recording
1687    InvalidRecordingSoundGetPIN,
1688    /// `invalid_recording_sound_has_joined` — "has_joined" is not a valid recording
1689    InvalidRecordingSoundHasJoined,
1690    /// `invalid_recording_sound_has_left` — "has_left" is not a valid recording
1691    InvalidRecordingSoundHasLeft,
1692    /// `invalid_recording_sound_invalid_pin` — "invalid pin" is not a valid recording
1693    InvalidRecordingSoundInvalidPIN,
1694    /// `invalid_recording_sound_join` — "join" is not a valid recording
1695    InvalidRecordingSoundJoin,
1696    /// `invalid_recording_sound_kicked` — "kicked" is not a valid recording
1697    InvalidRecordingSoundKicked,
1698    /// `invalid_recording_sound_leave` — "leave" is not a valid recording
1699    InvalidRecordingSoundLeave,
1700    /// `invalid_recording_sound_locked` — "locked" is not a valid recording
1701    InvalidRecordingSoundLocked,
1702    /// `invalid_recording_sound_locked_now` — "locked now" is not a valid recording
1703    InvalidRecordingSoundLockedNow,
1704    /// `invalid_recording_sound_muted` — "muted" is not a valid recording
1705    InvalidRecordingSoundMuted,
1706    /// `invalid_recording_sound_only_one` — "only one" is not a valid recording
1707    InvalidRecordingSoundOnlyOne,
1708    /// `invalid_recording_sound_only_person` — "only person" is not a valid recording
1709    InvalidRecordingSoundOnlyPerson,
1710    /// `invalid_recording_sound_other_in_party` — "other in party" is not a valid recording
1711    InvalidRecordingSoundOtherInParty,
1712    /// `invalid_recording_sound_participants_muted` — "participants muted" is not a valid recording
1713    InvalidRecordingSoundParticipantsMuted,
1714    /// `invalid_recording_sound_participants_unmuted` — "participants unmuted" is not a valid recording
1715    InvalidRecordingSoundParticipantsUnmuted,
1716    /// `invalid_recording_sound_place_into_conference` — "place into conference" is not a valid recording
1717    InvalidRecordingSoundPlaceIntoConference,
1718    /// `invalid_recording_sound_there_are` — "there are" is not a valid recording
1719    InvalidRecordingSoundThereAre,
1720    /// `invalid_recording_sound_unlocked_now` — "unlocked now" is not a valid recording
1721    InvalidRecordingSoundUnlockedNow,
1722    /// `invalid_recording_sound_unmuted` — "unmuted" is not a valid recording
1723    InvalidRecordingSoundUnmuted,
1724    /// `invalid_record_calls` — Record calls is not valid.
1725    InvalidRecordCalls,
1726    /// `invalid_report_hold_time_agent` — This is not a valid Report hold time agent
1727    InvalidReportHoldTimeAgent,
1728    /// `invalid_resellerclient` — This is not a valid Reseller Client
1729    InvalidResellerclient,
1730    /// `invalid_resellernextbilling` — This is not a valid Reseller Next Billing date, date should not be set in the past.
1731    InvalidResellernextbilling,
1732    /// `invalid_resellerpackage` — This is not a valid Reseller Package
1733    InvalidResellerpackage,
1734    /// `invalid_response_timeout` — This is not a valid ResponseTimeOut
1735    InvalidResponseTimeout,
1736    /// `invalid_retry_timer` — This is not a valid Retry timer
1737    InvalidRetryTimer,
1738    /// `invalid_ringgroup` — This is not a valid Ring group
1739    InvalidRinggroup,
1740    /// `invalid_ring_inuse` — This is not a valid Ring in use value
1741    InvalidRingInuse,
1742    /// `invalid_route` — This is not a valid Route
1743    InvalidRoute,
1744    /// `invalid_routing_header` — This is not a valid Routing header Should be: account/vm/fwd
1745    InvalidRoutingHeader,
1746    /// `invalid_rtp_hold_timeout` — This is not a valid RTP Hold Time Out (value must be between 1 and 3600 seconds)
1747    InvalidRTPHoldTimeout,
1748    /// `invalid_rtp_timeout` — This is not a valid RTP Time Out (value must be between 1 and 3600 seconds)
1749    InvalidRTPTimeout,
1750    /// `invalid_saycallerid` — This is not a valid SayCallerID Should be: yes/no
1751    InvalidSaycallerid,
1752    /// `invalid_saytime` — This is not a valid SayTime Should be: yes/no
1753    InvalidSaytime,
1754    /// `invalid_security_code` — This is not a valid Security Code. Should be alphanumeric.
1755    InvalidSecurityCode,
1756    /// `invalid_serverpop` — This is not a valid Server POP
1757    InvalidServerpop,
1758    /// `invalid_setup` — This is not a valid Setup Fee
1759    InvalidSetup,
1760    /// `invalid_silence_threshold` — This is not a valid "silence threshold" value
1761    InvalidSilenceThreshold,
1762    /// `invalid_sipuri` — This is not a valid SIPURI
1763    InvalidSIPURI,
1764    /// `invalid_sip_traffic` — This is not a valid Encrypted SIP Traffic value
1765    InvalidSIPTraffic,
1766    /// `invalid_skippassword` — This is not a valid skippassword Should be: 1/0 - or - yes/no
1767    InvalidSkippassword,
1768    /// `invalid_smpp_password` — This is not a valid SMPP Password
1769    InvalidSmppPassword,
1770    /// `invalid_smpp_url` — This is not a valid SMPP URL
1771    InvalidSmppURL,
1772    /// `invalid_smpp_username` — This is not a valid SMPP Username
1773    InvalidSmppUsername,
1774    /// `invalid_sms` — This is not a valid SMS
1775    InvalidSMS,
1776    /// `invalid_sms_forward` — This is not a valid SMS forward
1777    InvalidSMSForward,
1778    /// `invalid_snn` — Must provide the 4 last digits of the SSN.
1779    InvalidSnn,
1780    /// `invalid_speed_dial` — This is not a valid Speed Dial
1781    InvalidSpeedDial,
1782    /// `invalid_starthour` — This is not a valid Start Hour
1783    InvalidStarthour,
1784    /// `invalid_startminute` — This is not a valid Start Minute
1785    InvalidStartminute,
1786    /// `invalid_start_muted` — This is not a valid Start Muted
1787    InvalidStartMuted,
1788    /// `invalid_state` — This is not a valid State
1789    InvalidState,
1790    /// `invalid_statement_name` — Statement Name is missing or the format is invalid.
1791    InvalidStatementName,
1792    /// `invalid_strategy` — This is not a valid Ring Strategy
1793    InvalidStrategy,
1794    /// `invalid_street_name` — This is not a valid Street Name
1795    InvalidStreetName,
1796    /// `invalid_street_number` — This is not a valid Street Number
1797    InvalidStreetNumber,
1798    /// `invalid_talking_threshold` — This is not a valid "talking threshold" value
1799    InvalidTalkingThreshold,
1800    /// `invalid_talk_detection` — This is not a valid talk detection value
1801    InvalidTalkDetection,
1802    /// `invalid_tfnumber_porttype` — You have entered a toll-free number (not valid in this portability process).
1803    InvalidTfnumberPorttype,
1804    /// `invalid_thankyou_for_your_patience` — This is not a valid Thankyou for your patience value
1805    InvalidThankyouForYourPatience,
1806    /// `Invalid_threshold` — This is not a valid Threshold Amount. The Threshold Amount should be between 1 and 250
1807    InvalidThreshold,
1808    /// `invalid_timecondition` — This is not a valid Time Condition
1809    InvalidTimecondition,
1810    /// `invalid_timeout` — This is not a valid timeout
1811    InvalidTimeout,
1812    /// `invalid_timerange` — This is not a valid Timer Range
1813    InvalidTimerange,
1814    /// `invalid_timezone` — This is not a valid TimezoneCDR and resellerCDR: Must be numeric Voicemail: Values from getTimezone
1815    InvalidTimezone,
1816    /// `invalid_to_number` — This is not a valid destination number
1817    InvalidToNumber,
1818    /// `invalid_transcription_email` — Transcription email is not valid
1819    InvalidTranscriptionEmail,
1820    /// `invalid_transcription_format` — Invalid Transcription Format
1821    InvalidTranscriptionFormat,
1822    /// `invalid_transcription_locale` — Transcription locale is not valid.
1823    InvalidTranscriptionLocale,
1824    /// `invalid_transcription_redaction` — Invalid Transcription Redaction
1825    InvalidTranscriptionRedaction,
1826    /// `invalid_transcription_sentiment` — Invalid Transcription Sentiment
1827    InvalidTranscriptionSentiment,
1828    /// `invalid_transcription_summary` — Invalid Transcription Summary
1829    InvalidTranscriptionSummary,
1830    /// `invalid_type` — This is not a valid Type
1831    InvalidType,
1832    /// `invalid_urgent` — This is not valid urgent value
1833    InvalidUrgent,
1834    /// `invalid_username` — This is not a valid Username
1835    InvalidUsername,
1836    /// `invalid_voicemailsetup` — This is not a valid voicemail
1837    InvalidVoicemailsetup,
1838    /// `invalid_voice_announcement` — This is not a valid Voice announce
1839    InvalidVoiceAnnouncement,
1840    /// `invalid_weekdayend` — This is not a valid Week End
1841    InvalidWeekdayend,
1842    /// `invalid_weekdaystart` — This is not a valid Week Start
1843    InvalidWeekdaystart,
1844    /// `invalid_wrapup_time` — This is not a valid Wrapup time
1845    InvalidWrapupTime,
1846    /// `invalid_zip` — Zip Code is missing or the format is invalid.
1847    InvalidZip,
1848    /// `ip_not_enabled` — This IP is not enabled for API use
1849    IPNotEnabled,
1850    /// `limit_reached` — You have reached the maximum number of messages allowed per day. - SMS limit using the API. - Fax limit applies using any method.
1851    LimitReached,
1852    /// `location_already_exists` — A location with this name already exists
1853    LocationAlreadyExists,
1854    /// `location_linked_to_subaccount` — This location is in use by one or more sub accounts and cannot be deleted
1855    LocationLinkedToSubaccount,
1856    /// `location_not_found` — The specified location could not be found
1857    LocationNotFound,
1858    /// `max_phonebook` — Your account is limited to 8 SIP, IAX or SIP URI members
1859    MaxPhonebook,
1860    /// `members_exceeded` — You have reached the maximum allowed entries for the Phonebook
1861    MembersExceeded,
1862    /// `member_already_included` — The member has been included already
1863    MemberAlreadyIncluded,
1864    /// `message_empty` — The SMS Message is empty
1865    MessageEmpty,
1866    /// `message_not_found` — The voicemail message was not found
1867    MessageNotFound,
1868    /// `method_maintenance` — This API method is under maintenance
1869    MethodMaintenance,
1870    /// `mismatch_email_confirm` — e-mail confirm does not match with e-mail
1871    MismatchEmailConfirm,
1872    /// `mismatch_password_confirm` — Pasword confirm does not match with Password
1873    MismatchPasswordConfirm,
1874    /// `missing_account` — Account was not provided
1875    MissingAccount,
1876    /// `missing_address` — Address was not provided
1877    MissingAddress,
1878    /// `missing_agent_ring_timeout` — Agent ring time out was not provided
1879    MissingAgentRingTimeout,
1880    /// `missing_allowedcodecs` — Allowed Codecs were not provided
1881    MissingAllowedcodecs,
1882    /// `missing_attachmessage` — AttachMessage was not provided
1883    MissingAttachmessage,
1884    /// `missing_authtype` — Auth Type was not provided
1885    MissingAuthtype,
1886    /// `missing_balancemanagement` — BalanceManagemente was not provided
1887    MissingBalancemanagement,
1888    /// `missing_billingtype` — Billing Type was not provided
1889    MissingBillingtype,
1890    /// `missing_callback` — Callback was not provided
1891    MissingCallback,
1892    /// `missing_callerid` — CallerID was not provided
1893    MissingCallerid,
1894    /// `missing_callhunting` — Call hunting was not provided
1895    MissingCallhunting,
1896    /// `missing_callparking` — Call Parking was not provided
1897    MissingCallparking,
1898    /// `missing_callrecording` — Call recording was not provided
1899    MissingCallrecording,
1900    /// `missing_carrier` — Carrier was not provided
1901    MissingCarrier,
1902    /// `missing_charge` — Charge was not provided.
1903    MissingCharge,
1904    /// `missing_choices` — Choices was not provided
1905    MissingChoices,
1906    /// `missing_city` — City was not provided
1907    MissingCity,
1908    /// `missing_client` — Client was not provided
1909    MissingClient,
1910    /// `missing_cnam` — CNAM was not provided
1911    MissingCNAM,
1912    /// `missing_codec` — Codec was not provided
1913    MissingCodec,
1914    /// `missing_conference` — Conference was not provided
1915    MissingConference,
1916    /// `missing_country` — Country was not provided
1917    MissingCountry,
1918    /// `missing_countryid` — Country ID was not provided
1919    MissingCountryid,
1920    /// `missing_credentials` — Username or Password was not provided
1921    MissingCredentials,
1922    /// `missing_datetime` — DateTime value was not provided
1923    MissingDatetime,
1924    /// `missing_delay_before` — DelayBefore was not provided
1925    MissingDelayBefore,
1926    /// `missing_deletemessage` — DeleteMessage was not provided
1927    MissingDeletemessage,
1928    /// `missing_description` — Description was not provided
1929    MissingDescription,
1930    /// `missing_devicetype` — Device Type was not provided
1931    MissingDevicetype,
1932    /// `missing_dialtime` — Dialtime was not provided
1933    MissingDialtime,
1934    /// `missing_did` — DID was not provided
1935    MissingDID,
1936    /// `missing_digits` — Digits were not provided
1937    MissingDigits,
1938    /// `missing_digit_timeout` — DigitTimeOut was not provided
1939    MissingDigitTimeout,
1940    /// `missing_disa` — DISA was not provided
1941    MissingDISA,
1942    /// `missing_dtmfmode` — DTMF Mode was not provided
1943    MissingDtmfmode,
1944    /// `missing_email` — e-mail was not provided
1945    MissingEmail,
1946    /// `missing_email_confirm` — e-mail confirm was not provided
1947    MissingEmailConfirm,
1948    /// `missing_enable` — Enable was not provided
1949    MissingEnable,
1950    /// `missing_endhour` — End Hour was not provided
1951    MissingEndhour,
1952    /// `missing_endminute` — End Minute was not provided
1953    MissingEndminute,
1954    /// `missing_failover_busy` — Failover Busy was not provided
1955    MissingFailoverBusy,
1956    /// `missing_failover_noanswer` — Failover NoAnswer was not provided
1957    MissingFailoverNoanswer,
1958    /// `missing_failover_unreachable` — Failover Unreachable was not provided
1959    MissingFailoverUnreachable,
1960    /// `missing_file` — File was not provided
1961    MissingFile,
1962    /// `missing_filter` — Filter was not provided
1963    MissingFilter,
1964    /// `missing_firstname` — Firstname was not provided
1965    MissingFirstname,
1966    /// `missing_folder` — folder was not provided
1967    MissingFolder,
1968    /// `missing_forwarding` — Forwarding was not provided
1969    MissingForwarding,
1970    /// `missing_from_date` — From date was not provided
1971    MissingFromDate,
1972    /// `missing_fullname` — Full Name was not provided
1973    MissingFullname,
1974    /// `missing_id` — ID was not provided
1975    MissingID,
1976    /// `missing_if_announce_position_enabled_report_e` — If announce position enabled report estimated hold time' type was not provided
1977    MissingIfAnnouncePositionEnabledReportE,
1978    /// `missing_internationalroute` — International Route was not provided
1979    MissingInternationalroute,
1980    /// `missing_ip` — You need to provide an IP if you select IP Authentication Method
1981    MissingIP,
1982    /// `missing_ip_h323` — You must enter an IP Address for H.323
1983    MissingIPH323,
1984    /// `missing_ip_restriction` — IP Restriction was not provided
1985    MissingIPRestriction,
1986    /// `missing_ivr` — IVR was not provided
1987    MissingIVR,
1988    /// `missing_join_when_empty` — JoinWhenEmpty' type was not provided
1989    MissingJoinWhenEmpty,
1990    /// `missing_language` — Language was not provided
1991    MissingLanguage,
1992    /// `missing_lastname` — Lastname was not provided
1993    MissingLastname,
1994    /// `missing_leave_when_empty` — LeaveWhenEmpty' type was not provided
1995    MissingLeaveWhenEmpty,
1996    /// `missing_length` — Length was not provided
1997    MissingLength,
1998    /// `missing_listened` — Listened code was not provided
1999    MissingListened,
2000    /// `missing_location` — Location was not provided
2001    MissingLocation,
2002    /// `missing_location_name` — Location Name Missing
2003    MissingLocationName,
2004    /// `missing_lockinternational` — Lock International was not provided
2005    MissingLockinternational,
2006    /// `missing_mailbox` — Mailbox was not provided
2007    MissingMailbox,
2008    /// `missing_member` — Member was not provided
2009    MissingMember,
2010    /// `missing_members` — You need at least 1 member to create a ring group
2011    MissingMembers,
2012    /// `missing_message_num` — Voicemail message number was not provided
2013    MissingMessageNum,
2014    /// `missing_method` — Method must be provided when using the REST/JSON API
2015    MissingMethod,
2016    /// `missing_minute` — Minute Rate was not provided
2017    MissingMinute,
2018    /// `missing_monthly` — Monthly Fee was not provided
2019    MissingMonthly,
2020    /// `missing_musiconhold` — Music on Hold was not provided
2021    MissingMusiconhold,
2022    /// `missing_name` — Name was not provided
2023    MissingName,
2024    /// `missing_nat` — NAT was not provided
2025    MissingNAT,
2026    /// `missing_number` — Number was not provided
2027    MissingNumber,
2028    /// `missing_numbers` — You must enter at least one valid phone number.
2029    MissingNumbers,
2030    /// `missing_package` — Package was not provided
2031    MissingPackage,
2032    /// `missing_params` — Required parameters were not provided
2033    MissingParams,
2034    /// `missing_password` — Password was not provided
2035    MissingPassword,
2036    /// `missing_password_confirm` — Password Confirm was not provided
2037    MissingPasswordConfirm,
2038    /// `missing_payment` — Payment was not provided.
2039    MissingPayment,
2040    /// `missing_phonebook` — Phonebook was not provided
2041    MissingPhonebook,
2042    /// `missing_phonenumber` — Phone Number was not provided
2043    MissingPhonenumber,
2044    /// `missing_pin` — PIN was not provided
2045    MissingPIN,
2046    /// `missing_playinstructions` — PlayInstructions was not provided
2047    MissingPlayinstructions,
2048    /// `missing_pop_restriction` — POP Restriction was not provided
2049    MissingPOPRestriction,
2050    /// `missing_priority` — Priority was not provided
2051    MissingPriority,
2052    /// `missing_priority_weight` — Priority/Weight was not provided
2053    MissingPriorityWeight,
2054    /// `missing_protocol` — Protocol was not provided
2055    MissingProtocol,
2056    /// `missing_province` — Province was not provided
2057    MissingProvince,
2058    /// `missing_query` — Query was not provided
2059    MissingQuery,
2060    /// `missing_recording` — Recording was not provided
2061    MissingRecording,
2062    /// `missing_report_hold_time_agent` — Report hold time agent was not provided
2063    MissingReportHoldTimeAgent,
2064    /// `missing_resellerclient` — Provide a Reseller Client or don't provide a Reseller Package
2065    MissingResellerclient,
2066    /// `missing_resellerpackage` — Provide a Reseller Package or don't provide a Reseller Client
2067    MissingResellerpackage,
2068    /// `missing_response_timeout` — ResponseTimeOut was not provided
2069    MissingResponseTimeout,
2070    /// `missing_ringgroup` — Ring group was not provided
2071    MissingRinggroup,
2072    /// `missing_ring_inuse` — Ring in use was not provided
2073    MissingRingInuse,
2074    /// `missing_ring_strategy` — Ring strategy was not provided
2075    MissingRingStrategy,
2076    /// `missing_route` — Route was not provided
2077    MissingRoute,
2078    /// `missing_routing` — Routing was not provided
2079    MissingRouting,
2080    /// `missing_saycallerid` — SayCallerID was not provided
2081    MissingSaycallerid,
2082    /// `missing_saytime` — SayTime was not provided
2083    MissingSaytime,
2084    /// `missing_serverpop` — Server POP was not provided
2085    MissingServerpop,
2086    /// `missing_setup` — Setup Fee was not provided
2087    MissingSetup,
2088    /// `missing_sipuri` — SIPURI was not provided
2089    MissingSIPURI,
2090    /// `missing_skippassword` — SkipPassword was not provided
2091    MissingSkippassword,
2092    /// `missing_sms` — SMS was not provided
2093    MissingSMS,
2094    /// `missing_speed_dial` — Speed Dial was not provided
2095    MissingSpeedDial,
2096    /// `missing_start` — Start date was not provided
2097    MissingStart,
2098    /// `missing_starthour` — Start Hour was not provided
2099    MissingStarthour,
2100    /// `missing_startminute` — Start Minute was not provided
2101    MissingStartminute,
2102    /// `missing_state` — State was not provided
2103    MissingState,
2104    /// `missing_street_name` — Street Name was not provided
2105    MissingStreetName,
2106    /// `missing_street_number` — Street Number was not provided
2107    MissingStreetNumber,
2108    /// `missing_thankyou_for_your_patience` — Thankyou for your patience was not provided
2109    MissingThankyouForYourPatience,
2110    /// `missing_timecondition` — Time Condition was not provided
2111    MissingTimecondition,
2112    /// `missing_timeout` — Timeout was not provided
2113    MissingTimeout,
2114    /// `missing_timezone` — Timezone was not provided
2115    MissingTimezone,
2116    /// `missing_to_date` — To date was not provided
2117    MissingToDate,
2118    /// `missing_transcription_email` — Transcription email is required.
2119    MissingTranscriptionEmail,
2120    /// `missing_transcription_locale` — Transcription locale is required.
2121    MissingTranscriptionLocale,
2122    /// `missing_type` — Type was not provided
2123    MissingType,
2124    /// `missing_urgent` — Urgent code was not provided
2125    MissingUrgent,
2126    /// `missing_uri` — URI was not provided
2127    MissingURI,
2128    /// `missing_username` — Username was not provided
2129    MissingUsername,
2130    /// `missing_voicemailsetup` — Voice mail setup was not provided
2131    MissingVoicemailsetup,
2132    /// `missing_weekdayend` — Week End was not provide
2133    MissingWeekdayend,
2134    /// `missing_weekdaystart` — Week Start was not provided
2135    MissingWeekdaystart,
2136    /// `missing_zip` — Zip Code was not provided
2137    MissingZip,
2138    /// `moving_fail` — The Fax Message was not moved
2139    MovingFail,
2140    /// `name_toolong` — The name exceeds character size limit
2141    NameToolong,
2142    /// `non_sufficient_funds` — Your account does not have sufficient funds to proceed
2143    NonSufficientFunds,
2144    /// `note_toolong` — The note exceeds character size limit
2145    NoteToolong,
2146    /// `no_account` — There are no accounts
2147    NoAccount,
2148    /// `no_attachments` — Theres no attachments records to show.
2149    NoAttachments,
2150    /// `no_base64file` — File not encoded in base64
2151    NoBase64file,
2152    /// `no_callback` — There are not Callbacks
2153    NoCallback,
2154    /// `no_callhunting` — There are no Call Huntings
2155    NoCallhunting,
2156    /// `no_callparking` — There are no Call Parking
2157    NoCallparking,
2158    /// `no_callstatus` — No Call Status was provided. One of the following parameters needs to be set to "1": answered, noanswer, busy, failed
2159    NoCallstatus,
2160    /// `no_cdr` — There are no CDR entries for the filter
2161    NoCDR,
2162    /// `no_change_billingtype` — Imposible change DID billing plan
2163    NoChangeBillingtype,
2164    /// `no_client` — There are no Clients
2165    NoClient,
2166    /// `no_conference` — There are no Conferences
2167    NoConference,
2168    /// `no_did` — There are no DIDs
2169    NoDID,
2170    /// `no_disa` — There are no DISAs
2171    NoDISA,
2172    /// `no_filter` — There are no Filters
2173    NoFilter,
2174    /// `no_forwarding` — There was no Forwarding
2175    NoForwarding,
2176    /// `no_ivr` — There are no ivr
2177    NoIVR,
2178    /// `no_mailbox` — There are no Mailboxes
2179    NoMailbox,
2180    /// `no_member` — There are no Static Members
2181    NoMember,
2182    /// `no_message` — There are no Fax Message(s)
2183    NoMessage,
2184    /// `no_messages` — There are no Voicemail Message(s)
2185    NoMessages,
2186    /// `no_numbers` — There are no Fax Numbers
2187    NoNumbers,
2188    /// `no_package` — there are no Packages
2189    NoPackage,
2190    /// `no_phonebook` — There are no Phonebook entries
2191    NoPhonebook,
2192    /// `no_provision` — E911 service wasn't activated, this response comes with a description of the error.
2193    NoProvision,
2194    /// `no_provision_update` — E911 service wasn't updated, this response comes with a description of the error.
2195    NoProvisionUpdate,
2196    /// `no_queue` — There are no Queue entries
2197    NoQueue,
2198    /// `no_rate` — There are no Rates
2199    NoRate,
2200    /// `no_recording` — There are no recordings
2201    NoRecording,
2202    /// `no_ringgroup` — There are no Ring groups
2203    NoRinggroup,
2204    /// `no_sequences` — No sequence has been found
2205    NoSequences,
2206    /// `no_sipuri` — There are no SIP URIs
2207    NoSIPURI,
2208    /// `no_sms` — There are no SMS messages
2209    NoSMS,
2210    /// `no_timecondition` — There are no Time Conditions
2211    NoTimecondition,
2212    /// `order_failed` — The order wasn't completed.
2213    OrderFailed,
2214    /// `problem_sending_mail` — There was a problem sending an email.
2215    ProblemSendingMail,
2216    /// `provider_outofservice` — One of our providers is out of service
2217    ProviderOutofservice,
2218    /// `recording_in_use_caller_id_filtering` — You have a Caller ID Filtering using this Recording
2219    RecordingInUseCallerIDFiltering,
2220    /// `recording_in_use_caller_timecondition` — You have a Time Condition using this Recording
2221    RecordingInUseCallerTimecondition,
2222    /// `recording_in_use_did` — You have a DID using this Recording
2223    RecordingInUseDID,
2224    /// `recording_in_use_ivr` — You have an IVR using this Recording
2225    RecordingInUseIVR,
2226    /// `recording_in_use_queue` — You have a Calling Queue using this Recording
2227    RecordingInUseQueue,
2228    /// `repeated_ip` — You already have a Subaccount using this IP and Protocol
2229    RepeatedIP,
2230    /// `reserved_ip` — This is a reserved IP used by VoIP.ms or other Companies
2231    ReservedIP,
2232    /// `rtp_timeout_greater_than_rtp_hold_timeout` — RTP Time Out can't be greater than RTP Hold Time Out
2233    RTPTimeoutGreaterThanRTPHoldTimeout,
2234    /// `same_did_billingtype` — The Billing Type provided and DID billing type are the same
2235    SameDIDBillingtype,
2236    /// `sent_fail` — The Fax Message it wasn't send.
2237    SentFail,
2238    /// `sipuri_in_phonebook` — This SIPURI can't be deleted, it is mapped in the phonebook
2239    SIPURIInPhonebook,
2240    /// `sms_apply_regulations` — The number was not updated due to SMS regulations, please contact customer service for more information
2241    SMSApplyRegulations,
2242    /// `sms_failed` — The SMS message was not sent
2243    SMSFailed,
2244    /// `sms_toolong` — The SMS message exceeds 160 characters
2245    SMSToolong,
2246    /// `sms_wait_message` — SMS was not (Enabled/Disabled) for this DID, please wait a minute before you try again.
2247    SMSWaitMessage,
2248    /// `tls_error` — Theres was a TLS error, please try later.
2249    TlsError,
2250    /// `Unable_to_purchase` — Unable to purchase DIDs
2251    UnableToPurchase,
2252    /// `unavailable_info` — The information you requested is unavailable at this moment
2253    UnavailableInfo,
2254    /// `unsifficient_stock` — Theres no sufficient stock to complete the order.
2255    UnsifficientStock,
2256    /// `used_description` — You already have a record with this Description
2257    UsedDescription,
2258    /// `used_email` — You already have an entry with this Email
2259    UsedEmail,
2260    /// `used_extension` — You already have a subaccount using this extension
2261    UsedExtension,
2262    /// `used_extension_in_location` — You already have a subaccount using extension in this location
2263    UsedExtensionInLocation,
2264    /// `used_filter` — You already have a record with this Filter
2265    UsedFilter,
2266    /// `used_ip` — There is already another customer using this IP Address
2267    UsedIP,
2268    /// `used_name` — You already have an entry using this name
2269    UsedName,
2270    /// `used_number` — You already have a record with this Number
2271    UsedNumber,
2272    /// `used_password` — This password has been used previously by this account.
2273    UsedPassword,
2274    /// `used_speed_dial` — You have an entry with this Speed Dial
2275    UsedSpeedDial,
2276    /// `used_username` — You already have a subaccount using this Username.
2277    UsedUsername,
2278    /// `weak_password` — This Password is too weak or too common
2279    WeakPassword,
2280    /// A `status` value not present in the documented table,
2281    /// preserved verbatim.
2282    Unknown(String),
2283}
2284
2285impl ApiStatus {
2286    /// The verbatim wire `status` string.
2287    pub fn as_str(&self) -> &str {
2288        match self {
2289            ApiStatus::AccountWithDIDs => "account_with_dids",
2290            ApiStatus::APILimitExceeded => "api_limit_exceeded",
2291            ApiStatus::APINotEnabled => "api_not_enabled",
2292            ApiStatus::CancelFailed => "cancel_failed",
2293            ApiStatus::CANHaveOnlyOneProfileWithoutPIN => "can_have_only_one_profile_without_pin",
2294            ApiStatus::ConferenceMemberRelationNotFound => "conference_member_relation_not_found",
2295            ApiStatus::DIDInUse => "did_in_use",
2296            ApiStatus::DIDLimitReached => "did_limit_reached",
2297            ApiStatus::DuplicatedName => "duplicated_name",
2298            ApiStatus::DuplicatedPIN => "duplicated_pin",
2299            ApiStatus::E911Disabled => "e911_disabled",
2300            ApiStatus::E911Pending => "e911_pending",
2301            ApiStatus::ErrorDeletingMsg => "error_deleting_msg",
2302            ApiStatus::ErrorMovingMsg => "error_moving_msg",
2303            ApiStatus::ExceedsFileSize => "exceeds_file_size",
2304            ApiStatus::ExistingDID => "existing_did",
2305            ApiStatus::ForwardsExceeded => "forwards_exceeded",
2306            ApiStatus::InvalidAccount => "invalid_account",
2307            ApiStatus::InvalidAddress => "invalid_address",
2308            ApiStatus::InvalidAdmin => "invalid_admin",
2309            ApiStatus::InvalidAgentRingTimeout => "invalid_agent_ring_timeout",
2310            ApiStatus::InvalidAllowedcodecs => "invalid_allowedcodecs",
2311            ApiStatus::InvalidAnnounceJoinLeave => "invalid_announce_join_leave",
2312            ApiStatus::InvalidAnnounceOnlyUser => "invalid_announce_only_user",
2313            ApiStatus::InvalidAnnouncePositionFrequency => "invalid_announce_position_frequency",
2314            ApiStatus::InvalidAnnounceRoundSeconds => "invalid_announce_round_seconds",
2315            ApiStatus::InvalidAnnounceUserCount => "invalid_announce_user_count",
2316            ApiStatus::InvalidAreaCode => "invalid_area_code",
2317            ApiStatus::InvalidAttachid => "invalid_attachid",
2318            ApiStatus::InvalidAttachmessage => "invalid_attachmessage",
2319            ApiStatus::InvalidAttachFile => "invalid_attach_file",
2320            ApiStatus::InvalidAuthtype => "invalid_authtype",
2321            ApiStatus::InvalidAuthtypeH323 => "invalid_authtype_h323",
2322            ApiStatus::InvalidAuthtypeIax2 => "invalid_authtype_iax2",
2323            ApiStatus::InvalidBalancemanagement => "invalid_balancemanagement",
2324            ApiStatus::InvalidBaseRecording => "invalid_base_recording",
2325            ApiStatus::InvalidBillingtype => "invalid_billingtype",
2326            ApiStatus::InvalidCallback => "invalid_callback",
2327            ApiStatus::InvalidCallbackEnable => "invalid_callback_enable",
2328            ApiStatus::InvalidCallbackRetry => "invalid_callback_retry",
2329            ApiStatus::InvalidCallerid => "invalid_callerid",
2330            ApiStatus::InvalidCalleridprefix => "invalid_calleridprefix",
2331            ApiStatus::InvalidCalleridOverride => "invalid_callerid_override",
2332            ApiStatus::InvalidCallhunting => "invalid_callhunting",
2333            ApiStatus::InvalidCallparking => "invalid_callparking",
2334            ApiStatus::InvalidCallrecording => "invalid_callrecording",
2335            ApiStatus::InvalidCallType => "invalid_call_type",
2336            ApiStatus::InvalidCanadaRouting => "invalid_canada_routing",
2337            ApiStatus::InvalidCarrier => "invalid_carrier",
2338            ApiStatus::InvalidCharge => "invalid_charge",
2339            ApiStatus::InvalidCity => "invalid_city",
2340            ApiStatus::InvalidClient => "invalid_client",
2341            ApiStatus::InvalidCNAM => "invalid_cnam",
2342            ApiStatus::InvalidCodec => "invalid_codec",
2343            ApiStatus::InvalidConference => "invalid_conference",
2344            ApiStatus::InvalidContact => "invalid_contact",
2345            ApiStatus::InvalidCountry => "invalid_country",
2346            ApiStatus::InvalidCountryid => "invalid_countryid",
2347            ApiStatus::InvalidCredentials => "invalid_credentials",
2348            ApiStatus::InvalidDate => "invalid_date",
2349            ApiStatus::InvalidDaterange => "invalid_daterange",
2350            ApiStatus::InvalidDatetime => "invalid_datetime",
2351            ApiStatus::InvalidDateFrom => "invalid_date_from",
2352            ApiStatus::InvalidDayrange => "invalid_dayrange",
2353            ApiStatus::InvalidDelayBefore => "invalid_delay_before",
2354            ApiStatus::InvalidDeletemessage => "invalid_deletemessage",
2355            ApiStatus::InvalidDescription => "invalid_description",
2356            ApiStatus::InvalidDestination => "invalid_destination",
2357            ApiStatus::InvalidDestinationFolder => "invalid_destination_folder",
2358            ApiStatus::InvalidDevicetype => "invalid_devicetype",
2359            ApiStatus::InvalidDialtime => "invalid_dialtime",
2360            ApiStatus::InvalidDID => "invalid_did",
2361            ApiStatus::InvalidDigits => "invalid_digits",
2362            ApiStatus::InvalidDigitTimeout => "invalid_digit_timeout",
2363            ApiStatus::InvalidDISA => "invalid_disa",
2364            ApiStatus::InvalidDiversionHeader => "invalid_diversion_header",
2365            ApiStatus::InvalidDropSilence => "invalid_drop_silence",
2366            ApiStatus::InvalidDST => "invalid_dst",
2367            ApiStatus::InvalidDtmfmode => "invalid_dtmfmode",
2368            ApiStatus::InvalidDTMFDigits => "invalid_dtmf_digits",
2369            ApiStatus::InvalidEmail => "invalid_email",
2370            ApiStatus::InvalidEmailAttachmentFormat => "invalid_email_attachment_format",
2371            ApiStatus::InvalidEmailEnable => "invalid_email_enable",
2372            ApiStatus::InvalidEnableIPRestriction => "invalid_enable_ip_restriction",
2373            ApiStatus::InvalidEnablePOPRestriction => "invalid_enable_pop_restriction",
2374            ApiStatus::InvalidEndhour => "invalid_endhour",
2375            ApiStatus::InvalidEndminute => "invalid_endminute",
2376            ApiStatus::InvalidExtension => "invalid_extension",
2377            ApiStatus::InvalidExtensions => "invalid_extensions",
2378            ApiStatus::InvalidExtensionLength => "invalid_extension_length",
2379            ApiStatus::InvalidExtensionPrefix => "invalid_extension_prefix",
2380            ApiStatus::InvalidFailoverHeader => "invalid_failover_header",
2381            ApiStatus::InvalidFAXID => "invalid_fax_id",
2382            ApiStatus::InvalidFile => "invalid_file",
2383            ApiStatus::InvalidFilter => "invalid_filter",
2384            ApiStatus::InvalidFirstname => "invalid_firstname",
2385            ApiStatus::InvalidFocEnddate => "invalid_foc_enddate",
2386            ApiStatus::InvalidFocStartdate => "invalid_foc_startdate",
2387            ApiStatus::InvalidFolder => "invalid_folder",
2388            ApiStatus::InvalidFolderID => "invalid_folder_id",
2389            ApiStatus::InvalidForwarding => "invalid_forwarding",
2390            ApiStatus::InvalidForwardingDID => "invalid_forwarding_did",
2391            ApiStatus::InvalidForwardEnable => "invalid_forward_enable",
2392            ApiStatus::InvalidFrequencyAnnouncement => "invalid_frequency_announcement",
2393            ApiStatus::InvalidFromNumber => "invalid_from_number",
2394            ApiStatus::InvalidFullname => "invalid_fullname",
2395            ApiStatus::InvalidID => "invalid_id",
2396            ApiStatus::InvalidIfAnnouncePositionEnabledReportE => {
2397                "invalid_if_announce_position_enabled_report_e"
2398            }
2399            ApiStatus::InvalidInternaldialtime => "invalid_internaldialtime",
2400            ApiStatus::InvalidInternalvoicemail => "invalid_internalvoicemail",
2401            ApiStatus::InvalidInternationalroute => "invalid_internationalroute",
2402            ApiStatus::InvalidInvoiceType => "invalid_invoice_type",
2403            ApiStatus::InvalidIP => "invalid_ip",
2404            ApiStatus::InvalidIPAuth => "invalid_ip_auth",
2405            ApiStatus::InvalidIPIax2 => "invalid_ip_iax2",
2406            ApiStatus::InvalidIVR => "invalid_ivr",
2407            ApiStatus::InvalidJitterBuffer => "invalid_jitter_buffer",
2408            ApiStatus::InvalidJoinAnnouncement => "invalid_join_announcement",
2409            ApiStatus::InvalidJoinEmptyType => "invalid_join_empty_type",
2410            ApiStatus::InvalidLanguage => "invalid_language",
2411            ApiStatus::InvalidLastname => "invalid_lastname",
2412            ApiStatus::InvalidListened => "invalid_listened",
2413            ApiStatus::InvalidLocation => "invalid_location",
2414            ApiStatus::InvalidLockinternational => "invalid_lockinternational",
2415            ApiStatus::InvalidMailbox => "invalid_mailbox",
2416            ApiStatus::InvalidMaximumCallers => "invalid_maximum_callers",
2417            ApiStatus::InvalidMaximumWaitTime => "invalid_maximum_wait_time",
2418            ApiStatus::InvalidMaxExpiry => "invalid_max_expiry",
2419            ApiStatus::InvalidMember => "invalid_member",
2420            ApiStatus::InvalidMemberDelay => "invalid_member_delay",
2421            ApiStatus::InvalidMessageNum => "invalid_message_num",
2422            ApiStatus::InvalidMethod => "invalid_method",
2423            ApiStatus::InvalidMinute => "invalid_minute",
2424            ApiStatus::InvalidMixedNumbers => "invalid_mixed_numbers",
2425            ApiStatus::InvalidMonthly => "invalid_monthly",
2426            ApiStatus::InvalidMusiconhold => "invalid_musiconhold",
2427            ApiStatus::InvalidName => "invalid_name",
2428            ApiStatus::InvalidNAT => "invalid_nat",
2429            ApiStatus::InvalidNote => "invalid_note",
2430            ApiStatus::InvalidNumber => "invalid_number",
2431            ApiStatus::InvalidNumbermembers => "invalid_numbermembers",
2432            ApiStatus::InvalidNumberCanadian => "invalid_number_canadian",
2433            ApiStatus::InvalidNumberExist => "invalid_number_exist",
2434            ApiStatus::InvalidNumberFAX => "invalid_number_fax",
2435            ApiStatus::InvalidNumberPorttype => "invalid_number_porttype",
2436            ApiStatus::InvalidNumberUS => "invalid_number_us",
2437            ApiStatus::InvalidOrder => "invalid_order",
2438            ApiStatus::InvalidPackage => "invalid_package",
2439            ApiStatus::InvalidPassword => "invalid_password",
2440            ApiStatus::InvalidPasswordAuth => "invalid_password_auth",
2441            ApiStatus::InvalidPasswordIlegalCharacters => "invalid_password_ilegal_characters",
2442            ApiStatus::InvalidPasswordLessthan8charactersLong => {
2443                "invalid_password_lessthan_8characters_long"
2444            }
2445            ApiStatus::InvalidPasswordMissingLowercase => "invalid_password_missing_lowercase",
2446            ApiStatus::InvalidPasswordMissingNumber => "invalid_password_missing_number",
2447            ApiStatus::InvalidPasswordMissingUppercase => "invalid_password_missing_uppercase",
2448            ApiStatus::InvalidPause => "invalid_pause",
2449            ApiStatus::InvalidPayment => "invalid_payment",
2450            ApiStatus::InvalidPhonebook => "invalid_phonebook",
2451            ApiStatus::InvalidPhonenumber => "invalid_phonenumber",
2452            ApiStatus::InvalidPIN => "invalid_pin",
2453            ApiStatus::InvalidPINNumber => "invalid_pin_number",
2454            ApiStatus::InvalidPlayinstructions => "invalid_playinstructions",
2455            ApiStatus::InvalidPOPRestriction => "invalid_pop_restriction",
2456            ApiStatus::InvalidPortingid => "invalid_portingid",
2457            ApiStatus::InvalidPorttype => "invalid_porttype",
2458            ApiStatus::InvalidPortStatus => "invalid_port_status",
2459            ApiStatus::InvalidPriority => "invalid_priority",
2460            ApiStatus::InvalidPriorityWeight => "invalid_priority_weight",
2461            ApiStatus::InvalidProtocol => "invalid_protocol",
2462            ApiStatus::InvalidProviderAccount => "invalid_provider_account",
2463            ApiStatus::InvalidProviderName => "invalid_provider_name",
2464            ApiStatus::InvalidProvince => "invalid_province",
2465            ApiStatus::InvalidQuantity => "invalid_quantity",
2466            ApiStatus::InvalidQuery => "invalid_query",
2467            ApiStatus::InvalidQueue => "invalid_queue",
2468            ApiStatus::InvalidQuiet => "invalid_quiet",
2469            ApiStatus::InvalidRecording => "invalid_recording",
2470            ApiStatus::InvalidRecordingSoundErrorMenu => "invalid_recording_sound_error_menu",
2471            ApiStatus::InvalidRecordingSoundGetPIN => "invalid_recording_sound_get_pin",
2472            ApiStatus::InvalidRecordingSoundHasJoined => "invalid_recording_sound_has_joined",
2473            ApiStatus::InvalidRecordingSoundHasLeft => "invalid_recording_sound_has_left",
2474            ApiStatus::InvalidRecordingSoundInvalidPIN => "invalid_recording_sound_invalid_pin",
2475            ApiStatus::InvalidRecordingSoundJoin => "invalid_recording_sound_join",
2476            ApiStatus::InvalidRecordingSoundKicked => "invalid_recording_sound_kicked",
2477            ApiStatus::InvalidRecordingSoundLeave => "invalid_recording_sound_leave",
2478            ApiStatus::InvalidRecordingSoundLocked => "invalid_recording_sound_locked",
2479            ApiStatus::InvalidRecordingSoundLockedNow => "invalid_recording_sound_locked_now",
2480            ApiStatus::InvalidRecordingSoundMuted => "invalid_recording_sound_muted",
2481            ApiStatus::InvalidRecordingSoundOnlyOne => "invalid_recording_sound_only_one",
2482            ApiStatus::InvalidRecordingSoundOnlyPerson => "invalid_recording_sound_only_person",
2483            ApiStatus::InvalidRecordingSoundOtherInParty => {
2484                "invalid_recording_sound_other_in_party"
2485            }
2486            ApiStatus::InvalidRecordingSoundParticipantsMuted => {
2487                "invalid_recording_sound_participants_muted"
2488            }
2489            ApiStatus::InvalidRecordingSoundParticipantsUnmuted => {
2490                "invalid_recording_sound_participants_unmuted"
2491            }
2492            ApiStatus::InvalidRecordingSoundPlaceIntoConference => {
2493                "invalid_recording_sound_place_into_conference"
2494            }
2495            ApiStatus::InvalidRecordingSoundThereAre => "invalid_recording_sound_there_are",
2496            ApiStatus::InvalidRecordingSoundUnlockedNow => "invalid_recording_sound_unlocked_now",
2497            ApiStatus::InvalidRecordingSoundUnmuted => "invalid_recording_sound_unmuted",
2498            ApiStatus::InvalidRecordCalls => "invalid_record_calls",
2499            ApiStatus::InvalidReportHoldTimeAgent => "invalid_report_hold_time_agent",
2500            ApiStatus::InvalidResellerclient => "invalid_resellerclient",
2501            ApiStatus::InvalidResellernextbilling => "invalid_resellernextbilling",
2502            ApiStatus::InvalidResellerpackage => "invalid_resellerpackage",
2503            ApiStatus::InvalidResponseTimeout => "invalid_response_timeout",
2504            ApiStatus::InvalidRetryTimer => "invalid_retry_timer",
2505            ApiStatus::InvalidRinggroup => "invalid_ringgroup",
2506            ApiStatus::InvalidRingInuse => "invalid_ring_inuse",
2507            ApiStatus::InvalidRoute => "invalid_route",
2508            ApiStatus::InvalidRoutingHeader => "invalid_routing_header",
2509            ApiStatus::InvalidRTPHoldTimeout => "invalid_rtp_hold_timeout",
2510            ApiStatus::InvalidRTPTimeout => "invalid_rtp_timeout",
2511            ApiStatus::InvalidSaycallerid => "invalid_saycallerid",
2512            ApiStatus::InvalidSaytime => "invalid_saytime",
2513            ApiStatus::InvalidSecurityCode => "invalid_security_code",
2514            ApiStatus::InvalidServerpop => "invalid_serverpop",
2515            ApiStatus::InvalidSetup => "invalid_setup",
2516            ApiStatus::InvalidSilenceThreshold => "invalid_silence_threshold",
2517            ApiStatus::InvalidSIPURI => "invalid_sipuri",
2518            ApiStatus::InvalidSIPTraffic => "invalid_sip_traffic",
2519            ApiStatus::InvalidSkippassword => "invalid_skippassword",
2520            ApiStatus::InvalidSmppPassword => "invalid_smpp_password",
2521            ApiStatus::InvalidSmppURL => "invalid_smpp_url",
2522            ApiStatus::InvalidSmppUsername => "invalid_smpp_username",
2523            ApiStatus::InvalidSMS => "invalid_sms",
2524            ApiStatus::InvalidSMSForward => "invalid_sms_forward",
2525            ApiStatus::InvalidSnn => "invalid_snn",
2526            ApiStatus::InvalidSpeedDial => "invalid_speed_dial",
2527            ApiStatus::InvalidStarthour => "invalid_starthour",
2528            ApiStatus::InvalidStartminute => "invalid_startminute",
2529            ApiStatus::InvalidStartMuted => "invalid_start_muted",
2530            ApiStatus::InvalidState => "invalid_state",
2531            ApiStatus::InvalidStatementName => "invalid_statement_name",
2532            ApiStatus::InvalidStrategy => "invalid_strategy",
2533            ApiStatus::InvalidStreetName => "invalid_street_name",
2534            ApiStatus::InvalidStreetNumber => "invalid_street_number",
2535            ApiStatus::InvalidTalkingThreshold => "invalid_talking_threshold",
2536            ApiStatus::InvalidTalkDetection => "invalid_talk_detection",
2537            ApiStatus::InvalidTfnumberPorttype => "invalid_tfnumber_porttype",
2538            ApiStatus::InvalidThankyouForYourPatience => "invalid_thankyou_for_your_patience",
2539            ApiStatus::InvalidThreshold => "Invalid_threshold",
2540            ApiStatus::InvalidTimecondition => "invalid_timecondition",
2541            ApiStatus::InvalidTimeout => "invalid_timeout",
2542            ApiStatus::InvalidTimerange => "invalid_timerange",
2543            ApiStatus::InvalidTimezone => "invalid_timezone",
2544            ApiStatus::InvalidToNumber => "invalid_to_number",
2545            ApiStatus::InvalidTranscriptionEmail => "invalid_transcription_email",
2546            ApiStatus::InvalidTranscriptionFormat => "invalid_transcription_format",
2547            ApiStatus::InvalidTranscriptionLocale => "invalid_transcription_locale",
2548            ApiStatus::InvalidTranscriptionRedaction => "invalid_transcription_redaction",
2549            ApiStatus::InvalidTranscriptionSentiment => "invalid_transcription_sentiment",
2550            ApiStatus::InvalidTranscriptionSummary => "invalid_transcription_summary",
2551            ApiStatus::InvalidType => "invalid_type",
2552            ApiStatus::InvalidUrgent => "invalid_urgent",
2553            ApiStatus::InvalidUsername => "invalid_username",
2554            ApiStatus::InvalidVoicemailsetup => "invalid_voicemailsetup",
2555            ApiStatus::InvalidVoiceAnnouncement => "invalid_voice_announcement",
2556            ApiStatus::InvalidWeekdayend => "invalid_weekdayend",
2557            ApiStatus::InvalidWeekdaystart => "invalid_weekdaystart",
2558            ApiStatus::InvalidWrapupTime => "invalid_wrapup_time",
2559            ApiStatus::InvalidZip => "invalid_zip",
2560            ApiStatus::IPNotEnabled => "ip_not_enabled",
2561            ApiStatus::LimitReached => "limit_reached",
2562            ApiStatus::LocationAlreadyExists => "location_already_exists",
2563            ApiStatus::LocationLinkedToSubaccount => "location_linked_to_subaccount",
2564            ApiStatus::LocationNotFound => "location_not_found",
2565            ApiStatus::MaxPhonebook => "max_phonebook",
2566            ApiStatus::MembersExceeded => "members_exceeded",
2567            ApiStatus::MemberAlreadyIncluded => "member_already_included",
2568            ApiStatus::MessageEmpty => "message_empty",
2569            ApiStatus::MessageNotFound => "message_not_found",
2570            ApiStatus::MethodMaintenance => "method_maintenance",
2571            ApiStatus::MismatchEmailConfirm => "mismatch_email_confirm",
2572            ApiStatus::MismatchPasswordConfirm => "mismatch_password_confirm",
2573            ApiStatus::MissingAccount => "missing_account",
2574            ApiStatus::MissingAddress => "missing_address",
2575            ApiStatus::MissingAgentRingTimeout => "missing_agent_ring_timeout",
2576            ApiStatus::MissingAllowedcodecs => "missing_allowedcodecs",
2577            ApiStatus::MissingAttachmessage => "missing_attachmessage",
2578            ApiStatus::MissingAuthtype => "missing_authtype",
2579            ApiStatus::MissingBalancemanagement => "missing_balancemanagement",
2580            ApiStatus::MissingBillingtype => "missing_billingtype",
2581            ApiStatus::MissingCallback => "missing_callback",
2582            ApiStatus::MissingCallerid => "missing_callerid",
2583            ApiStatus::MissingCallhunting => "missing_callhunting",
2584            ApiStatus::MissingCallparking => "missing_callparking",
2585            ApiStatus::MissingCallrecording => "missing_callrecording",
2586            ApiStatus::MissingCarrier => "missing_carrier",
2587            ApiStatus::MissingCharge => "missing_charge",
2588            ApiStatus::MissingChoices => "missing_choices",
2589            ApiStatus::MissingCity => "missing_city",
2590            ApiStatus::MissingClient => "missing_client",
2591            ApiStatus::MissingCNAM => "missing_cnam",
2592            ApiStatus::MissingCodec => "missing_codec",
2593            ApiStatus::MissingConference => "missing_conference",
2594            ApiStatus::MissingCountry => "missing_country",
2595            ApiStatus::MissingCountryid => "missing_countryid",
2596            ApiStatus::MissingCredentials => "missing_credentials",
2597            ApiStatus::MissingDatetime => "missing_datetime",
2598            ApiStatus::MissingDelayBefore => "missing_delay_before",
2599            ApiStatus::MissingDeletemessage => "missing_deletemessage",
2600            ApiStatus::MissingDescription => "missing_description",
2601            ApiStatus::MissingDevicetype => "missing_devicetype",
2602            ApiStatus::MissingDialtime => "missing_dialtime",
2603            ApiStatus::MissingDID => "missing_did",
2604            ApiStatus::MissingDigits => "missing_digits",
2605            ApiStatus::MissingDigitTimeout => "missing_digit_timeout",
2606            ApiStatus::MissingDISA => "missing_disa",
2607            ApiStatus::MissingDtmfmode => "missing_dtmfmode",
2608            ApiStatus::MissingEmail => "missing_email",
2609            ApiStatus::MissingEmailConfirm => "missing_email_confirm",
2610            ApiStatus::MissingEnable => "missing_enable",
2611            ApiStatus::MissingEndhour => "missing_endhour",
2612            ApiStatus::MissingEndminute => "missing_endminute",
2613            ApiStatus::MissingFailoverBusy => "missing_failover_busy",
2614            ApiStatus::MissingFailoverNoanswer => "missing_failover_noanswer",
2615            ApiStatus::MissingFailoverUnreachable => "missing_failover_unreachable",
2616            ApiStatus::MissingFile => "missing_file",
2617            ApiStatus::MissingFilter => "missing_filter",
2618            ApiStatus::MissingFirstname => "missing_firstname",
2619            ApiStatus::MissingFolder => "missing_folder",
2620            ApiStatus::MissingForwarding => "missing_forwarding",
2621            ApiStatus::MissingFromDate => "missing_from_date",
2622            ApiStatus::MissingFullname => "missing_fullname",
2623            ApiStatus::MissingID => "missing_id",
2624            ApiStatus::MissingIfAnnouncePositionEnabledReportE => {
2625                "missing_if_announce_position_enabled_report_e"
2626            }
2627            ApiStatus::MissingInternationalroute => "missing_internationalroute",
2628            ApiStatus::MissingIP => "missing_ip",
2629            ApiStatus::MissingIPH323 => "missing_ip_h323",
2630            ApiStatus::MissingIPRestriction => "missing_ip_restriction",
2631            ApiStatus::MissingIVR => "missing_ivr",
2632            ApiStatus::MissingJoinWhenEmpty => "missing_join_when_empty",
2633            ApiStatus::MissingLanguage => "missing_language",
2634            ApiStatus::MissingLastname => "missing_lastname",
2635            ApiStatus::MissingLeaveWhenEmpty => "missing_leave_when_empty",
2636            ApiStatus::MissingLength => "missing_length",
2637            ApiStatus::MissingListened => "missing_listened",
2638            ApiStatus::MissingLocation => "missing_location",
2639            ApiStatus::MissingLocationName => "missing_location_name",
2640            ApiStatus::MissingLockinternational => "missing_lockinternational",
2641            ApiStatus::MissingMailbox => "missing_mailbox",
2642            ApiStatus::MissingMember => "missing_member",
2643            ApiStatus::MissingMembers => "missing_members",
2644            ApiStatus::MissingMessageNum => "missing_message_num",
2645            ApiStatus::MissingMethod => "missing_method",
2646            ApiStatus::MissingMinute => "missing_minute",
2647            ApiStatus::MissingMonthly => "missing_monthly",
2648            ApiStatus::MissingMusiconhold => "missing_musiconhold",
2649            ApiStatus::MissingName => "missing_name",
2650            ApiStatus::MissingNAT => "missing_nat",
2651            ApiStatus::MissingNumber => "missing_number",
2652            ApiStatus::MissingNumbers => "missing_numbers",
2653            ApiStatus::MissingPackage => "missing_package",
2654            ApiStatus::MissingParams => "missing_params",
2655            ApiStatus::MissingPassword => "missing_password",
2656            ApiStatus::MissingPasswordConfirm => "missing_password_confirm",
2657            ApiStatus::MissingPayment => "missing_payment",
2658            ApiStatus::MissingPhonebook => "missing_phonebook",
2659            ApiStatus::MissingPhonenumber => "missing_phonenumber",
2660            ApiStatus::MissingPIN => "missing_pin",
2661            ApiStatus::MissingPlayinstructions => "missing_playinstructions",
2662            ApiStatus::MissingPOPRestriction => "missing_pop_restriction",
2663            ApiStatus::MissingPriority => "missing_priority",
2664            ApiStatus::MissingPriorityWeight => "missing_priority_weight",
2665            ApiStatus::MissingProtocol => "missing_protocol",
2666            ApiStatus::MissingProvince => "missing_province",
2667            ApiStatus::MissingQuery => "missing_query",
2668            ApiStatus::MissingRecording => "missing_recording",
2669            ApiStatus::MissingReportHoldTimeAgent => "missing_report_hold_time_agent",
2670            ApiStatus::MissingResellerclient => "missing_resellerclient",
2671            ApiStatus::MissingResellerpackage => "missing_resellerpackage",
2672            ApiStatus::MissingResponseTimeout => "missing_response_timeout",
2673            ApiStatus::MissingRinggroup => "missing_ringgroup",
2674            ApiStatus::MissingRingInuse => "missing_ring_inuse",
2675            ApiStatus::MissingRingStrategy => "missing_ring_strategy",
2676            ApiStatus::MissingRoute => "missing_route",
2677            ApiStatus::MissingRouting => "missing_routing",
2678            ApiStatus::MissingSaycallerid => "missing_saycallerid",
2679            ApiStatus::MissingSaytime => "missing_saytime",
2680            ApiStatus::MissingServerpop => "missing_serverpop",
2681            ApiStatus::MissingSetup => "missing_setup",
2682            ApiStatus::MissingSIPURI => "missing_sipuri",
2683            ApiStatus::MissingSkippassword => "missing_skippassword",
2684            ApiStatus::MissingSMS => "missing_sms",
2685            ApiStatus::MissingSpeedDial => "missing_speed_dial",
2686            ApiStatus::MissingStart => "missing_start",
2687            ApiStatus::MissingStarthour => "missing_starthour",
2688            ApiStatus::MissingStartminute => "missing_startminute",
2689            ApiStatus::MissingState => "missing_state",
2690            ApiStatus::MissingStreetName => "missing_street_name",
2691            ApiStatus::MissingStreetNumber => "missing_street_number",
2692            ApiStatus::MissingThankyouForYourPatience => "missing_thankyou_for_your_patience",
2693            ApiStatus::MissingTimecondition => "missing_timecondition",
2694            ApiStatus::MissingTimeout => "missing_timeout",
2695            ApiStatus::MissingTimezone => "missing_timezone",
2696            ApiStatus::MissingToDate => "missing_to_date",
2697            ApiStatus::MissingTranscriptionEmail => "missing_transcription_email",
2698            ApiStatus::MissingTranscriptionLocale => "missing_transcription_locale",
2699            ApiStatus::MissingType => "missing_type",
2700            ApiStatus::MissingUrgent => "missing_urgent",
2701            ApiStatus::MissingURI => "missing_uri",
2702            ApiStatus::MissingUsername => "missing_username",
2703            ApiStatus::MissingVoicemailsetup => "missing_voicemailsetup",
2704            ApiStatus::MissingWeekdayend => "missing_weekdayend",
2705            ApiStatus::MissingWeekdaystart => "missing_weekdaystart",
2706            ApiStatus::MissingZip => "missing_zip",
2707            ApiStatus::MovingFail => "moving_fail",
2708            ApiStatus::NameToolong => "name_toolong",
2709            ApiStatus::NonSufficientFunds => "non_sufficient_funds",
2710            ApiStatus::NoteToolong => "note_toolong",
2711            ApiStatus::NoAccount => "no_account",
2712            ApiStatus::NoAttachments => "no_attachments",
2713            ApiStatus::NoBase64file => "no_base64file",
2714            ApiStatus::NoCallback => "no_callback",
2715            ApiStatus::NoCallhunting => "no_callhunting",
2716            ApiStatus::NoCallparking => "no_callparking",
2717            ApiStatus::NoCallstatus => "no_callstatus",
2718            ApiStatus::NoCDR => "no_cdr",
2719            ApiStatus::NoChangeBillingtype => "no_change_billingtype",
2720            ApiStatus::NoClient => "no_client",
2721            ApiStatus::NoConference => "no_conference",
2722            ApiStatus::NoDID => "no_did",
2723            ApiStatus::NoDISA => "no_disa",
2724            ApiStatus::NoFilter => "no_filter",
2725            ApiStatus::NoForwarding => "no_forwarding",
2726            ApiStatus::NoIVR => "no_ivr",
2727            ApiStatus::NoMailbox => "no_mailbox",
2728            ApiStatus::NoMember => "no_member",
2729            ApiStatus::NoMessage => "no_message",
2730            ApiStatus::NoMessages => "no_messages",
2731            ApiStatus::NoNumbers => "no_numbers",
2732            ApiStatus::NoPackage => "no_package",
2733            ApiStatus::NoPhonebook => "no_phonebook",
2734            ApiStatus::NoProvision => "no_provision",
2735            ApiStatus::NoProvisionUpdate => "no_provision_update",
2736            ApiStatus::NoQueue => "no_queue",
2737            ApiStatus::NoRate => "no_rate",
2738            ApiStatus::NoRecording => "no_recording",
2739            ApiStatus::NoRinggroup => "no_ringgroup",
2740            ApiStatus::NoSequences => "no_sequences",
2741            ApiStatus::NoSIPURI => "no_sipuri",
2742            ApiStatus::NoSMS => "no_sms",
2743            ApiStatus::NoTimecondition => "no_timecondition",
2744            ApiStatus::OrderFailed => "order_failed",
2745            ApiStatus::ProblemSendingMail => "problem_sending_mail",
2746            ApiStatus::ProviderOutofservice => "provider_outofservice",
2747            ApiStatus::RecordingInUseCallerIDFiltering => "recording_in_use_caller_id_filtering",
2748            ApiStatus::RecordingInUseCallerTimecondition => "recording_in_use_caller_timecondition",
2749            ApiStatus::RecordingInUseDID => "recording_in_use_did",
2750            ApiStatus::RecordingInUseIVR => "recording_in_use_ivr",
2751            ApiStatus::RecordingInUseQueue => "recording_in_use_queue",
2752            ApiStatus::RepeatedIP => "repeated_ip",
2753            ApiStatus::ReservedIP => "reserved_ip",
2754            ApiStatus::RTPTimeoutGreaterThanRTPHoldTimeout => {
2755                "rtp_timeout_greater_than_rtp_hold_timeout"
2756            }
2757            ApiStatus::SameDIDBillingtype => "same_did_billingtype",
2758            ApiStatus::SentFail => "sent_fail",
2759            ApiStatus::SIPURIInPhonebook => "sipuri_in_phonebook",
2760            ApiStatus::SMSApplyRegulations => "sms_apply_regulations",
2761            ApiStatus::SMSFailed => "sms_failed",
2762            ApiStatus::SMSToolong => "sms_toolong",
2763            ApiStatus::SMSWaitMessage => "sms_wait_message",
2764            ApiStatus::TlsError => "tls_error",
2765            ApiStatus::UnableToPurchase => "Unable_to_purchase",
2766            ApiStatus::UnavailableInfo => "unavailable_info",
2767            ApiStatus::UnsifficientStock => "unsifficient_stock",
2768            ApiStatus::UsedDescription => "used_description",
2769            ApiStatus::UsedEmail => "used_email",
2770            ApiStatus::UsedExtension => "used_extension",
2771            ApiStatus::UsedExtensionInLocation => "used_extension_in_location",
2772            ApiStatus::UsedFilter => "used_filter",
2773            ApiStatus::UsedIP => "used_ip",
2774            ApiStatus::UsedName => "used_name",
2775            ApiStatus::UsedNumber => "used_number",
2776            ApiStatus::UsedPassword => "used_password",
2777            ApiStatus::UsedSpeedDial => "used_speed_dial",
2778            ApiStatus::UsedUsername => "used_username",
2779            ApiStatus::WeakPassword => "weak_password",
2780            ApiStatus::Unknown(s) => s.as_str(),
2781        }
2782    }
2783
2784    /// Parse a wire `status` string. Unknown values are preserved
2785    /// in [`ApiStatus::Unknown`].
2786    pub fn from_wire(s: &str) -> Self {
2787        match s {
2788            "account_with_dids" => ApiStatus::AccountWithDIDs,
2789            "api_limit_exceeded" => ApiStatus::APILimitExceeded,
2790            "api_not_enabled" => ApiStatus::APINotEnabled,
2791            "cancel_failed" => ApiStatus::CancelFailed,
2792            "can_have_only_one_profile_without_pin" => ApiStatus::CANHaveOnlyOneProfileWithoutPIN,
2793            "conference_member_relation_not_found" => ApiStatus::ConferenceMemberRelationNotFound,
2794            "did_in_use" => ApiStatus::DIDInUse,
2795            "did_limit_reached" => ApiStatus::DIDLimitReached,
2796            "duplicated_name" => ApiStatus::DuplicatedName,
2797            "duplicated_pin" => ApiStatus::DuplicatedPIN,
2798            "e911_disabled" => ApiStatus::E911Disabled,
2799            "e911_pending" => ApiStatus::E911Pending,
2800            "error_deleting_msg" => ApiStatus::ErrorDeletingMsg,
2801            "error_moving_msg" => ApiStatus::ErrorMovingMsg,
2802            "exceeds_file_size" => ApiStatus::ExceedsFileSize,
2803            "existing_did" => ApiStatus::ExistingDID,
2804            "forwards_exceeded" => ApiStatus::ForwardsExceeded,
2805            "invalid_account" => ApiStatus::InvalidAccount,
2806            "invalid_address" => ApiStatus::InvalidAddress,
2807            "invalid_admin" => ApiStatus::InvalidAdmin,
2808            "invalid_agent_ring_timeout" => ApiStatus::InvalidAgentRingTimeout,
2809            "invalid_allowedcodecs" => ApiStatus::InvalidAllowedcodecs,
2810            "invalid_announce_join_leave" => ApiStatus::InvalidAnnounceJoinLeave,
2811            "invalid_announce_only_user" => ApiStatus::InvalidAnnounceOnlyUser,
2812            "invalid_announce_position_frequency" => ApiStatus::InvalidAnnouncePositionFrequency,
2813            "invalid_announce_round_seconds" => ApiStatus::InvalidAnnounceRoundSeconds,
2814            "invalid_announce_user_count" => ApiStatus::InvalidAnnounceUserCount,
2815            "invalid_area_code" => ApiStatus::InvalidAreaCode,
2816            "invalid_attachid" => ApiStatus::InvalidAttachid,
2817            "invalid_attachmessage" => ApiStatus::InvalidAttachmessage,
2818            "invalid_attach_file" => ApiStatus::InvalidAttachFile,
2819            "invalid_authtype" => ApiStatus::InvalidAuthtype,
2820            "invalid_authtype_h323" => ApiStatus::InvalidAuthtypeH323,
2821            "invalid_authtype_iax2" => ApiStatus::InvalidAuthtypeIax2,
2822            "invalid_balancemanagement" => ApiStatus::InvalidBalancemanagement,
2823            "invalid_base_recording" => ApiStatus::InvalidBaseRecording,
2824            "invalid_billingtype" => ApiStatus::InvalidBillingtype,
2825            "invalid_callback" => ApiStatus::InvalidCallback,
2826            "invalid_callback_enable" => ApiStatus::InvalidCallbackEnable,
2827            "invalid_callback_retry" => ApiStatus::InvalidCallbackRetry,
2828            "invalid_callerid" => ApiStatus::InvalidCallerid,
2829            "invalid_calleridprefix" => ApiStatus::InvalidCalleridprefix,
2830            "invalid_callerid_override" => ApiStatus::InvalidCalleridOverride,
2831            "invalid_callhunting" => ApiStatus::InvalidCallhunting,
2832            "invalid_callparking" => ApiStatus::InvalidCallparking,
2833            "invalid_callrecording" => ApiStatus::InvalidCallrecording,
2834            "invalid_call_type" => ApiStatus::InvalidCallType,
2835            "invalid_canada_routing" => ApiStatus::InvalidCanadaRouting,
2836            "invalid_carrier" => ApiStatus::InvalidCarrier,
2837            "invalid_charge" => ApiStatus::InvalidCharge,
2838            "invalid_city" => ApiStatus::InvalidCity,
2839            "invalid_client" => ApiStatus::InvalidClient,
2840            "invalid_cnam" => ApiStatus::InvalidCNAM,
2841            "invalid_codec" => ApiStatus::InvalidCodec,
2842            "invalid_conference" => ApiStatus::InvalidConference,
2843            "invalid_contact" => ApiStatus::InvalidContact,
2844            "invalid_country" => ApiStatus::InvalidCountry,
2845            "invalid_countryid" => ApiStatus::InvalidCountryid,
2846            "invalid_credentials" => ApiStatus::InvalidCredentials,
2847            "invalid_date" => ApiStatus::InvalidDate,
2848            "invalid_daterange" => ApiStatus::InvalidDaterange,
2849            "invalid_datetime" => ApiStatus::InvalidDatetime,
2850            "invalid_date_from" => ApiStatus::InvalidDateFrom,
2851            "invalid_dayrange" => ApiStatus::InvalidDayrange,
2852            "invalid_delay_before" => ApiStatus::InvalidDelayBefore,
2853            "invalid_deletemessage" => ApiStatus::InvalidDeletemessage,
2854            "invalid_description" => ApiStatus::InvalidDescription,
2855            "invalid_destination" => ApiStatus::InvalidDestination,
2856            "invalid_destination_folder" => ApiStatus::InvalidDestinationFolder,
2857            "invalid_devicetype" => ApiStatus::InvalidDevicetype,
2858            "invalid_dialtime" => ApiStatus::InvalidDialtime,
2859            "invalid_did" => ApiStatus::InvalidDID,
2860            "invalid_digits" => ApiStatus::InvalidDigits,
2861            "invalid_digit_timeout" => ApiStatus::InvalidDigitTimeout,
2862            "invalid_disa" => ApiStatus::InvalidDISA,
2863            "invalid_diversion_header" => ApiStatus::InvalidDiversionHeader,
2864            "invalid_drop_silence" => ApiStatus::InvalidDropSilence,
2865            "invalid_dst" => ApiStatus::InvalidDST,
2866            "invalid_dtmfmode" => ApiStatus::InvalidDtmfmode,
2867            "invalid_dtmf_digits" => ApiStatus::InvalidDTMFDigits,
2868            "invalid_email" => ApiStatus::InvalidEmail,
2869            "invalid_email_attachment_format" => ApiStatus::InvalidEmailAttachmentFormat,
2870            "invalid_email_enable" => ApiStatus::InvalidEmailEnable,
2871            "invalid_enable_ip_restriction" => ApiStatus::InvalidEnableIPRestriction,
2872            "invalid_enable_pop_restriction" => ApiStatus::InvalidEnablePOPRestriction,
2873            "invalid_endhour" => ApiStatus::InvalidEndhour,
2874            "invalid_endminute" => ApiStatus::InvalidEndminute,
2875            "invalid_extension" => ApiStatus::InvalidExtension,
2876            "invalid_extensions" => ApiStatus::InvalidExtensions,
2877            "invalid_extension_length" => ApiStatus::InvalidExtensionLength,
2878            "invalid_extension_prefix" => ApiStatus::InvalidExtensionPrefix,
2879            "invalid_failover_header" => ApiStatus::InvalidFailoverHeader,
2880            "invalid_fax_id" => ApiStatus::InvalidFAXID,
2881            "invalid_file" => ApiStatus::InvalidFile,
2882            "invalid_filter" => ApiStatus::InvalidFilter,
2883            "invalid_firstname" => ApiStatus::InvalidFirstname,
2884            "invalid_foc_enddate" => ApiStatus::InvalidFocEnddate,
2885            "invalid_foc_startdate" => ApiStatus::InvalidFocStartdate,
2886            "invalid_folder" => ApiStatus::InvalidFolder,
2887            "invalid_folder_id" => ApiStatus::InvalidFolderID,
2888            "invalid_forwarding" => ApiStatus::InvalidForwarding,
2889            "invalid_forwarding_did" => ApiStatus::InvalidForwardingDID,
2890            "invalid_forward_enable" => ApiStatus::InvalidForwardEnable,
2891            "invalid_frequency_announcement" => ApiStatus::InvalidFrequencyAnnouncement,
2892            "invalid_from_number" => ApiStatus::InvalidFromNumber,
2893            "invalid_fullname" => ApiStatus::InvalidFullname,
2894            "invalid_id" => ApiStatus::InvalidID,
2895            "invalid_if_announce_position_enabled_report_e" => {
2896                ApiStatus::InvalidIfAnnouncePositionEnabledReportE
2897            }
2898            "invalid_internaldialtime" => ApiStatus::InvalidInternaldialtime,
2899            "invalid_internalvoicemail" => ApiStatus::InvalidInternalvoicemail,
2900            "invalid_internationalroute" => ApiStatus::InvalidInternationalroute,
2901            "invalid_invoice_type" => ApiStatus::InvalidInvoiceType,
2902            "invalid_ip" => ApiStatus::InvalidIP,
2903            "invalid_ip_auth" => ApiStatus::InvalidIPAuth,
2904            "invalid_ip_iax2" => ApiStatus::InvalidIPIax2,
2905            "invalid_ivr" => ApiStatus::InvalidIVR,
2906            "invalid_jitter_buffer" => ApiStatus::InvalidJitterBuffer,
2907            "invalid_join_announcement" => ApiStatus::InvalidJoinAnnouncement,
2908            "invalid_join_empty_type" => ApiStatus::InvalidJoinEmptyType,
2909            "invalid_language" => ApiStatus::InvalidLanguage,
2910            "invalid_lastname" => ApiStatus::InvalidLastname,
2911            "invalid_listened" => ApiStatus::InvalidListened,
2912            "invalid_location" => ApiStatus::InvalidLocation,
2913            "invalid_lockinternational" => ApiStatus::InvalidLockinternational,
2914            "invalid_mailbox" => ApiStatus::InvalidMailbox,
2915            "invalid_maximum_callers" => ApiStatus::InvalidMaximumCallers,
2916            "invalid_maximum_wait_time" => ApiStatus::InvalidMaximumWaitTime,
2917            "invalid_max_expiry" => ApiStatus::InvalidMaxExpiry,
2918            "invalid_member" => ApiStatus::InvalidMember,
2919            "invalid_member_delay" => ApiStatus::InvalidMemberDelay,
2920            "invalid_message_num" => ApiStatus::InvalidMessageNum,
2921            "invalid_method" => ApiStatus::InvalidMethod,
2922            "invalid_minute" => ApiStatus::InvalidMinute,
2923            "invalid_mixed_numbers" => ApiStatus::InvalidMixedNumbers,
2924            "invalid_monthly" => ApiStatus::InvalidMonthly,
2925            "invalid_musiconhold" => ApiStatus::InvalidMusiconhold,
2926            "invalid_name" => ApiStatus::InvalidName,
2927            "invalid_nat" => ApiStatus::InvalidNAT,
2928            "invalid_note" => ApiStatus::InvalidNote,
2929            "invalid_number" => ApiStatus::InvalidNumber,
2930            "invalid_numbermembers" => ApiStatus::InvalidNumbermembers,
2931            "invalid_number_canadian" => ApiStatus::InvalidNumberCanadian,
2932            "invalid_number_exist" => ApiStatus::InvalidNumberExist,
2933            "invalid_number_fax" => ApiStatus::InvalidNumberFAX,
2934            "invalid_number_porttype" => ApiStatus::InvalidNumberPorttype,
2935            "invalid_number_us" => ApiStatus::InvalidNumberUS,
2936            "invalid_order" => ApiStatus::InvalidOrder,
2937            "invalid_package" => ApiStatus::InvalidPackage,
2938            "invalid_password" => ApiStatus::InvalidPassword,
2939            "invalid_password_auth" => ApiStatus::InvalidPasswordAuth,
2940            "invalid_password_ilegal_characters" => ApiStatus::InvalidPasswordIlegalCharacters,
2941            "invalid_password_lessthan_8characters_long" => {
2942                ApiStatus::InvalidPasswordLessthan8charactersLong
2943            }
2944            "invalid_password_missing_lowercase" => ApiStatus::InvalidPasswordMissingLowercase,
2945            "invalid_password_missing_number" => ApiStatus::InvalidPasswordMissingNumber,
2946            "invalid_password_missing_uppercase" => ApiStatus::InvalidPasswordMissingUppercase,
2947            "invalid_pause" => ApiStatus::InvalidPause,
2948            "invalid_payment" => ApiStatus::InvalidPayment,
2949            "invalid_phonebook" => ApiStatus::InvalidPhonebook,
2950            "invalid_phonenumber" => ApiStatus::InvalidPhonenumber,
2951            "invalid_pin" => ApiStatus::InvalidPIN,
2952            "invalid_pin_number" => ApiStatus::InvalidPINNumber,
2953            "invalid_playinstructions" => ApiStatus::InvalidPlayinstructions,
2954            "invalid_pop_restriction" => ApiStatus::InvalidPOPRestriction,
2955            "invalid_portingid" => ApiStatus::InvalidPortingid,
2956            "invalid_porttype" => ApiStatus::InvalidPorttype,
2957            "invalid_port_status" => ApiStatus::InvalidPortStatus,
2958            "invalid_priority" => ApiStatus::InvalidPriority,
2959            "invalid_priority_weight" => ApiStatus::InvalidPriorityWeight,
2960            "invalid_protocol" => ApiStatus::InvalidProtocol,
2961            "invalid_provider_account" => ApiStatus::InvalidProviderAccount,
2962            "invalid_provider_name" => ApiStatus::InvalidProviderName,
2963            "invalid_province" => ApiStatus::InvalidProvince,
2964            "invalid_quantity" => ApiStatus::InvalidQuantity,
2965            "invalid_query" => ApiStatus::InvalidQuery,
2966            "invalid_queue" => ApiStatus::InvalidQueue,
2967            "invalid_quiet" => ApiStatus::InvalidQuiet,
2968            "invalid_recording" => ApiStatus::InvalidRecording,
2969            "invalid_recording_sound_error_menu" => ApiStatus::InvalidRecordingSoundErrorMenu,
2970            "invalid_recording_sound_get_pin" => ApiStatus::InvalidRecordingSoundGetPIN,
2971            "invalid_recording_sound_has_joined" => ApiStatus::InvalidRecordingSoundHasJoined,
2972            "invalid_recording_sound_has_left" => ApiStatus::InvalidRecordingSoundHasLeft,
2973            "invalid_recording_sound_invalid_pin" => ApiStatus::InvalidRecordingSoundInvalidPIN,
2974            "invalid_recording_sound_join" => ApiStatus::InvalidRecordingSoundJoin,
2975            "invalid_recording_sound_kicked" => ApiStatus::InvalidRecordingSoundKicked,
2976            "invalid_recording_sound_leave" => ApiStatus::InvalidRecordingSoundLeave,
2977            "invalid_recording_sound_locked" => ApiStatus::InvalidRecordingSoundLocked,
2978            "invalid_recording_sound_locked_now" => ApiStatus::InvalidRecordingSoundLockedNow,
2979            "invalid_recording_sound_muted" => ApiStatus::InvalidRecordingSoundMuted,
2980            "invalid_recording_sound_only_one" => ApiStatus::InvalidRecordingSoundOnlyOne,
2981            "invalid_recording_sound_only_person" => ApiStatus::InvalidRecordingSoundOnlyPerson,
2982            "invalid_recording_sound_other_in_party" => {
2983                ApiStatus::InvalidRecordingSoundOtherInParty
2984            }
2985            "invalid_recording_sound_participants_muted" => {
2986                ApiStatus::InvalidRecordingSoundParticipantsMuted
2987            }
2988            "invalid_recording_sound_participants_unmuted" => {
2989                ApiStatus::InvalidRecordingSoundParticipantsUnmuted
2990            }
2991            "invalid_recording_sound_place_into_conference" => {
2992                ApiStatus::InvalidRecordingSoundPlaceIntoConference
2993            }
2994            "invalid_recording_sound_there_are" => ApiStatus::InvalidRecordingSoundThereAre,
2995            "invalid_recording_sound_unlocked_now" => ApiStatus::InvalidRecordingSoundUnlockedNow,
2996            "invalid_recording_sound_unmuted" => ApiStatus::InvalidRecordingSoundUnmuted,
2997            "invalid_record_calls" => ApiStatus::InvalidRecordCalls,
2998            "invalid_report_hold_time_agent" => ApiStatus::InvalidReportHoldTimeAgent,
2999            "invalid_resellerclient" => ApiStatus::InvalidResellerclient,
3000            "invalid_resellernextbilling" => ApiStatus::InvalidResellernextbilling,
3001            "invalid_resellerpackage" => ApiStatus::InvalidResellerpackage,
3002            "invalid_response_timeout" => ApiStatus::InvalidResponseTimeout,
3003            "invalid_retry_timer" => ApiStatus::InvalidRetryTimer,
3004            "invalid_ringgroup" => ApiStatus::InvalidRinggroup,
3005            "invalid_ring_inuse" => ApiStatus::InvalidRingInuse,
3006            "invalid_route" => ApiStatus::InvalidRoute,
3007            "invalid_routing_header" => ApiStatus::InvalidRoutingHeader,
3008            "invalid_rtp_hold_timeout" => ApiStatus::InvalidRTPHoldTimeout,
3009            "invalid_rtp_timeout" => ApiStatus::InvalidRTPTimeout,
3010            "invalid_saycallerid" => ApiStatus::InvalidSaycallerid,
3011            "invalid_saytime" => ApiStatus::InvalidSaytime,
3012            "invalid_security_code" => ApiStatus::InvalidSecurityCode,
3013            "invalid_serverpop" => ApiStatus::InvalidServerpop,
3014            "invalid_setup" => ApiStatus::InvalidSetup,
3015            "invalid_silence_threshold" => ApiStatus::InvalidSilenceThreshold,
3016            "invalid_sipuri" => ApiStatus::InvalidSIPURI,
3017            "invalid_sip_traffic" => ApiStatus::InvalidSIPTraffic,
3018            "invalid_skippassword" => ApiStatus::InvalidSkippassword,
3019            "invalid_smpp_password" => ApiStatus::InvalidSmppPassword,
3020            "invalid_smpp_url" => ApiStatus::InvalidSmppURL,
3021            "invalid_smpp_username" => ApiStatus::InvalidSmppUsername,
3022            "invalid_sms" => ApiStatus::InvalidSMS,
3023            "invalid_sms_forward" => ApiStatus::InvalidSMSForward,
3024            "invalid_snn" => ApiStatus::InvalidSnn,
3025            "invalid_speed_dial" => ApiStatus::InvalidSpeedDial,
3026            "invalid_starthour" => ApiStatus::InvalidStarthour,
3027            "invalid_startminute" => ApiStatus::InvalidStartminute,
3028            "invalid_start_muted" => ApiStatus::InvalidStartMuted,
3029            "invalid_state" => ApiStatus::InvalidState,
3030            "invalid_statement_name" => ApiStatus::InvalidStatementName,
3031            "invalid_strategy" => ApiStatus::InvalidStrategy,
3032            "invalid_street_name" => ApiStatus::InvalidStreetName,
3033            "invalid_street_number" => ApiStatus::InvalidStreetNumber,
3034            "invalid_talking_threshold" => ApiStatus::InvalidTalkingThreshold,
3035            "invalid_talk_detection" => ApiStatus::InvalidTalkDetection,
3036            "invalid_tfnumber_porttype" => ApiStatus::InvalidTfnumberPorttype,
3037            "invalid_thankyou_for_your_patience" => ApiStatus::InvalidThankyouForYourPatience,
3038            "Invalid_threshold" => ApiStatus::InvalidThreshold,
3039            "invalid_timecondition" => ApiStatus::InvalidTimecondition,
3040            "invalid_timeout" => ApiStatus::InvalidTimeout,
3041            "invalid_timerange" => ApiStatus::InvalidTimerange,
3042            "invalid_timezone" => ApiStatus::InvalidTimezone,
3043            "invalid_to_number" => ApiStatus::InvalidToNumber,
3044            "invalid_transcription_email" => ApiStatus::InvalidTranscriptionEmail,
3045            "invalid_transcription_format" => ApiStatus::InvalidTranscriptionFormat,
3046            "invalid_transcription_locale" => ApiStatus::InvalidTranscriptionLocale,
3047            "invalid_transcription_redaction" => ApiStatus::InvalidTranscriptionRedaction,
3048            "invalid_transcription_sentiment" => ApiStatus::InvalidTranscriptionSentiment,
3049            "invalid_transcription_summary" => ApiStatus::InvalidTranscriptionSummary,
3050            "invalid_type" => ApiStatus::InvalidType,
3051            "invalid_urgent" => ApiStatus::InvalidUrgent,
3052            "invalid_username" => ApiStatus::InvalidUsername,
3053            "invalid_voicemailsetup" => ApiStatus::InvalidVoicemailsetup,
3054            "invalid_voice_announcement" => ApiStatus::InvalidVoiceAnnouncement,
3055            "invalid_weekdayend" => ApiStatus::InvalidWeekdayend,
3056            "invalid_weekdaystart" => ApiStatus::InvalidWeekdaystart,
3057            "invalid_wrapup_time" => ApiStatus::InvalidWrapupTime,
3058            "invalid_zip" => ApiStatus::InvalidZip,
3059            "ip_not_enabled" => ApiStatus::IPNotEnabled,
3060            "limit_reached" => ApiStatus::LimitReached,
3061            "location_already_exists" => ApiStatus::LocationAlreadyExists,
3062            "location_linked_to_subaccount" => ApiStatus::LocationLinkedToSubaccount,
3063            "location_not_found" => ApiStatus::LocationNotFound,
3064            "max_phonebook" => ApiStatus::MaxPhonebook,
3065            "members_exceeded" => ApiStatus::MembersExceeded,
3066            "member_already_included" => ApiStatus::MemberAlreadyIncluded,
3067            "message_empty" => ApiStatus::MessageEmpty,
3068            "message_not_found" => ApiStatus::MessageNotFound,
3069            "method_maintenance" => ApiStatus::MethodMaintenance,
3070            "mismatch_email_confirm" => ApiStatus::MismatchEmailConfirm,
3071            "mismatch_password_confirm" => ApiStatus::MismatchPasswordConfirm,
3072            "missing_account" => ApiStatus::MissingAccount,
3073            "missing_address" => ApiStatus::MissingAddress,
3074            "missing_agent_ring_timeout" => ApiStatus::MissingAgentRingTimeout,
3075            "missing_allowedcodecs" => ApiStatus::MissingAllowedcodecs,
3076            "missing_attachmessage" => ApiStatus::MissingAttachmessage,
3077            "missing_authtype" => ApiStatus::MissingAuthtype,
3078            "missing_balancemanagement" => ApiStatus::MissingBalancemanagement,
3079            "missing_billingtype" => ApiStatus::MissingBillingtype,
3080            "missing_callback" => ApiStatus::MissingCallback,
3081            "missing_callerid" => ApiStatus::MissingCallerid,
3082            "missing_callhunting" => ApiStatus::MissingCallhunting,
3083            "missing_callparking" => ApiStatus::MissingCallparking,
3084            "missing_callrecording" => ApiStatus::MissingCallrecording,
3085            "missing_carrier" => ApiStatus::MissingCarrier,
3086            "missing_charge" => ApiStatus::MissingCharge,
3087            "missing_choices" => ApiStatus::MissingChoices,
3088            "missing_city" => ApiStatus::MissingCity,
3089            "missing_client" => ApiStatus::MissingClient,
3090            "missing_cnam" => ApiStatus::MissingCNAM,
3091            "missing_codec" => ApiStatus::MissingCodec,
3092            "missing_conference" => ApiStatus::MissingConference,
3093            "missing_country" => ApiStatus::MissingCountry,
3094            "missing_countryid" => ApiStatus::MissingCountryid,
3095            "missing_credentials" => ApiStatus::MissingCredentials,
3096            "missing_datetime" => ApiStatus::MissingDatetime,
3097            "missing_delay_before" => ApiStatus::MissingDelayBefore,
3098            "missing_deletemessage" => ApiStatus::MissingDeletemessage,
3099            "missing_description" => ApiStatus::MissingDescription,
3100            "missing_devicetype" => ApiStatus::MissingDevicetype,
3101            "missing_dialtime" => ApiStatus::MissingDialtime,
3102            "missing_did" => ApiStatus::MissingDID,
3103            "missing_digits" => ApiStatus::MissingDigits,
3104            "missing_digit_timeout" => ApiStatus::MissingDigitTimeout,
3105            "missing_disa" => ApiStatus::MissingDISA,
3106            "missing_dtmfmode" => ApiStatus::MissingDtmfmode,
3107            "missing_email" => ApiStatus::MissingEmail,
3108            "missing_email_confirm" => ApiStatus::MissingEmailConfirm,
3109            "missing_enable" => ApiStatus::MissingEnable,
3110            "missing_endhour" => ApiStatus::MissingEndhour,
3111            "missing_endminute" => ApiStatus::MissingEndminute,
3112            "missing_failover_busy" => ApiStatus::MissingFailoverBusy,
3113            "missing_failover_noanswer" => ApiStatus::MissingFailoverNoanswer,
3114            "missing_failover_unreachable" => ApiStatus::MissingFailoverUnreachable,
3115            "missing_file" => ApiStatus::MissingFile,
3116            "missing_filter" => ApiStatus::MissingFilter,
3117            "missing_firstname" => ApiStatus::MissingFirstname,
3118            "missing_folder" => ApiStatus::MissingFolder,
3119            "missing_forwarding" => ApiStatus::MissingForwarding,
3120            "missing_from_date" => ApiStatus::MissingFromDate,
3121            "missing_fullname" => ApiStatus::MissingFullname,
3122            "missing_id" => ApiStatus::MissingID,
3123            "missing_if_announce_position_enabled_report_e" => {
3124                ApiStatus::MissingIfAnnouncePositionEnabledReportE
3125            }
3126            "missing_internationalroute" => ApiStatus::MissingInternationalroute,
3127            "missing_ip" => ApiStatus::MissingIP,
3128            "missing_ip_h323" => ApiStatus::MissingIPH323,
3129            "missing_ip_restriction" => ApiStatus::MissingIPRestriction,
3130            "missing_ivr" => ApiStatus::MissingIVR,
3131            "missing_join_when_empty" => ApiStatus::MissingJoinWhenEmpty,
3132            "missing_language" => ApiStatus::MissingLanguage,
3133            "missing_lastname" => ApiStatus::MissingLastname,
3134            "missing_leave_when_empty" => ApiStatus::MissingLeaveWhenEmpty,
3135            "missing_length" => ApiStatus::MissingLength,
3136            "missing_listened" => ApiStatus::MissingListened,
3137            "missing_location" => ApiStatus::MissingLocation,
3138            "missing_location_name" => ApiStatus::MissingLocationName,
3139            "missing_lockinternational" => ApiStatus::MissingLockinternational,
3140            "missing_mailbox" => ApiStatus::MissingMailbox,
3141            "missing_member" => ApiStatus::MissingMember,
3142            "missing_members" => ApiStatus::MissingMembers,
3143            "missing_message_num" => ApiStatus::MissingMessageNum,
3144            "missing_method" => ApiStatus::MissingMethod,
3145            "missing_minute" => ApiStatus::MissingMinute,
3146            "missing_monthly" => ApiStatus::MissingMonthly,
3147            "missing_musiconhold" => ApiStatus::MissingMusiconhold,
3148            "missing_name" => ApiStatus::MissingName,
3149            "missing_nat" => ApiStatus::MissingNAT,
3150            "missing_number" => ApiStatus::MissingNumber,
3151            "missing_numbers" => ApiStatus::MissingNumbers,
3152            "missing_package" => ApiStatus::MissingPackage,
3153            "missing_params" => ApiStatus::MissingParams,
3154            "missing_password" => ApiStatus::MissingPassword,
3155            "missing_password_confirm" => ApiStatus::MissingPasswordConfirm,
3156            "missing_payment" => ApiStatus::MissingPayment,
3157            "missing_phonebook" => ApiStatus::MissingPhonebook,
3158            "missing_phonenumber" => ApiStatus::MissingPhonenumber,
3159            "missing_pin" => ApiStatus::MissingPIN,
3160            "missing_playinstructions" => ApiStatus::MissingPlayinstructions,
3161            "missing_pop_restriction" => ApiStatus::MissingPOPRestriction,
3162            "missing_priority" => ApiStatus::MissingPriority,
3163            "missing_priority_weight" => ApiStatus::MissingPriorityWeight,
3164            "missing_protocol" => ApiStatus::MissingProtocol,
3165            "missing_province" => ApiStatus::MissingProvince,
3166            "missing_query" => ApiStatus::MissingQuery,
3167            "missing_recording" => ApiStatus::MissingRecording,
3168            "missing_report_hold_time_agent" => ApiStatus::MissingReportHoldTimeAgent,
3169            "missing_resellerclient" => ApiStatus::MissingResellerclient,
3170            "missing_resellerpackage" => ApiStatus::MissingResellerpackage,
3171            "missing_response_timeout" => ApiStatus::MissingResponseTimeout,
3172            "missing_ringgroup" => ApiStatus::MissingRinggroup,
3173            "missing_ring_inuse" => ApiStatus::MissingRingInuse,
3174            "missing_ring_strategy" => ApiStatus::MissingRingStrategy,
3175            "missing_route" => ApiStatus::MissingRoute,
3176            "missing_routing" => ApiStatus::MissingRouting,
3177            "missing_saycallerid" => ApiStatus::MissingSaycallerid,
3178            "missing_saytime" => ApiStatus::MissingSaytime,
3179            "missing_serverpop" => ApiStatus::MissingServerpop,
3180            "missing_setup" => ApiStatus::MissingSetup,
3181            "missing_sipuri" => ApiStatus::MissingSIPURI,
3182            "missing_skippassword" => ApiStatus::MissingSkippassword,
3183            "missing_sms" => ApiStatus::MissingSMS,
3184            "missing_speed_dial" => ApiStatus::MissingSpeedDial,
3185            "missing_start" => ApiStatus::MissingStart,
3186            "missing_starthour" => ApiStatus::MissingStarthour,
3187            "missing_startminute" => ApiStatus::MissingStartminute,
3188            "missing_state" => ApiStatus::MissingState,
3189            "missing_street_name" => ApiStatus::MissingStreetName,
3190            "missing_street_number" => ApiStatus::MissingStreetNumber,
3191            "missing_thankyou_for_your_patience" => ApiStatus::MissingThankyouForYourPatience,
3192            "missing_timecondition" => ApiStatus::MissingTimecondition,
3193            "missing_timeout" => ApiStatus::MissingTimeout,
3194            "missing_timezone" => ApiStatus::MissingTimezone,
3195            "missing_to_date" => ApiStatus::MissingToDate,
3196            "missing_transcription_email" => ApiStatus::MissingTranscriptionEmail,
3197            "missing_transcription_locale" => ApiStatus::MissingTranscriptionLocale,
3198            "missing_type" => ApiStatus::MissingType,
3199            "missing_urgent" => ApiStatus::MissingUrgent,
3200            "missing_uri" => ApiStatus::MissingURI,
3201            "missing_username" => ApiStatus::MissingUsername,
3202            "missing_voicemailsetup" => ApiStatus::MissingVoicemailsetup,
3203            "missing_weekdayend" => ApiStatus::MissingWeekdayend,
3204            "missing_weekdaystart" => ApiStatus::MissingWeekdaystart,
3205            "missing_zip" => ApiStatus::MissingZip,
3206            "moving_fail" => ApiStatus::MovingFail,
3207            "name_toolong" => ApiStatus::NameToolong,
3208            "non_sufficient_funds" => ApiStatus::NonSufficientFunds,
3209            "note_toolong" => ApiStatus::NoteToolong,
3210            "no_account" => ApiStatus::NoAccount,
3211            "no_attachments" => ApiStatus::NoAttachments,
3212            "no_base64file" => ApiStatus::NoBase64file,
3213            "no_callback" => ApiStatus::NoCallback,
3214            "no_callhunting" => ApiStatus::NoCallhunting,
3215            "no_callparking" => ApiStatus::NoCallparking,
3216            "no_callstatus" => ApiStatus::NoCallstatus,
3217            "no_cdr" => ApiStatus::NoCDR,
3218            "no_change_billingtype" => ApiStatus::NoChangeBillingtype,
3219            "no_client" => ApiStatus::NoClient,
3220            "no_conference" => ApiStatus::NoConference,
3221            "no_did" => ApiStatus::NoDID,
3222            "no_disa" => ApiStatus::NoDISA,
3223            "no_filter" => ApiStatus::NoFilter,
3224            "no_forwarding" => ApiStatus::NoForwarding,
3225            "no_ivr" => ApiStatus::NoIVR,
3226            "no_mailbox" => ApiStatus::NoMailbox,
3227            "no_member" => ApiStatus::NoMember,
3228            "no_message" => ApiStatus::NoMessage,
3229            "no_messages" => ApiStatus::NoMessages,
3230            "no_numbers" => ApiStatus::NoNumbers,
3231            "no_package" => ApiStatus::NoPackage,
3232            "no_phonebook" => ApiStatus::NoPhonebook,
3233            "no_provision" => ApiStatus::NoProvision,
3234            "no_provision_update" => ApiStatus::NoProvisionUpdate,
3235            "no_queue" => ApiStatus::NoQueue,
3236            "no_rate" => ApiStatus::NoRate,
3237            "no_recording" => ApiStatus::NoRecording,
3238            "no_ringgroup" => ApiStatus::NoRinggroup,
3239            "no_sequences" => ApiStatus::NoSequences,
3240            "no_sipuri" => ApiStatus::NoSIPURI,
3241            "no_sms" => ApiStatus::NoSMS,
3242            "no_timecondition" => ApiStatus::NoTimecondition,
3243            "order_failed" => ApiStatus::OrderFailed,
3244            "problem_sending_mail" => ApiStatus::ProblemSendingMail,
3245            "provider_outofservice" => ApiStatus::ProviderOutofservice,
3246            "recording_in_use_caller_id_filtering" => ApiStatus::RecordingInUseCallerIDFiltering,
3247            "recording_in_use_caller_timecondition" => ApiStatus::RecordingInUseCallerTimecondition,
3248            "recording_in_use_did" => ApiStatus::RecordingInUseDID,
3249            "recording_in_use_ivr" => ApiStatus::RecordingInUseIVR,
3250            "recording_in_use_queue" => ApiStatus::RecordingInUseQueue,
3251            "repeated_ip" => ApiStatus::RepeatedIP,
3252            "reserved_ip" => ApiStatus::ReservedIP,
3253            "rtp_timeout_greater_than_rtp_hold_timeout" => {
3254                ApiStatus::RTPTimeoutGreaterThanRTPHoldTimeout
3255            }
3256            "same_did_billingtype" => ApiStatus::SameDIDBillingtype,
3257            "sent_fail" => ApiStatus::SentFail,
3258            "sipuri_in_phonebook" => ApiStatus::SIPURIInPhonebook,
3259            "sms_apply_regulations" => ApiStatus::SMSApplyRegulations,
3260            "sms_failed" => ApiStatus::SMSFailed,
3261            "sms_toolong" => ApiStatus::SMSToolong,
3262            "sms_wait_message" => ApiStatus::SMSWaitMessage,
3263            "tls_error" => ApiStatus::TlsError,
3264            "Unable_to_purchase" => ApiStatus::UnableToPurchase,
3265            "unavailable_info" => ApiStatus::UnavailableInfo,
3266            "unsifficient_stock" => ApiStatus::UnsifficientStock,
3267            "used_description" => ApiStatus::UsedDescription,
3268            "used_email" => ApiStatus::UsedEmail,
3269            "used_extension" => ApiStatus::UsedExtension,
3270            "used_extension_in_location" => ApiStatus::UsedExtensionInLocation,
3271            "used_filter" => ApiStatus::UsedFilter,
3272            "used_ip" => ApiStatus::UsedIP,
3273            "used_name" => ApiStatus::UsedName,
3274            "used_number" => ApiStatus::UsedNumber,
3275            "used_password" => ApiStatus::UsedPassword,
3276            "used_speed_dial" => ApiStatus::UsedSpeedDial,
3277            "used_username" => ApiStatus::UsedUsername,
3278            "weak_password" => ApiStatus::WeakPassword,
3279            other => ApiStatus::Unknown(other.to_string()),
3280        }
3281    }
3282
3283    /// The human-readable description of this status from the
3284    /// VoIP.ms docs, or `None` for [`ApiStatus::Unknown`].
3285    pub fn description(&self) -> Option<&'static str> {
3286        match self {
3287            ApiStatus::AccountWithDIDs => Some("The Account has DIDs assigned to it."),
3288            ApiStatus::APILimitExceeded => Some("API requests limit per minute has been reached"),
3289            ApiStatus::APINotEnabled => Some("API has not been enabled or has been disabled"),
3290            ApiStatus::CancelFailed => Some("The cancellation wasn't completed."),
3291            ApiStatus::CANHaveOnlyOneProfileWithoutPIN => {
3292                Some("The conference can just have one profile member without pin")
3293            }
3294            ApiStatus::ConferenceMemberRelationNotFound => {
3295                Some("There is no relation between the profile member and the conference.")
3296            }
3297            ApiStatus::DIDInUse => Some("DID Number is already in use"),
3298            ApiStatus::DIDLimitReached => Some(
3299                "You have reached the maximum number of DID numbers allowed for your account type. Please contact our team if you have a specific use case or if you would like to upgrade to a Business account.",
3300            ),
3301            ApiStatus::DuplicatedName => Some("There is already another entry with this name"),
3302            ApiStatus::DuplicatedPIN => Some("The given pin has been duplicated"),
3303            ApiStatus::E911Disabled => Some("DID e911 service it's not enabled."),
3304            ApiStatus::E911Pending => {
3305                Some("DID e911 service has been requested and is in validation process.")
3306            }
3307            ApiStatus::ErrorDeletingMsg => Some("Error when deleting message"),
3308            ApiStatus::ErrorMovingMsg => Some("Error when move the voicemail message to folder"),
3309            ApiStatus::ExceedsFileSize => Some("The file exceeds the limite size allowed."),
3310            ApiStatus::ExistingDID => {
3311                Some("You can't set a callback to an existing VoIP.ms DID number")
3312            }
3313            ApiStatus::ForwardsExceeded => Some("Your account is limited to 4 forward entries"),
3314            ApiStatus::InvalidAccount => Some("This is not a valid account"),
3315            ApiStatus::InvalidAddress => Some("Address is missing or the format is invalid."),
3316            ApiStatus::InvalidAdmin => Some("This is not a valid admin"),
3317            ApiStatus::InvalidAgentRingTimeout => {
3318                Some("This is not a valid Agent ring time out value")
3319            }
3320            ApiStatus::InvalidAllowedcodecs => {
3321                Some("One of the codecs provided is invalid Format and Values: ulaw;g729;gsm;all")
3322            }
3323            ApiStatus::InvalidAnnounceJoinLeave => {
3324                Some("This is not a valid \"Announce join leave\"")
3325            }
3326            ApiStatus::InvalidAnnounceOnlyUser => {
3327                Some("This is not a valid \"Announce only user\"")
3328            }
3329            ApiStatus::InvalidAnnouncePositionFrequency => {
3330                Some("This is not a valid Announce position frequency")
3331            }
3332            ApiStatus::InvalidAnnounceRoundSeconds => {
3333                Some("This is not a valid \"Announce round seconds\"")
3334            }
3335            ApiStatus::InvalidAnnounceUserCount => {
3336                Some("This is not a valid \"Announce user count\"")
3337            }
3338            ApiStatus::InvalidAreaCode => Some("this is not a valid Area Code."),
3339            ApiStatus::InvalidAttachid => Some("The given ID is invalid or doesn't exist."),
3340            ApiStatus::InvalidAttachmessage => {
3341                Some("this is not a valid AttachMessage Should be: yes/no")
3342            }
3343            ApiStatus::InvalidAttachFile => Some("Valid formats: PDF, MS Word, BMP, JPG"),
3344            ApiStatus::InvalidAuthtype => Some("This is not a valid Auth Type"),
3345            ApiStatus::InvalidAuthtypeH323 => Some("You must select IP Auth to use H.323"),
3346            ApiStatus::InvalidAuthtypeIax2 => {
3347                Some("You must use User/Password Authentication for IAX2")
3348            }
3349            ApiStatus::InvalidBalancemanagement => Some("This is not a valid BalanceManagement"),
3350            ApiStatus::InvalidBaseRecording => Some("This is not a valid recording path"),
3351            ApiStatus::InvalidBillingtype => {
3352                Some("This is not a valid Billing Type Allowed values: 1 = PerMinute, 2 = Flat")
3353            }
3354            ApiStatus::InvalidCallback => Some("This is not a valid Callback"),
3355            ApiStatus::InvalidCallbackEnable => Some("This is not a valid Callback enable value"),
3356            ApiStatus::InvalidCallbackRetry => Some("This is not a valid Callback retry"),
3357            ApiStatus::InvalidCallerid => Some("This is not a valid CallerID"),
3358            ApiStatus::InvalidCalleridprefix => {
3359                Some("This is not a valid CID Prefix, lenght should be less than 20 chars")
3360            }
3361            ApiStatus::InvalidCalleridOverride => Some("This is not a valid CallerID Override"),
3362            ApiStatus::InvalidCallhunting => Some("This is not a valid Call Hunting"),
3363            ApiStatus::InvalidCallparking => Some("This is not a valid Call Parking"),
3364            ApiStatus::InvalidCallrecording => Some("This is not a valid Call recording"),
3365            ApiStatus::InvalidCallType => Some("Call Type is not valid."),
3366            ApiStatus::InvalidCanadaRouting => Some("This is not a valid Canada Route"),
3367            ApiStatus::InvalidCarrier => Some("This is not a valid Carrier"),
3368            ApiStatus::InvalidCharge => Some("This is not a valid Charge"),
3369            ApiStatus::InvalidCity => Some("City is missing or the format is invalid."),
3370            ApiStatus::InvalidClient => Some("This is not a valid Client"),
3371            ApiStatus::InvalidCNAM => Some("This is not a valid CNAM Should be: 1/0"),
3372            ApiStatus::InvalidCodec => Some("This is not a valid Codec"),
3373            ApiStatus::InvalidConference => Some("This is not a valid Conference ID"),
3374            ApiStatus::InvalidContact => Some("This is not a valid Contact Number"),
3375            ApiStatus::InvalidCountry => Some(
3376                "Country is missing or the format is invalid, must be in format ISO 3166-1 alpha-2, example: US, CA, etc. (You can use the values returned by the method getCountries)",
3377            ),
3378            ApiStatus::InvalidCountryid => Some("This is not a valid Country ID"),
3379            ApiStatus::InvalidCredentials => Some("Username or Password is incorrect"),
3380            ApiStatus::InvalidDate => Some("This is not a valid date Format is: yyyy-mm-dd"),
3381            ApiStatus::InvalidDaterange => Some("Date Range should be 92 days or less"),
3382            ApiStatus::InvalidDatetime => {
3383                Some("This is not a valid datetime Format is: yyyy-mm-dd hh:mm:ss")
3384            }
3385            ApiStatus::InvalidDateFrom => {
3386                Some("The \"From\" date should be prior to the \"To\" date.")
3387            }
3388            ApiStatus::InvalidDayrange => Some("This is not a valid Day Range"),
3389            ApiStatus::InvalidDelayBefore => Some("This is not a valid DelayBefore"),
3390            ApiStatus::InvalidDeletemessage => {
3391                Some("This is not a valid DeleteMessage Should be: yes/no")
3392            }
3393            ApiStatus::InvalidDescription => Some("This is not a valid Description"),
3394            ApiStatus::InvalidDestination => Some("This is not a valid Destination"),
3395            ApiStatus::InvalidDestinationFolder => Some("This is not a valid Destination Folder"),
3396            ApiStatus::InvalidDevicetype => Some("This is not a valid Device Type"),
3397            ApiStatus::InvalidDialtime => Some("This is not a valid Dialtime"),
3398            ApiStatus::InvalidDID => Some("This is not a valid DID"),
3399            ApiStatus::InvalidDigits => {
3400                Some("These are not valid DigitsOrderDIDVirtual: Digits must be 3 numbers")
3401            }
3402            ApiStatus::InvalidDigitTimeout => Some("This is not a valid DigitTimeOut"),
3403            ApiStatus::InvalidDISA => Some("This is not a valid DISA"),
3404            ApiStatus::InvalidDiversionHeader => Some(
3405                "This is not a valid Diversion Header. It must be a numeric value, accepting only 0 or 1.",
3406            ),
3407            ApiStatus::InvalidDropSilence => Some("This is not a valid \"drop silence\" value"),
3408            ApiStatus::InvalidDST => Some("This is not a valid Destination Number"),
3409            ApiStatus::InvalidDtmfmode => Some("This is no a valid DTMF Mode"),
3410            ApiStatus::InvalidDTMFDigits => Some("This is no a valid DTMF digit"),
3411            ApiStatus::InvalidEmail => {
3412                Some("This is not a valid email or email is already in database")
3413            }
3414            ApiStatus::InvalidEmailAttachmentFormat => Some("This is not a valid format value"),
3415            ApiStatus::InvalidEmailEnable => Some("This is not a valid email enable value"),
3416            ApiStatus::InvalidEnableIPRestriction => {
3417                Some("This is not a valid Enable IP Restriction value")
3418            }
3419            ApiStatus::InvalidEnablePOPRestriction => {
3420                Some("This is not a valid Enable POP Restriction value")
3421            }
3422            ApiStatus::InvalidEndhour => Some("This is not a valid End Hour"),
3423            ApiStatus::InvalidEndminute => Some("This is not a valid End Minute"),
3424            ApiStatus::InvalidExtension => {
3425                Some("This is not a valid extension Extension can only contain digits")
3426            }
3427            ApiStatus::InvalidExtensions => Some(
3428                "Extensions cannot be: 098, 211, 311, 411, 4443, 4444, 4747, 511, 711, 811, 822, 911, 988",
3429            ),
3430            ApiStatus::InvalidExtensionLength => {
3431                Some("Extensions should not contain more than 5 digits")
3432            }
3433            ApiStatus::InvalidExtensionPrefix => Some("Extensions cannot start with: 068, 097"),
3434            ApiStatus::InvalidFailoverHeader => {
3435                Some("This is not a valid failover header Should be: account/vm/fwd/none")
3436            }
3437            ApiStatus::InvalidFAXID => Some("This is not a valid Fax Message ID"),
3438            ApiStatus::InvalidFile => Some("This is not a valid File"),
3439            ApiStatus::InvalidFilter => Some("This is not a valid Filter"),
3440            ApiStatus::InvalidFirstname => Some("First name is missing or the format is invalid."),
3441            ApiStatus::InvalidFocEnddate => {
3442                Some("Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22")
3443            }
3444            ApiStatus::InvalidFocStartdate => {
3445                Some("Invalid date format, must be: YYYY-mm-dd. Example: 2018-02-22")
3446            }
3447            ApiStatus::InvalidFolder => Some("This is not a valid Folder"),
3448            ApiStatus::InvalidFolderID => Some("This is not a valid Fax Folder ID"),
3449            ApiStatus::InvalidForwarding => Some("This is not a valid forwarding"),
3450            ApiStatus::InvalidForwardingDID => Some("Forwarding to the same did is not allowed"),
3451            ApiStatus::InvalidForwardEnable => Some("This is not a valid forward enable value"),
3452            ApiStatus::InvalidFrequencyAnnouncement => {
3453                Some("This is not a valid Frequency announce")
3454            }
3455            ApiStatus::InvalidFromNumber => Some("This is not a valid sender number."),
3456            ApiStatus::InvalidFullname => Some("This is not a valid Full Name"),
3457            ApiStatus::InvalidID => Some("This is not a valid ID"),
3458            ApiStatus::InvalidIfAnnouncePositionEnabledReportE => {
3459                Some("This is not a Report estimated hold time type")
3460            }
3461            ApiStatus::InvalidInternaldialtime => {
3462                Some("This is not a valid Internal Dialtime Should be: 1 to 60")
3463            }
3464            ApiStatus::InvalidInternalvoicemail => Some("This is not a valid Internal Voicemail"),
3465            ApiStatus::InvalidInternationalroute => Some("This is not a valid International Route"),
3466            ApiStatus::InvalidInvoiceType => {
3467                Some("Invalid invoice type, possible values: 0 = US, 1 = CAN.")
3468            }
3469            ApiStatus::InvalidIP => Some("This is an invalid IP"),
3470            ApiStatus::InvalidIPAuth => {
3471                Some("Do not provide an IP address for User/Pass Authentication")
3472            }
3473            ApiStatus::InvalidIPIax2 => Some("Do not provide an IP address for IAX2"),
3474            ApiStatus::InvalidIVR => Some("This is not a valid IVR"),
3475            ApiStatus::InvalidJitterBuffer => Some("This is not a valid \"jitter buffer\" value"),
3476            ApiStatus::InvalidJoinAnnouncement => {
3477                Some("This is not a valid 'Join Announcement' Type for a Queue")
3478            }
3479            ApiStatus::InvalidJoinEmptyType => {
3480                Some("This is not a valid 'JoinWhenEmpty' Type for a Queue")
3481            }
3482            ApiStatus::InvalidLanguage => Some("This is not a valid Language Should be: es/en/fr"),
3483            ApiStatus::InvalidLastname => Some("Lastname is missing or the format is invalid."),
3484            ApiStatus::InvalidListened => Some("This is not a valid Listened value"),
3485            ApiStatus::InvalidLocation => Some("This is not a valid Location"),
3486            ApiStatus::InvalidLockinternational => Some("This is not a valid Lock International"),
3487            ApiStatus::InvalidMailbox => Some("This is not a valid mailbox"),
3488            ApiStatus::InvalidMaximumCallers => Some("This is not a valid maximum callers value"),
3489            ApiStatus::InvalidMaximumWaitTime => {
3490                Some("This is not a valid maximum wait time value")
3491            }
3492            ApiStatus::InvalidMaxExpiry => {
3493                Some("This is not a valid Max Expiry (value must be between 60 and 3600 seconds)")
3494            }
3495            ApiStatus::InvalidMember => Some("This is not a valid Member"),
3496            ApiStatus::InvalidMemberDelay => Some("This is not a valid Member Delay"),
3497            ApiStatus::InvalidMessageNum => Some("This is not a valid Voicemail Message Number"),
3498            ApiStatus::InvalidMethod => Some("This is not a valid Method"),
3499            ApiStatus::InvalidMinute => Some("This is not a valid Minute Rate"),
3500            ApiStatus::InvalidMixedNumbers => {
3501                Some("Toll-free numbers and local numbers can not be mixed in the same order.")
3502            }
3503            ApiStatus::InvalidMonthly => Some("This is not a valid Montly Fee"),
3504            ApiStatus::InvalidMusiconhold => Some("This is not a valid Music on Hold"),
3505            ApiStatus::InvalidName => Some("This is not a valid name, Alphanumeric Only"),
3506            ApiStatus::InvalidNAT => Some("This is not a valid NAT"),
3507            ApiStatus::InvalidNote => {
3508                Some("This is not a valid Note, lenght should be less than 50 chars")
3509            }
3510            ApiStatus::InvalidNumber => Some("This is not a valid Number"),
3511            ApiStatus::InvalidNumbermembers => Some(
3512                "The element format of multiple data is not correct or it size does not match with other elements",
3513            ),
3514            ApiStatus::InvalidNumberCanadian => {
3515                Some("You have entered a Canadian number (not valid in this portability process).")
3516            }
3517            ApiStatus::InvalidNumberExist => Some("The number is already in our network"),
3518            ApiStatus::InvalidNumberFAX => {
3519                Some("The Fax number can not be ported into our network")
3520            }
3521            ApiStatus::InvalidNumberPorttype => {
3522                Some("You have entered a local number (not valid in this portability process)")
3523            }
3524            ApiStatus::InvalidNumberUS => {
3525                Some("You have entered a USA number (not valid in this portability process).")
3526            }
3527            ApiStatus::InvalidOrder => Some("This is not a valid \"order\" value"),
3528            ApiStatus::InvalidPackage => Some("This is not a valid Package"),
3529            ApiStatus::InvalidPassword => Some(
3530                "This is not a valid passwordVoicemail: Must be 4 Digits SubAccounts: More than 6 chars, Must Contain Alphanumeric and !#$%&/()=?*[]_:.,{}+-",
3531            ),
3532            ApiStatus::InvalidPasswordAuth => {
3533                Some("Do not provide a Password for IP Authentication")
3534            }
3535            ApiStatus::InvalidPasswordIlegalCharacters => Some(
3536                "This is not a valid password (Allowed characters: Alphanumeric and ! # $ % & / ( ) = ? * [ ] _ : . , { } + -)",
3537            ),
3538            ApiStatus::InvalidPasswordLessthan8charactersLong => {
3539                Some("This is not a valid password (Less than 8 characters long)")
3540            }
3541            ApiStatus::InvalidPasswordMissingLowercase => {
3542                Some("This is not a valid password (Missing lower case character)")
3543            }
3544            ApiStatus::InvalidPasswordMissingNumber => {
3545                Some("This is not a valid password (Missing a number)")
3546            }
3547            ApiStatus::InvalidPasswordMissingUppercase => {
3548                Some("This is not a valid password (Missing upper case character)")
3549            }
3550            ApiStatus::InvalidPause => Some("This is not a valid Pause"),
3551            ApiStatus::InvalidPayment => Some("This is not a valid Payment"),
3552            ApiStatus::InvalidPhonebook => Some("This is not a valid Phonebook"),
3553            ApiStatus::InvalidPhonenumber => Some("This is not a valid Phone Number"),
3554            ApiStatus::InvalidPIN => Some("This is not a valid PIN"),
3555            ApiStatus::InvalidPINNumber => Some("Must provide the account PIN number."),
3556            ApiStatus::InvalidPlayinstructions => {
3557                Some("This is not a valid PlayInstructions Should be: u/su")
3558            }
3559            ApiStatus::InvalidPOPRestriction => Some("This is not a valid POP Restriction"),
3560            ApiStatus::InvalidPortingid => Some("The given ID is invalid or doesn't exist."),
3561            ApiStatus::InvalidPorttype => Some("Must provide a valid port type."),
3562            ApiStatus::InvalidPortStatus => Some(
3563                "The status code is invalid. (You can use the values returned by the method getListStatus)",
3564            ),
3565            ApiStatus::InvalidPriority => Some("This is not a valid Priority"),
3566            ApiStatus::InvalidPriorityWeight => Some("This is not valid weight/priority value"),
3567            ApiStatus::InvalidProtocol => Some("This is not a valid Protocol"),
3568            ApiStatus::InvalidProviderAccount => {
3569                Some("You must provide your account # with the current provider")
3570            }
3571            ApiStatus::InvalidProviderName => Some("You must provide the service provider name"),
3572            ApiStatus::InvalidProvince => Some("This is not a valid Province"),
3573            ApiStatus::InvalidQuantity => Some("This is not a valid quantity"),
3574            ApiStatus::InvalidQuery => Some("This is not a valid Query"),
3575            ApiStatus::InvalidQueue => Some("This is not a valid Queue"),
3576            ApiStatus::InvalidQuiet => Some("This is not a valid \"quiet\" value"),
3577            ApiStatus::InvalidRecording => Some("This is not a valid recording"),
3578            ApiStatus::InvalidRecordingSoundErrorMenu => {
3579                Some("\"error menu\" is not a valid recording")
3580            }
3581            ApiStatus::InvalidRecordingSoundGetPIN => Some("\"get pin\" is not a valid recording"),
3582            ApiStatus::InvalidRecordingSoundHasJoined => {
3583                Some("\"has_joined\" is not a valid recording")
3584            }
3585            ApiStatus::InvalidRecordingSoundHasLeft => {
3586                Some("\"has_left\" is not a valid recording")
3587            }
3588            ApiStatus::InvalidRecordingSoundInvalidPIN => {
3589                Some("\"invalid pin\" is not a valid recording")
3590            }
3591            ApiStatus::InvalidRecordingSoundJoin => Some("\"join\" is not a valid recording"),
3592            ApiStatus::InvalidRecordingSoundKicked => Some("\"kicked\" is not a valid recording"),
3593            ApiStatus::InvalidRecordingSoundLeave => Some("\"leave\" is not a valid recording"),
3594            ApiStatus::InvalidRecordingSoundLocked => Some("\"locked\" is not a valid recording"),
3595            ApiStatus::InvalidRecordingSoundLockedNow => {
3596                Some("\"locked now\" is not a valid recording")
3597            }
3598            ApiStatus::InvalidRecordingSoundMuted => Some("\"muted\" is not a valid recording"),
3599            ApiStatus::InvalidRecordingSoundOnlyOne => {
3600                Some("\"only one\" is not a valid recording")
3601            }
3602            ApiStatus::InvalidRecordingSoundOnlyPerson => {
3603                Some("\"only person\" is not a valid recording")
3604            }
3605            ApiStatus::InvalidRecordingSoundOtherInParty => {
3606                Some("\"other in party\" is not a valid recording")
3607            }
3608            ApiStatus::InvalidRecordingSoundParticipantsMuted => {
3609                Some("\"participants muted\" is not a valid recording")
3610            }
3611            ApiStatus::InvalidRecordingSoundParticipantsUnmuted => {
3612                Some("\"participants unmuted\" is not a valid recording")
3613            }
3614            ApiStatus::InvalidRecordingSoundPlaceIntoConference => {
3615                Some("\"place into conference\" is not a valid recording")
3616            }
3617            ApiStatus::InvalidRecordingSoundThereAre => {
3618                Some("\"there are\" is not a valid recording")
3619            }
3620            ApiStatus::InvalidRecordingSoundUnlockedNow => {
3621                Some("\"unlocked now\" is not a valid recording")
3622            }
3623            ApiStatus::InvalidRecordingSoundUnmuted => Some("\"unmuted\" is not a valid recording"),
3624            ApiStatus::InvalidRecordCalls => Some("Record calls is not valid."),
3625            ApiStatus::InvalidReportHoldTimeAgent => {
3626                Some("This is not a valid Report hold time agent")
3627            }
3628            ApiStatus::InvalidResellerclient => Some("This is not a valid Reseller Client"),
3629            ApiStatus::InvalidResellernextbilling => Some(
3630                "This is not a valid Reseller Next Billing date, date should not be set in the past.",
3631            ),
3632            ApiStatus::InvalidResellerpackage => Some("This is not a valid Reseller Package"),
3633            ApiStatus::InvalidResponseTimeout => Some("This is not a valid ResponseTimeOut"),
3634            ApiStatus::InvalidRetryTimer => Some("This is not a valid Retry timer"),
3635            ApiStatus::InvalidRinggroup => Some("This is not a valid Ring group"),
3636            ApiStatus::InvalidRingInuse => Some("This is not a valid Ring in use value"),
3637            ApiStatus::InvalidRoute => Some("This is not a valid Route"),
3638            ApiStatus::InvalidRoutingHeader => {
3639                Some("This is not a valid Routing header Should be: account/vm/fwd")
3640            }
3641            ApiStatus::InvalidRTPHoldTimeout => Some(
3642                "This is not a valid RTP Hold Time Out (value must be between 1 and 3600 seconds)",
3643            ),
3644            ApiStatus::InvalidRTPTimeout => {
3645                Some("This is not a valid RTP Time Out (value must be between 1 and 3600 seconds)")
3646            }
3647            ApiStatus::InvalidSaycallerid => {
3648                Some("This is not a valid SayCallerID Should be: yes/no")
3649            }
3650            ApiStatus::InvalidSaytime => Some("This is not a valid SayTime Should be: yes/no"),
3651            ApiStatus::InvalidSecurityCode => {
3652                Some("This is not a valid Security Code. Should be alphanumeric.")
3653            }
3654            ApiStatus::InvalidServerpop => Some("This is not a valid Server POP"),
3655            ApiStatus::InvalidSetup => Some("This is not a valid Setup Fee"),
3656            ApiStatus::InvalidSilenceThreshold => {
3657                Some("This is not a valid \"silence threshold\" value")
3658            }
3659            ApiStatus::InvalidSIPURI => Some("This is not a valid SIPURI"),
3660            ApiStatus::InvalidSIPTraffic => Some("This is not a valid Encrypted SIP Traffic value"),
3661            ApiStatus::InvalidSkippassword => {
3662                Some("This is not a valid skippassword Should be: 1/0 - or - yes/no")
3663            }
3664            ApiStatus::InvalidSmppPassword => Some("This is not a valid SMPP Password"),
3665            ApiStatus::InvalidSmppURL => Some("This is not a valid SMPP URL"),
3666            ApiStatus::InvalidSmppUsername => Some("This is not a valid SMPP Username"),
3667            ApiStatus::InvalidSMS => Some("This is not a valid SMS"),
3668            ApiStatus::InvalidSMSForward => Some("This is not a valid SMS forward"),
3669            ApiStatus::InvalidSnn => Some("Must provide the 4 last digits of the SSN."),
3670            ApiStatus::InvalidSpeedDial => Some("This is not a valid Speed Dial"),
3671            ApiStatus::InvalidStarthour => Some("This is not a valid Start Hour"),
3672            ApiStatus::InvalidStartminute => Some("This is not a valid Start Minute"),
3673            ApiStatus::InvalidStartMuted => Some("This is not a valid Start Muted"),
3674            ApiStatus::InvalidState => Some("This is not a valid State"),
3675            ApiStatus::InvalidStatementName => {
3676                Some("Statement Name is missing or the format is invalid.")
3677            }
3678            ApiStatus::InvalidStrategy => Some("This is not a valid Ring Strategy"),
3679            ApiStatus::InvalidStreetName => Some("This is not a valid Street Name"),
3680            ApiStatus::InvalidStreetNumber => Some("This is not a valid Street Number"),
3681            ApiStatus::InvalidTalkingThreshold => {
3682                Some("This is not a valid \"talking threshold\" value")
3683            }
3684            ApiStatus::InvalidTalkDetection => Some("This is not a valid talk detection value"),
3685            ApiStatus::InvalidTfnumberPorttype => {
3686                Some("You have entered a toll-free number (not valid in this portability process).")
3687            }
3688            ApiStatus::InvalidThankyouForYourPatience => {
3689                Some("This is not a valid Thankyou for your patience value")
3690            }
3691            ApiStatus::InvalidThreshold => Some(
3692                "This is not a valid Threshold Amount. The Threshold Amount should be between 1 and 250",
3693            ),
3694            ApiStatus::InvalidTimecondition => Some("This is not a valid Time Condition"),
3695            ApiStatus::InvalidTimeout => Some("This is not a valid timeout"),
3696            ApiStatus::InvalidTimerange => Some("This is not a valid Timer Range"),
3697            ApiStatus::InvalidTimezone => Some(
3698                "This is not a valid TimezoneCDR and resellerCDR: Must be numeric Voicemail: Values from getTimezone",
3699            ),
3700            ApiStatus::InvalidToNumber => Some("This is not a valid destination number"),
3701            ApiStatus::InvalidTranscriptionEmail => Some("Transcription email is not valid"),
3702            ApiStatus::InvalidTranscriptionFormat => Some("Invalid Transcription Format"),
3703            ApiStatus::InvalidTranscriptionLocale => Some("Transcription locale is not valid."),
3704            ApiStatus::InvalidTranscriptionRedaction => Some("Invalid Transcription Redaction"),
3705            ApiStatus::InvalidTranscriptionSentiment => Some("Invalid Transcription Sentiment"),
3706            ApiStatus::InvalidTranscriptionSummary => Some("Invalid Transcription Summary"),
3707            ApiStatus::InvalidType => Some("This is not a valid Type"),
3708            ApiStatus::InvalidUrgent => Some("This is not valid urgent value"),
3709            ApiStatus::InvalidUsername => Some("This is not a valid Username"),
3710            ApiStatus::InvalidVoicemailsetup => Some("This is not a valid voicemail"),
3711            ApiStatus::InvalidVoiceAnnouncement => Some("This is not a valid Voice announce"),
3712            ApiStatus::InvalidWeekdayend => Some("This is not a valid Week End"),
3713            ApiStatus::InvalidWeekdaystart => Some("This is not a valid Week Start"),
3714            ApiStatus::InvalidWrapupTime => Some("This is not a valid Wrapup time"),
3715            ApiStatus::InvalidZip => Some("Zip Code is missing or the format is invalid."),
3716            ApiStatus::IPNotEnabled => Some("This IP is not enabled for API use"),
3717            ApiStatus::LimitReached => Some(
3718                "You have reached the maximum number of messages allowed per day. - SMS limit using the API. - Fax limit applies using any method.",
3719            ),
3720            ApiStatus::LocationAlreadyExists => Some("A location with this name already exists"),
3721            ApiStatus::LocationLinkedToSubaccount => {
3722                Some("This location is in use by one or more sub accounts and cannot be deleted")
3723            }
3724            ApiStatus::LocationNotFound => Some("The specified location could not be found"),
3725            ApiStatus::MaxPhonebook => {
3726                Some("Your account is limited to 8 SIP, IAX or SIP URI members")
3727            }
3728            ApiStatus::MembersExceeded => {
3729                Some("You have reached the maximum allowed entries for the Phonebook")
3730            }
3731            ApiStatus::MemberAlreadyIncluded => Some("The member has been included already"),
3732            ApiStatus::MessageEmpty => Some("The SMS Message is empty"),
3733            ApiStatus::MessageNotFound => Some("The voicemail message was not found"),
3734            ApiStatus::MethodMaintenance => Some("This API method is under maintenance"),
3735            ApiStatus::MismatchEmailConfirm => Some("e-mail confirm does not match with e-mail"),
3736            ApiStatus::MismatchPasswordConfirm => {
3737                Some("Pasword confirm does not match with Password")
3738            }
3739            ApiStatus::MissingAccount => Some("Account was not provided"),
3740            ApiStatus::MissingAddress => Some("Address was not provided"),
3741            ApiStatus::MissingAgentRingTimeout => Some("Agent ring time out was not provided"),
3742            ApiStatus::MissingAllowedcodecs => Some("Allowed Codecs were not provided"),
3743            ApiStatus::MissingAttachmessage => Some("AttachMessage was not provided"),
3744            ApiStatus::MissingAuthtype => Some("Auth Type was not provided"),
3745            ApiStatus::MissingBalancemanagement => Some("BalanceManagemente was not provided"),
3746            ApiStatus::MissingBillingtype => Some("Billing Type was not provided"),
3747            ApiStatus::MissingCallback => Some("Callback was not provided"),
3748            ApiStatus::MissingCallerid => Some("CallerID was not provided"),
3749            ApiStatus::MissingCallhunting => Some("Call hunting was not provided"),
3750            ApiStatus::MissingCallparking => Some("Call Parking was not provided"),
3751            ApiStatus::MissingCallrecording => Some("Call recording was not provided"),
3752            ApiStatus::MissingCarrier => Some("Carrier was not provided"),
3753            ApiStatus::MissingCharge => Some("Charge was not provided."),
3754            ApiStatus::MissingChoices => Some("Choices was not provided"),
3755            ApiStatus::MissingCity => Some("City was not provided"),
3756            ApiStatus::MissingClient => Some("Client was not provided"),
3757            ApiStatus::MissingCNAM => Some("CNAM was not provided"),
3758            ApiStatus::MissingCodec => Some("Codec was not provided"),
3759            ApiStatus::MissingConference => Some("Conference was not provided"),
3760            ApiStatus::MissingCountry => Some("Country was not provided"),
3761            ApiStatus::MissingCountryid => Some("Country ID was not provided"),
3762            ApiStatus::MissingCredentials => Some("Username or Password was not provided"),
3763            ApiStatus::MissingDatetime => Some("DateTime value was not provided"),
3764            ApiStatus::MissingDelayBefore => Some("DelayBefore was not provided"),
3765            ApiStatus::MissingDeletemessage => Some("DeleteMessage was not provided"),
3766            ApiStatus::MissingDescription => Some("Description was not provided"),
3767            ApiStatus::MissingDevicetype => Some("Device Type was not provided"),
3768            ApiStatus::MissingDialtime => Some("Dialtime was not provided"),
3769            ApiStatus::MissingDID => Some("DID was not provided"),
3770            ApiStatus::MissingDigits => Some("Digits were not provided"),
3771            ApiStatus::MissingDigitTimeout => Some("DigitTimeOut was not provided"),
3772            ApiStatus::MissingDISA => Some("DISA was not provided"),
3773            ApiStatus::MissingDtmfmode => Some("DTMF Mode was not provided"),
3774            ApiStatus::MissingEmail => Some("e-mail was not provided"),
3775            ApiStatus::MissingEmailConfirm => Some("e-mail confirm was not provided"),
3776            ApiStatus::MissingEnable => Some("Enable was not provided"),
3777            ApiStatus::MissingEndhour => Some("End Hour was not provided"),
3778            ApiStatus::MissingEndminute => Some("End Minute was not provided"),
3779            ApiStatus::MissingFailoverBusy => Some("Failover Busy was not provided"),
3780            ApiStatus::MissingFailoverNoanswer => Some("Failover NoAnswer was not provided"),
3781            ApiStatus::MissingFailoverUnreachable => Some("Failover Unreachable was not provided"),
3782            ApiStatus::MissingFile => Some("File was not provided"),
3783            ApiStatus::MissingFilter => Some("Filter was not provided"),
3784            ApiStatus::MissingFirstname => Some("Firstname was not provided"),
3785            ApiStatus::MissingFolder => Some("folder was not provided"),
3786            ApiStatus::MissingForwarding => Some("Forwarding was not provided"),
3787            ApiStatus::MissingFromDate => Some("From date was not provided"),
3788            ApiStatus::MissingFullname => Some("Full Name was not provided"),
3789            ApiStatus::MissingID => Some("ID was not provided"),
3790            ApiStatus::MissingIfAnnouncePositionEnabledReportE => Some(
3791                "If announce position enabled report estimated hold time' type was not provided",
3792            ),
3793            ApiStatus::MissingInternationalroute => Some("International Route was not provided"),
3794            ApiStatus::MissingIP => {
3795                Some("You need to provide an IP if you select IP Authentication Method")
3796            }
3797            ApiStatus::MissingIPH323 => Some("You must enter an IP Address for H.323"),
3798            ApiStatus::MissingIPRestriction => Some("IP Restriction was not provided"),
3799            ApiStatus::MissingIVR => Some("IVR was not provided"),
3800            ApiStatus::MissingJoinWhenEmpty => Some("JoinWhenEmpty' type was not provided"),
3801            ApiStatus::MissingLanguage => Some("Language was not provided"),
3802            ApiStatus::MissingLastname => Some("Lastname was not provided"),
3803            ApiStatus::MissingLeaveWhenEmpty => Some("LeaveWhenEmpty' type was not provided"),
3804            ApiStatus::MissingLength => Some("Length was not provided"),
3805            ApiStatus::MissingListened => Some("Listened code was not provided"),
3806            ApiStatus::MissingLocation => Some("Location was not provided"),
3807            ApiStatus::MissingLocationName => Some("Location Name Missing"),
3808            ApiStatus::MissingLockinternational => Some("Lock International was not provided"),
3809            ApiStatus::MissingMailbox => Some("Mailbox was not provided"),
3810            ApiStatus::MissingMember => Some("Member was not provided"),
3811            ApiStatus::MissingMembers => Some("You need at least 1 member to create a ring group"),
3812            ApiStatus::MissingMessageNum => Some("Voicemail message number was not provided"),
3813            ApiStatus::MissingMethod => {
3814                Some("Method must be provided when using the REST/JSON API")
3815            }
3816            ApiStatus::MissingMinute => Some("Minute Rate was not provided"),
3817            ApiStatus::MissingMonthly => Some("Monthly Fee was not provided"),
3818            ApiStatus::MissingMusiconhold => Some("Music on Hold was not provided"),
3819            ApiStatus::MissingName => Some("Name was not provided"),
3820            ApiStatus::MissingNAT => Some("NAT was not provided"),
3821            ApiStatus::MissingNumber => Some("Number was not provided"),
3822            ApiStatus::MissingNumbers => Some("You must enter at least one valid phone number."),
3823            ApiStatus::MissingPackage => Some("Package was not provided"),
3824            ApiStatus::MissingParams => Some("Required parameters were not provided"),
3825            ApiStatus::MissingPassword => Some("Password was not provided"),
3826            ApiStatus::MissingPasswordConfirm => Some("Password Confirm was not provided"),
3827            ApiStatus::MissingPayment => Some("Payment was not provided."),
3828            ApiStatus::MissingPhonebook => Some("Phonebook was not provided"),
3829            ApiStatus::MissingPhonenumber => Some("Phone Number was not provided"),
3830            ApiStatus::MissingPIN => Some("PIN was not provided"),
3831            ApiStatus::MissingPlayinstructions => Some("PlayInstructions was not provided"),
3832            ApiStatus::MissingPOPRestriction => Some("POP Restriction was not provided"),
3833            ApiStatus::MissingPriority => Some("Priority was not provided"),
3834            ApiStatus::MissingPriorityWeight => Some("Priority/Weight was not provided"),
3835            ApiStatus::MissingProtocol => Some("Protocol was not provided"),
3836            ApiStatus::MissingProvince => Some("Province was not provided"),
3837            ApiStatus::MissingQuery => Some("Query was not provided"),
3838            ApiStatus::MissingRecording => Some("Recording was not provided"),
3839            ApiStatus::MissingReportHoldTimeAgent => {
3840                Some("Report hold time agent was not provided")
3841            }
3842            ApiStatus::MissingResellerclient => {
3843                Some("Provide a Reseller Client or don't provide a Reseller Package")
3844            }
3845            ApiStatus::MissingResellerpackage => {
3846                Some("Provide a Reseller Package or don't provide a Reseller Client")
3847            }
3848            ApiStatus::MissingResponseTimeout => Some("ResponseTimeOut was not provided"),
3849            ApiStatus::MissingRinggroup => Some("Ring group was not provided"),
3850            ApiStatus::MissingRingInuse => Some("Ring in use was not provided"),
3851            ApiStatus::MissingRingStrategy => Some("Ring strategy was not provided"),
3852            ApiStatus::MissingRoute => Some("Route was not provided"),
3853            ApiStatus::MissingRouting => Some("Routing was not provided"),
3854            ApiStatus::MissingSaycallerid => Some("SayCallerID was not provided"),
3855            ApiStatus::MissingSaytime => Some("SayTime was not provided"),
3856            ApiStatus::MissingServerpop => Some("Server POP was not provided"),
3857            ApiStatus::MissingSetup => Some("Setup Fee was not provided"),
3858            ApiStatus::MissingSIPURI => Some("SIPURI was not provided"),
3859            ApiStatus::MissingSkippassword => Some("SkipPassword was not provided"),
3860            ApiStatus::MissingSMS => Some("SMS was not provided"),
3861            ApiStatus::MissingSpeedDial => Some("Speed Dial was not provided"),
3862            ApiStatus::MissingStart => Some("Start date was not provided"),
3863            ApiStatus::MissingStarthour => Some("Start Hour was not provided"),
3864            ApiStatus::MissingStartminute => Some("Start Minute was not provided"),
3865            ApiStatus::MissingState => Some("State was not provided"),
3866            ApiStatus::MissingStreetName => Some("Street Name was not provided"),
3867            ApiStatus::MissingStreetNumber => Some("Street Number was not provided"),
3868            ApiStatus::MissingThankyouForYourPatience => {
3869                Some("Thankyou for your patience was not provided")
3870            }
3871            ApiStatus::MissingTimecondition => Some("Time Condition was not provided"),
3872            ApiStatus::MissingTimeout => Some("Timeout was not provided"),
3873            ApiStatus::MissingTimezone => Some("Timezone was not provided"),
3874            ApiStatus::MissingToDate => Some("To date was not provided"),
3875            ApiStatus::MissingTranscriptionEmail => Some("Transcription email is required."),
3876            ApiStatus::MissingTranscriptionLocale => Some("Transcription locale is required."),
3877            ApiStatus::MissingType => Some("Type was not provided"),
3878            ApiStatus::MissingUrgent => Some("Urgent code was not provided"),
3879            ApiStatus::MissingURI => Some("URI was not provided"),
3880            ApiStatus::MissingUsername => Some("Username was not provided"),
3881            ApiStatus::MissingVoicemailsetup => Some("Voice mail setup was not provided"),
3882            ApiStatus::MissingWeekdayend => Some("Week End was not provide"),
3883            ApiStatus::MissingWeekdaystart => Some("Week Start was not provided"),
3884            ApiStatus::MissingZip => Some("Zip Code was not provided"),
3885            ApiStatus::MovingFail => Some("The Fax Message was not moved"),
3886            ApiStatus::NameToolong => Some("The name exceeds character size limit"),
3887            ApiStatus::NonSufficientFunds => {
3888                Some("Your account does not have sufficient funds to proceed")
3889            }
3890            ApiStatus::NoteToolong => Some("The note exceeds character size limit"),
3891            ApiStatus::NoAccount => Some("There are no accounts"),
3892            ApiStatus::NoAttachments => Some("Theres no attachments records to show."),
3893            ApiStatus::NoBase64file => Some("File not encoded in base64"),
3894            ApiStatus::NoCallback => Some("There are not Callbacks"),
3895            ApiStatus::NoCallhunting => Some("There are no Call Huntings"),
3896            ApiStatus::NoCallparking => Some("There are no Call Parking"),
3897            ApiStatus::NoCallstatus => Some(
3898                "No Call Status was provided. One of the following parameters needs to be set to \"1\": answered, noanswer, busy, failed",
3899            ),
3900            ApiStatus::NoCDR => Some("There are no CDR entries for the filter"),
3901            ApiStatus::NoChangeBillingtype => Some("Imposible change DID billing plan"),
3902            ApiStatus::NoClient => Some("There are no Clients"),
3903            ApiStatus::NoConference => Some("There are no Conferences"),
3904            ApiStatus::NoDID => Some("There are no DIDs"),
3905            ApiStatus::NoDISA => Some("There are no DISAs"),
3906            ApiStatus::NoFilter => Some("There are no Filters"),
3907            ApiStatus::NoForwarding => Some("There was no Forwarding"),
3908            ApiStatus::NoIVR => Some("There are no ivr"),
3909            ApiStatus::NoMailbox => Some("There are no Mailboxes"),
3910            ApiStatus::NoMember => Some("There are no Static Members"),
3911            ApiStatus::NoMessage => Some("There are no Fax Message(s)"),
3912            ApiStatus::NoMessages => Some("There are no Voicemail Message(s)"),
3913            ApiStatus::NoNumbers => Some("There are no Fax Numbers"),
3914            ApiStatus::NoPackage => Some("there are no Packages"),
3915            ApiStatus::NoPhonebook => Some("There are no Phonebook entries"),
3916            ApiStatus::NoProvision => Some(
3917                "E911 service wasn't activated, this response comes with a description of the error.",
3918            ),
3919            ApiStatus::NoProvisionUpdate => Some(
3920                "E911 service wasn't updated, this response comes with a description of the error.",
3921            ),
3922            ApiStatus::NoQueue => Some("There are no Queue entries"),
3923            ApiStatus::NoRate => Some("There are no Rates"),
3924            ApiStatus::NoRecording => Some("There are no recordings"),
3925            ApiStatus::NoRinggroup => Some("There are no Ring groups"),
3926            ApiStatus::NoSequences => Some("No sequence has been found"),
3927            ApiStatus::NoSIPURI => Some("There are no SIP URIs"),
3928            ApiStatus::NoSMS => Some("There are no SMS messages"),
3929            ApiStatus::NoTimecondition => Some("There are no Time Conditions"),
3930            ApiStatus::OrderFailed => Some("The order wasn't completed."),
3931            ApiStatus::ProblemSendingMail => Some("There was a problem sending an email."),
3932            ApiStatus::ProviderOutofservice => Some("One of our providers is out of service"),
3933            ApiStatus::RecordingInUseCallerIDFiltering => {
3934                Some("You have a Caller ID Filtering using this Recording")
3935            }
3936            ApiStatus::RecordingInUseCallerTimecondition => {
3937                Some("You have a Time Condition using this Recording")
3938            }
3939            ApiStatus::RecordingInUseDID => Some("You have a DID using this Recording"),
3940            ApiStatus::RecordingInUseIVR => Some("You have an IVR using this Recording"),
3941            ApiStatus::RecordingInUseQueue => Some("You have a Calling Queue using this Recording"),
3942            ApiStatus::RepeatedIP => {
3943                Some("You already have a Subaccount using this IP and Protocol")
3944            }
3945            ApiStatus::ReservedIP => {
3946                Some("This is a reserved IP used by VoIP.ms or other Companies")
3947            }
3948            ApiStatus::RTPTimeoutGreaterThanRTPHoldTimeout => {
3949                Some("RTP Time Out can't be greater than RTP Hold Time Out")
3950            }
3951            ApiStatus::SameDIDBillingtype => {
3952                Some("The Billing Type provided and DID billing type are the same")
3953            }
3954            ApiStatus::SentFail => Some("The Fax Message it wasn't send."),
3955            ApiStatus::SIPURIInPhonebook => {
3956                Some("This SIPURI can't be deleted, it is mapped in the phonebook")
3957            }
3958            ApiStatus::SMSApplyRegulations => Some(
3959                "The number was not updated due to SMS regulations, please contact customer service for more information",
3960            ),
3961            ApiStatus::SMSFailed => Some("The SMS message was not sent"),
3962            ApiStatus::SMSToolong => Some("The SMS message exceeds 160 characters"),
3963            ApiStatus::SMSWaitMessage => Some(
3964                "SMS was not (Enabled/Disabled) for this DID, please wait a minute before you try again.",
3965            ),
3966            ApiStatus::TlsError => Some("Theres was a TLS error, please try later."),
3967            ApiStatus::UnableToPurchase => Some("Unable to purchase DIDs"),
3968            ApiStatus::UnavailableInfo => {
3969                Some("The information you requested is unavailable at this moment")
3970            }
3971            ApiStatus::UnsifficientStock => {
3972                Some("Theres no sufficient stock to complete the order.")
3973            }
3974            ApiStatus::UsedDescription => Some("You already have a record with this Description"),
3975            ApiStatus::UsedEmail => Some("You already have an entry with this Email"),
3976            ApiStatus::UsedExtension => Some("You already have a subaccount using this extension"),
3977            ApiStatus::UsedExtensionInLocation => {
3978                Some("You already have a subaccount using extension in this location")
3979            }
3980            ApiStatus::UsedFilter => Some("You already have a record with this Filter"),
3981            ApiStatus::UsedIP => Some("There is already another customer using this IP Address"),
3982            ApiStatus::UsedName => Some("You already have an entry using this name"),
3983            ApiStatus::UsedNumber => Some("You already have a record with this Number"),
3984            ApiStatus::UsedPassword => {
3985                Some("This password has been used previously by this account.")
3986            }
3987            ApiStatus::UsedSpeedDial => Some("You have an entry with this Speed Dial"),
3988            ApiStatus::UsedUsername => Some("You already have a subaccount using this Username."),
3989            ApiStatus::WeakPassword => Some("This Password is too weak or too common"),
3990            ApiStatus::Unknown(_) => None,
3991        }
3992    }
3993
3994    /// Whether this status is a documented code (not
3995    /// [`ApiStatus::Unknown`]).
3996    pub fn is_documented(&self) -> bool {
3997        !matches!(self, ApiStatus::Unknown(_))
3998    }
3999
4000    /// Whether this status means "the requested collection is empty,"
4001    /// rather than a failure. VoIP.ms returns a distinct `no_*` status
4002    /// for each list method when the list has no entries; the typed
4003    /// `Client` methods treat such a status as a successful empty
4004    /// response (collection fields deserialize to `None`) instead of an
4005    /// [`crate::Error::Api`], while the `*_raw` methods still surface it
4006    /// verbatim. Codes that look like `no_*` but signal a real failure
4007    /// (`no_base64file`, `no_callstatus`, `no_provision`, ...) are not
4008    /// included.
4009    pub fn is_empty(&self) -> bool {
4010        matches!(
4011            self,
4012            ApiStatus::NoAccount
4013                | ApiStatus::NoAttachments
4014                | ApiStatus::NoCallback
4015                | ApiStatus::NoCallhunting
4016                | ApiStatus::NoCallparking
4017                | ApiStatus::NoCDR
4018                | ApiStatus::NoClient
4019                | ApiStatus::NoConference
4020                | ApiStatus::NoDID
4021                | ApiStatus::NoDISA
4022                | ApiStatus::NoFilter
4023                | ApiStatus::NoForwarding
4024                | ApiStatus::NoIVR
4025                | ApiStatus::NoMailbox
4026                | ApiStatus::NoMember
4027                | ApiStatus::NoMessage
4028                | ApiStatus::NoMessages
4029                | ApiStatus::NoNumbers
4030                | ApiStatus::NoPackage
4031                | ApiStatus::NoPhonebook
4032                | ApiStatus::NoQueue
4033                | ApiStatus::NoRate
4034                | ApiStatus::NoRecording
4035                | ApiStatus::NoRinggroup
4036                | ApiStatus::NoSIPURI
4037                | ApiStatus::NoSMS
4038                | ApiStatus::NoTimecondition
4039        )
4040    }
4041}
4042
4043impl std::fmt::Display for ApiStatus {
4044    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
4045        f.write_str(self.as_str())
4046    }
4047}
4048
4049impl From<String> for ApiStatus {
4050    fn from(s: String) -> Self {
4051        ApiStatus::from_wire(&s)
4052    }
4053}
4054
4055impl From<&str> for ApiStatus {
4056    fn from(s: &str) -> Self {
4057        ApiStatus::from_wire(s)
4058    }
4059}
4060
4061impl serde::Serialize for ApiStatus {
4062    fn serialize<S: serde::Serializer>(&self, s: S) -> std::result::Result<S::Ok, S::Error> {
4063        s.serialize_str(self.as_str())
4064    }
4065}
4066
4067impl<'de> serde::Deserialize<'de> for ApiStatus {
4068    fn deserialize<D: serde::Deserializer<'de>>(d: D) -> std::result::Result<Self, D::Error> {
4069        let s = <String as serde::Deserialize>::deserialize(d)?;
4070        Ok(ApiStatus::from_wire(&s))
4071    }
4072}
4073
4074/// \- Adds a Charge to a specific Reseller Client
4075///
4076/// Parameters for [`Client::add_charge`] (wire method `addCharge`).
4077#[derive(Debug, Default, Clone, Serialize)]
4078pub struct AddChargeParams {
4079    /// ID for a specific Reseller Client (Example: 561115) (required)
4080    #[serde(skip_serializing_if = "Option::is_none")]
4081    pub client: Option<i64>,
4082    /// Amount of money that will be Debited from the customer (Example: 4.99)
4083    /// (required)
4084    #[serde(skip_serializing_if = "Option::is_none")]
4085    pub charge: Option<f64>,
4086    /// Charge Description
4087    #[serde(skip_serializing_if = "Option::is_none")]
4088    pub description: Option<String>,
4089    /// Set to true if testing how adding charges works
4090    #[serde(
4091        skip_serializing_if = "crate::responses::is_false",
4092        serialize_with = "crate::responses::serialize_flag_01"
4093    )]
4094    pub test: bool,
4095}
4096
4097/// \- Add an invoice file to a portability process.
4098///
4099/// Parameters for [`Client::add_lnp_file`] (wire method `addLNPFile`).
4100#[derive(Debug, Default, Clone, Serialize)]
4101pub struct AddLNPFileParams {
4102    /// ID of the port previously created. (required)
4103    #[serde(skip_serializing_if = "Option::is_none")]
4104    pub portid: Option<i64>,
4105    /// Base 64 code of the file to be attached (required)
4106    #[serde(skip_serializing_if = "Option::is_none")]
4107    pub file: Option<String>,
4108}
4109
4110/// \- Add one or more numbers to start a portability process.
4111///
4112/// Parameters for [`Client::add_lnp_port`] (wire method `addLNPPort`).
4113#[derive(Debug, Default, Clone, Serialize)]
4114pub struct AddLNPPortParams {
4115    /// Digits from 1 to 4: 1: United States Local numbers 2: Canadian Local
4116    /// Numbers 3: US/CA Toll Free Numbers 4: United States Fax numbers 5:
4117    /// Canadian Fax Numbers (required)
4118    #[serde(skip_serializing_if = "Option::is_none")]
4119    pub portType: Option<i64>,
4120    /// DID(s) to port into VoIP.ms network (Example: 5552341234,5552341233). If
4121    /// you are porting more than one number, please separate them with commas.
4122    /// (required)
4123    #[serde(skip_serializing_if = "Option::is_none")]
4124    pub numbers: Option<String>,
4125    /// If you have more then 1 number with your current carrier and not porting
4126    /// them all, choose yes. If you are porting all the numbers, choose no.
4127    /// Please note that you still need to include all numbers you want to port.
4128    /// If you have 2 numbers and want to port both, you need to include both
4129    /// numbers in the list of numbers to port. - (Values: 1 = true, 0 = false)
4130    /// \- Default: 0
4131    #[serde(
4132        skip_serializing_if = "Option::is_none",
4133        serialize_with = "crate::responses::serialize_opt_flag_01"
4134    )]
4135    pub isPartial: Option<bool>,
4136    /// \- (Values: 1 = Business, 0 = Residential) - Default: 0
4137    #[serde(skip_serializing_if = "Option::is_none")]
4138    pub locationType: Option<i64>,
4139    /// \- (Values: 1 = All the numbers are mobile numbers, 0 = false) - Default:
4140    /// 0
4141    #[serde(
4142        skip_serializing_if = "Option::is_none",
4143        serialize_with = "crate::responses::serialize_opt_flag_01"
4144    )]
4145    pub isMobile: Option<bool>,
4146    /// PIN Number
4147    #[serde(skip_serializing_if = "Option::is_none")]
4148    pub pin: Option<String>,
4149    /// \[Required If isMobile = 1\] BTN: It is the phone number to which all
4150    /// the other numbers of the customer are charged, in a consolidated
4151    /// telephone bill (instead of showing separate charges for each number you
4152    /// own). Please try to find the BTN on your invoice, and if you are unable
4153    /// to do so please contact the current provider to obtain it.
4154    #[serde(skip_serializing_if = "Option::is_none")]
4155    pub btn: Option<String>,
4156    /// \[Required If isMobile = 1\] Please be specific and describe ALL
4157    /// remaining services with the current carrier. This includes DSL/Data
4158    /// services, Hunt Group services, etc. Any services NOT listed below may be
4159    /// disconnected upon completion of this port order.
4160    #[serde(skip_serializing_if = "Option::is_none")]
4161    pub services: Option<String>,
4162    /// \[Required If portType = 3\] Values: 1 - American Carrier, American
4163    /// Callers Only, 2 - American Carrier, American and Canadian Callers
4164    /// allowed, 3 - Canadian Carrier
4165    #[serde(skip_serializing_if = "Option::is_none")]
4166    pub tfType: Option<i64>,
4167    /// This is for Business numbers only. Please type your Company Name if
4168    /// applicable, otherwise leave it blank. (required)
4169    #[serde(skip_serializing_if = "Option::is_none")]
4170    pub statementName: Option<String>,
4171    /// This is the "Customer First Name" as it appears on the CSR (Customer
4172    /// Service Record) of the losing carrier. Please Enter the first name of
4173    /// the owner of the number or the autorized contact. No company name must
4174    /// be entered in the field. (required)
4175    #[serde(skip_serializing_if = "Option::is_none")]
4176    pub firstName: Option<String>,
4177    /// This is the "Customer Last Name" as it appears on the CSR (Customer
4178    /// Service Record) of the losing carrier. Please Enter the last name of the
4179    /// owner of the number or the autorized contact. No company name must be
4180    /// entered in the field (required)
4181    #[serde(skip_serializing_if = "Option::is_none")]
4182    pub lastName: Option<String>,
4183    /// This is the "Customer Address" as it appears on the CSR (Customer
4184    /// Service Record) of the losing carrier. (required)
4185    #[serde(skip_serializing_if = "Option::is_none")]
4186    pub address1: Option<String>,
4187    /// Optional Address information (e.g: Suite 343)
4188    #[serde(skip_serializing_if = "Option::is_none")]
4189    pub address2: Option<String>,
4190    /// This is the "City" as it appears on the CSR (Customer Service Record) of
4191    /// the losing carrier. (required)
4192    #[serde(skip_serializing_if = "Option::is_none")]
4193    pub city: Option<String>,
4194    /// This is the "ZIP or Postal Code" as it appears on the CSR (Customer
4195    /// Service Record) of the losing carrier. (required)
4196    #[serde(skip_serializing_if = "Option::is_none")]
4197    pub zip: Option<String>,
4198    /// This is the "State or Province" as it appears on the CSR (Customer
4199    /// Service Record) of the losing carrier. (required)
4200    #[serde(skip_serializing_if = "Option::is_none")]
4201    pub state: Option<String>,
4202    /// This is the "Country" as it appears on the CSR (Customer Service Record)
4203    /// of the losing carrier. (required)
4204    #[serde(skip_serializing_if = "Option::is_none")]
4205    pub country: Option<String>,
4206    /// The name of your current service provider. (required)
4207    #[serde(skip_serializing_if = "Option::is_none")]
4208    pub providerName: Option<String>,
4209    /// Your Account with your current service provider. (required)
4210    #[serde(skip_serializing_if = "Option::is_none")]
4211    pub providerAccount: Option<String>,
4212    /// \- If you would like to include additional information regarding this
4213    /// port, you can use this parameter.
4214    #[serde(skip_serializing_if = "Option::is_none")]
4215    pub notes: Option<String>,
4216}
4217
4218/// \- Add Member to a Conference
4219///
4220/// Parameters for [`Client::add_member_to_conference`] (wire method `addMemberToConference`).
4221#[derive(Debug, Default, Clone, Serialize)]
4222pub struct AddMemberToConferenceParams {
4223    /// Specific Member ID (Example: 6547) (required)
4224    #[serde(skip_serializing_if = "Option::is_none")]
4225    pub member: Option<i64>,
4226    /// Specific Conference ID (Example: 234) (required)
4227    #[serde(skip_serializing_if = "Option::is_none")]
4228    pub conference: Option<i64>,
4229}
4230
4231/// \- Adds a Payment to a specific Reseller Client
4232///
4233/// Parameters for [`Client::add_payment`] (wire method `addPayment`).
4234#[derive(Debug, Default, Clone, Serialize)]
4235pub struct AddPaymentParams {
4236    /// ID for a specific Reseller Client (Example: 561115) (required)
4237    #[serde(skip_serializing_if = "Option::is_none")]
4238    pub client: Option<i64>,
4239    /// Amount of money that will be Credited to the customer (Example: 4.99)
4240    /// (required)
4241    #[serde(skip_serializing_if = "Option::is_none")]
4242    pub payment: Option<f64>,
4243    /// Payment Description
4244    #[serde(skip_serializing_if = "Option::is_none")]
4245    pub description: Option<String>,
4246    /// Set to true if testing how adding payments works
4247    #[serde(
4248        skip_serializing_if = "crate::responses::is_false",
4249        serialize_with = "crate::responses::serialize_flag_01"
4250    )]
4251    pub test: bool,
4252}
4253
4254/// \- Assigns a Per Minute DID to a VPRI (Flat Rate DIDs can&rsquo;t be
4255/// assigned)
4256///
4257/// Parameters for [`Client::assign_did_vpri`] (wire method `assignDIDvPRI`).
4258#[derive(Debug, Default, Clone, Serialize)]
4259pub struct AssignDIDvPRIParams {
4260    /// Id for specific Vpri (required)
4261    #[serde(skip_serializing_if = "Option::is_none")]
4262    pub vpri: Option<i64>,
4263    /// DID Number to be assign into our Vpri (Example: 561115) (required)
4264    #[serde(skip_serializing_if = "Option::is_none")]
4265    pub did: Option<String>,
4266}
4267
4268/// \- Backorder DID (CANADA) from a specific ratecenter and province.
4269///
4270/// Parameters for [`Client::back_order_did_can`] (wire method `backOrderDIDCAN`).
4271#[derive(Debug, Default, Clone, Serialize)]
4272pub struct BackOrderDIDCANParams {
4273    /// Number of DIDs to be Ordered (Example: 3) (required)
4274    #[serde(skip_serializing_if = "Option::is_none")]
4275    pub quantity: Option<i64>,
4276    /// Canadian Province (values from getProvinces) (required)
4277    #[serde(skip_serializing_if = "Option::is_none")]
4278    pub province: Option<String>,
4279    /// USA Ratecenter (Values from getRateCentersUSA) (required)
4280    #[serde(skip_serializing_if = "Option::is_none")]
4281    pub ratecenter: Option<String>,
4282    /// Main Routing for the DID (required)
4283    #[serde(skip_serializing_if = "Option::is_none")]
4284    pub routing: Option<crate::Routing>,
4285    /// Busy Routing for the DID
4286    #[serde(skip_serializing_if = "Option::is_none")]
4287    pub failover_busy: Option<crate::Routing>,
4288    /// Unreachable Routing for the DID
4289    #[serde(skip_serializing_if = "Option::is_none")]
4290    pub failover_unreachable: Option<crate::Routing>,
4291    /// NoAnswer Routing for the DID
4292    #[serde(skip_serializing_if = "Option::is_none")]
4293    pub failover_noanswer: Option<crate::Routing>,
4294    /// Voicemail for the DID (Example: 101)
4295    #[serde(skip_serializing_if = "Option::is_none")]
4296    pub voicemail: Option<String>,
4297    /// Point of Presence for the DID (Example: 5) (required)
4298    #[serde(skip_serializing_if = "Option::is_none")]
4299    pub pop: Option<i64>,
4300    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
4301    #[serde(skip_serializing_if = "Option::is_none")]
4302    pub dialtime: Option<i64>,
4303    /// CNAM for the DID (Boolean: 1/0) (required)
4304    #[serde(skip_serializing_if = "Option::is_none")]
4305    pub cnam: Option<i64>,
4306    /// Caller ID Prefix for the DID
4307    #[serde(skip_serializing_if = "Option::is_none")]
4308    pub callerid_prefix: Option<String>,
4309    /// Note for the DID
4310    #[serde(skip_serializing_if = "Option::is_none")]
4311    pub note: Option<String>,
4312    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
4313    #[serde(skip_serializing_if = "Option::is_none")]
4314    pub billing_type: Option<DidBillingType>,
4315    /// Set to true if testing how Orders work - Orders can not be undone - When
4316    /// testing, no Orders are made routing, failover_busy, failover_unreachable
4317    /// and failover_noanswer can receive values in the following format =>
4318    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
4319    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
4320    /// routing calls to Sub Accounts You can get all sub accounts using the
4321    /// getSubAccounts function fwd Used for routing calls to Forwarding
4322    /// entries. You can get the ID right after creating a Forwarding with
4323    /// setForwarding or by requesting all forwardings entries with
4324    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
4325    /// all voicemails and their IDs using the getVoicemails function sys System
4326    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
4327    /// Recording: Number not in service disconnected = System Recording: Number
4328    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
4329    /// Used to route calls to no action Examples: 'account:100001_VoIP'
4330    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
4331    #[serde(
4332        skip_serializing_if = "crate::responses::is_false",
4333        serialize_with = "crate::responses::serialize_flag_01"
4334    )]
4335    pub test: bool,
4336}
4337
4338/// \- Backorder DID (USA) from a specific ratecenter and state.
4339///
4340/// Parameters for [`Client::back_order_did_usa`] (wire method `backOrderDIDUSA`).
4341#[derive(Debug, Default, Clone, Serialize)]
4342pub struct BackOrderDIDUSAParams {
4343    /// Number of DIDs to be Ordered (Example: 3) (required)
4344    #[serde(skip_serializing_if = "Option::is_none")]
4345    pub quantity: Option<i64>,
4346    /// USA State (values from getStates) (required)
4347    #[serde(skip_serializing_if = "Option::is_none")]
4348    pub state: Option<String>,
4349    /// USA Ratecenter (Values from getRateCentersUSA) (required)
4350    #[serde(skip_serializing_if = "Option::is_none")]
4351    pub ratecenter: Option<String>,
4352    /// Main Routing for the DID (required)
4353    #[serde(skip_serializing_if = "Option::is_none")]
4354    pub routing: Option<crate::Routing>,
4355    /// Busy Routing for the DID
4356    #[serde(skip_serializing_if = "Option::is_none")]
4357    pub failover_busy: Option<crate::Routing>,
4358    /// Unreachable Routing for the DID
4359    #[serde(skip_serializing_if = "Option::is_none")]
4360    pub failover_unreachable: Option<crate::Routing>,
4361    /// NoAnswer Routing for the DID
4362    #[serde(skip_serializing_if = "Option::is_none")]
4363    pub failover_noanswer: Option<crate::Routing>,
4364    /// Voicemail for the DID (Example: 101)
4365    #[serde(skip_serializing_if = "Option::is_none")]
4366    pub voicemail: Option<String>,
4367    /// Point of Presence for the DID (Example: 5) (required)
4368    #[serde(skip_serializing_if = "Option::is_none")]
4369    pub pop: Option<i64>,
4370    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
4371    #[serde(skip_serializing_if = "Option::is_none")]
4372    pub dialtime: Option<i64>,
4373    /// CNAM for the DID (Boolean: 1/0) (required)
4374    #[serde(skip_serializing_if = "Option::is_none")]
4375    pub cnam: Option<i64>,
4376    /// Caller ID Prefix for the DID
4377    #[serde(skip_serializing_if = "Option::is_none")]
4378    pub callerid_prefix: Option<String>,
4379    /// Note for the DID
4380    #[serde(skip_serializing_if = "Option::is_none")]
4381    pub note: Option<String>,
4382    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
4383    #[serde(skip_serializing_if = "Option::is_none")]
4384    pub billing_type: Option<DidBillingType>,
4385    /// Set to true if testing how Orders work - Orders can not be undone - When
4386    /// testing, no Orders are made routing, failover_busy, failover_unreachable
4387    /// and failover_noanswer can receive values in the following format =>
4388    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
4389    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
4390    /// routing calls to Sub Accounts You can get all sub accounts using the
4391    /// getSubAccounts function fwd Used for routing calls to Forwarding
4392    /// entries. You can get the ID right after creating a Forwarding with
4393    /// setForwarding or by requesting all forwardings entries with
4394    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
4395    /// all voicemails and their IDs using the getVoicemails function sys System
4396    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
4397    /// Recording: Number not in service disconnected = System Recording: Number
4398    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
4399    /// Used to route calls to no action Examples: 'account:100001_VoIP'
4400    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
4401    #[serde(
4402        skip_serializing_if = "crate::responses::is_false",
4403        serialize_with = "crate::responses::serialize_flag_01"
4404    )]
4405    pub test: bool,
4406}
4407
4408/// \- Deletes a specific DID from your Account.
4409///
4410/// Parameters for [`Client::cancel_did`] (wire method `cancelDID`).
4411#[derive(Debug, Default, Clone, Serialize)]
4412pub struct CancelDIDParams {
4413    /// DID to be canceled and deleted (Example: 5551234567) (required)
4414    #[serde(skip_serializing_if = "Option::is_none")]
4415    pub did: Option<String>,
4416    /// Comment for DID cancellation
4417    #[serde(skip_serializing_if = "Option::is_none")]
4418    pub cancelcomment: Option<String>,
4419    /// Set to true if the DID is being ported out
4420    #[serde(
4421        skip_serializing_if = "Option::is_none",
4422        serialize_with = "crate::responses::serialize_opt_flag_01"
4423    )]
4424    pub portout: Option<bool>,
4425    /// Set to true if testing how cancellation works - Cancellation can not be
4426    /// undone - When testing, no changes are made
4427    #[serde(
4428        skip_serializing_if = "crate::responses::is_false",
4429        serialize_with = "crate::responses::serialize_flag_01"
4430    )]
4431    pub test: bool,
4432}
4433
4434/// \- Deletes a specific Fax Number from your Account.
4435///
4436/// Parameters for [`Client::cancel_fax_number`] (wire method `cancelFaxNumber`).
4437#[derive(Debug, Default, Clone, Serialize)]
4438pub struct CancelFAXNumberParams {
4439    /// ID for a specific Fax Number (Example: 923) (required)
4440    #[serde(skip_serializing_if = "Option::is_none")]
4441    pub id: Option<i64>,
4442    /// Set to true if testing how cancel a Fax Number
4443    #[serde(
4444        skip_serializing_if = "crate::responses::is_false",
4445        serialize_with = "crate::responses::serialize_flag_01"
4446    )]
4447    pub test: bool,
4448}
4449
4450/// \- Connects a specific DID to a specific Reseller Client Sub Account
4451///
4452/// Parameters for [`Client::connect_did`] (wire method `connectDID`).
4453#[derive(Debug, Default, Clone, Serialize)]
4454pub struct ConnectDIDParams {
4455    /// DID to be Connected to Reseler Sub Account (Example: 5551234567)
4456    /// (required)
4457    #[serde(skip_serializing_if = "Option::is_none")]
4458    pub did: Option<String>,
4459    /// Reseller Sub Account (Example: '100001_VoIP') (required)
4460    #[serde(skip_serializing_if = "Option::is_none")]
4461    pub account: Option<String>,
4462    /// Montly Fee for Reseller Client (Example: 3.50) (required)
4463    #[serde(skip_serializing_if = "Option::is_none")]
4464    pub monthly: Option<f64>,
4465    /// Setup Fee for Reseller Client (Example: 1.99) (required)
4466    #[serde(skip_serializing_if = "Option::is_none")]
4467    pub setup: Option<f64>,
4468    /// Minute Rate for Reseller Client (Example: 0.03) (required)
4469    #[serde(skip_serializing_if = "Option::is_none")]
4470    pub minute: Option<f64>,
4471    /// Next billing date (Example: '2014-03-30')
4472    #[serde(skip_serializing_if = "Option::is_none")]
4473    pub next_billing: Option<String>,
4474    /// If set to true, the setup value will not be charged after Connect
4475    #[serde(
4476        skip_serializing_if = "Option::is_none",
4477        serialize_with = "crate::responses::serialize_opt_flag_01"
4478    )]
4479    pub dont_charge_setup: Option<bool>,
4480    /// If set to true, the monthly value will not be charged after Connect
4481    #[serde(
4482        skip_serializing_if = "Option::is_none",
4483        serialize_with = "crate::responses::serialize_opt_flag_01"
4484    )]
4485    pub dont_charge_monthly: Option<bool>,
4486}
4487
4488/// \- Connects a specific FAX DID to a specific Reseller Client Sub Account
4489///
4490/// Parameters for [`Client::connect_fax`] (wire method `connectFAX`).
4491#[derive(Debug, Default, Clone, Serialize)]
4492pub struct ConnectFAXParams {
4493    /// FAX DID to be Connected to Reseller Sub Account (Example: 5551234567)
4494    /// (required)
4495    #[serde(skip_serializing_if = "Option::is_none")]
4496    pub did: Option<String>,
4497    /// Reseller Sub Account (Example: '100001_VoIP') (required)
4498    #[serde(skip_serializing_if = "Option::is_none")]
4499    pub account: Option<String>,
4500    /// Montly Fee for Reseller Client (Example: 3.50) (required)
4501    #[serde(skip_serializing_if = "Option::is_none")]
4502    pub monthly: Option<f64>,
4503    /// Setup Fee for Reseller Client (Example: 1.99) (required)
4504    #[serde(skip_serializing_if = "Option::is_none")]
4505    pub setup: Option<f64>,
4506    /// Minute Rate for Reseller Client (Example: 0.03) (required)
4507    #[serde(skip_serializing_if = "Option::is_none")]
4508    pub minute: Option<f64>,
4509    /// Next billing date (Example: '2014-03-30')
4510    #[serde(skip_serializing_if = "Option::is_none")]
4511    pub next_billing: Option<String>,
4512    /// If set to true, the setup value will not be charged after Connect
4513    #[serde(
4514        skip_serializing_if = "Option::is_none",
4515        serialize_with = "crate::responses::serialize_opt_flag_01"
4516    )]
4517    pub dont_charge_setup: Option<bool>,
4518    /// If set to true, the monthly value will not be charged after Connect
4519    #[serde(
4520        skip_serializing_if = "Option::is_none",
4521        serialize_with = "crate::responses::serialize_opt_flag_01"
4522    )]
4523    pub dont_charge_monthly: Option<bool>,
4524}
4525
4526/// \- Adds a new Sub Account entry to your Account
4527///
4528/// Parameters for [`Client::create_sub_account`] (wire method `createSubAccount`).
4529#[derive(Debug, Default, Clone, Serialize)]
4530pub struct CreateSubAccountParams {
4531    /// Username for the Sub Account (Example: 'VoIP') (required)
4532    #[serde(skip_serializing_if = "Option::is_none")]
4533    pub username: Option<String>,
4534    /// Protocol used for the Sub Account (Values from getProtocols) (required)
4535    #[serde(skip_serializing_if = "Option::is_none")]
4536    pub protocol: Option<i64>,
4537    /// Sub Account Description (Example: 'VoIP Account')
4538    #[serde(skip_serializing_if = "Option::is_none")]
4539    pub description: Option<String>,
4540    /// Authorization Type Code (Values from getAuthTypes) (required)
4541    #[serde(skip_serializing_if = "Option::is_none")]
4542    pub auth_type: Option<i64>,
4543    /// Sub Account Password (For Password Authentication)
4544    #[serde(skip_serializing_if = "Option::is_none")]
4545    pub password: Option<String>,
4546    /// Sub Account IP (For IP Authentication)
4547    #[serde(skip_serializing_if = "Option::is_none")]
4548    pub ip: Option<String>,
4549    /// Device Type Code (Values from getDeviceTypes) (required)
4550    #[serde(skip_serializing_if = "Option::is_none")]
4551    pub device_type: Option<i64>,
4552    /// Caller ID Override
4553    #[serde(skip_serializing_if = "Option::is_none")]
4554    pub callerid_number: Option<String>,
4555    /// Route Code (Values from getRoutes)
4556    #[serde(skip_serializing_if = "Option::is_none")]
4557    pub canada_routing: Option<String>,
4558    /// Lock International Code (Values from getLockInternational) (required)
4559    #[serde(skip_serializing_if = "Option::is_none")]
4560    pub lock_international: Option<i64>,
4561    /// Route Code (Values from getRoutes) (required)
4562    #[serde(skip_serializing_if = "Option::is_none")]
4563    pub international_route: Option<i64>,
4564    /// Music on Hold Code (Values from getMusicOnHold) (required)
4565    #[serde(skip_serializing_if = "Option::is_none")]
4566    pub music_on_hold: Option<String>,
4567    /// Language for system messages, such as "Invalid Option" (Values from
4568    /// getLanguages)
4569    #[serde(skip_serializing_if = "Option::is_none")]
4570    pub language: Option<String>,
4571    /// List of Allowed Codecs (Values from getAllowedCodecs) Codecs separated
4572    /// by semicolon (Example: ulaw;g729;gsm) (required)
4573    #[serde(skip_serializing_if = "Option::is_none")]
4574    pub allowed_codecs: Option<String>,
4575    /// DTMF Mode Code (Values from getDTMFModes) (required)
4576    #[serde(skip_serializing_if = "Option::is_none")]
4577    pub dtmf_mode: Option<DtmfMode>,
4578    /// NAT Mode Code (Values from getNAT) (required)
4579    #[serde(skip_serializing_if = "Option::is_none")]
4580    pub nat: Option<Nat>,
4581    /// Encrypted SIP Traffic (Boolean: 1/0)
4582    #[serde(skip_serializing_if = "Option::is_none")]
4583    pub sip_traffic: Option<i64>,
4584    /// Max Expiry between 60 and 3600 (Example: 3000)
4585    #[serde(skip_serializing_if = "Option::is_none")]
4586    pub max_expiry: Option<i64>,
4587    /// RTP Time Out between 1 and 3600 (Example: 60)
4588    #[serde(skip_serializing_if = "Option::is_none")]
4589    pub rtp_timeout: Option<i64>,
4590    /// RTP Hold Time Out between 1 and 3600 (Example: 600)
4591    #[serde(skip_serializing_if = "Option::is_none")]
4592    pub rtp_hold_timeout: Option<i64>,
4593    /// List of IP Addresses, IP Addresses/Netmask, or Fully Qualified Domain
4594    /// Names to allow outgoing calls separated by commas (Example:
4595    /// 123.45.3.21,10.255.12.0/22,device.mydomain.com)
4596    #[serde(skip_serializing_if = "Option::is_none")]
4597    pub ip_restriction: Option<String>,
4598    /// Enable IP Restriction (Boolean: 1/0)
4599    #[serde(
4600        skip_serializing_if = "Option::is_none",
4601        serialize_with = "crate::responses::serialize_opt_flag_01"
4602    )]
4603    pub enable_ip_restriction: Option<bool>,
4604    /// List of POP Servers to allow outgoing calls separated by commas (values
4605    /// from getServersInfo. Example: 10,23,45)
4606    #[serde(skip_serializing_if = "Option::is_none")]
4607    pub pop_restriction: Option<String>,
4608    /// Enable POP Restriction (Boolean: 1/0)
4609    #[serde(
4610        skip_serializing_if = "Option::is_none",
4611        serialize_with = "crate::responses::serialize_opt_flag_01"
4612    )]
4613    pub enable_pop_restriction: Option<bool>,
4614    /// Sub Account Internal Extension (Example: 1 -> Creates 101)
4615    #[serde(skip_serializing_if = "Option::is_none")]
4616    pub internal_extension: Option<String>,
4617    /// Sub Account Internal Voicemail (Example: 101)
4618    #[serde(skip_serializing_if = "Option::is_none")]
4619    pub internal_voicemail: Option<String>,
4620    /// Sub Account Internal Dialtime (Example: 60 -> seconds)
4621    #[serde(skip_serializing_if = "Option::is_none")]
4622    pub internal_dialtime: Option<String>,
4623    /// Reseller Account ID (Example: 561115)
4624    #[serde(skip_serializing_if = "Option::is_none")]
4625    pub reseller_client: Option<String>,
4626    /// Reseller Package (Example: 92364)
4627    #[serde(skip_serializing_if = "Option::is_none")]
4628    pub reseller_package: Option<String>,
4629    /// Reseller Next Billing Date (Example: '2012-12-31')
4630    #[serde(skip_serializing_if = "Option::is_none")]
4631    pub reseller_nextbilling: Option<String>,
4632    /// True if you want to charge Package Setup Fee after Save
4633    #[serde(skip_serializing_if = "Option::is_none")]
4634    pub reseller_chargesetup: Option<String>,
4635    /// Send BYE on successful transfer (Boolean: 1/0)
4636    #[serde(
4637        skip_serializing_if = "Option::is_none",
4638        serialize_with = "crate::responses::serialize_opt_flag_01"
4639    )]
4640    pub send_bye: Option<bool>,
4641    /// Record Calls (Boolean: 1/0)
4642    #[serde(
4643        skip_serializing_if = "Option::is_none",
4644        serialize_with = "crate::responses::serialize_opt_flag_01"
4645    )]
4646    pub record_calls: Option<bool>,
4647    /// Enable Call Transcription (Boolean: 1/0)
4648    #[serde(
4649        skip_serializing_if = "Option::is_none",
4650        serialize_with = "crate::responses::serialize_opt_flag_01"
4651    )]
4652    pub transcribe: Option<bool>,
4653    /// Transcription locale code (values from getLocales, comma separated for
4654    /// more than one locale up to 10 locales)
4655    #[serde(skip_serializing_if = "Option::is_none")]
4656    pub transcription_locale: Option<String>,
4657    /// Call Transcription Email
4658    #[serde(skip_serializing_if = "Option::is_none")]
4659    pub transcription_email: Option<String>,
4660    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
4661    /// (Example: 10 -> seconds)
4662    #[serde(skip_serializing_if = "Option::is_none")]
4663    pub transcription_start_delay: Option<i64>,
4664    /// Enable Internal CallerID
4665    #[serde(
4666        skip_serializing_if = "Option::is_none",
4667        serialize_with = "crate::responses::serialize_opt_flag_01"
4668    )]
4669    pub enable_internal_cnam: Option<bool>,
4670    /// Internal CallerID Name
4671    #[serde(skip_serializing_if = "Option::is_none")]
4672    pub internal_cnam: Option<String>,
4673    /// Allows you to dial outgoing calls using either the NANPA configuration
4674    /// or the E164 configuration. (Values: 0 = Use Main Account Setting, 1 =
4675    /// E164, 2 = NANPA)
4676    #[serde(skip_serializing_if = "Option::is_none")]
4677    pub dialing_mode: Option<DialingMode>,
4678    /// This allows you to select the carrier to be used for outgoing calls to
4679    /// toll-free numbers. (Values: -1 = Use main account settings, 0 = Default
4680    /// server setting, 1 = US carrier, 2 = Canadian carrier)
4681    #[serde(skip_serializing_if = "Option::is_none")]
4682    pub tfcarrier: Option<TollFreeCarrier>,
4683    /// Location group for the internal extension (Values from getLocations)
4684    #[serde(skip_serializing_if = "Option::is_none")]
4685    pub internal_extension_location: Option<i64>,
4686}
4687
4688/// \- Adds a new Voicemail entry to your Account
4689///
4690/// Parameters for [`Client::create_voicemail`] (wire method `createVoicemail`).
4691#[derive(Debug, Default, Clone, Serialize)]
4692pub struct CreateVoicemailParams {
4693    /// Digits used to create the voicemail (Example: 01) Minimum 1 digit,
4694    /// maximum 10 digits (required)
4695    #[serde(skip_serializing_if = "Option::is_none")]
4696    pub digits: Option<i64>,
4697    /// Name for the Mailbox (required)
4698    #[serde(skip_serializing_if = "Option::is_none")]
4699    pub name: Option<String>,
4700    /// Password for the Mailbox (required)
4701    #[serde(skip_serializing_if = "Option::is_none")]
4702    pub password: Option<String>,
4703    /// True if Skipping Password (Boolean: 1/0) (required)
4704    #[serde(
4705        skip_serializing_if = "Option::is_none",
4706        serialize_with = "crate::responses::serialize_opt_flag_01"
4707    )]
4708    pub skip_password: Option<bool>,
4709    /// Email address for receiving messages, multiple email addresses are
4710    /// allowed if separated by a comma
4711    #[serde(skip_serializing_if = "Option::is_none")]
4712    pub email: Option<String>,
4713    /// Yes for Attaching WAV files to Message (Values: 'yes'/'no') (required)
4714    #[serde(
4715        skip_serializing_if = "Option::is_none",
4716        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4717    )]
4718    pub attach_message: Option<bool>,
4719    /// Yes for Deleting Messages (Values: 'yes'/'no') (required)
4720    #[serde(
4721        skip_serializing_if = "Option::is_none",
4722        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4723    )]
4724    pub delete_message: Option<bool>,
4725    /// Yes for Saying Time Stamp (Values: 'yes'/'no') (required)
4726    #[serde(
4727        skip_serializing_if = "Option::is_none",
4728        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4729    )]
4730    pub say_time: Option<bool>,
4731    /// Time Zone for Mailbox (Values from getTimeZones) (required)
4732    #[serde(skip_serializing_if = "Option::is_none")]
4733    pub timezone: Option<String>,
4734    /// Yes for Saying the Caller ID (Values: 'yes'/'no') (required)
4735    #[serde(
4736        skip_serializing_if = "Option::is_none",
4737        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4738    )]
4739    pub say_callerid: Option<bool>,
4740    /// Code for Play Instructions Setting (Values from getPlayInstructions)
4741    /// (required)
4742    #[serde(skip_serializing_if = "Option::is_none")]
4743    pub play_instructions: Option<PlayInstructions>,
4744    /// Code for Language (Values from getLanguages) (required)
4745    #[serde(skip_serializing_if = "Option::is_none")]
4746    pub language: Option<String>,
4747    /// Code for Email Attachment format (Values from
4748    /// getVoicemailAttachmentFormats)
4749    #[serde(skip_serializing_if = "Option::is_none")]
4750    pub email_attachment_format: Option<EmailAttachmentFormat>,
4751    /// Recording for the Unavailable Message (values from getRecordings)
4752    #[serde(skip_serializing_if = "Option::is_none")]
4753    pub unavailable_message_recording: Option<String>,
4754    /// 'yes' to enable Voicemail Transcription
4755    #[serde(
4756        skip_serializing_if = "Option::is_none",
4757        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4758    )]
4759    pub transcription: Option<bool>,
4760    /// Transcription locale code (values from getLocales, comma separated for
4761    /// more than one locale up to 10 locales)
4762    #[serde(skip_serializing_if = "Option::is_none")]
4763    pub transcription_locale: Option<String>,
4764    /// Yes for Transcription redaction (Values: 'yes'/'no')
4765    #[serde(
4766        skip_serializing_if = "Option::is_none",
4767        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4768    )]
4769    pub transcription_redaction: Option<bool>,
4770    /// Yes for Transcription sentiment (Values: 'yes'/'no')
4771    #[serde(
4772        skip_serializing_if = "Option::is_none",
4773        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4774    )]
4775    pub transcription_sentiment: Option<bool>,
4776    /// Yes for Transcription summary (Values: 'yes'/'no')
4777    #[serde(
4778        skip_serializing_if = "Option::is_none",
4779        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
4780    )]
4781    pub transcription_summary: Option<bool>,
4782    /// Transcription format ( Values: 'html'/'text')
4783    #[serde(skip_serializing_if = "Option::is_none")]
4784    pub transcription_format: Option<TranscriptionFormat>,
4785}
4786
4787/// \- Deletes a specific Call Hunting from your Account.
4788///
4789/// Parameters for [`Client::del_call_hunting`] (wire method `delCallHunting`).
4790#[derive(Debug, Default, Clone, Serialize)]
4791pub struct DelCallHuntingParams {
4792    /// ID for a specific Call Hunting (Example: 323) (required)
4793    #[serde(skip_serializing_if = "Option::is_none")]
4794    pub callhunting: Option<i64>,
4795}
4796
4797/// \- Deletes a specific Call Parking entry from your Account.
4798///
4799/// Parameters for [`Client::del_call_parking`] (wire method `delCallParking`).
4800#[derive(Debug, Default, Clone, Serialize)]
4801pub struct DelCallParkingParams {
4802    /// ID for a specific Call Parking (Example: 323) (required)
4803    #[serde(skip_serializing_if = "Option::is_none")]
4804    pub callparking: Option<i64>,
4805}
4806
4807/// \- Delete specific call recording, audio file and information related.
4808///
4809/// Parameters for [`Client::del_call_recording`] (wire method `delCallRecording`).
4810#[derive(Debug, Default, Clone, Serialize)]
4811pub struct DelCallRecordingParams {
4812    /// Call Recording (Values from getCallRecordings) (required)
4813    #[serde(skip_serializing_if = "Option::is_none")]
4814    pub callrecording: Option<String>,
4815    /// Filter Call Recordings by Account (Values from getCallAccounts)
4816    /// (required)
4817    #[serde(skip_serializing_if = "Option::is_none")]
4818    pub account: Option<String>,
4819}
4820
4821/// \- Deletes a specific Callback from your Account.
4822///
4823/// Parameters for [`Client::del_callback`] (wire method `delCallback`).
4824#[derive(Debug, Default, Clone, Serialize)]
4825pub struct DelCallbackParams {
4826    /// ID for a specific Callback (Example: 19183) (required)
4827    #[serde(skip_serializing_if = "Option::is_none")]
4828    pub callback: Option<i64>,
4829}
4830
4831/// \- Deletes a specific CallerID Filtering from your Account.
4832///
4833/// Parameters for [`Client::del_caller_id_filtering`] (wire method `delCallerIDFiltering`).
4834#[derive(Debug, Default, Clone, Serialize)]
4835pub struct DelCallerIDFilteringParams {
4836    /// ID for a specific CallerID Filtering (Example: 19183) (required)
4837    #[serde(skip_serializing_if = "Option::is_none")]
4838    pub filtering: Option<i64>,
4839}
4840
4841/// \- Deletes a specific reseller client from your Account.
4842///
4843/// Parameters for [`Client::del_client`] (wire method `delClient`).
4844#[derive(Debug, Default, Clone, Serialize)]
4845pub struct DelClientParams {
4846    /// ID for a specific Reseller Client (Example: 1998) (required)
4847    #[serde(skip_serializing_if = "Option::is_none")]
4848    pub client: Option<i64>,
4849}
4850
4851/// \- Deletes a specific Conference from your Account.
4852///
4853/// Parameters for [`Client::del_conference`] (wire method `delConference`).
4854#[derive(Debug, Default, Clone, Serialize)]
4855pub struct DelConferenceParams {
4856    /// ID for a specific Conference (Example: 737) (required)
4857    #[serde(skip_serializing_if = "Option::is_none")]
4858    pub conference: Option<i64>,
4859}
4860
4861/// \- Deletes a specific Member profile from your Account.
4862///
4863/// Parameters for [`Client::del_conference_member`] (wire method `delConferenceMember`).
4864#[derive(Debug, Default, Clone, Serialize)]
4865pub struct DelConferenceMemberParams {
4866    /// ID for a specific Member Profile (Example: 737) (required)
4867    #[serde(skip_serializing_if = "Option::is_none")]
4868    pub member: Option<i64>,
4869}
4870
4871/// \- Deletes a specific DISA from your Account.
4872///
4873/// Parameters for [`Client::del_disa`] (wire method `delDISA`).
4874#[derive(Debug, Default, Clone, Serialize)]
4875pub struct DelDISAParams {
4876    /// ID for a specific DISA (Example: 19183) (required)
4877    #[serde(skip_serializing_if = "Option::is_none")]
4878    pub disa: Option<i64>,
4879}
4880
4881/// \- Deletes a specific "Email to Fax configuration" from your Account.
4882///
4883/// Parameters for [`Client::del_email_to_fax`] (wire method `delEmailToFax`).
4884#[derive(Debug, Default, Clone, Serialize)]
4885pub struct DelEmailToFAXParams {
4886    /// ID for a specific "Email To Fax Configuration" (Example: 923) (required)
4887    #[serde(skip_serializing_if = "Option::is_none")]
4888    pub id: Option<i64>,
4889    /// Set to true if testing how cancel a "Email To Fax Configuration"
4890    #[serde(
4891        skip_serializing_if = "crate::responses::is_false",
4892        serialize_with = "crate::responses::serialize_flag_01"
4893    )]
4894    pub test: bool,
4895}
4896
4897/// \- Deletes a specific Fax Folder from your Account.
4898///
4899/// Parameters for [`Client::del_fax_folder`] (wire method `delFaxFolder`).
4900#[derive(Debug, Default, Clone, Serialize)]
4901pub struct DelFAXFolderParams {
4902    /// ID for a specific Fax Folder (Example: 923) (required)
4903    #[serde(skip_serializing_if = "Option::is_none")]
4904    pub id: Option<i64>,
4905    /// Set to true if testing how to delete a Fax Folder
4906    #[serde(
4907        skip_serializing_if = "crate::responses::is_false",
4908        serialize_with = "crate::responses::serialize_flag_01"
4909    )]
4910    pub test: bool,
4911}
4912
4913/// \- Deletes a specific Forwarding from your Account.
4914///
4915/// Parameters for [`Client::del_forwarding`] (wire method `delForwarding`).
4916#[derive(Debug, Default, Clone, Serialize)]
4917pub struct DelForwardingParams {
4918    /// ID for a specific Forwarding (Example: 19183)
4919    #[serde(skip_serializing_if = "Option::is_none")]
4920    pub forwarding: Option<i64>,
4921}
4922
4923/// \- Deletes a specific IVR from your Account.
4924///
4925/// Parameters for [`Client::del_ivr`] (wire method `delIVR`).
4926#[derive(Debug, Default, Clone, Serialize)]
4927pub struct DelIVRParams {
4928    /// ID for a specific IVR (Example: 19183) (required)
4929    #[serde(skip_serializing_if = "Option::is_none")]
4930    pub ivr: Option<i64>,
4931}
4932
4933/// Parameters for [`Client::del_location`] (wire method `delLocation`).
4934#[derive(Debug, Default, Clone, Serialize)]
4935pub struct DelLocationParams {
4936    /// Internal Extension Location name (Value from getLocations) (required)
4937    #[serde(skip_serializing_if = "Option::is_none")]
4938    pub name: Option<String>,
4939    /// Internal Extension Location id (Value from getLocations") (required)
4940    #[serde(skip_serializing_if = "Option::is_none")]
4941    pub id: Option<String>,
4942}
4943
4944/// \- Removes a member profile from a specific Conference from your Account
4945///
4946/// Parameters for [`Client::del_member_from_conference`] (wire method `delMemberFromConference`).
4947#[derive(Debug, Default, Clone, Serialize)]
4948pub struct DelMemberFromConferenceParams {
4949    /// ID for a specific Member (Example: 101) (required)
4950    #[serde(skip_serializing_if = "Option::is_none")]
4951    pub member: Option<i64>,
4952    /// ID for a specific Conference (Example: 3829)
4953    #[serde(skip_serializing_if = "Option::is_none")]
4954    pub conference: Option<i64>,
4955}
4956
4957/// \- Deletes all messages in all servers from a specific Voicemail from your
4958/// Account
4959///
4960/// Parameters for [`Client::del_messages`] (wire method `delMessages`).
4961#[derive(Debug, Default, Clone, Serialize)]
4962pub struct DelMessagesParams {
4963    /// ID for a specific Mailbox (Example: 1001) (required)
4964    #[serde(skip_serializing_if = "Option::is_none")]
4965    pub mailbox: Option<i64>,
4966    /// Name for specific Folder (Required if message id is passed, Example:
4967    /// 'INBOX', values from: getVoicemailFolders)
4968    #[serde(skip_serializing_if = "Option::is_none")]
4969    pub folder: Option<VoicemailFolder>,
4970    /// ID for specific Voicemail Message (Required if folder is passed,
4971    /// Example: 1)
4972    #[serde(skip_serializing_if = "Option::is_none")]
4973    pub message_num: Option<i64>,
4974}
4975
4976/// \- Deletes a specific custom Music on Hold.
4977///
4978/// Parameters for [`Client::del_music_on_hold`] (wire method `delMusicOnHold`).
4979#[derive(Debug, Default, Clone, Serialize)]
4980pub struct DelMusicOnHoldParams {
4981    /// Music on Hold Name (Values from getMusicOnHold) (required)
4982    #[serde(skip_serializing_if = "Option::is_none")]
4983    pub music_on_hold: Option<String>,
4984}
4985
4986/// \- Deletes a specific Phonebook from your Account.
4987///
4988/// Parameters for [`Client::del_phonebook`] (wire method `delPhonebook`).
4989#[derive(Debug, Default, Clone, Serialize)]
4990pub struct DelPhonebookParams {
4991    /// ID for a specific Phonebook (Example: 19183) (required)
4992    #[serde(skip_serializing_if = "Option::is_none")]
4993    pub phonebook: Option<i64>,
4994}
4995
4996/// \- Deletes a specific Phonebook group from your Account.
4997///
4998/// Parameters for [`Client::del_phonebook_group`] (wire method `delPhonebookGroup`).
4999#[derive(Debug, Default, Clone, Serialize)]
5000pub struct DelPhonebookGroupParams {
5001    /// ID for a specific Phonebook group (required)
5002    #[serde(skip_serializing_if = "Option::is_none")]
5003    pub group: Option<String>,
5004}
5005
5006/// \- Deletes a specific Queue from your Account.
5007///
5008/// Parameters for [`Client::del_queue`] (wire method `delQueue`).
5009#[derive(Debug, Default, Clone, Serialize)]
5010pub struct DelQueueParams {
5011    /// ID for a specific Queue (Example: 13183) (required)
5012    #[serde(skip_serializing_if = "Option::is_none")]
5013    pub queue: Option<i64>,
5014}
5015
5016/// \- Deletes a specific Recording from your Account.
5017///
5018/// Parameters for [`Client::del_recording`] (wire method `delRecording`).
5019#[derive(Debug, Default, Clone, Serialize)]
5020pub struct DelRecordingParams {
5021    /// ID for a specific Recording (Example: 19183) (required)
5022    #[serde(skip_serializing_if = "Option::is_none")]
5023    pub recording: Option<i64>,
5024}
5025
5026/// \- Deletes a specific Ring Group from your Account.
5027///
5028/// Parameters for [`Client::del_ring_group`] (wire method `delRingGroup`).
5029#[derive(Debug, Default, Clone, Serialize)]
5030pub struct DelRingGroupParams {
5031    /// ID for a specific Ring Group (Example: 19183) (required)
5032    #[serde(skip_serializing_if = "Option::is_none")]
5033    pub ringgroup: Option<i64>,
5034}
5035
5036/// \- Deletes a specific SIP URI from your Account.
5037///
5038/// Parameters for [`Client::del_sip_uri`] (wire method `delSIPURI`).
5039#[derive(Debug, Default, Clone, Serialize)]
5040pub struct DelSIPURIParams {
5041    /// ID for a specific SIP URI (Example: 19183) (required)
5042    #[serde(skip_serializing_if = "Option::is_none")]
5043    pub sipuri: Option<i64>,
5044}
5045
5046/// \- Deletes a specific Static Member from Queue.
5047///
5048/// Parameters for [`Client::del_static_member`] (wire method `delStaticMember`).
5049#[derive(Debug, Default, Clone, Serialize)]
5050pub struct DelStaticMemberParams {
5051    /// ID for a specific Member Queue (Example: 1918) (required)
5052    #[serde(skip_serializing_if = "Option::is_none")]
5053    pub member: Option<i64>,
5054    /// ID for a specific Queue (Example: 27183) (required)
5055    #[serde(skip_serializing_if = "Option::is_none")]
5056    pub queue: Option<i64>,
5057}
5058
5059/// \- Deletes a specific Sub Account from your Account
5060///
5061/// Parameters for [`Client::del_sub_account`] (wire method `delSubAccount`).
5062#[derive(Debug, Default, Clone, Serialize)]
5063pub struct DelSubAccountParams {
5064    /// ID for a specific Sub Account (Example: 99785)
5065    #[serde(skip_serializing_if = "Option::is_none")]
5066    pub id: Option<i64>,
5067}
5068
5069/// \- Deletes a specific Time Condition from your Account.
5070///
5071/// Parameters for [`Client::del_time_condition`] (wire method `delTimeCondition`).
5072#[derive(Debug, Default, Clone, Serialize)]
5073pub struct DelTimeConditionParams {
5074    /// ID for a specific Time Condition (Example: 19183) (required)
5075    #[serde(skip_serializing_if = "Option::is_none")]
5076    pub timecondition: Option<i64>,
5077}
5078
5079/// \- Deletes a specific Voicemail from your Account
5080///
5081/// Parameters for [`Client::del_voicemail`] (wire method `delVoicemail`).
5082#[derive(Debug, Default, Clone, Serialize)]
5083pub struct DelVoicemailParams {
5084    /// ID for a specific Mailbox (Example: 1001) (required)
5085    #[serde(skip_serializing_if = "Option::is_none")]
5086    pub mailbox: Option<i64>,
5087}
5088
5089/// \- Deletes a specific Fax Message from your Account.
5090///
5091/// Parameters for [`Client::delete_fax_message`] (wire method `deleteFaxMessage`).
5092#[derive(Debug, Default, Clone, Serialize)]
5093pub struct DeleteFAXMessageParams {
5094    /// ID for a specific Fax Message (Example: 923) (required)
5095    #[serde(skip_serializing_if = "Option::is_none")]
5096    pub id: Option<i64>,
5097    /// Set to true if testing how cancel a Fax Message
5098    #[serde(
5099        skip_serializing_if = "crate::responses::is_false",
5100        serialize_with = "crate::responses::serialize_flag_01"
5101    )]
5102    pub test: bool,
5103}
5104
5105/// \- Deletes a specific MMS from your Account.
5106///
5107/// Parameters for [`Client::delete_mms`] (wire method `deleteMMS`).
5108#[derive(Debug, Default, Clone, Serialize)]
5109pub struct DeleteMMSParams {
5110    /// ID for a specific MMS (Example: 1918) (required)
5111    #[serde(skip_serializing_if = "Option::is_none")]
5112    pub id: Option<i64>,
5113}
5114
5115/// \- Deletes a specific SMS from your Account.
5116///
5117/// Parameters for [`Client::delete_sms`] (wire method `deleteSMS`).
5118#[derive(Debug, Default, Clone, Serialize)]
5119pub struct DeleteSMSParams {
5120    /// ID for a specific SMS (Example: 1918) (required)
5121    #[serde(skip_serializing_if = "Option::is_none")]
5122    pub id: Option<i64>,
5123}
5124
5125/// \- Retrieves a list of e911 Address Types if no additional parameter is
5126/// provided.
5127/// \- Retrieves a specific e911 Address Type if an Address code is provided.
5128///
5129/// Parameters for [`Client::e911_address_types`] (wire method `e911AddressTypes`).
5130#[derive(Debug, Default, Clone, Serialize)]
5131pub struct E911AddressTypesParams {
5132    /// Code for a specific Address Type (Example: Apartment)
5133    #[serde(skip_serializing_if = "Option::is_none")]
5134    pub r#type: Option<String>,
5135}
5136
5137/// \- Cancel the e911 Service from a specific DID.
5138///
5139/// Parameters for [`Client::e911_cancel`] (wire method `e911Cancel`).
5140#[derive(Debug, Default, Clone, Serialize)]
5141pub struct E911CancelParams {
5142    /// DID to be canceled. (required)
5143    #[serde(skip_serializing_if = "Option::is_none")]
5144    pub did: Option<String>,
5145}
5146
5147/// \- Retrieves the e911 information from a specific DID.
5148///
5149/// Parameters for [`Client::e911_info`] (wire method `e911Info`).
5150#[derive(Debug, Default, Clone, Serialize)]
5151pub struct E911InfoParams {
5152    /// DID with e911 enabled / in process. (required)
5153    #[serde(skip_serializing_if = "Option::is_none")]
5154    pub did: Option<String>,
5155}
5156
5157/// \- Subscribes your DID to the e911 Emergency Services.
5158///
5159/// Parameters for [`Client::e911_provision`] (wire method `e911Provision`).
5160#[derive(Debug, Default, Clone, Serialize)]
5161pub struct E911ProvisionParams {
5162    /// DID that will be sent to the e911 service. (required)
5163    #[serde(skip_serializing_if = "Option::is_none")]
5164    pub did: Option<String>,
5165    /// Full Name that will be sent to the e911 service. (required)
5166    #[serde(skip_serializing_if = "Option::is_none")]
5167    pub full_name: Option<String>,
5168    /// Street Number that will be sent to the e911 service. (required)
5169    #[serde(skip_serializing_if = "Option::is_none")]
5170    pub street_number: Option<i64>,
5171    /// Street Name that will be sent to the e911 service. (required)
5172    #[serde(skip_serializing_if = "Option::is_none")]
5173    pub street_name: Option<String>,
5174    /// Address Type that will be sent to the e911 service (Values from
5175    /// e911AddressTypes).
5176    #[serde(skip_serializing_if = "Option::is_none")]
5177    pub address_type: Option<String>,
5178    /// Address Number that will be sent to the e911 service.
5179    #[serde(skip_serializing_if = "Option::is_none")]
5180    pub address_number: Option<i64>,
5181    /// City that will be sent to the e911 service. (required)
5182    #[serde(skip_serializing_if = "Option::is_none")]
5183    pub city: Option<String>,
5184    /// State / Province that will be sent to the e911 service. (required)
5185    #[serde(skip_serializing_if = "Option::is_none")]
5186    pub state: Option<String>,
5187    /// Country that will be sent to the e911 service. Value can be US (United
5188    /// states) or CA (Canada). (required)
5189    #[serde(skip_serializing_if = "Option::is_none")]
5190    pub country: Option<String>,
5191    #[serde(skip_serializing_if = "Option::is_none")]
5192    pub zip: Option<String>,
5193    /// Language that will be sent to the e911 service. Only available for
5194    /// addresses from Canada. Value can be EN (English) or FR (French).
5195    /// (required)
5196    #[serde(skip_serializing_if = "Option::is_none")]
5197    pub language: Option<String>,
5198    /// Additional Address Information that will be sent to the e911 service.
5199    /// Only available for addresses from Canada.
5200    #[serde(skip_serializing_if = "Option::is_none")]
5201    pub other_info: Option<String>,
5202}
5203
5204/// \- Subscribes your DID to the e911 Emergency Services.
5205/// \- All e911 information will be validated by the VoIP.ms staff.
5206///
5207/// Parameters for [`Client::e911_provision_manually`] (wire method `e911ProvisionManually`).
5208#[derive(Debug, Default, Clone, Serialize)]
5209pub struct E911ProvisionManuallyParams {
5210    /// DID that will be sent to the e911 service. (required)
5211    #[serde(skip_serializing_if = "Option::is_none")]
5212    pub did: Option<String>,
5213    /// Full Name that will be sent to the e911 service. (required)
5214    #[serde(skip_serializing_if = "Option::is_none")]
5215    pub full_name: Option<String>,
5216    /// Street Number that will be sent to the e911 service. (required)
5217    #[serde(skip_serializing_if = "Option::is_none")]
5218    pub street_number: Option<i64>,
5219    /// Street Name that will be sent to the e911 service. (required)
5220    #[serde(skip_serializing_if = "Option::is_none")]
5221    pub street_name: Option<String>,
5222    /// Address Type that will be sent to the e911 service (Values from
5223    /// e911AddressTypes).
5224    #[serde(skip_serializing_if = "Option::is_none")]
5225    pub address_type: Option<String>,
5226    /// Address Number that will be sent to the e911 service.
5227    #[serde(skip_serializing_if = "Option::is_none")]
5228    pub address_number: Option<i64>,
5229    /// City that will be sent to the e911 service. (required)
5230    #[serde(skip_serializing_if = "Option::is_none")]
5231    pub city: Option<String>,
5232    /// State / Province that will be sent to the e911 service. (required)
5233    #[serde(skip_serializing_if = "Option::is_none")]
5234    pub state: Option<String>,
5235    /// Country that will be sent to the e911 service. Value can be US (United
5236    /// states) or CA (Canada). (required)
5237    #[serde(skip_serializing_if = "Option::is_none")]
5238    pub country: Option<String>,
5239    #[serde(skip_serializing_if = "Option::is_none")]
5240    pub zip: Option<String>,
5241    /// Language that will be sent to the e911 service. Only available for
5242    /// addresses from Canada. Value can be EN (English) or FR (French).
5243    /// (required)
5244    #[serde(skip_serializing_if = "Option::is_none")]
5245    pub language: Option<String>,
5246    /// Additional Address Information that will be sent to the e911 service.
5247    /// Only available for addresses from Canada.
5248    #[serde(skip_serializing_if = "Option::is_none")]
5249    pub other_info: Option<String>,
5250}
5251
5252/// \- Updates the Information from your e911 Emergency Services Subscription.
5253///
5254/// Parameters for [`Client::e911_update`] (wire method `e911Update`).
5255#[derive(Debug, Default, Clone, Serialize)]
5256pub struct E911UpdateParams {
5257    /// DID with e911 enabled / in process. (required)
5258    #[serde(skip_serializing_if = "Option::is_none")]
5259    pub did: Option<String>,
5260    /// Full Name that will be updated to the e911 service. (required)
5261    #[serde(skip_serializing_if = "Option::is_none")]
5262    pub full_name: Option<String>,
5263    /// Street Number that will be updated to the e911 service. (required)
5264    #[serde(skip_serializing_if = "Option::is_none")]
5265    pub street_number: Option<i64>,
5266    /// Street Name that will be updated to the e911 service. (required)
5267    #[serde(skip_serializing_if = "Option::is_none")]
5268    pub street_name: Option<String>,
5269    /// Address Type that will be updated to the e911 service (Values from
5270    /// e911AddressTypes).
5271    #[serde(skip_serializing_if = "Option::is_none")]
5272    pub address_type: Option<String>,
5273    /// Address Number that will be updated to the e911 service.
5274    #[serde(skip_serializing_if = "Option::is_none")]
5275    pub address_number: Option<i64>,
5276    /// City that will be updated to the e911 service. (required)
5277    #[serde(skip_serializing_if = "Option::is_none")]
5278    pub city: Option<String>,
5279    /// State / Province that will be updated to the e911 service. (required)
5280    #[serde(skip_serializing_if = "Option::is_none")]
5281    pub state: Option<String>,
5282    /// Country that will be updated to the e911 service. Value can be US
5283    /// (United states) or CA (Canada). (required)
5284    #[serde(skip_serializing_if = "Option::is_none")]
5285    pub country: Option<String>,
5286    #[serde(skip_serializing_if = "Option::is_none")]
5287    pub zip: Option<String>,
5288    /// Language that will be updated to the e911 service. Only available for
5289    /// addresses from Canada. Value can be EN (English) or FR (French).
5290    /// (required)
5291    #[serde(skip_serializing_if = "Option::is_none")]
5292    pub language: Option<String>,
5293    /// Additional Address Information that will be updated to the e911 service.
5294    /// Only available for addresses from Canada.
5295    #[serde(skip_serializing_if = "Option::is_none")]
5296    pub other_info: Option<String>,
5297}
5298
5299/// \- Validates your e911 information in order to start your e911 Emergency
5300/// Services Subscription.
5301///
5302/// Parameters for [`Client::e911_validate`] (wire method `e911Validate`).
5303#[derive(Debug, Default, Clone, Serialize)]
5304pub struct E911ValidateParams {
5305    /// DID with e911 enabled / in process. (required)
5306    #[serde(skip_serializing_if = "Option::is_none")]
5307    pub did: Option<String>,
5308    /// Full Name that will be validated. (required)
5309    #[serde(skip_serializing_if = "Option::is_none")]
5310    pub full_name: Option<String>,
5311    /// Street Number that will be validated. (required)
5312    #[serde(skip_serializing_if = "Option::is_none")]
5313    pub street_number: Option<i64>,
5314    /// Street Name that will be validated. (required)
5315    #[serde(skip_serializing_if = "Option::is_none")]
5316    pub street_name: Option<String>,
5317    /// Address Type that will be validated (Values from e911AddressTypes).
5318    #[serde(skip_serializing_if = "Option::is_none")]
5319    pub address_type: Option<String>,
5320    /// Address Number that will be validated.
5321    #[serde(skip_serializing_if = "Option::is_none")]
5322    pub address_number: Option<i64>,
5323    /// City that will be validated. (required)
5324    #[serde(skip_serializing_if = "Option::is_none")]
5325    pub city: Option<String>,
5326    /// State / Province that will be validated. (required)
5327    #[serde(skip_serializing_if = "Option::is_none")]
5328    pub state: Option<String>,
5329    /// Country that will be validated. Value can be US (United states) or CA
5330    /// (Canada). (required)
5331    #[serde(skip_serializing_if = "Option::is_none")]
5332    pub country: Option<String>,
5333    #[serde(skip_serializing_if = "Option::is_none")]
5334    pub zip: Option<String>,
5335    /// Language that will be validated. Only available for addresses from
5336    /// Canada. Value can be EN (English) or FR (French).
5337    #[serde(skip_serializing_if = "Option::is_none")]
5338    pub language: Option<String>,
5339    /// Additional Address Information that will be validated. Only available
5340    /// for addresses from Canada.
5341    #[serde(skip_serializing_if = "Option::is_none")]
5342    pub other_info: Option<String>,
5343}
5344
5345/// \- Retrieves a list of Allowed Codecs if no additional parameter is provided.
5346/// \- Retrieves a specific Allowed Codec if a codec code is provided.
5347///
5348/// Parameters for [`Client::get_allowed_codecs`] (wire method `getAllowedCodecs`).
5349#[derive(Debug, Default, Clone, Serialize)]
5350pub struct GetAllowedCodecsParams {
5351    /// Code for a specific Codec (Example: 'ulaw')
5352    #[serde(skip_serializing_if = "Option::is_none")]
5353    pub codec: Option<String>,
5354}
5355
5356/// \- Retrieves a list of Authentication Types if no additional parameter is
5357/// provided.
5358/// \- Retrieves a specific Authentication Type if an auth type code is provided.
5359///
5360/// Parameters for [`Client::get_auth_types`] (wire method `getAuthTypes`).
5361#[derive(Debug, Default, Clone, Serialize)]
5362pub struct GetAuthTypesParams {
5363    /// Code for a specific Authorization Type (Example: 2)
5364    #[serde(skip_serializing_if = "Option::is_none")]
5365    pub r#type: Option<String>,
5366}
5367
5368/// \- Retrieves a list of backorder DIDs if no additional parameter is provided.
5369/// \- Retrieves a specific backorder DID if a backorder DID code is provided.
5370///
5371/// Parameters for [`Client::get_back_orders`] (wire method `getBackOrders`).
5372#[derive(Debug, Default, Clone, Serialize)]
5373pub struct GetBackOrdersParams {
5374    /// ID for a specific backorder DID
5375    #[serde(skip_serializing_if = "Option::is_none")]
5376    pub id: Option<String>,
5377}
5378
5379/// \- Retrieves Balance for your Account if no additional parameter is provided.
5380/// \- Retrieves Balance and Calls Statistics for your Account if "advanced"
5381/// parameter is true.
5382///
5383/// Parameters for [`Client::get_balance`] (wire method `getBalance`).
5384#[derive(Debug, Default, Clone, Serialize)]
5385pub struct GetBalanceParams {
5386    /// True for Calls Statistics
5387    #[serde(
5388        skip_serializing_if = "Option::is_none",
5389        serialize_with = "crate::responses::serialize_opt_flag_01"
5390    )]
5391    pub advanced: Option<bool>,
5392}
5393
5394/// \- Retrieves a list of Balance Management Options if no additional parameter
5395/// is provided.
5396/// \- Retrieves a specific Balance Management Option if a code is provided.
5397///
5398/// Parameters for [`Client::get_balance_management`] (wire method `getBalanceManagement`).
5399#[derive(Debug, Default, Clone, Serialize)]
5400pub struct GetBalanceManagementParams {
5401    /// Code for a specific Balance Management Setting (Example: 1)
5402    #[serde(skip_serializing_if = "Option::is_none")]
5403    pub balance_management: Option<String>,
5404}
5405
5406/// \- Retrieves the Call Detail Records of all your calls.
5407///
5408/// Parameters for [`Client::get_cdr`] (wire method `getCDR`).
5409#[derive(Debug, Default, Clone, Serialize)]
5410pub struct GetCDRParams {
5411    /// Start Date for Filtering CDR (Example: '2010-11-30') (required)
5412    #[serde(skip_serializing_if = "Option::is_none")]
5413    pub date_from: Option<String>,
5414    /// End Date for Filtering CDR (Example: '2010-11-30') (required)
5415    #[serde(skip_serializing_if = "Option::is_none")]
5416    pub date_to: Option<String>,
5417    /// Include Answered Calls to CDR (Boolean: 1/0)
5418    #[serde(
5419        skip_serializing_if = "Option::is_none",
5420        serialize_with = "crate::responses::serialize_opt_flag_01"
5421    )]
5422    pub answered: Option<bool>,
5423    /// Include NoAnswered calls to CDR (Boolean: 1/0)
5424    #[serde(
5425        skip_serializing_if = "Option::is_none",
5426        serialize_with = "crate::responses::serialize_opt_flag_01"
5427    )]
5428    pub noanswer: Option<bool>,
5429    /// Include Busy Calls to CDR (Boolean: 1/0)
5430    #[serde(
5431        skip_serializing_if = "Option::is_none",
5432        serialize_with = "crate::responses::serialize_opt_flag_01"
5433    )]
5434    pub busy: Option<bool>,
5435    /// Include Failed Calls to CDR (Boolean: 1/0)
5436    #[serde(
5437        skip_serializing_if = "Option::is_none",
5438        serialize_with = "crate::responses::serialize_opt_flag_01"
5439    )]
5440    pub failed: Option<bool>,
5441    /// Adjust time of calls according to Timezome (Numeric: -12 to 13)
5442    /// (required)
5443    #[serde(skip_serializing_if = "Option::is_none")]
5444    pub timezone: Option<f64>,
5445    /// Filters CDR by Call Type (Values from getCallTypes)
5446    #[serde(skip_serializing_if = "Option::is_none")]
5447    pub calltype: Option<String>,
5448    /// Filter CDR by Call Billing (Values from getCallBilling)
5449    #[serde(skip_serializing_if = "Option::is_none")]
5450    pub callbilling: Option<String>,
5451    /// Filter CDR by Account (Values from getCallAccounts)
5452    #[serde(skip_serializing_if = "Option::is_none")]
5453    pub account: Option<String>,
5454}
5455
5456/// \- Retrieves all Sub Accounts if no additional parameter is provided.
5457/// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
5458///
5459/// Parameters for [`Client::get_call_accounts`] (wire method `getCallAccounts`).
5460#[derive(Debug, Default, Clone, Serialize)]
5461pub struct GetCallAccountsParams {}
5462
5463/// \- Retrieves a list of Call Billing Options.
5464///
5465/// Parameters for [`Client::get_call_billing`] (wire method `getCallBilling`).
5466#[derive(Debug, Default, Clone, Serialize)]
5467pub struct GetCallBillingParams {}
5468
5469/// \- Retrieves a list of Call Huntings if no additional parameter is provided.
5470/// \- Retrieves a specific Call Huntings if a Call Hunting code is provided.
5471///
5472/// Parameters for [`Client::get_call_huntings`] (wire method `getCallHuntings`).
5473#[derive(Debug, Default, Clone, Serialize)]
5474pub struct GetCallHuntingsParams {
5475    /// ID for a specific Call Hunting (Example: 323)
5476    #[serde(skip_serializing_if = "Option::is_none")]
5477    pub callhunting: Option<i64>,
5478}
5479
5480/// \- Retrieves all Call Parking entries if no additional parameter is provided.
5481/// \- Retrieves a specific Parking entry if a Call Parking ID is provided.
5482///
5483/// Parameters for [`Client::get_call_parking`] (wire method `getCallParking`).
5484#[derive(Debug, Default, Clone, Serialize)]
5485pub struct GetCallParkingParams {
5486    /// ID for a specific Call Parking (Example: 737)
5487    #[serde(skip_serializing_if = "Option::is_none")]
5488    pub callparking: Option<i64>,
5489}
5490
5491/// \- Retrieves one especific call recording information, including the
5492/// recording file on mp3 format.
5493///
5494/// Parameters for [`Client::get_call_recording`] (wire method `getCallRecording`).
5495#[derive(Debug, Default, Clone, Serialize)]
5496pub struct GetCallRecordingParams {
5497    /// Call Recording (Values from getCallRecordings) (required)
5498    #[serde(skip_serializing_if = "Option::is_none")]
5499    pub callrecording: Option<String>,
5500    /// Main Account or Sub Account related to the call recording (Values from
5501    /// getCallRecordings) (required)
5502    #[serde(skip_serializing_if = "Option::is_none")]
5503    pub account: Option<String>,
5504}
5505
5506/// \- Retrieves all call recordings related to account.
5507///
5508/// Parameters for [`Client::get_call_recordings`] (wire method `getCallRecordings`).
5509#[derive(Debug, Default, Clone, Serialize)]
5510pub struct GetCallRecordingsParams {
5511    /// Filter Call Recordings by Account (Values from getCallAccounts)
5512    /// (required)
5513    #[serde(skip_serializing_if = "Option::is_none")]
5514    pub account: Option<String>,
5515    /// Number of records shown previously, used for pages
5516    #[serde(skip_serializing_if = "Option::is_none")]
5517    pub start: Option<i64>,
5518    /// Number of records to show
5519    #[serde(skip_serializing_if = "Option::is_none")]
5520    pub length: Option<i64>,
5521    /// Start Date for Filtering Call Recording (Example:'2018-11-01')
5522    /// (required)
5523    #[serde(skip_serializing_if = "Option::is_none")]
5524    pub date_from: Option<String>,
5525    /// End Date for Filtering Call Recording (Example:'2018-12-01') (required)
5526    #[serde(skip_serializing_if = "Option::is_none")]
5527    pub date_to: Option<String>,
5528}
5529
5530/// \- Retrieves all Call Transcriptions if no additional parameter is provided.
5531///
5532/// Parameters for [`Client::get_call_transcriptions`] (wire method `getCallTranscriptions`).
5533#[derive(Debug, Default, Clone, Serialize)]
5534pub struct GetCallTranscriptionsParams {
5535    /// Specific Account (Example: '100001_VoIP') (required)
5536    #[serde(skip_serializing_if = "Option::is_none")]
5537    pub account: Option<String>,
5538    /// End Date for Filtering (Example: '2010-11-30') (required)
5539    #[serde(skip_serializing_if = "Option::is_none")]
5540    pub date_to: Option<String>,
5541    /// Start Date for Filtering (Example: '2010-11-30') (required)
5542    #[serde(skip_serializing_if = "Option::is_none")]
5543    pub date_from: Option<String>,
5544    /// Filters by Call Type (Values from getCallTypes)
5545    #[serde(skip_serializing_if = "Option::is_none")]
5546    pub call_type: Option<String>,
5547}
5548
5549/// \- Retrieves a list of Call Types and All DIDs if no additional parameter is
5550/// provided.
5551/// \- Retrieves a list of Call Types and Reseller Client DIDs if a Reseller
5552/// Client ID is provided.
5553///
5554/// Parameters for [`Client::get_call_types`] (wire method `getCallTypes`).
5555#[derive(Debug, Default, Clone, Serialize)]
5556pub struct GetCallTypesParams {
5557    /// ID for a specific Reseller Client (Example: 561115)
5558    #[serde(skip_serializing_if = "Option::is_none")]
5559    pub client: Option<String>,
5560}
5561
5562/// \- Retrieves a list of Callbacks if no additional parameter is provided.
5563/// \- Retrieves a specific Callback if a Callback code is provided.
5564///
5565/// Parameters for [`Client::get_callbacks`] (wire method `getCallbacks`).
5566#[derive(Debug, Default, Clone, Serialize)]
5567pub struct GetCallbacksParams {
5568    /// ID for a specific Callback (Example: 2359)
5569    #[serde(skip_serializing_if = "Option::is_none")]
5570    pub callback: Option<String>,
5571}
5572
5573/// \- Retrieves a list of CallerID Filterings if no additional parameter is
5574/// provided.
5575/// \- Retrieves a specific CallerID Filtering if a CallerID Filtering code is
5576/// provided.
5577///
5578/// Parameters for [`Client::get_caller_id_filtering`] (wire method `getCallerIDFiltering`).
5579#[derive(Debug, Default, Clone, Serialize)]
5580pub struct GetCallerIDFilteringParams {
5581    /// ID for a specific CallerID Filtering (Example: 18915)
5582    #[serde(skip_serializing_if = "Option::is_none")]
5583    pub filtering: Option<String>,
5584    /// DID for a specific CallerID Filtering (Example: 5551234567)
5585    #[serde(skip_serializing_if = "Option::is_none")]
5586    pub did: Option<String>,
5587}
5588
5589/// \- Retrieves a list of Carriers for Vanity Numbers if no additional parameter
5590/// is provided.
5591/// \- Retrieves a specific Carrier for Vanity Numbers if a carrier code is
5592/// provided.
5593///
5594/// Parameters for [`Client::get_carriers`] (wire method `getCarriers`).
5595#[derive(Debug, Default, Clone, Serialize)]
5596pub struct GetCarriersParams {
5597    /// Code for a specific Carrier (Example: 2)
5598    #[serde(skip_serializing_if = "Option::is_none")]
5599    pub carrier: Option<String>,
5600}
5601
5602/// \- Retrieves Charges made to a specific Reseller Client.
5603///
5604/// Parameters for [`Client::get_charges`] (wire method `getCharges`).
5605#[derive(Debug, Default, Clone, Serialize)]
5606pub struct GetChargesParams {
5607    /// ID for a specific Reseller Client (Example: 561115) (required)
5608    #[serde(skip_serializing_if = "Option::is_none")]
5609    pub client: Option<String>,
5610}
5611
5612/// \- Retrieves a list of Packages for a specific Reseller Client.
5613///
5614/// Parameters for [`Client::get_client_packages`] (wire method `getClientPackages`).
5615#[derive(Debug, Default, Clone, Serialize)]
5616pub struct GetClientPackagesParams {
5617    /// ID for a specific Reseller Client (Example: 561115) (required)
5618    #[serde(skip_serializing_if = "Option::is_none")]
5619    pub client: Option<String>,
5620}
5621
5622/// \- Retrieves the Threshold Information for a specific Reseller Client.
5623///
5624/// Parameters for [`Client::get_client_threshold`] (wire method `getClientThreshold`).
5625#[derive(Debug, Default, Clone, Serialize)]
5626pub struct GetClientThresholdParams {
5627    /// ID for a specific Reseller Client (Example: 561115) (required)
5628    #[serde(skip_serializing_if = "Option::is_none")]
5629    pub client: Option<String>,
5630}
5631
5632/// \- Retrieves a list of all Clients if no additional parameter is provided.-
5633/// Retrieves a specific Reseller Client if a Reseller Client ID is provided.
5634/// \- Retrieves a specific Reseller Client if a Reseller Client e-mail is
5635/// provided.
5636///
5637/// Parameters for [`Client::get_clients`] (wire method `getClients`).
5638#[derive(Debug, Default, Clone, Serialize)]
5639pub struct GetClientsParams {
5640    /// Parameter could have the following values: * Empty Value \[Not
5641    /// Required\] * Specific Reseller Client ID (Example: 561115) * Specific
5642    /// Reseller Client e-mail (Example: '\[email protected\]')
5643    #[serde(skip_serializing_if = "Option::is_none")]
5644    pub client: Option<String>,
5645}
5646
5647/// \- Retrieves a list of Conferences if no additional parameter is provided.
5648/// \- Retrieves a specific Conference if a conference code is provided.
5649///
5650/// Parameters for [`Client::get_conference`] (wire method `getConference`).
5651#[derive(Debug, Default, Clone, Serialize)]
5652pub struct GetConferenceParams {
5653    /// Code for a specific Conference (Example: 1599)
5654    #[serde(skip_serializing_if = "Option::is_none")]
5655    pub conference: Option<i64>,
5656}
5657
5658/// \- Retrieves a list of Member profiles if no additional parameter is
5659/// provided.
5660/// \- Retrieves a specific member if a member code is provided.
5661///
5662/// Parameters for [`Client::get_conference_members`] (wire method `getConferenceMembers`).
5663#[derive(Debug, Default, Clone, Serialize)]
5664pub struct GetConferenceMembersParams {
5665    /// Code for a specific Member profile (Example: 1599)
5666    #[serde(skip_serializing_if = "Option::is_none")]
5667    pub member: Option<i64>,
5668}
5669
5670/// \- Retrieves a specific Recording File data in Base64 format.
5671///
5672/// Parameters for [`Client::get_conference_recording_file`] (wire method `getConferenceRecordingFile`).
5673#[derive(Debug, Default, Clone, Serialize)]
5674pub struct GetConferenceRecordingFileParams {
5675    /// ID for a specific Conference (Example: 5356) (required)
5676    #[serde(skip_serializing_if = "Option::is_none")]
5677    pub conference: Option<i64>,
5678    /// ID for a specific Conference Recording (Example: 1543338379) (required)
5679    #[serde(skip_serializing_if = "Option::is_none")]
5680    pub recording: Option<i64>,
5681}
5682
5683/// \- Retrieves a list of recordings of a specific conference.
5684///
5685/// Parameters for [`Client::get_conference_recordings`] (wire method `getConferenceRecordings`).
5686#[derive(Debug, Default, Clone, Serialize)]
5687pub struct GetConferenceRecordingsParams {
5688    /// ID for a specific Conference (Example: 5356) (required)
5689    #[serde(skip_serializing_if = "Option::is_none")]
5690    pub conference: Option<i64>,
5691    /// Start Date for Filtering Transactions (Example: '2016-06-03')
5692    #[serde(skip_serializing_if = "Option::is_none")]
5693    pub date_from: Option<String>,
5694    /// End Date for Filtering Transactions (Example: '2016-06-04')
5695    #[serde(skip_serializing_if = "Option::is_none")]
5696    pub date_to: Option<String>,
5697}
5698
5699/// \- Retrieves a list of Countries if no additional parameter is provided.
5700/// \- Retrieves a specific Country if a country code is provided.
5701///
5702/// Parameters for [`Client::get_countries`] (wire method `getCountries`).
5703#[derive(Debug, Default, Clone, Serialize)]
5704pub struct GetCountriesParams {
5705    /// Code for a specific Country (Example: 'CA')
5706    #[serde(skip_serializing_if = "Option::is_none")]
5707    pub country: Option<String>,
5708}
5709
5710/// \- Retrieves a list of Countries for International DIDs if no country code is
5711/// provided.
5712/// \- Retrieves a specific Country for International DIDs if a country code is
5713/// provided.
5714///
5715/// Parameters for [`Client::get_did_countries`] (wire method `getDIDCountries`).
5716#[derive(Debug, Default, Clone, Serialize)]
5717pub struct GetDIDCountriesParams {
5718    /// ID for a specific country (Example: 205)
5719    #[serde(skip_serializing_if = "Option::is_none")]
5720    pub country_id: Option<String>,
5721    /// Type of International DID (Values from getInternationalTypes) (required)
5722    #[serde(skip_serializing_if = "Option::is_none")]
5723    pub r#type: Option<String>,
5724}
5725
5726/// \- Retrives a list of Canadian DIDs by Province and Ratecenter.
5727///
5728/// Parameters for [`Client::get_dids_can`] (wire method `getDIDsCAN`).
5729#[derive(Debug, Default, Clone, Serialize)]
5730pub struct GetDIDsCANParams {
5731    /// Canadian Province (Values from getProvinces) (required)
5732    #[serde(skip_serializing_if = "Option::is_none")]
5733    pub province: Option<String>,
5734    /// Canadian Ratecenter (Values from getRateCentersCAN)
5735    #[serde(skip_serializing_if = "Option::is_none")]
5736    pub ratecenter: Option<String>,
5737}
5738
5739/// \- Retrieves information from all your DIDs if no additional parameter is
5740/// provided.
5741/// \- Retrieves information from Reseller Client's DIDs if a Reseller Client ID
5742/// is provided.
5743/// \- Retrieves information from Sub Account's DIDs if a Sub Accunt is provided.
5744/// \- Retrieves information from a specific DID if a DID Number is provided.
5745/// \- Retrieves SMS information from a specific DID if the SMS is available.
5746///
5747/// Parameters for [`Client::get_dids_info`] (wire method `getDIDsInfo`).
5748#[derive(Debug, Default, Clone, Serialize)]
5749pub struct GetDIDsInfoParams {
5750    /// Parameter could have the following values: * Empty Value \[Not
5751    /// Required\] * Specific Reseller Client ID (Example: 561115) * Specific
5752    /// Sub Account (Example: '100001_VoIP')
5753    #[serde(skip_serializing_if = "Option::is_none")]
5754    pub client: Option<String>,
5755    /// DID from Client or Sub Account (Example: 5551234567)
5756    #[serde(skip_serializing_if = "Option::is_none")]
5757    pub did: Option<String>,
5758}
5759
5760/// \- Retrieves a list of International Geographic DIDs by Country.
5761///
5762/// Parameters for [`Client::get_dids_international_geographic`] (wire method `getDIDsInternationalGeographic`).
5763#[derive(Debug, Default, Clone, Serialize)]
5764pub struct GetDIDsInternationalGeographicParams {
5765    /// ID for a specific Country (Values from getDIDCountries) (required)
5766    #[serde(skip_serializing_if = "Option::is_none")]
5767    pub country_id: Option<String>,
5768}
5769
5770/// \- Retrieves a list of International National DIDs by Country.
5771///
5772/// Parameters for [`Client::get_dids_international_national`] (wire method `getDIDsInternationalNational`).
5773#[derive(Debug, Default, Clone, Serialize)]
5774pub struct GetDIDsInternationalNationalParams {
5775    /// ID for a specific Country (Values from getDIDCountries) (required)
5776    #[serde(skip_serializing_if = "Option::is_none")]
5777    pub country_id: Option<String>,
5778}
5779
5780/// \- Retrieves a list of International TollFree DIDs by Country.
5781///
5782/// Parameters for [`Client::get_dids_international_toll_free`] (wire method `getDIDsInternationalTollFree`).
5783#[derive(Debug, Default, Clone, Serialize)]
5784pub struct GetDIDsInternationalTollFreeParams {
5785    /// ID for a specific Country (Values from getDIDCountries) (required)
5786    #[serde(skip_serializing_if = "Option::is_none")]
5787    pub country_id: Option<String>,
5788}
5789
5790/// \- Retrives a list of USA DIDs by State and Ratecenter.
5791///
5792/// Parameters for [`Client::get_dids_usa`] (wire method `getDIDsUSA`).
5793#[derive(Debug, Default, Clone, Serialize)]
5794pub struct GetDIDsUSAParams {
5795    /// United States State (Values from getStates) (required)
5796    #[serde(skip_serializing_if = "Option::is_none")]
5797    pub state: Option<String>,
5798    /// United States Ratecenter (Values from getRateCentersUSA)
5799    #[serde(skip_serializing_if = "Option::is_none")]
5800    pub ratecenter: Option<String>,
5801}
5802
5803/// \- Retrives the list of DIDs assigned to the VPRI.
5804///
5805/// Parameters for [`Client::get_did_vpri`] (wire method `getDIDvPRI`).
5806#[derive(Debug, Default, Clone, Serialize)]
5807pub struct GetDIDvPRIParams {
5808    /// Id for specific Vpri (required)
5809    #[serde(skip_serializing_if = "Option::is_none")]
5810    pub vpri: Option<String>,
5811}
5812
5813/// \- Retrieves a list of DISAs if no additional parameter is provided.
5814/// \- Retrieves a specific DISA if a DISA code is provided.
5815///
5816/// Parameters for [`Client::get_disas`] (wire method `getDISAs`).
5817#[derive(Debug, Default, Clone, Serialize)]
5818pub struct GetDISAsParams {
5819    /// ID for a specific DISA (Example: 2114)
5820    #[serde(skip_serializing_if = "Option::is_none")]
5821    pub disa: Option<String>,
5822}
5823
5824/// \- Retrieves a list of DTMF Modes if no additional parameter is provided.
5825/// \- Retrieves a specific DTMF Mode if a DTMF mode code is provided.
5826///
5827/// Parameters for [`Client::get_dtmf_modes`] (wire method `getDTMFModes`).
5828#[derive(Debug, Default, Clone, Serialize)]
5829pub struct GetDTMFModesParams {
5830    /// Code for a specific DTMF Mode (Example: 'inband')
5831    #[serde(skip_serializing_if = "Option::is_none")]
5832    pub dtmf_mode: Option<DtmfMode>,
5833}
5834
5835/// \- Retrieves Deposits made for a specific Reseller Client.
5836///
5837/// Parameters for [`Client::get_deposits`] (wire method `getDeposits`).
5838#[derive(Debug, Default, Clone, Serialize)]
5839pub struct GetDepositsParams {
5840    /// ID for a specific Reseller Client (Example: 561115) (required)
5841    #[serde(skip_serializing_if = "Option::is_none")]
5842    pub client: Option<String>,
5843}
5844
5845/// \- Retrieves a list of Device Types if no additional parameter is provided.
5846/// \- Retrieves a specific Device Type if a device type code is provided.
5847///
5848/// Parameters for [`Client::get_device_types`] (wire method `getDeviceTypes`).
5849#[derive(Debug, Default, Clone, Serialize)]
5850pub struct GetDeviceTypesParams {
5851    /// Code for a specific Device Type (Example: 1)
5852    #[serde(skip_serializing_if = "Option::is_none")]
5853    pub device_type: Option<String>,
5854}
5855
5856/// \- Retrieves a list of "Email to Fax configurations" from your account if no
5857/// additional parameter is provided.
5858/// \- Retrieves a specific "Email to Fax configuration" from your account if a
5859/// ID is provided.
5860///
5861/// Parameters for [`Client::get_email_to_fax`] (wire method `getEmailToFax`).
5862#[derive(Debug, Default, Clone, Serialize)]
5863pub struct GetEmailToFAXParams {
5864    #[serde(skip_serializing_if = "Option::is_none")]
5865    pub id: Option<i64>,
5866}
5867
5868/// \- Retrieves a list of Fax Folders from your account.
5869///
5870/// Parameters for [`Client::get_fax_folders`] (wire method `getFaxFolders`).
5871#[derive(Debug, Default, Clone, Serialize)]
5872pub struct GetFAXFoldersParams {
5873    #[serde(skip_serializing_if = "Option::is_none")]
5874    pub id: Option<i64>,
5875}
5876
5877/// \- Retrieves a Base64 code of the Fax Message to create a PDF file.
5878///
5879/// Parameters for [`Client::get_fax_message_pdf`] (wire method `getFaxMessagePDF`).
5880#[derive(Debug, Default, Clone, Serialize)]
5881pub struct GetFAXMessagePDFParams {
5882    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
5883    #[serde(skip_serializing_if = "Option::is_none")]
5884    pub id: Option<i64>,
5885}
5886
5887/// \- Retrieves a list of Fax Messages.
5888/// \- Retrieves a specific Fax Message if a Fax Message ID is provided.
5889///
5890/// Parameters for [`Client::get_fax_messages`] (wire method `getFaxMessages`).
5891#[derive(Debug, Default, Clone, Serialize)]
5892pub struct GetFAXMessagesParams {
5893    /// Start Date for Filtering Fax Messages (Example: '2014-03-30') - Default
5894    /// value: Today
5895    #[serde(skip_serializing_if = "Option::is_none")]
5896    pub from: Option<String>,
5897    /// End Date for Filtering Fax Messages (Example: '2014-03-30') - Default
5898    /// value: Today
5899    #[serde(skip_serializing_if = "Option::is_none")]
5900    pub to: Option<String>,
5901    /// Name of specific Fax Folder (Example: SENT) - Default value: ALL
5902    #[serde(skip_serializing_if = "Option::is_none")]
5903    pub folder: Option<String>,
5904    /// ID for a Specific Fax Message (Example: 23434)
5905    #[serde(skip_serializing_if = "Option::is_none")]
5906    pub id: Option<i64>,
5907}
5908
5909/// \- Retrieves a list of Fax Numbers.
5910///
5911/// Parameters for [`Client::get_fax_numbers_info`] (wire method `getFaxNumbersInfo`).
5912#[derive(Debug, Default, Clone, Serialize)]
5913pub struct GetFAXNumbersInfoParams {
5914    /// Fax Number to retrieves the information of a single number, or not send
5915    /// if you want retrieves the information of all your Fax Numbers.
5916    #[serde(skip_serializing_if = "Option::is_none")]
5917    pub did: Option<i64>,
5918}
5919
5920/// \- Shows if a Fax Number can be ported into our network
5921///
5922/// Parameters for [`Client::get_fax_numbers_portability`] (wire method `getFaxNumbersPortability`).
5923#[derive(Debug, Default, Clone, Serialize)]
5924pub struct GetFAXNumbersPortabilityParams {
5925    /// DID Number to be ported into our network (Example: 5552341234)
5926    /// (required)
5927    #[serde(skip_serializing_if = "Option::is_none")]
5928    pub did: Option<i64>,
5929}
5930
5931/// \- Retrieves a list of Canadian Fax Provinces if no additional parameter is
5932/// provided.
5933/// \- Retrieves a specific Canadian Fax Province if a province code is provided.
5934///
5935/// Parameters for [`Client::get_fax_provinces`] (wire method `getFaxProvinces`).
5936#[derive(Debug, Default, Clone, Serialize)]
5937pub struct GetFAXProvincesParams {
5938    /// CODE for a specific Province (Example: AB)
5939    #[serde(skip_serializing_if = "Option::is_none")]
5940    pub province: Option<String>,
5941}
5942
5943/// \- Retrieves a list of Canadian Ratecenters by Province.
5944///
5945/// Parameters for [`Client::get_fax_rate_centers_can`] (wire method `getFaxRateCentersCAN`).
5946#[derive(Debug, Default, Clone, Serialize)]
5947pub struct GetFAXRateCentersCANParams {
5948    /// Province two letters code (Example: AB) (required)
5949    #[serde(skip_serializing_if = "Option::is_none")]
5950    pub province: Option<String>,
5951}
5952
5953/// \- Retrieves a list of USA Ratecenters by State.
5954///
5955/// Parameters for [`Client::get_fax_rate_centers_usa`] (wire method `getFaxRateCentersUSA`).
5956#[derive(Debug, Default, Clone, Serialize)]
5957pub struct GetFAXRateCentersUSAParams {
5958    /// Province two letters code (Example: AL) (required)
5959    #[serde(skip_serializing_if = "Option::is_none")]
5960    pub state: Option<String>,
5961}
5962
5963/// \- Retrieves a list of American Fax States if no additional parameter is
5964/// provided.
5965/// \- Retrieves a specific American Fax State if a state code is provided.
5966///
5967/// Parameters for [`Client::get_fax_states`] (wire method `getFaxStates`).
5968#[derive(Debug, Default, Clone, Serialize)]
5969pub struct GetFAXStatesParams {
5970    /// CODE for a specific State (Example: AL)
5971    #[serde(skip_serializing_if = "Option::is_none")]
5972    pub state: Option<String>,
5973}
5974
5975/// \- Retrieves a list of Forwardings if no additional parameter is provided.
5976/// \- Retrieves a specific Forwarding if a fwd code is provided.
5977///
5978/// Parameters for [`Client::get_forwardings`] (wire method `getForwardings`).
5979#[derive(Debug, Default, Clone, Serialize)]
5980pub struct GetForwardingsParams {
5981    /// ID for a specific Forwarding (Example: 18635)
5982    #[serde(skip_serializing_if = "Option::is_none")]
5983    pub forwarding: Option<String>,
5984}
5985
5986/// \- Shows the IP used by the client application requesting information from
5987/// the API
5988/// \* this is the only function not using the IP for authentication.
5989/// \* the IP returned should be the one used in the API Configuration.
5990///
5991/// Parameters for [`Client::get_ip`] (wire method `getIP`).
5992#[derive(Debug, Default, Clone, Serialize)]
5993pub struct GetIPParams {}
5994
5995/// \- Retrieves a list of IVRs if no additional parameter is provided.
5996/// \- Retrieves a specific IVR if a IVR code is provided.
5997///
5998/// Parameters for [`Client::get_ivrs`] (wire method `getIVRs`).
5999#[derive(Debug, Default, Clone, Serialize)]
6000pub struct GetIVRsParams {
6001    /// ID for a specific IVR (Example: 4636)
6002    #[serde(skip_serializing_if = "Option::is_none")]
6003    pub ivr: Option<String>,
6004}
6005
6006/// \- Retrieves a list of Types for International DIDs if no additional
6007/// parameter is provided.
6008/// \- Retrieves a specific Types for International DIDs if a type code is
6009/// provided.
6010///
6011/// Parameters for [`Client::get_international_types`] (wire method `getInternationalTypes`).
6012#[derive(Debug, Default, Clone, Serialize)]
6013pub struct GetInternationalTypesParams {
6014    /// Code for a specific International Type (Example: 'NATIONAL')
6015    #[serde(skip_serializing_if = "Option::is_none")]
6016    pub r#type: Option<String>,
6017}
6018
6019/// \- Retrieves a list of 'JoinWhenEmpty' Types if no additional parameter is
6020/// provided.
6021/// \- Retrieves a specific 'JoinWhenEmpty' Types if a type code is provided.
6022///
6023/// Parameters for [`Client::get_join_when_empty_types`] (wire method `getJoinWhenEmptyTypes`).
6024#[derive(Debug, Default, Clone, Serialize)]
6025pub struct GetJoinWhenEmptyTypesParams {
6026    /// Code for a specific 'JoinWhenEmpty' Type (Example: 'yes')
6027    #[serde(skip_serializing_if = "Option::is_none")]
6028    pub r#type: Option<String>,
6029}
6030
6031/// \- Retrieve the details of an attached invoice.
6032///
6033/// Parameters for [`Client::get_lnp_attach`] (wire method `getLNPAttach`).
6034#[derive(Debug, Default, Clone, Serialize)]
6035pub struct GetLNPAttachParams {
6036    /// ID of the invoice (attachment) previously uploaded. (required)
6037    #[serde(skip_serializing_if = "Option::is_none")]
6038    pub attachid: Option<i64>,
6039}
6040
6041/// \- Retrieve the list of invoice (attached) files from a given portability
6042/// process.
6043///
6044/// Parameters for [`Client::get_lnp_attach_list`] (wire method `getLNPAttachList`).
6045#[derive(Debug, Default, Clone, Serialize)]
6046pub struct GetLNPAttachListParams {
6047    /// ID of the port previously created. (required)
6048    #[serde(skip_serializing_if = "Option::is_none")]
6049    pub portid: Option<i64>,
6050}
6051
6052/// \- Retrieve the details of a given portability process.
6053///
6054/// Parameters for [`Client::get_lnp_details`] (wire method `getLNPDetails`).
6055#[derive(Debug, Default, Clone, Serialize)]
6056pub struct GetLNPDetailsParams {
6057    /// ID of the port previously created. (required)
6058    #[serde(skip_serializing_if = "Option::is_none")]
6059    pub portid: Option<i64>,
6060}
6061
6062/// \- Retrieve the full list of all your portability processes.
6063///
6064/// Parameters for [`Client::get_lnp_list`] (wire method `getLNPList`).
6065#[derive(Debug, Default, Clone, Serialize)]
6066pub struct GetLNPListParams {
6067    /// ID of the port previously created. (required)
6068    #[serde(skip_serializing_if = "Option::is_none")]
6069    pub portid: Option<i64>,
6070    /// Status code to filtering Ports. Example: precessing. (You can use the
6071    /// values returned by the method getLNPListStatus)
6072    #[serde(skip_serializing_if = "Option::is_none")]
6073    pub portStatus: Option<String>,
6074    /// Start Date for filtering Ports. (Example: '2014-03-30')
6075    #[serde(skip_serializing_if = "Option::is_none")]
6076    pub startDate: Option<String>,
6077    /// End Date for filtering Ports. (Example: '2014-03-30')
6078    #[serde(skip_serializing_if = "Option::is_none")]
6079    pub endDate: Option<String>,
6080}
6081
6082/// \- Retrieve the list of possible status of a portability process.
6083///
6084/// Parameters for [`Client::get_lnp_list_status`] (wire method `getLNPListStatus`).
6085#[derive(Debug, Default, Clone, Serialize)]
6086pub struct GetLNPListStatusParams {}
6087
6088/// \- Retrieve the list of notes from the given portability process.
6089///
6090/// Parameters for [`Client::get_lnp_notes`] (wire method `getLNPNotes`).
6091#[derive(Debug, Default, Clone, Serialize)]
6092pub struct GetLNPNotesParams {
6093    /// ID of the port previously created. (required)
6094    #[serde(skip_serializing_if = "Option::is_none")]
6095    pub portid: Option<i64>,
6096}
6097
6098/// \- Retrieve the current status of a given portability process.
6099///
6100/// Parameters for [`Client::get_lnp_status`] (wire method `getLNPStatus`).
6101#[derive(Debug, Default, Clone, Serialize)]
6102pub struct GetLNPStatusParams {
6103    /// ID of the port previously created. (required)
6104    #[serde(skip_serializing_if = "Option::is_none")]
6105    pub portid: Option<i64>,
6106}
6107
6108/// \- Retrieves a list of Languages if no additional parameter is provided.
6109/// \- Retrieves a specific Language if a language code is provided.
6110///
6111/// Parameters for [`Client::get_languages`] (wire method `getLanguages`).
6112#[derive(Debug, Default, Clone, Serialize)]
6113pub struct GetLanguagesParams {
6114    /// Code for a specific Language (Example: 'en')
6115    #[serde(skip_serializing_if = "Option::is_none")]
6116    pub language: Option<String>,
6117}
6118
6119/// \- Retrieves a list of locale codes if no additional parameter is provided.
6120/// \- Retrieves a specific locale code if a language code is provided.
6121///
6122/// Parameters for [`Client::get_locales`] (wire method `getLocales`).
6123#[derive(Debug, Default, Clone, Serialize)]
6124pub struct GetLocalesParams {
6125    /// Code for a specific Locale Code (Example: 'en-US')
6126    #[serde(skip_serializing_if = "Option::is_none")]
6127    pub locale: Option<String>,
6128}
6129
6130/// Parameters for [`Client::get_locations`] (wire method `getLocations`).
6131#[derive(Debug, Default, Clone, Serialize)]
6132pub struct GetLocationsParams {}
6133
6134/// \- Retrieves a list of Lock Modes if no additional parameter is provided.
6135/// \- Retrieves a specific Lock Mode if a lock code is provided.
6136///
6137/// Parameters for [`Client::get_lock_international`] (wire method `getLockInternational`).
6138#[derive(Debug, Default, Clone, Serialize)]
6139pub struct GetLockInternationalParams {
6140    /// Code for a specific Lock International Mode (Example: 1)
6141    #[serde(skip_serializing_if = "Option::is_none")]
6142    pub lock_international: Option<String>,
6143}
6144
6145/// \- Retrieves a list of MMS messages by: date range, mms type, DID number, and
6146/// contact.
6147///
6148/// Parameters for [`Client::get_mms`] (wire method `getMMS`).
6149#[derive(Debug, Default, Clone, Serialize)]
6150pub struct GetMMSParams {
6151    /// ID for a specific MMS (Example: 1918)
6152    #[serde(skip_serializing_if = "Option::is_none")]
6153    pub mms: Option<i64>,
6154    /// Start Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6155    /// Today
6156    #[serde(skip_serializing_if = "Option::is_none")]
6157    pub from: Option<String>,
6158    /// End Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6159    /// Today
6160    #[serde(skip_serializing_if = "Option::is_none")]
6161    pub to: Option<String>,
6162    /// Filter MMSs by Type (Boolean: 1 = received / 0 = sent)
6163    #[serde(skip_serializing_if = "Option::is_none")]
6164    pub r#type: Option<MessageType>,
6165    /// DID number for Filtering MMSs (Example: 5551234567)
6166    #[serde(skip_serializing_if = "Option::is_none")]
6167    pub did: Option<String>,
6168    /// Contact number for Filtering MMSs (Example: 5551234567)
6169    #[serde(skip_serializing_if = "Option::is_none")]
6170    pub contact: Option<String>,
6171    /// Number of records to be displayed (Example: 20) - Default value: 50
6172    #[serde(skip_serializing_if = "Option::is_none")]
6173    pub limit: Option<String>,
6174    /// Adjust time of MMSs according to Timezome (Numeric: -12 to 13)
6175    #[serde(skip_serializing_if = "Option::is_none")]
6176    pub timezone: Option<String>,
6177    /// Filter to recive all MMSs and SMSs, 1 recive all SMS and MMS, 0 if only
6178    /// need MMS, important: the sms ID must be 0
6179    #[serde(skip_serializing_if = "Option::is_none")]
6180    pub all_messages: Option<i64>,
6181}
6182
6183/// \- Retrieves media files from the message.
6184///
6185/// Parameters for [`Client::get_media_mms`] (wire method `getMediaMMS`).
6186#[derive(Debug, Default, Clone, Serialize)]
6187pub struct GetMediaMMSParams {
6188    /// ID for a specific MMS (Example: 1918)
6189    #[serde(skip_serializing_if = "Option::is_none")]
6190    pub id: Option<i64>,
6191    /// Return the list of media attachments as an Array if the value is 1 or as
6192    /// a JSON Object if the value is 0 (Default: 0)
6193    #[serde(skip_serializing_if = "Option::is_none")]
6194    pub media_as_array: Option<i64>,
6195}
6196
6197/// \- Retrieves a list of Music on Hold Options if no additional parameter is
6198/// provided.
6199/// \- Retrieves a specific Music on Hold Option if a MOH code is provided.
6200///
6201/// Parameters for [`Client::get_music_on_hold`] (wire method `getMusicOnHold`).
6202#[derive(Debug, Default, Clone, Serialize)]
6203pub struct GetMusicOnHoldParams {
6204    /// Code for a specific Music on Hold (Example: 'jazz')
6205    #[serde(skip_serializing_if = "Option::is_none")]
6206    pub music_on_hold: Option<String>,
6207}
6208
6209/// \- Retrieves a list of NAT Options if no additional parameter is provided.
6210/// \- Retrieves a specific NAT Option if a NAT code is provided.
6211///
6212/// Parameters for [`Client::get_nat`] (wire method `getNAT`).
6213#[derive(Debug, Default, Clone, Serialize)]
6214pub struct GetNATParams {
6215    /// Code for a specific NAT Option (Example: 'route')
6216    #[serde(skip_serializing_if = "Option::is_none")]
6217    pub nat: Option<Nat>,
6218}
6219
6220/// \- Retrieves a list of Packages if no additional parameter is provided.-
6221/// Retrieves a specific Package if a package code is provided.
6222///
6223/// Parameters for [`Client::get_packages`] (wire method `getPackages`).
6224#[derive(Debug, Default, Clone, Serialize)]
6225pub struct GetPackagesParams {
6226    /// Code for a specific Package (Example: 8378)
6227    #[serde(skip_serializing_if = "Option::is_none")]
6228    pub package: Option<String>,
6229}
6230
6231/// \- Retrieves a list of Phonebook entries if no additional parameter is
6232/// provided.
6233/// \- Retrieves a list of Phonebook entries if a name is provided.
6234/// \- Retrieves a specific Phonebook entry if a Phonebook code is provided.
6235/// \- Retrieves a list of Phonebook entries if a phonebook group name is
6236/// provided.
6237/// \- Retrieves a list of Phonebook entries if a phonebook group code is
6238/// provided.
6239///
6240/// Parameters for [`Client::get_phonebook`] (wire method `getPhonebook`).
6241#[derive(Debug, Default, Clone, Serialize)]
6242pub struct GetPhonebookParams {
6243    /// ID for a specific Phonebook entry (Example: 32207)
6244    #[serde(skip_serializing_if = "Option::is_none")]
6245    pub phonebook: Option<String>,
6246    /// Name to be searched in database (Example: 'jane')
6247    #[serde(skip_serializing_if = "Option::is_none")]
6248    pub name: Option<String>,
6249    /// ID for a specific Phonebook group
6250    #[serde(skip_serializing_if = "Option::is_none")]
6251    pub group: Option<String>,
6252    /// Group Name
6253    #[serde(skip_serializing_if = "Option::is_none")]
6254    pub group_name: Option<String>,
6255}
6256
6257/// \- Retrieves a list of Phonebook groups if no additional parameter is
6258/// provided.
6259/// \- Retrieves a list of Phonebook groups if a name is provided.
6260/// \- Retrieves a specific Phonebook group if a group ID is provided.
6261///
6262/// Parameters for [`Client::get_phonebook_groups`] (wire method `getPhonebookGroups`).
6263#[derive(Debug, Default, Clone, Serialize)]
6264pub struct GetPhonebookGroupsParams {
6265    /// Group Name
6266    #[serde(skip_serializing_if = "Option::is_none")]
6267    pub name: Option<String>,
6268    /// ID for a specific Phonebook group
6269    #[serde(skip_serializing_if = "Option::is_none")]
6270    pub group: Option<String>,
6271}
6272
6273/// \- Retrieves a list of Play Instructions modes if no additional parameter is
6274/// provided.
6275/// \- Retrieves a specific Play Instructions mode if a play code is provided.
6276///
6277/// Parameters for [`Client::get_play_instructions`] (wire method `getPlayInstructions`).
6278#[derive(Debug, Default, Clone, Serialize)]
6279pub struct GetPlayInstructionsParams {
6280    /// Code for a specific Play Instructions setting (Example: 'u')
6281    #[serde(skip_serializing_if = "Option::is_none")]
6282    pub play_instructions: Option<PlayInstructions>,
6283}
6284
6285/// \- Shows if a DID Number can be ported into our network.
6286/// \- Display plans and rates available if the DID Number can be ported into our
6287/// network.
6288///
6289/// Parameters for [`Client::get_portability`] (wire method `getPortability`).
6290#[derive(Debug, Default, Clone, Serialize)]
6291pub struct GetPortabilityParams {
6292    /// DID Number to be ported into our network (Example: 5552341234)
6293    /// (required)
6294    #[serde(skip_serializing_if = "Option::is_none")]
6295    pub did: Option<String>,
6296}
6297
6298/// \- Retrieves a list of Protocols if no additional parameter is provided.
6299/// \- Retrieves a specific Protocol if a protocol code is provided.
6300///
6301/// Parameters for [`Client::get_protocols`] (wire method `getProtocols`).
6302#[derive(Debug, Default, Clone, Serialize)]
6303pub struct GetProtocolsParams {
6304    /// Code for a specific Protocol (Example: 3)
6305    #[serde(skip_serializing_if = "Option::is_none")]
6306    pub protocol: Option<String>,
6307}
6308
6309/// \- Retrieves a list of Canadian Provinces.
6310///
6311/// Parameters for [`Client::get_provinces`] (wire method `getProvinces`).
6312#[derive(Debug, Default, Clone, Serialize)]
6313pub struct GetProvincesParams {}
6314
6315/// \- Retrieves a list of Queue entries if no additional parameter is provided.
6316/// \- Retrieves a specific Queue entry if a Queue code is provided.
6317///
6318/// Parameters for [`Client::get_queues`] (wire method `getQueues`).
6319#[derive(Debug, Default, Clone, Serialize)]
6320pub struct GetQueuesParams {
6321    /// ID for a specific Queue (Example: 4764)
6322    #[serde(skip_serializing_if = "Option::is_none")]
6323    pub queue: Option<String>,
6324}
6325
6326/// \- Retrieves a list of Canadian Ratecenters by Province.
6327///
6328/// Parameters for [`Client::get_rate_centers_can`] (wire method `getRateCentersCAN`).
6329#[derive(Debug, Default, Clone, Serialize)]
6330pub struct GetRateCentersCANParams {
6331    /// Canadian Province (Values from getProvinces) (required)
6332    #[serde(skip_serializing_if = "Option::is_none")]
6333    pub province: Option<String>,
6334}
6335
6336/// \- Retrieves a list of USA Ratecenters by State.
6337///
6338/// Parameters for [`Client::get_rate_centers_usa`] (wire method `getRateCentersUSA`).
6339#[derive(Debug, Default, Clone, Serialize)]
6340pub struct GetRateCentersUSAParams {
6341    /// United States State (Values from getStates) (required)
6342    #[serde(skip_serializing_if = "Option::is_none")]
6343    pub state: Option<String>,
6344}
6345
6346/// \- Retrieves the Rates for a specific Package and a Search term.
6347///
6348/// Parameters for [`Client::get_rates`] (wire method `getRates`).
6349#[derive(Debug, Default, Clone, Serialize)]
6350pub struct GetRatesParams {
6351    /// ID for a specific Package (Example: 92364) (required)
6352    #[serde(skip_serializing_if = "Option::is_none")]
6353    pub package: Option<String>,
6354    /// Query for searching rates (Example: 'Canada') (required)
6355    #[serde(skip_serializing_if = "Option::is_none")]
6356    pub query: Option<String>,
6357}
6358
6359/// \- Retrieves a specific Recording File data in Base64 format.
6360///
6361/// Parameters for [`Client::get_recording_file`] (wire method `getRecordingFile`).
6362#[derive(Debug, Default, Clone, Serialize)]
6363pub struct GetRecordingFileParams {
6364    /// ID for a specific Recording (Example: 7567) (required)
6365    #[serde(skip_serializing_if = "Option::is_none")]
6366    pub recording: Option<String>,
6367}
6368
6369/// \- Retrieves a list of Recordings if no additional parameter is provided.
6370/// \- Retrieves a specific Recording if a Recording code is provided.
6371///
6372/// Parameters for [`Client::get_recordings`] (wire method `getRecordings`).
6373#[derive(Debug, Default, Clone, Serialize)]
6374pub struct GetRecordingsParams {
6375    /// ID for a specific Recording (Example: 7567)
6376    #[serde(skip_serializing_if = "Option::is_none")]
6377    pub recording: Option<String>,
6378}
6379
6380/// \- Retrieves the Registration Status of all accounts if no account is
6381/// provided.
6382///
6383/// Parameters for [`Client::get_registration_status`] (wire method `getRegistrationStatus`).
6384#[derive(Debug, Default, Clone, Serialize)]
6385pub struct GetRegistrationStatusParams {
6386    /// Specific Account (Example: '100001_VoIP') (required)
6387    #[serde(skip_serializing_if = "Option::is_none")]
6388    pub account: Option<String>,
6389}
6390
6391/// \- Retrieves a list of 'ReportEstimateHoldTime' Types if no additional
6392/// parameter is provided.
6393/// \- Retrieves a specific 'ReportEstimateHoldTime' Type if a type code is
6394/// provided.
6395///
6396/// Parameters for [`Client::get_report_estimated_hold_time`] (wire method `getReportEstimatedHoldTime`).
6397#[derive(Debug, Default, Clone, Serialize)]
6398pub struct GetReportEstimatedHoldTimeParams {
6399    /// Code for a specific 'ReportEstimatedHoldTime' Type (Example: 'yes')
6400    #[serde(skip_serializing_if = "Option::is_none")]
6401    pub r#type: Option<String>,
6402}
6403
6404/// \- Retrieves Balance and Calls Statistics for a specific Reseller Client for
6405/// the last 30 days and current day.
6406///
6407/// Parameters for [`Client::get_reseller_balance`] (wire method `getResellerBalance`).
6408#[derive(Debug, Default, Clone, Serialize)]
6409pub struct GetResellerBalanceParams {
6410    /// ID for a specific Reseller Client (Example: 561115) (required)
6411    #[serde(skip_serializing_if = "Option::is_none")]
6412    pub client: Option<String>,
6413}
6414
6415/// \- Retrieves the Call Detail Records for a specific Reseller Client.
6416///
6417/// Parameters for [`Client::get_reseller_cdr`] (wire method `getResellerCDR`).
6418#[derive(Debug, Default, Clone, Serialize)]
6419pub struct GetResellerCDRParams {
6420    /// Start Date for Filtering CDR (Example: '2010-11-30') (required)
6421    #[serde(skip_serializing_if = "Option::is_none")]
6422    pub date_from: Option<String>,
6423    /// End Date for Filtering CDR (Example: '2010-11-30') (required)
6424    #[serde(skip_serializing_if = "Option::is_none")]
6425    pub date_to: Option<String>,
6426    /// ID for a specific Reseller Client (Example: 561115) (required)
6427    #[serde(skip_serializing_if = "Option::is_none")]
6428    pub client: Option<i64>,
6429    /// Include Answered Calls to CDR (Boolean: 1/0)
6430    #[serde(
6431        skip_serializing_if = "Option::is_none",
6432        serialize_with = "crate::responses::serialize_opt_flag_01"
6433    )]
6434    pub answered: Option<bool>,
6435    /// Include NoAnswered calls to CDR (Boolean: 1/0)
6436    #[serde(
6437        skip_serializing_if = "Option::is_none",
6438        serialize_with = "crate::responses::serialize_opt_flag_01"
6439    )]
6440    pub noanswer: Option<bool>,
6441    /// Include Busy Calls to CDR (Boolean: 1/0)
6442    #[serde(
6443        skip_serializing_if = "Option::is_none",
6444        serialize_with = "crate::responses::serialize_opt_flag_01"
6445    )]
6446    pub busy: Option<bool>,
6447    /// Include Failed Calls to CDR (Boolean: 1/0)
6448    #[serde(
6449        skip_serializing_if = "Option::is_none",
6450        serialize_with = "crate::responses::serialize_opt_flag_01"
6451    )]
6452    pub failed: Option<bool>,
6453    /// Adjust time of calls according to Timezome (Numeric: -12 to 13)
6454    /// (required)
6455    #[serde(skip_serializing_if = "Option::is_none")]
6456    pub timezone: Option<f64>,
6457    /// Filters CDR by Call Type (Values from getCallTypes)
6458    #[serde(skip_serializing_if = "Option::is_none")]
6459    pub calltype: Option<String>,
6460    /// Filter CDR by Call Billing (Values from getCallBilling)
6461    #[serde(skip_serializing_if = "Option::is_none")]
6462    pub callbilling: Option<String>,
6463    /// Filter CDR by Account (Values from getCallAccounts)
6464    #[serde(skip_serializing_if = "Option::is_none")]
6465    pub account: Option<String>,
6466}
6467
6468/// \- Retrieves a list of MMS messages for a specific Reseller Client. by: date
6469/// range, mms type, DID number, and contact
6470///
6471/// Parameters for [`Client::get_reseller_mms`] (wire method `getResellerMMS`).
6472#[derive(Debug, Default, Clone, Serialize)]
6473pub struct GetResellerMMSParams {
6474    #[serde(skip_serializing_if = "Option::is_none")]
6475    pub mms: Option<i64>,
6476    #[serde(skip_serializing_if = "Option::is_none")]
6477    pub client: Option<i64>,
6478    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6479    /// Today
6480    #[serde(skip_serializing_if = "Option::is_none")]
6481    pub from: Option<String>,
6482    /// End Date for Filtering MMSs (Example: '2014-03-30') - Default value:
6483    /// Todayclient => \[Required\] ID for a specific Reseller Client (Example:
6484    /// 561115)
6485    #[serde(skip_serializing_if = "Option::is_none")]
6486    pub to: Option<String>,
6487    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6488    #[serde(skip_serializing_if = "Option::is_none")]
6489    pub r#type: Option<MessageType>,
6490    /// DID number for Filtering MMSs (Example: 5551234567)
6491    #[serde(skip_serializing_if = "Option::is_none")]
6492    pub did: Option<String>,
6493    /// Contact number for Filtering MMSs (Example: 5551234567)
6494    #[serde(skip_serializing_if = "Option::is_none")]
6495    pub contact: Option<String>,
6496    /// Number of records to be displayed (Example: 20) - Default value: 50
6497    #[serde(skip_serializing_if = "Option::is_none")]
6498    pub limit: Option<String>,
6499    /// Adjust time of MMSs according to Timezome (Numeric: -12 to 13)
6500    #[serde(skip_serializing_if = "Option::is_none")]
6501    pub timezone: Option<String>,
6502    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6503    /// need SMS, important: the sms ID must be 0
6504    #[serde(skip_serializing_if = "Option::is_none")]
6505    pub all_messages: Option<i64>,
6506}
6507
6508/// \- Retrieves a list of SMS messages for a specific Reseller Client. by: date
6509/// range, sms type, DID number, and contact
6510///
6511/// Parameters for [`Client::get_reseller_sms`] (wire method `getResellerSMS`).
6512#[derive(Debug, Default, Clone, Serialize)]
6513pub struct GetResellerSMSParams {
6514    /// ID for a specific SMS (Example: 5853)
6515    #[serde(skip_serializing_if = "Option::is_none")]
6516    pub sms: Option<i64>,
6517    #[serde(skip_serializing_if = "Option::is_none")]
6518    pub client: Option<i64>,
6519    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6520    /// Today
6521    #[serde(skip_serializing_if = "Option::is_none")]
6522    pub from: Option<String>,
6523    /// End Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6524    /// Todayclient => \[Required\] ID for a specific Reseller Client (Example:
6525    /// 561115)
6526    #[serde(skip_serializing_if = "Option::is_none")]
6527    pub to: Option<String>,
6528    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6529    #[serde(skip_serializing_if = "Option::is_none")]
6530    pub r#type: Option<MessageType>,
6531    /// DID number for Filtering SMSs (Example: 5551234567)
6532    #[serde(skip_serializing_if = "Option::is_none")]
6533    pub did: Option<String>,
6534    /// Contact number for Filtering SMSs (Example: 5551234567)
6535    #[serde(skip_serializing_if = "Option::is_none")]
6536    pub contact: Option<String>,
6537    /// Number of records to be displayed (Example: 20) - Default value: 50
6538    #[serde(skip_serializing_if = "Option::is_none")]
6539    pub limit: Option<String>,
6540    /// Adjust time of SMSs according to Timezome (Numeric: -12 to 13)
6541    #[serde(skip_serializing_if = "Option::is_none")]
6542    pub timezone: Option<String>,
6543    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6544    /// need SMS, important: the sms ID must be 0
6545    #[serde(skip_serializing_if = "Option::is_none")]
6546    pub all_messages: Option<i64>,
6547}
6548
6549/// \- Retrieves a list of Ring Groups if no additional parameter is provided.
6550/// \- Retrieves a specific Ring Group if a ring group code is provided.
6551///
6552/// Parameters for [`Client::get_ring_groups`] (wire method `getRingGroups`).
6553#[derive(Debug, Default, Clone, Serialize)]
6554pub struct GetRingGroupsParams {
6555    /// ID for a specific Ring Group (Example: 4768)
6556    #[serde(skip_serializing_if = "Option::is_none")]
6557    pub ring_group: Option<String>,
6558}
6559
6560/// \- Retrieves a list of Ring Strategies if no additional parameter is
6561/// provided.
6562/// \- Retrieves a specific Ring Strategy if a ring strategy code is provided.
6563///
6564/// Parameters for [`Client::get_ring_strategies`] (wire method `getRingStrategies`).
6565#[derive(Debug, Default, Clone, Serialize)]
6566pub struct GetRingStrategiesParams {
6567    /// ID for a specific Ring Strategy (Example: 'rrmemory')
6568    #[serde(skip_serializing_if = "Option::is_none")]
6569    pub strategy: Option<String>,
6570}
6571
6572/// \- Retrieves a list of Route Options if no additional parameter is provided.
6573/// \- Retrieves a specific Route Option if a route code is provided.
6574///
6575/// Parameters for [`Client::get_routes`] (wire method `getRoutes`).
6576#[derive(Debug, Default, Clone, Serialize)]
6577pub struct GetRoutesParams {
6578    /// Code for a specific Route (Example: 2)
6579    #[serde(skip_serializing_if = "Option::is_none")]
6580    pub route: Option<String>,
6581}
6582
6583/// \- Retrieves a list of SIP URIs if no additional parameter is provided.
6584/// \- Retrieves a specific SIP URI if a SIP URI code is provided.
6585///
6586/// Parameters for [`Client::get_sip_uris`] (wire method `getSIPURIs`).
6587#[derive(Debug, Default, Clone, Serialize)]
6588pub struct GetSIPURIsParams {
6589    /// ID for a specific SIP URI (Example: 6199)
6590    #[serde(skip_serializing_if = "Option::is_none")]
6591    pub sipuri: Option<String>,
6592}
6593
6594/// \- Retrieves a list of SMS messages by: date range, sms type, DID number, and
6595/// contact.
6596///
6597/// Parameters for [`Client::get_sms`] (wire method `getSMS`).
6598#[derive(Debug, Default, Clone, Serialize)]
6599pub struct GetSMSParams {
6600    /// ID for a specific SMS (Example: 5853)
6601    #[serde(skip_serializing_if = "Option::is_none")]
6602    pub sms: Option<i64>,
6603    /// Start Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6604    /// Today
6605    #[serde(skip_serializing_if = "Option::is_none")]
6606    pub from: Option<String>,
6607    /// End Date for Filtering SMSs (Example: '2014-03-30') - Default value:
6608    /// Today
6609    #[serde(skip_serializing_if = "Option::is_none")]
6610    pub to: Option<String>,
6611    /// Filter SMSs by Type (Boolean: 1 = received / 0 = sent)
6612    #[serde(skip_serializing_if = "Option::is_none")]
6613    pub r#type: Option<MessageType>,
6614    /// DID number for Filtering SMSs (Example: 5551234567)
6615    #[serde(skip_serializing_if = "Option::is_none")]
6616    pub did: Option<String>,
6617    /// Contact number for Filtering SMSs (Example: 5551234567)
6618    #[serde(skip_serializing_if = "Option::is_none")]
6619    pub contact: Option<String>,
6620    /// Number of records to be displayed (Example: 20) - Default value: 50
6621    #[serde(skip_serializing_if = "Option::is_none")]
6622    pub limit: Option<String>,
6623    /// Adjust time of SMSs according to Timezome (Numeric: -12 to 13)
6624    #[serde(skip_serializing_if = "Option::is_none")]
6625    pub timezone: Option<String>,
6626    /// Filter to recive all SMSs and MMSs, 1 recive all SMS and MMS, 0 if only
6627    /// need SMS, important: the sms ID must be 0
6628    #[serde(skip_serializing_if = "Option::is_none")]
6629    pub all_messages: Option<i64>,
6630}
6631
6632/// \- Retrieves a list of Servers with their info if no additional parameter is
6633/// provided.
6634/// \- Retrieves a specific Server with its info if a Server POP is provided.
6635///
6636/// Parameters for [`Client::get_servers_info`] (wire method `getServersInfo`).
6637#[derive(Debug, Default, Clone, Serialize)]
6638pub struct GetServersInfoParams {
6639    /// POP for a specific Server (Example: 1)
6640    #[serde(skip_serializing_if = "Option::is_none")]
6641    pub server_pop: Option<String>,
6642}
6643
6644/// \- Retrieves a list of USA States.
6645///
6646/// Parameters for [`Client::get_states`] (wire method `getStates`).
6647#[derive(Debug, Default, Clone, Serialize)]
6648pub struct GetStatesParams {}
6649
6650/// \- Retrieves a list of Static Members from a queue if no additional parameter
6651/// is provided.
6652/// \- Retrieves a specific Static Member from a queue if Queue ID and Member ID
6653/// are provided
6654///
6655/// Parameters for [`Client::get_static_members`] (wire method `getStaticMembers`).
6656#[derive(Debug, Default, Clone, Serialize)]
6657pub struct GetStaticMembersParams {
6658    /// ID for a specific Queue (Example: 4136) (required)
6659    #[serde(skip_serializing_if = "Option::is_none")]
6660    pub queue: Option<String>,
6661    /// ID for a specific Static Member (Example: 163) - The Member must belong
6662    /// to the queue provided
6663    #[serde(skip_serializing_if = "Option::is_none")]
6664    pub member: Option<String>,
6665}
6666
6667/// \- Retrieves all Sub Accounts if no additional parameter is provided.
6668/// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
6669/// \- Retrieves a specific Sub Account if a Sub Account is provided.
6670///
6671/// Parameters for [`Client::get_sub_accounts`] (wire method `getSubAccounts`).
6672#[derive(Debug, Default, Clone, Serialize)]
6673pub struct GetSubAccountsParams {
6674    /// Parameter could have the following values: * Empty Value \[Not
6675    /// Required\] * Specific Sub Account (Example: '100000_VoIP') * Specific
6676    /// Reseller Client ID (Example: 561115)
6677    #[serde(skip_serializing_if = "Option::is_none")]
6678    pub account: Option<String>,
6679}
6680
6681/// \- Retrieves the Rates for a specific Route (Premium, Value) and a Search
6682/// term.
6683///
6684/// Parameters for [`Client::get_termination_rates`] (wire method `getTerminationRates`).
6685#[derive(Debug, Default, Clone, Serialize)]
6686pub struct GetTerminationRatesParams {
6687    /// Query for searching rates (Example: 'Canada') (required)
6688    #[serde(skip_serializing_if = "Option::is_none")]
6689    pub query: Option<String>,
6690    /// Route Code (Values from getRoutes)(Example: '2') (required)
6691    #[serde(skip_serializing_if = "Option::is_none")]
6692    pub route: Option<i64>,
6693}
6694
6695/// \- Retrieves a list of Time Conditions if no additional parameter is
6696/// provided.
6697/// \- Retrieves a specific Time Condition if a time condition code is provided.
6698///
6699/// Parameters for [`Client::get_time_conditions`] (wire method `getTimeConditions`).
6700#[derive(Debug, Default, Clone, Serialize)]
6701pub struct GetTimeConditionsParams {
6702    /// ID for a specific Time Condition (Example: 1830)
6703    #[serde(skip_serializing_if = "Option::is_none")]
6704    pub timecondition: Option<i64>,
6705}
6706
6707/// \- Retrieves a list of Timezones if no additional parameter is provided.
6708/// \- Retrieves a specific Timezone if a timezone code is provided.
6709///
6710/// Parameters for [`Client::get_timezones`] (wire method `getTimezones`).
6711#[derive(Debug, Default, Clone, Serialize)]
6712pub struct GetTimezonesParams {
6713    /// Code for a specific Time Zone (Example: 'America/Buenos_Aires')
6714    #[serde(skip_serializing_if = "Option::is_none")]
6715    pub timezone: Option<String>,
6716}
6717
6718/// \- Retrieves the Transaction History records between two dates.
6719///
6720/// Parameters for [`Client::get_transaction_history`] (wire method `getTransactionHistory`).
6721#[derive(Debug, Default, Clone, Serialize)]
6722pub struct GetTransactionHistoryParams {
6723    /// Start Date for Filtering Transactions (Example: '2016-06-03') (required)
6724    #[serde(skip_serializing_if = "Option::is_none")]
6725    pub date_from: Option<String>,
6726    /// End Date for Filtering Transactions (Example: '2016-06-04') (required)
6727    #[serde(skip_serializing_if = "Option::is_none")]
6728    pub date_to: Option<String>,
6729}
6730
6731/// \- Retrieves a list of vpri.
6732///
6733/// Parameters for [`Client::get_vpris`] (wire method `getVPRIs`).
6734#[derive(Debug, Default, Clone, Serialize)]
6735pub struct GetVPRIsParams {}
6736
6737/// \- Retrieves a list of Email Attachment Format Options if no additional
6738/// parameter is provided.
6739/// \- Retrieves a specific Email Attachment Format Option if a format value is
6740/// provided.
6741///
6742/// Parameters for [`Client::get_voicemail_attachment_formats`] (wire method `getVoicemailAttachmentFormats`).
6743#[derive(Debug, Default, Clone, Serialize)]
6744pub struct GetVoicemailAttachmentFormatsParams {
6745    /// ID for a specific attachment format (Example: wav49)
6746    #[serde(skip_serializing_if = "Option::is_none")]
6747    pub email_attachment_format: Option<EmailAttachmentFormat>,
6748}
6749
6750/// \- Retrieves a list of default Voicemail Folders if no additional parameter
6751/// is provided.
6752/// \- Retrieves a list of Voicemail Folders within a mailbox if mailbox
6753/// parameter is provided.
6754/// \- Retrieves a specific Folder if a folder name is provided.
6755///
6756/// Parameters for [`Client::get_voicemail_folders`] (wire method `getVoicemailFolders`).
6757#[derive(Debug, Default, Clone, Serialize)]
6758pub struct GetVoicemailFoldersParams {
6759    /// Folder Name (Example: 'INBOX')
6760    #[serde(skip_serializing_if = "Option::is_none")]
6761    pub folder: Option<VoicemailFolder>,
6762}
6763
6764/// \- Retrieves a specific Voicemail Message File in Base64 format.
6765///
6766/// Parameters for [`Client::get_voicemail_message_file`] (wire method `getVoicemailMessageFile`).
6767#[derive(Debug, Default, Clone, Serialize)]
6768pub struct GetVoicemailMessageFileParams {
6769    /// ID for specific Mailbox (Example: 1001) (required)
6770    #[serde(skip_serializing_if = "Option::is_none")]
6771    pub mailbox: Option<String>,
6772    /// Name for specific Folder (Example: 'INBOX', values from:
6773    /// getVoicemailFolders) (required)
6774    #[serde(skip_serializing_if = "Option::is_none")]
6775    pub folder: Option<VoicemailFolder>,
6776    /// ID for specific Voicemail Message (Example: 1) (required)
6777    #[serde(skip_serializing_if = "Option::is_none")]
6778    pub message_num: Option<i64>,
6779}
6780
6781/// \- Retrieves a list of Voicemail Messages if mailbox parameter is provided.
6782/// \- Retrieves a list of Voicemail Messages in a Folder if a folder is
6783/// provided.
6784/// \- Retrieves a list of Voicemail Messages in a date range if a from and to
6785/// are provided.
6786///
6787/// Parameters for [`Client::get_voicemail_messages`] (wire method `getVoicemailMessages`).
6788#[derive(Debug, Default, Clone, Serialize)]
6789pub struct GetVoicemailMessagesParams {
6790    /// ID for specific Mailbox (Example: 1001) (required)
6791    #[serde(skip_serializing_if = "Option::is_none")]
6792    pub mailbox: Option<String>,
6793    /// Name for specific Folder (Example: 'INBOX', values from:
6794    /// getVoicemailFolders)
6795    #[serde(skip_serializing_if = "Option::is_none")]
6796    pub folder: Option<VoicemailFolder>,
6797    /// Start Date for Filtering Voicemail Messages (Example: '2016-01-30')
6798    #[serde(skip_serializing_if = "Option::is_none")]
6799    pub date_from: Option<String>,
6800    /// End Date for Filtering Voicemail Messages (Example: '2016-01-30')
6801    #[serde(skip_serializing_if = "Option::is_none")]
6802    pub date_to: Option<String>,
6803}
6804
6805/// \- Retrieves a list of Voicemail Setup Options if no additional parameter is
6806/// provided.
6807/// \- Retrieves a specific Voicemail Setup Option if a voicemail setup code is
6808/// provided.
6809///
6810/// Parameters for [`Client::get_voicemail_setups`] (wire method `getVoicemailSetups`).
6811#[derive(Debug, Default, Clone, Serialize)]
6812pub struct GetVoicemailSetupsParams {
6813    /// ID for a specific Voicemail Setup (Example: 2)
6814    #[serde(skip_serializing_if = "Option::is_none")]
6815    pub voicemailsetup: Option<String>,
6816}
6817
6818/// \- Retrieves all Voicemail Transcriptions if no additional parameter is
6819/// provided.
6820///
6821/// Parameters for [`Client::get_voicemail_transcriptions`] (wire method `getVoicemailTranscriptions`).
6822#[derive(Debug, Default, Clone, Serialize)]
6823pub struct GetVoicemailTranscriptionsParams {
6824    #[serde(skip_serializing_if = "Option::is_none")]
6825    pub account: Option<String>,
6826    /// ID for specific Mailbox (Example: 1001) (required)
6827    #[serde(skip_serializing_if = "Option::is_none")]
6828    pub mailbox: Option<String>,
6829    /// End Date for Filtering (Example: '2010-11-30') (required)
6830    #[serde(skip_serializing_if = "Option::is_none")]
6831    pub date_to: Option<String>,
6832    /// Start Date for Filtering (Example: '2010-11-30') (required)
6833    #[serde(skip_serializing_if = "Option::is_none")]
6834    pub date_from: Option<String>,
6835    /// Name for specific Folder (Example: 'INBOX', values from:
6836    /// getVoicemailFolders) (required)
6837    #[serde(skip_serializing_if = "Option::is_none")]
6838    pub folder: Option<VoicemailFolder>,
6839}
6840
6841/// \- Retrieves a list of Voicemails if no additional parameter is provided.
6842/// \- Retrieves a specific Voicemail if a voicemail code is provided.
6843///
6844/// Parameters for [`Client::get_voicemails`] (wire method `getVoicemails`).
6845#[derive(Debug, Default, Clone, Serialize)]
6846pub struct GetVoicemailsParams {
6847    /// ID for specific Mailbox (Example: 1001)
6848    #[serde(skip_serializing_if = "Option::is_none")]
6849    pub mailbox: Option<String>,
6850}
6851
6852/// \- Send a Fax Message attached as a PDF file to an email destination.
6853///
6854/// Parameters for [`Client::mail_fax_message_pdf`] (wire method `mailFaxMessagePDF`).
6855#[derive(Debug, Default, Clone, Serialize)]
6856pub struct MailFAXMessagePDFParams {
6857    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
6858    #[serde(skip_serializing_if = "Option::is_none")]
6859    pub id: Option<i64>,
6860    /// Destination email adreess (example: \[email protected\]) (required)
6861    #[serde(skip_serializing_if = "Option::is_none")]
6862    pub email: Option<String>,
6863}
6864
6865/// \- Mark a Voicemail Message as Listened or Unlistened.
6866/// \- If value is 'yes', the voicemail message will be marked as listened and
6867/// will be moved to the Old Folder.
6868/// \- If value is 'no', the voicemail message will be marked as not-listened and
6869/// will be moved to the INBOX Folder.
6870///
6871/// Parameters for [`Client::mark_listened_voicemail_message`] (wire method `markListenedVoicemailMessage`).
6872#[derive(Debug, Default, Clone, Serialize)]
6873pub struct MarkListenedVoicemailMessageParams {
6874    /// ID for specific Mailbox (Example: 1001) (required)
6875    #[serde(skip_serializing_if = "Option::is_none")]
6876    pub mailbox: Option<String>,
6877    /// Name for specific Folder (Example: 'INBOX', values from:
6878    /// getVoicemailFolders) (required)
6879    #[serde(skip_serializing_if = "Option::is_none")]
6880    pub folder: Option<VoicemailFolder>,
6881    /// ID for specific Voicemail Message (Example: 1) (required)
6882    #[serde(skip_serializing_if = "Option::is_none")]
6883    pub message_num: Option<i64>,
6884    /// Code for mark voicemail as listened or not-listened (Values: 'yes'/'no')
6885    /// (required)
6886    #[serde(
6887        skip_serializing_if = "Option::is_none",
6888        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
6889    )]
6890    pub listened: Option<bool>,
6891}
6892
6893/// \- Mark Voicemail Message as Urgent or not Urgent.
6894/// \- If value is 'yes', the voicemail message will be marked as urgent and will
6895/// be moved to the Urgent Folder.
6896/// \- If value is 'no', the voicemail message will be unmarked as urgent and
6897/// will be moved to the INBOX Folder.
6898///
6899/// Parameters for [`Client::mark_urgent_voicemail_message`] (wire method `markUrgentVoicemailMessage`).
6900#[derive(Debug, Default, Clone, Serialize)]
6901pub struct MarkUrgentVoicemailMessageParams {
6902    /// ID for specific Mailbox (Example: 1001) (required)
6903    #[serde(skip_serializing_if = "Option::is_none")]
6904    pub mailbox: Option<String>,
6905    /// Name for specific Folder (Example: 'INBOX', values from:
6906    /// getVoicemailFolders) (required)
6907    #[serde(skip_serializing_if = "Option::is_none")]
6908    pub folder: Option<VoicemailFolder>,
6909    /// ID for specific Voicemail Message (Example: 1) (required)
6910    #[serde(skip_serializing_if = "Option::is_none")]
6911    pub message_num: Option<i64>,
6912    /// Code for mark voicemail as urgent or not-urgent (Values: 'yes'/'no')
6913    /// (required)
6914    #[serde(
6915        skip_serializing_if = "Option::is_none",
6916        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
6917    )]
6918    pub urgent: Option<bool>,
6919}
6920
6921/// \- Moves a Fax Message to a different folder.
6922///
6923/// Parameters for [`Client::move_fax_message`] (wire method `moveFaxMessage`).
6924#[derive(Debug, Default, Clone, Serialize)]
6925pub struct MoveFAXMessageParams {
6926    /// ID of the Fax Message requested (Values from getFaxMessages) (required)
6927    #[serde(skip_serializing_if = "Option::is_none")]
6928    pub fax_id: Option<i64>,
6929    /// ID of the destination Fax Folder (Values from getFaxFolders) (required)
6930    #[serde(skip_serializing_if = "Option::is_none")]
6931    pub folder_id: Option<i64>,
6932    /// Set to true if testing how to move a Fax Message
6933    #[serde(
6934        skip_serializing_if = "crate::responses::is_false",
6935        serialize_with = "crate::responses::serialize_flag_01"
6936    )]
6937    pub test: bool,
6938}
6939
6940/// \- Move Voicemail Message to a Destination Folder.
6941///
6942/// Parameters for [`Client::move_folder_voicemail_message`] (wire method `moveFolderVoicemailMessage`).
6943#[derive(Debug, Default, Clone, Serialize)]
6944pub struct MoveFolderVoicemailMessageParams {
6945    /// ID for specific Mailbox (Example: 1001) (required)
6946    #[serde(skip_serializing_if = "Option::is_none")]
6947    pub mailbox: Option<String>,
6948    /// Name for specific Folder (Example: 'INBOX', values from:
6949    /// getVoicemailFolders) (required)
6950    #[serde(skip_serializing_if = "Option::is_none")]
6951    pub folder: Option<VoicemailFolder>,
6952    /// ID for specific Voicemail Message (Example: 1) (required)
6953    #[serde(skip_serializing_if = "Option::is_none")]
6954    pub message_num: Option<i64>,
6955    /// Destination Folder (Example: 'Urgent', values from: getVoicemailFolders)
6956    /// (required)
6957    #[serde(skip_serializing_if = "Option::is_none")]
6958    pub new_folder: Option<String>,
6959}
6960
6961/// \- Orders and Adds a new DID Number to the Account.
6962///
6963/// Parameters for [`Client::order_did`] (wire method `orderDID`).
6964#[derive(Debug, Default, Clone, Serialize)]
6965pub struct OrderDIDParams {
6966    /// DID to be Ordered (Example: 5552223333) (required)
6967    #[serde(skip_serializing_if = "Option::is_none")]
6968    pub did: Option<String>,
6969    /// Main Routing for the DID (required)
6970    #[serde(skip_serializing_if = "Option::is_none")]
6971    pub routing: Option<crate::Routing>,
6972    /// Busy Routing for the DID
6973    #[serde(skip_serializing_if = "Option::is_none")]
6974    pub failover_busy: Option<crate::Routing>,
6975    /// Unreachable Routing for the DID
6976    #[serde(skip_serializing_if = "Option::is_none")]
6977    pub failover_unreachable: Option<crate::Routing>,
6978    /// NoAnswer Routing for the DID
6979    #[serde(skip_serializing_if = "Option::is_none")]
6980    pub failover_noanswer: Option<crate::Routing>,
6981    /// Voicemail for the DID (Example: 101)
6982    #[serde(skip_serializing_if = "Option::is_none")]
6983    pub voicemail: Option<String>,
6984    /// Point of Presence for the DID (Example: 5) (required)
6985    #[serde(skip_serializing_if = "Option::is_none")]
6986    pub pop: Option<i64>,
6987    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
6988    #[serde(skip_serializing_if = "Option::is_none")]
6989    pub dialtime: Option<i64>,
6990    /// CNAM for the DID (Boolean: 1/0) (required)
6991    #[serde(skip_serializing_if = "Option::is_none")]
6992    pub cnam: Option<i64>,
6993    /// Caller ID Prefix for the DID
6994    #[serde(skip_serializing_if = "Option::is_none")]
6995    pub callerid_prefix: Option<String>,
6996    /// Note for the DID
6997    #[serde(skip_serializing_if = "Option::is_none")]
6998    pub note: Option<String>,
6999    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7000    #[serde(skip_serializing_if = "Option::is_none")]
7001    pub billing_type: Option<DidBillingType>,
7002    /// Reseller Sub Account (Example: '100001_VoIP')
7003    #[serde(skip_serializing_if = "Option::is_none")]
7004    pub account: Option<String>,
7005    /// Montly Fee for Reseller Client (Example: 3.50)
7006    #[serde(skip_serializing_if = "Option::is_none")]
7007    pub monthly: Option<String>,
7008    /// Setup Fee for Reseller Client (Example: 1.99)
7009    #[serde(skip_serializing_if = "Option::is_none")]
7010    pub setup: Option<String>,
7011    /// Minute Rate for Reseller Client (Example: 0.03)
7012    #[serde(skip_serializing_if = "Option::is_none")]
7013    pub minute: Option<String>,
7014    /// Set to true if testing how Orders work - Orders can not be undone - When
7015    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7016    /// and failover_noanswer can receive values in the following format =>
7017    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7018    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7019    /// routing calls to Sub Accounts You can get all sub accounts using the
7020    /// getSubAccounts function fwd Used for routing calls to Forwarding
7021    /// entries. You can get the ID right after creating a Forwarding with
7022    /// setForwarding or by requesting all forwardings entries with
7023    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7024    /// all voicemails and their IDs using the getVoicemails function sys System
7025    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7026    /// Recording: Number not in service disconnected = System Recording: Number
7027    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7028    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7029    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7030    #[serde(
7031        skip_serializing_if = "crate::responses::is_false",
7032        serialize_with = "crate::responses::serialize_flag_01"
7033    )]
7034    pub test: bool,
7035}
7036
7037/// \- Orders and Adds new International Geographic DID Numbers to the Account.
7038///
7039/// Parameters for [`Client::order_did_international_geographic`] (wire method `orderDIDInternationalGeographic`).
7040#[derive(Debug, Default, Clone, Serialize)]
7041pub struct OrderDIDInternationalGeographicParams {
7042    /// ID for a specific International Location (Values from
7043    /// getDIDsInternationalGeographic) (required)
7044    #[serde(skip_serializing_if = "Option::is_none")]
7045    pub location_id: Option<String>,
7046    /// Number of dids to be purchased (Example: 2) (required)
7047    #[serde(skip_serializing_if = "Option::is_none")]
7048    pub quantity: Option<i64>,
7049    /// Main Routing for the DID (required)
7050    #[serde(skip_serializing_if = "Option::is_none")]
7051    pub routing: Option<crate::Routing>,
7052    /// Busy Routing for the DID
7053    #[serde(skip_serializing_if = "Option::is_none")]
7054    pub failover_busy: Option<crate::Routing>,
7055    /// Unreachable Routing for the DID
7056    #[serde(skip_serializing_if = "Option::is_none")]
7057    pub failover_unreachable: Option<crate::Routing>,
7058    /// NoAnswer Routing for the DID
7059    #[serde(skip_serializing_if = "Option::is_none")]
7060    pub failover_noanswer: Option<crate::Routing>,
7061    /// Voicemail for the DID (Example: 101)
7062    #[serde(skip_serializing_if = "Option::is_none")]
7063    pub voicemail: Option<String>,
7064    /// Point of Presence for the DID (Example: 5) (required)
7065    #[serde(skip_serializing_if = "Option::is_none")]
7066    pub pop: Option<i64>,
7067    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7068    #[serde(skip_serializing_if = "Option::is_none")]
7069    pub dialtime: Option<i64>,
7070    /// CNAM for the DID (Boolean: 1/0) (required)
7071    #[serde(skip_serializing_if = "Option::is_none")]
7072    pub cnam: Option<String>,
7073    /// Caller ID Prefix for the DID
7074    #[serde(skip_serializing_if = "Option::is_none")]
7075    pub callerid_prefix: Option<String>,
7076    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7077    #[serde(skip_serializing_if = "Option::is_none")]
7078    pub billing_type: Option<DidBillingType>,
7079    /// Note for the DID
7080    #[serde(skip_serializing_if = "Option::is_none")]
7081    pub note: Option<String>,
7082    /// Reseller Sub Account (Example: '100001_VoIP')
7083    #[serde(skip_serializing_if = "Option::is_none")]
7084    pub account: Option<String>,
7085    /// Montly Fee for Reseller Client (Example: 3.50)
7086    #[serde(skip_serializing_if = "Option::is_none")]
7087    pub monthly: Option<String>,
7088    /// Setup Fee for Reseller Client (Example: 1.99)
7089    #[serde(skip_serializing_if = "Option::is_none")]
7090    pub setup: Option<String>,
7091    /// Minute Rate for Reseller Client (Example: 0.03)
7092    #[serde(skip_serializing_if = "Option::is_none")]
7093    pub minute: Option<String>,
7094    /// Set to true if testing how Orders work - Orders can not be undone - When
7095    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7096    /// and failover_noanswer can receive values in the following format =>
7097    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7098    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7099    /// routing calls to Sub Accounts You can get all sub accounts using the
7100    /// getSubAccounts function fwd Used for routing calls to Forwarding
7101    /// entries. You can get the ID right after creating a Forwarding with
7102    /// setForwarding or by requesting all forwardings entries with
7103    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7104    /// all voicemails and their IDs using the getVoicemails function sys System
7105    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7106    /// Recording: Number not in service disconnected = System Recording: Number
7107    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7108    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7109    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7110    #[serde(
7111        skip_serializing_if = "crate::responses::is_false",
7112        serialize_with = "crate::responses::serialize_flag_01"
7113    )]
7114    pub test: bool,
7115}
7116
7117/// \- Orders and Adds new International National DID Numbers to the Account.
7118///
7119/// Parameters for [`Client::order_did_international_national`] (wire method `orderDIDInternationalNational`).
7120#[derive(Debug, Default, Clone, Serialize)]
7121pub struct OrderDIDInternationalNationalParams {
7122    /// ID for a specific International Location (Values from
7123    /// getDIDsInternationalNational) (required)
7124    #[serde(skip_serializing_if = "Option::is_none")]
7125    pub location_id: Option<String>,
7126    /// Number of dids to be purchased (Example: 2) (required)
7127    #[serde(skip_serializing_if = "Option::is_none")]
7128    pub quantity: Option<i64>,
7129    /// Main Routing for the DID (required)
7130    #[serde(skip_serializing_if = "Option::is_none")]
7131    pub routing: Option<crate::Routing>,
7132    /// Busy Routing for the DID
7133    #[serde(skip_serializing_if = "Option::is_none")]
7134    pub failover_busy: Option<crate::Routing>,
7135    /// Unreachable Routing for the DID
7136    #[serde(skip_serializing_if = "Option::is_none")]
7137    pub failover_unreachable: Option<crate::Routing>,
7138    /// NoAnswer Routing for the DID
7139    #[serde(skip_serializing_if = "Option::is_none")]
7140    pub failover_noanswer: Option<crate::Routing>,
7141    /// Voicemail for the DID (Example: 101)
7142    #[serde(skip_serializing_if = "Option::is_none")]
7143    pub voicemail: Option<String>,
7144    /// Point of Presence for the DID (Example: 5) (required)
7145    #[serde(skip_serializing_if = "Option::is_none")]
7146    pub pop: Option<i64>,
7147    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7148    #[serde(skip_serializing_if = "Option::is_none")]
7149    pub dialtime: Option<i64>,
7150    /// CNAM for the DID (Boolean: 1/0) (required)
7151    #[serde(skip_serializing_if = "Option::is_none")]
7152    pub cnam: Option<String>,
7153    /// Caller ID Prefix for the DID
7154    #[serde(skip_serializing_if = "Option::is_none")]
7155    pub callerid_prefix: Option<String>,
7156    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
7157    #[serde(skip_serializing_if = "Option::is_none")]
7158    pub billing_type: Option<DidBillingType>,
7159    /// Note for the DID
7160    #[serde(skip_serializing_if = "Option::is_none")]
7161    pub note: Option<String>,
7162    /// Reseller Sub Account (Example: '100001_VoIP')
7163    #[serde(skip_serializing_if = "Option::is_none")]
7164    pub account: Option<String>,
7165    /// Montly Fee for Reseller Client (Example: 3.50)
7166    #[serde(skip_serializing_if = "Option::is_none")]
7167    pub monthly: Option<String>,
7168    /// Setup Fee for Reseller Client (Example: 1.99)
7169    #[serde(skip_serializing_if = "Option::is_none")]
7170    pub setup: Option<String>,
7171    /// Minute Rate for Reseller Client (Example: 0.03)
7172    #[serde(skip_serializing_if = "Option::is_none")]
7173    pub minute: Option<String>,
7174    /// Set to true if testing how Orders work - Orders can not be undone - When
7175    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7176    /// and failover_noanswer can receive values in the following format =>
7177    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7178    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7179    /// routing calls to Sub Accounts You can get all sub accounts using the
7180    /// getSubAccounts function fwd Used for routing calls to Forwarding
7181    /// entries. You can get the ID right after creating a Forwarding with
7182    /// setForwarding or by requesting all forwardings entries with
7183    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7184    /// all voicemails and their IDs using the getVoicemails function sys System
7185    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7186    /// Recording: Number not in service disconnected = System Recording: Number
7187    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7188    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7189    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7190    #[serde(
7191        skip_serializing_if = "crate::responses::is_false",
7192        serialize_with = "crate::responses::serialize_flag_01"
7193    )]
7194    pub test: bool,
7195}
7196
7197/// \- Orders and Adds new International TollFree DID Numbers to the Account.
7198///
7199/// Parameters for [`Client::order_did_international_toll_free`] (wire method `orderDIDInternationalTollFree`).
7200#[derive(Debug, Default, Clone, Serialize)]
7201pub struct OrderDIDInternationalTollFreeParams {
7202    /// ID for a specific International Location (Values from
7203    /// getDIDsInternationalTollFree) (required)
7204    #[serde(skip_serializing_if = "Option::is_none")]
7205    pub location_id: Option<String>,
7206    /// Number of dids to be purchased (Example: 2) (required)
7207    #[serde(skip_serializing_if = "Option::is_none")]
7208    pub quantity: Option<i64>,
7209    /// Main Routing for the DID (required)
7210    #[serde(skip_serializing_if = "Option::is_none")]
7211    pub routing: Option<crate::Routing>,
7212    /// Busy Routing for the DID
7213    #[serde(skip_serializing_if = "Option::is_none")]
7214    pub failover_busy: Option<crate::Routing>,
7215    /// Unreachable Routing for the DID
7216    #[serde(skip_serializing_if = "Option::is_none")]
7217    pub failover_unreachable: Option<crate::Routing>,
7218    /// NoAnswer Routing for the DID
7219    #[serde(skip_serializing_if = "Option::is_none")]
7220    pub failover_noanswer: Option<crate::Routing>,
7221    /// Voicemail for the DID (Example: 101)
7222    #[serde(skip_serializing_if = "Option::is_none")]
7223    pub voicemail: Option<String>,
7224    /// Point of Presence for the DID (Example: 5) (required)
7225    #[serde(skip_serializing_if = "Option::is_none")]
7226    pub pop: Option<i64>,
7227    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7228    #[serde(skip_serializing_if = "Option::is_none")]
7229    pub dialtime: Option<i64>,
7230    /// CNAM for the DID (Boolean: 1/0) (required)
7231    #[serde(skip_serializing_if = "Option::is_none")]
7232    pub cnam: Option<String>,
7233    /// Caller ID Prefix for the DID
7234    #[serde(skip_serializing_if = "Option::is_none")]
7235    pub callerid_prefix: Option<String>,
7236    /// Note for the DID
7237    #[serde(skip_serializing_if = "Option::is_none")]
7238    pub note: Option<String>,
7239    /// Reseller Sub Account (Example: '100001_VoIP')
7240    #[serde(skip_serializing_if = "Option::is_none")]
7241    pub account: Option<String>,
7242    /// Montly Fee for Reseller Client (Example: 3.50)
7243    #[serde(skip_serializing_if = "Option::is_none")]
7244    pub monthly: Option<String>,
7245    /// Setup Fee for Reseller Client (Example: 1.99)
7246    #[serde(skip_serializing_if = "Option::is_none")]
7247    pub setup: Option<String>,
7248    /// Minute Rate for Reseller Client (Example: 0.03)
7249    #[serde(skip_serializing_if = "Option::is_none")]
7250    pub minute: Option<String>,
7251    /// Set to true if testing how Orders work - Orders can not be undone - When
7252    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7253    /// and failover_noanswer can receive values in the following format =>
7254    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7255    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7256    /// routing calls to Sub Accounts You can get all sub accounts using the
7257    /// getSubAccounts function fwd Used for routing calls to Forwarding
7258    /// entries. You can get the ID right after creating a Forwarding with
7259    /// setForwarding or by requesting all forwardings entries with
7260    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7261    /// all voicemails and their IDs using the getVoicemails function sys System
7262    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7263    /// Recording: Number not in service disconnected = System Recording: Number
7264    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7265    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7266    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7267    #[serde(
7268        skip_serializing_if = "crate::responses::is_false",
7269        serialize_with = "crate::responses::serialize_flag_01"
7270    )]
7271    pub test: bool,
7272}
7273
7274/// \- Orders and Adds a new Virtual DID Number to the Account.
7275///
7276/// Parameters for [`Client::order_did_virtual`] (wire method `orderDIDVirtual`).
7277#[derive(Debug, Default, Clone, Serialize)]
7278pub struct OrderDIDVirtualParams {
7279    /// Three Digits for the new Virtual DID (Example: 001) (required)
7280    #[serde(skip_serializing_if = "Option::is_none")]
7281    pub digits: Option<i64>,
7282    /// Main Routing for the DID (required)
7283    #[serde(skip_serializing_if = "Option::is_none")]
7284    pub routing: Option<crate::Routing>,
7285    /// Busy Routing for the DID
7286    #[serde(skip_serializing_if = "Option::is_none")]
7287    pub failover_busy: Option<crate::Routing>,
7288    /// Unreachable Routing for the DID
7289    #[serde(skip_serializing_if = "Option::is_none")]
7290    pub failover_unreachable: Option<crate::Routing>,
7291    /// NoAnswer Routing for the DID
7292    #[serde(skip_serializing_if = "Option::is_none")]
7293    pub failover_noanswer: Option<crate::Routing>,
7294    /// Voicemail for the DID (Example: 101)
7295    #[serde(skip_serializing_if = "Option::is_none")]
7296    pub voicemail: Option<String>,
7297    /// Point of Presence for the DID (Example: 5) (required)
7298    #[serde(skip_serializing_if = "Option::is_none")]
7299    pub pop: Option<i64>,
7300    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7301    #[serde(skip_serializing_if = "Option::is_none")]
7302    pub dialtime: Option<i64>,
7303    /// CNAM for the DID (Boolean: 1/0) (required)
7304    #[serde(skip_serializing_if = "Option::is_none")]
7305    pub cnam: Option<String>,
7306    /// Caller ID Prefix for the DID
7307    #[serde(skip_serializing_if = "Option::is_none")]
7308    pub callerid_prefix: Option<String>,
7309    /// Note for the DID
7310    #[serde(skip_serializing_if = "Option::is_none")]
7311    pub note: Option<String>,
7312    /// Reseller Sub Account (Example: '100001_VoIP')
7313    #[serde(skip_serializing_if = "Option::is_none")]
7314    pub account: Option<String>,
7315    /// Montly Fee for Reseller Client (Example: 3.50)
7316    #[serde(skip_serializing_if = "Option::is_none")]
7317    pub monthly: Option<String>,
7318    /// Setup Fee for Reseller Client (Example: 1.99)
7319    #[serde(skip_serializing_if = "Option::is_none")]
7320    pub setup: Option<String>,
7321    /// Minute Rate for Reseller Client (Example: 0.03)
7322    #[serde(skip_serializing_if = "Option::is_none")]
7323    pub minute: Option<String>,
7324    /// Set to true if testing how Orders work - Orders can not be undone - When
7325    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7326    /// and failover_noanswer can receive values in the following format =>
7327    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7328    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7329    /// routing calls to Sub Accounts You can get all sub accounts using the
7330    /// getSubAccounts function fwd Used for routing calls to Forwarding
7331    /// entries. You can get the ID right after creating a Forwarding with
7332    /// setForwarding or by requesting all forwardings entries with
7333    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7334    /// all voicemails and their IDs using the getVoicemails function sys System
7335    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7336    /// Recording: Number not in service disconnected = System Recording: Number
7337    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7338    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7339    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7340    #[serde(
7341        skip_serializing_if = "crate::responses::is_false",
7342        serialize_with = "crate::responses::serialize_flag_01"
7343    )]
7344    pub test: bool,
7345}
7346
7347/// \- Orders and Adds a new Fax Number to the Account.
7348///
7349/// Parameters for [`Client::order_fax_number`] (wire method `orderFaxNumber`).
7350#[derive(Debug, Default, Clone, Serialize)]
7351pub struct OrderFAXNumberParams {
7352    /// Location ID of the Fax Number (Values from
7353    /// getFaxRateCentersCAN/getFaxRateCentersUSA) (required)
7354    #[serde(skip_serializing_if = "Option::is_none")]
7355    pub location: Option<i64>,
7356    /// Quantity of Fax Numbers to order (Example: 3) (required)
7357    #[serde(skip_serializing_if = "Option::is_none")]
7358    pub quantity: Option<i64>,
7359    /// Email address where send notifications when receive Fax Messages -
7360    /// (Example: \[email protected\])
7361    #[serde(skip_serializing_if = "Option::is_none")]
7362    pub email: Option<String>,
7363    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
7364    /// \- Default: 0
7365    #[serde(
7366        skip_serializing_if = "Option::is_none",
7367        serialize_with = "crate::responses::serialize_opt_flag_01"
7368    )]
7369    pub email_enable: Option<bool>,
7370    /// Flag to enable attach the Fax Message as a PDF file in the
7371    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
7372    #[serde(
7373        skip_serializing_if = "Option::is_none",
7374        serialize_with = "crate::responses::serialize_opt_flag_01"
7375    )]
7376    pub email_attach_file: Option<bool>,
7377    /// URL where make a POST when you receive a Fax Message.
7378    #[serde(skip_serializing_if = "Option::is_none")]
7379    pub url_callback: Option<String>,
7380    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
7381    /// false) - Default: 0
7382    #[serde(
7383        skip_serializing_if = "Option::is_none",
7384        serialize_with = "crate::responses::serialize_opt_flag_01"
7385    )]
7386    pub url_callback_enable: Option<bool>,
7387    /// Flag to enable retry the POST action in case we don't receive "ok".
7388    #[serde(
7389        skip_serializing_if = "Option::is_none",
7390        serialize_with = "crate::responses::serialize_opt_flag_01"
7391    )]
7392    pub url_callback_retry: Option<bool>,
7393    /// Set to true if testing how Orders work - Orders can not be undone - When
7394    /// testing, no Orders are made
7395    #[serde(
7396        skip_serializing_if = "crate::responses::is_false",
7397        serialize_with = "crate::responses::serialize_flag_01"
7398    )]
7399    pub test: bool,
7400}
7401
7402/// \- Orders and Adds a new Toll Free Number to the Account.
7403///
7404/// Parameters for [`Client::order_toll_free`] (wire method `orderTollFree`).
7405#[derive(Debug, Default, Clone, Serialize)]
7406pub struct OrderTollFreeParams {
7407    /// DID to be Ordered (Example: 8772223333) (required)
7408    #[serde(skip_serializing_if = "Option::is_none")]
7409    pub did: Option<String>,
7410    /// Main Routing for the DID (required)
7411    #[serde(skip_serializing_if = "Option::is_none")]
7412    pub routing: Option<crate::Routing>,
7413    /// Busy Routing for the DID
7414    #[serde(skip_serializing_if = "Option::is_none")]
7415    pub failover_busy: Option<crate::Routing>,
7416    /// Unreachable Routing for the DID
7417    #[serde(skip_serializing_if = "Option::is_none")]
7418    pub failover_unreachable: Option<crate::Routing>,
7419    /// NoAnswer Routing for the DID
7420    #[serde(skip_serializing_if = "Option::is_none")]
7421    pub failover_noanswer: Option<crate::Routing>,
7422    /// Voicemail for the DID (Example: 101)
7423    #[serde(skip_serializing_if = "Option::is_none")]
7424    pub voicemail: Option<String>,
7425    /// Point of Presence for the DID (Example: 5) (required)
7426    #[serde(skip_serializing_if = "Option::is_none")]
7427    pub pop: Option<i64>,
7428    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7429    #[serde(skip_serializing_if = "Option::is_none")]
7430    pub dialtime: Option<i64>,
7431    /// CNAM for the DID (Boolean: 1/0) (required)
7432    #[serde(skip_serializing_if = "Option::is_none")]
7433    pub cnam: Option<i64>,
7434    /// Caller ID Prefix for the DID
7435    #[serde(skip_serializing_if = "Option::is_none")]
7436    pub callerid_prefix: Option<String>,
7437    /// Note for the DID
7438    #[serde(skip_serializing_if = "Option::is_none")]
7439    pub note: Option<String>,
7440    /// Reseller Sub Account (Example: '100001_VoIP')
7441    #[serde(skip_serializing_if = "Option::is_none")]
7442    pub account: Option<String>,
7443    /// Montly Fee for Reseller Client (Example: 3.50)
7444    #[serde(skip_serializing_if = "Option::is_none")]
7445    pub monthly: Option<String>,
7446    /// Setup Fee for Reseller Client (Example: 1.99)
7447    #[serde(skip_serializing_if = "Option::is_none")]
7448    pub setup: Option<String>,
7449    /// Minute Rate for Reseller Client (Example: 0.03)
7450    #[serde(skip_serializing_if = "Option::is_none")]
7451    pub minute: Option<String>,
7452    /// Set to true if testing how Orders work - Orders can not be undone - When
7453    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7454    /// and failover_noanswer can receive values in the following format =>
7455    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7456    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7457    /// routing calls to Sub Accounts You can get all sub accounts using the
7458    /// getSubAccounts function fwd Used for routing calls to Forwarding
7459    /// entries. You can get the ID right after creating a Forwarding with
7460    /// setForwarding or by requesting all forwardings entries with
7461    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7462    /// all voicemails and their IDs using the getVoicemails function sys System
7463    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7464    /// Recording: Number not in service disconnected = System Recording: Number
7465    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7466    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7467    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7468    #[serde(
7469        skip_serializing_if = "crate::responses::is_false",
7470        serialize_with = "crate::responses::serialize_flag_01"
7471    )]
7472    pub test: bool,
7473}
7474
7475/// \- Orders and Adds a new Vanity Toll Free Number to the Account.
7476///
7477/// Parameters for [`Client::order_vanity`] (wire method `orderVanity`).
7478#[derive(Debug, Default, Clone, Serialize)]
7479pub struct OrderVanityParams {
7480    /// DID to be Ordered (Example: 8772223333) (required)
7481    #[serde(skip_serializing_if = "Option::is_none")]
7482    pub did: Option<String>,
7483    /// Main Routing for the DID (required)
7484    #[serde(skip_serializing_if = "Option::is_none")]
7485    pub routing: Option<crate::Routing>,
7486    /// Busy Routing for the DID
7487    #[serde(skip_serializing_if = "Option::is_none")]
7488    pub failover_busy: Option<crate::Routing>,
7489    /// Unreachable Routing for the DID
7490    #[serde(skip_serializing_if = "Option::is_none")]
7491    pub failover_unreachable: Option<crate::Routing>,
7492    /// NoAnswer Routing for the DID
7493    #[serde(skip_serializing_if = "Option::is_none")]
7494    pub failover_noanswer: Option<crate::Routing>,
7495    /// Voicemail for the DID (Example: 101)
7496    #[serde(skip_serializing_if = "Option::is_none")]
7497    pub voicemail: Option<String>,
7498    /// Point of Presence for the DID (Example: 5) (required)
7499    #[serde(skip_serializing_if = "Option::is_none")]
7500    pub pop: Option<i64>,
7501    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
7502    #[serde(skip_serializing_if = "Option::is_none")]
7503    pub dialtime: Option<i64>,
7504    /// CNAM for the DID (Boolean: 1/0) (required)
7505    #[serde(skip_serializing_if = "Option::is_none")]
7506    pub cnam: Option<i64>,
7507    /// Caller ID Prefix for the DID
7508    #[serde(skip_serializing_if = "Option::is_none")]
7509    pub callerid_prefix: Option<String>,
7510    /// Note for the DID
7511    #[serde(skip_serializing_if = "Option::is_none")]
7512    pub note: Option<String>,
7513    /// Carrier for the DID (Values from getCarriers) (required)
7514    #[serde(skip_serializing_if = "Option::is_none")]
7515    pub carrier: Option<i64>,
7516    /// Reseller Sub Account (Example: '100001_VoIP')
7517    #[serde(skip_serializing_if = "Option::is_none")]
7518    pub account: Option<String>,
7519    /// Montly Fee for Reseller Client (Example: 3.50)
7520    #[serde(skip_serializing_if = "Option::is_none")]
7521    pub monthly: Option<String>,
7522    /// Setup Fee for Reseller Client (Example: 1.99)
7523    #[serde(skip_serializing_if = "Option::is_none")]
7524    pub setup: Option<String>,
7525    /// Minute Rate for Reseller Client (Example: 0.03)
7526    #[serde(skip_serializing_if = "Option::is_none")]
7527    pub minute: Option<String>,
7528    /// Set to true if testing how Orders work - Orders can not be undone - When
7529    /// testing, no Orders are made routing, failover_busy, failover_unreachable
7530    /// and failover_noanswer can receive values in the following format =>
7531    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
7532    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
7533    /// routing calls to Sub Accounts You can get all sub accounts using the
7534    /// getSubAccounts function fwd Used for routing calls to Forwarding
7535    /// entries. You can get the ID right after creating a Forwarding with
7536    /// setForwarding or by requesting all forwardings entries with
7537    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
7538    /// all voicemails and their IDs using the getVoicemails function sys System
7539    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
7540    /// Recording: Number not in service disconnected = System Recording: Number
7541    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
7542    /// Used to route calls to no action Examples: 'account:100001_VoIP'
7543    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
7544    #[serde(
7545        skip_serializing_if = "crate::responses::is_false",
7546        serialize_with = "crate::responses::serialize_flag_01"
7547    )]
7548    pub test: bool,
7549}
7550
7551/// \- Removes a DID from a VPRI
7552///
7553/// Parameters for [`Client::remove_did_vpri`] (wire method `removeDIDvPRI`).
7554#[derive(Debug, Default, Clone, Serialize)]
7555pub struct RemoveDIDvPRIParams {
7556    /// Id for specific Vpri
7557    #[serde(skip_serializing_if = "Option::is_none")]
7558    pub vpri: Option<i64>,
7559    /// DID Number to be remove from our Vpri (Example: 561115) (required)
7560    #[serde(skip_serializing_if = "Option::is_none")]
7561    pub did: Option<String>,
7562}
7563
7564/// \- Searches for Canadian DIDs by Province using a Search Criteria.
7565///
7566/// Parameters for [`Client::search_dids_can`] (wire method `searchDIDsCAN`).
7567#[derive(Debug, Default, Clone, Serialize)]
7568pub struct SearchDIDsCANParams {
7569    /// Canadian Province (Values from getProvinces)
7570    #[serde(skip_serializing_if = "Option::is_none")]
7571    pub province: Option<String>,
7572    /// Type of search (Values: 'starts', 'contains', 'ends') (required)
7573    #[serde(skip_serializing_if = "Option::is_none")]
7574    pub r#type: Option<SearchType>,
7575    /// Query for searching (Examples: 'JOHN', '555', '123ABC') (required)
7576    #[serde(skip_serializing_if = "Option::is_none")]
7577    pub query: Option<String>,
7578}
7579
7580/// \- Searches for USA DIDs by State using a Search Criteria.
7581///
7582/// Parameters for [`Client::search_dids_usa`] (wire method `searchDIDsUSA`).
7583#[derive(Debug, Default, Clone, Serialize)]
7584pub struct SearchDIDsUSAParams {
7585    /// United States State (Values from getStates)
7586    #[serde(skip_serializing_if = "Option::is_none")]
7587    pub state: Option<String>,
7588    /// Type of search (Values: 'starts', 'contains', 'ends') (required)
7589    #[serde(skip_serializing_if = "Option::is_none")]
7590    pub r#type: Option<SearchType>,
7591    /// Query for searching (Examples: 'JOHN', '555', '123ABC') (required)
7592    #[serde(skip_serializing_if = "Option::is_none")]
7593    pub query: Option<String>,
7594}
7595
7596/// \- Retrieves a list of Canadian Ratecenters searched by Area Code.
7597///
7598/// Parameters for [`Client::search_fax_area_code_can`] (wire method `searchFaxAreaCodeCAN`).
7599#[derive(Debug, Default, Clone, Serialize)]
7600pub struct SearchFAXAreaCodeCANParams {
7601    /// Area code number, as the initial of the Fax Number you looking for.
7602    /// (values from getFaxRateCentersCAN) (required)
7603    #[serde(skip_serializing_if = "Option::is_none")]
7604    pub area_code: Option<i64>,
7605}
7606
7607/// \- Retrieves a list of USA Ratecenters searched by Area Code.
7608///
7609/// Parameters for [`Client::search_fax_area_code_usa`] (wire method `searchFaxAreaCodeUSA`).
7610#[derive(Debug, Default, Clone, Serialize)]
7611pub struct SearchFAXAreaCodeUSAParams {
7612    /// Area code number, as the initial of the Fax Number you looking for.
7613    /// (values from getFaxRateCentersUSA) (required)
7614    #[serde(skip_serializing_if = "Option::is_none")]
7615    pub area_code: Option<i64>,
7616}
7617
7618/// \- Searches for USA/Canada Toll Free Numbers using a Search Criteria.
7619/// \- Shows all USA/Canada Toll Free Numbers available if no criteria is
7620/// provided.
7621///
7622/// Parameters for [`Client::search_toll_free_can_us`] (wire method `searchTollFreeCanUS`).
7623#[derive(Debug, Default, Clone, Serialize)]
7624pub struct SearchTollFreeCANUSParams {
7625    /// Type of search (Values: 'starts', 'contains', 'ends')
7626    #[serde(skip_serializing_if = "Option::is_none")]
7627    pub r#type: Option<SearchType>,
7628    /// Query for searching (Examples: 'JOHN', '555', '123ABC')
7629    #[serde(skip_serializing_if = "Option::is_none")]
7630    pub query: Option<String>,
7631}
7632
7633/// \- Searches for USA Toll Free Numbers using a Search Criteria.
7634/// \- Shows all USA Toll Free Numbers available if no criteria is provided.
7635///
7636/// Parameters for [`Client::search_toll_free_usa`] (wire method `searchTollFreeUSA`).
7637#[derive(Debug, Default, Clone, Serialize)]
7638pub struct SearchTollFreeUSAParams {
7639    /// Type of search (Values: 'starts', 'contains', 'ends')
7640    #[serde(skip_serializing_if = "Option::is_none")]
7641    pub r#type: Option<SearchType>,
7642    /// Query for searching (Examples: 'JOHN', '555', '123ABC')
7643    #[serde(skip_serializing_if = "Option::is_none")]
7644    pub query: Option<String>,
7645}
7646
7647/// \- Searches for Vanity Toll Free Numbers using a Search Criteria.
7648///
7649/// Parameters for [`Client::search_vanity`] (wire method `searchVanity`).
7650#[derive(Debug, Default, Clone, Serialize)]
7651pub struct SearchVanityParams {
7652    /// Type of Vanity Number Values: '8**', '800', '833', '844', '855', '866',
7653    /// '877', '888' (required)
7654    #[serde(skip_serializing_if = "Option::is_none")]
7655    pub r#type: Option<VanityType>,
7656    /// Query for searching : 7 Chars Examples: '***JHON', '**555**', '**HELLO'
7657    /// (required)
7658    #[serde(skip_serializing_if = "Option::is_none")]
7659    pub query: Option<String>,
7660}
7661
7662/// \- Send information and audio file to email account.
7663///
7664/// Parameters for [`Client::send_call_recording_email`] (wire method `sendCallRecordingEmail`).
7665#[derive(Debug, Default, Clone, Serialize)]
7666pub struct SendCallRecordingEmailParams {
7667    /// Call Recording (Values from getCallRecordings) (required)
7668    #[serde(skip_serializing_if = "Option::is_none")]
7669    pub callrecording: Option<String>,
7670    /// Filter Call Recordings by Account (Values from getCallAccounts)
7671    /// (required)
7672    #[serde(skip_serializing_if = "Option::is_none")]
7673    pub account: Option<String>,
7674    /// Email to send call recording (required)
7675    #[serde(skip_serializing_if = "Option::is_none")]
7676    pub email: Option<String>,
7677}
7678
7679/// \- Send a Fax message to a Destination Number.
7680///
7681/// Parameters for [`Client::send_fax_message`] (wire method `sendFaxMessage`).
7682#[derive(Debug, Default, Clone, Serialize)]
7683pub struct SendFAXMessageParams {
7684    /// Destination DID Number (Example: 5552341234) (required)
7685    #[serde(skip_serializing_if = "Option::is_none")]
7686    pub to_number: Option<String>,
7687    /// Name of the sender (Example: 5552341234) (required)
7688    #[serde(skip_serializing_if = "Option::is_none")]
7689    pub from_name: Option<String>,
7690    /// DID number of the Fax sender (required)
7691    #[serde(skip_serializing_if = "Option::is_none")]
7692    pub from_number: Option<String>,
7693    /// Flag to enable the send of a copy of your Fax via email. - (Values: 1 =
7694    /// true, 0 = false) - Default: 0
7695    #[serde(
7696        skip_serializing_if = "Option::is_none",
7697        serialize_with = "crate::responses::serialize_opt_flag_01"
7698    )]
7699    pub send_email_enabled: Option<bool>,
7700    /// Email address where you want send a copy of your Fax.
7701    #[serde(skip_serializing_if = "Option::is_none")]
7702    pub send_email: Option<String>,
7703    /// An word to identify a equipment or department sending the Fax.
7704    #[serde(skip_serializing_if = "Option::is_none")]
7705    pub station_id: Option<String>,
7706    /// The file must be encoded in Base64, and in one of the following formats:
7707    /// pdf, txt, jpg, gif, png, tif (required)
7708    #[serde(skip_serializing_if = "Option::is_none")]
7709    pub file: Option<String>,
7710    /// Set to true if testing how to send a Fax Message
7711    #[serde(
7712        skip_serializing_if = "crate::responses::is_false",
7713        serialize_with = "crate::responses::serialize_flag_01"
7714    )]
7715    pub test: bool,
7716}
7717
7718/// \- Send a MMS message to a Destination Number.
7719///
7720/// Parameters for [`Client::send_mms`] (wire method `sendMMS`).
7721#[derive(Debug, Default, Clone, Serialize)]
7722pub struct SendMMSParams {
7723    /// DID Numbers which is sending the message (Example: 5551234567)
7724    /// (required)
7725    #[serde(skip_serializing_if = "Option::is_none")]
7726    pub did: Option<String>,
7727    /// Destination Number (Example: 5551234568) (required)
7728    #[serde(skip_serializing_if = "Option::is_none")]
7729    pub dst: Option<String>,
7730    /// Message to be sent (Example: 'hello John Smith' max chars: 2048)
7731    /// (required)
7732    #[serde(skip_serializing_if = "Option::is_none")]
7733    pub message: Option<String>,
7734    /// Url to media file (Example:
7735    /// '<https://voip.ms/themes/voipms/assets/img/talent.jpg?v=2>' (optional)
7736    #[serde(skip_serializing_if = "Option::is_none")]
7737    pub media1: Option<String>,
7738    /// Base 64 image encode (Example:
7739    /// data:image/png;base64,iVBORw0KGgoAAAANSUh...) (optional)
7740    #[serde(skip_serializing_if = "Option::is_none")]
7741    pub media2: Option<String>,
7742    /// Empty value (Example: '' ) (optional)
7743    #[serde(skip_serializing_if = "Option::is_none")]
7744    pub media3: Option<String>,
7745}
7746
7747/// \- Send a SMS message to a Destination Number.
7748///
7749/// Parameters for [`Client::send_sms`] (wire method `sendSMS`).
7750#[derive(Debug, Default, Clone, Serialize)]
7751pub struct SendSMSParams {
7752    /// DID Numbers which is sending the message (Example: 5551234567)
7753    /// (required)
7754    #[serde(skip_serializing_if = "Option::is_none")]
7755    pub did: Option<String>,
7756    /// Destination Number (Example: 5551234568) (required)
7757    #[serde(skip_serializing_if = "Option::is_none")]
7758    pub dst: Option<String>,
7759    /// Message to be sent (Example: 'hello John Smith' max chars: 160)
7760    /// (required)
7761    #[serde(skip_serializing_if = "Option::is_none")]
7762    pub message: Option<String>,
7763}
7764
7765/// \- Send a Voicemail Message File to an Email Address.
7766///
7767/// Parameters for [`Client::send_voicemail_email`] (wire method `sendVoicemailEmail`).
7768#[derive(Debug, Default, Clone, Serialize)]
7769pub struct SendVoicemailEmailParams {
7770    /// ID for specific Mailbox (Example: 1001) (required)
7771    #[serde(skip_serializing_if = "Option::is_none")]
7772    pub mailbox: Option<String>,
7773    /// Name for specific Folder (Example: 'INBOX', values from:
7774    /// getVoicemailFolders) (required)
7775    #[serde(skip_serializing_if = "Option::is_none")]
7776    pub folder: Option<VoicemailFolder>,
7777    /// ID for specific Voicemail Message (Example: 1) (required)
7778    #[serde(skip_serializing_if = "Option::is_none")]
7779    pub message_num: Option<i64>,
7780    /// Destination Email address (Example: \[email protected\]) (required)
7781    #[serde(skip_serializing_if = "Option::is_none")]
7782    pub email_address: Option<String>,
7783}
7784
7785/// \- Updates a specific Call Hunting if a Call Hunting code is provided.
7786/// \- Adds a new Call Hunting if no Call Hunting code is provided.
7787///
7788/// Parameters for [`Client::set_call_hunting`] (wire method `setCallHunting`).
7789#[derive(Debug, Default, Clone, Serialize)]
7790pub struct SetCallHuntingParams {
7791    /// ID for a specific Call Hunting (Example: 235 / Leave empty to create a
7792    /// new one)
7793    #[serde(skip_serializing_if = "Option::is_none")]
7794    pub callhunting: Option<i64>,
7795    /// Description for the Call Hunting (required)
7796    #[serde(skip_serializing_if = "Option::is_none")]
7797    pub description: Option<String>,
7798    /// Music on Hold Code (Values from getMusicOnHold) (required)
7799    #[serde(skip_serializing_if = "Option::is_none")]
7800    pub music: Option<String>,
7801    /// Recording for the Call Hunting (values from getRecordings) (required)
7802    #[serde(skip_serializing_if = "Option::is_none")]
7803    pub recording: Option<String>,
7804    /// Language for the Call Hunting (values from getLanguages) (required)
7805    #[serde(skip_serializing_if = "Option::is_none")]
7806    pub language: Option<String>,
7807    /// The members will be called in follow or random order (values follow or
7808    /// random) (required)
7809    #[serde(skip_serializing_if = "Option::is_none")]
7810    pub order: Option<RingGroupOrder>,
7811    /// The list of members assigned to the call hunting (required)
7812    #[serde(skip_serializing_if = "Option::is_none")]
7813    pub members: Option<String>,
7814    /// The Maximum amount of time the call will ring the member (required)
7815    #[serde(skip_serializing_if = "Option::is_none")]
7816    pub ring_time: Option<String>,
7817    /// This option confirm if the member will take the call by pressing 1 *
7818    /// ring_time and press parameters need to have the same amount of items as
7819    /// the members parameter, one for each member. (required)
7820    #[serde(skip_serializing_if = "Option::is_none")]
7821    pub press: Option<String>,
7822}
7823
7824/// \- Updates a specific Call Parking entry if a Call Parking ID is provided.
7825/// \- Adds a new Call Parking entry if no Call Parking ID is provided.
7826///
7827/// Parameters for [`Client::set_call_parking`] (wire method `setCallParking`).
7828#[derive(Debug, Default, Clone, Serialize)]
7829pub struct SetCallParkingParams {
7830    /// ID for a specific Call Parking (Example: 235 / Leave empty to create a
7831    /// new one)
7832    #[serde(skip_serializing_if = "Option::is_none")]
7833    pub callparking: Option<i64>,
7834    /// Name for the Call Parking (required)
7835    #[serde(skip_serializing_if = "Option::is_none")]
7836    pub name: Option<String>,
7837    /// The number of seconds a call will stay parked before it is forwarded to
7838    /// the Failover Destination (required)
7839    #[serde(skip_serializing_if = "Option::is_none")]
7840    pub timeout: Option<i64>,
7841    /// Music on Hold Code (Values from getMusicOnHold) (required)
7842    #[serde(skip_serializing_if = "Option::is_none")]
7843    pub music: Option<String>,
7844    /// Final destination where the call will be forwarded if it isn&rsquo;t
7845    /// answered. (Values: callback, system:hangup, vm:mailbox) (required)
7846    #[serde(skip_serializing_if = "Option::is_none")]
7847    pub failover: Option<String>,
7848    /// Language for the Call Parking (values from getLanguages) (required)
7849    #[serde(skip_serializing_if = "Option::is_none")]
7850    pub language: Option<String>,
7851    /// The system will make an automatic call to this destination to announce
7852    /// the extension of the parked call. (Values: parker, main account or
7853    /// sub-accounts) (required)
7854    #[serde(skip_serializing_if = "Option::is_none")]
7855    pub destination: Option<String>,
7856    /// The number of seconds before the Announce Destination receives an
7857    /// automatic call from the system to announce the extension of the parked
7858    /// call (required)
7859    #[serde(skip_serializing_if = "Option::is_none")]
7860    pub delay: Option<i64>,
7861}
7862
7863/// \- Updates a specific Callback if a callback code is provided.
7864/// \- Adds a new Callback entry if no callback code is provided.
7865///
7866/// Parameters for [`Client::set_callback`] (wire method `setCallback`).
7867#[derive(Debug, Default, Clone, Serialize)]
7868pub struct SetCallbackParams {
7869    /// ID for a specific Callback (Example: 2359 / Leave empty to create a new
7870    /// one)
7871    #[serde(skip_serializing_if = "Option::is_none")]
7872    pub callback: Option<String>,
7873    /// Description for the Callback (required)
7874    #[serde(skip_serializing_if = "Option::is_none")]
7875    pub description: Option<String>,
7876    /// Number that will be called back (required)
7877    #[serde(skip_serializing_if = "Option::is_none")]
7878    pub number: Option<i64>,
7879    /// Delay befor calling back (required)
7880    #[serde(skip_serializing_if = "Option::is_none")]
7881    pub delay_before: Option<i64>,
7882    /// Time before hanging up for incomplete input (required)
7883    #[serde(skip_serializing_if = "Option::is_none")]
7884    pub response_timeout: Option<i64>,
7885    /// Time between digits input (required)
7886    #[serde(skip_serializing_if = "Option::is_none")]
7887    pub digit_timeout: Option<i64>,
7888    /// Caller ID Override for the callback
7889    #[serde(skip_serializing_if = "Option::is_none")]
7890    pub callerid_number: Option<String>,
7891}
7892
7893/// \- Updates a specific Caller ID Filtering if a filtering code is provided.
7894/// \- Adds a new Caller ID Filtering if no filtering code is provided.
7895///
7896/// Parameters for [`Client::set_caller_id_filtering`] (wire method `setCallerIDFiltering`).
7897#[derive(Debug, Default, Clone, Serialize)]
7898pub struct SetCallerIDFilteringParams {
7899    /// ID for a specific Caller ID Filtering (Example: 18915 / Leave empty to
7900    /// create a new one)
7901    #[serde(skip_serializing_if = "Option::is_none")]
7902    pub filter: Option<String>,
7903    /// Caller ID that triggers the Filter (i = Not North American format, 0 =
7904    /// Anonymous, NPANXXXXXX, s or sb or sc = STIR/SHAKEN Attestation Level, p
7905    /// = All Phone Book, p:XXXX = Specific Phone Book Group) (required)
7906    #[serde(skip_serializing_if = "Option::is_none")]
7907    pub callerid: Option<String>,
7908    /// DIDs affected by the filter (all, NPANXXXXXX) (required)
7909    #[serde(skip_serializing_if = "Option::is_none")]
7910    pub did: Option<String>,
7911    /// Route the call follows when filter is triggered (required)
7912    #[serde(skip_serializing_if = "Option::is_none")]
7913    pub routing: Option<crate::Routing>,
7914    /// Route the call follows when unreachable
7915    #[serde(skip_serializing_if = "Option::is_none")]
7916    pub failover_unreachable: Option<crate::Routing>,
7917    /// Route the call follows when busy
7918    #[serde(skip_serializing_if = "Option::is_none")]
7919    pub failover_busy: Option<crate::Routing>,
7920    /// Route the call follows when noanswer
7921    #[serde(skip_serializing_if = "Option::is_none")]
7922    pub failover_noanswer: Option<crate::Routing>,
7923    /// Note for the Caller ID Filtering
7924    #[serde(skip_serializing_if = "Option::is_none")]
7925    pub note: Option<String>,
7926}
7927
7928/// \- Updates Reseller Client information.
7929///
7930/// Parameters for [`Client::set_client`] (wire method `setClient`).
7931#[derive(Debug, Default, Clone, Serialize)]
7932pub struct SetClientParams {
7933    /// ID for a specific Reseller Client (Example: 561115) (required)
7934    #[serde(skip_serializing_if = "Option::is_none")]
7935    pub client: Option<i64>,
7936    /// Client's e-mail (required)
7937    #[serde(skip_serializing_if = "Option::is_none")]
7938    pub email: Option<String>,
7939    /// Client's Password (required)
7940    #[serde(skip_serializing_if = "Option::is_none")]
7941    pub password: Option<String>,
7942    /// Client's Company
7943    #[serde(skip_serializing_if = "Option::is_none")]
7944    pub company: Option<String>,
7945    /// Client's Firstname (required)
7946    #[serde(skip_serializing_if = "Option::is_none")]
7947    pub firstname: Option<String>,
7948    /// Client's Lastname (required)
7949    #[serde(skip_serializing_if = "Option::is_none")]
7950    pub lastname: Option<String>,
7951    /// Client's Address
7952    #[serde(skip_serializing_if = "Option::is_none")]
7953    pub address: Option<String>,
7954    /// Client's City
7955    #[serde(skip_serializing_if = "Option::is_none")]
7956    pub city: Option<String>,
7957    /// Client's State
7958    #[serde(skip_serializing_if = "Option::is_none")]
7959    pub state: Option<String>,
7960    /// Client's Country (Values from getCountries)
7961    #[serde(skip_serializing_if = "Option::is_none")]
7962    pub country: Option<String>,
7963    /// Client's Zip Code
7964    #[serde(skip_serializing_if = "Option::is_none")]
7965    pub zip: Option<String>,
7966    /// Client's Phone Number (required)
7967    #[serde(skip_serializing_if = "Option::is_none")]
7968    pub phone_number: Option<String>,
7969    /// Balance Management for Client (Values from getBalanceManagement)
7970    #[serde(skip_serializing_if = "Option::is_none")]
7971    pub balance_management: Option<i64>,
7972}
7973
7974/// \- Update the Threshold Amount for a specific Reseller Client.- Update the
7975/// Threshold notification e-mail for a specific Reseller Client if the e-mail
7976/// address is provided.
7977///
7978/// Parameters for [`Client::set_client_threshold`] (wire method `setClientThreshold`).
7979#[derive(Debug, Default, Clone, Serialize)]
7980pub struct SetClientThresholdParams {
7981    /// ID for a specific Reseller Client (Example: 561115) (required)
7982    #[serde(skip_serializing_if = "Option::is_none")]
7983    pub client: Option<i64>,
7984    /// Client's e-mail for balance threshold notification
7985    #[serde(skip_serializing_if = "Option::is_none")]
7986    pub email: Option<String>,
7987    /// Threshold amount between 1 and 250 (Example: 10) (required)
7988    #[serde(skip_serializing_if = "Option::is_none")]
7989    pub threshold: Option<i64>,
7990}
7991
7992/// \- Updates a specific Conference if a conference code is provided.
7993/// \- Adds a new Conference entry if no conference code is provided.
7994///
7995/// Parameters for [`Client::set_conference`] (wire method `setConference`).
7996#[derive(Debug, Default, Clone, Serialize)]
7997pub struct SetConferenceParams {
7998    /// ID for a specific Conference (Example: 5356) (required)
7999    #[serde(skip_serializing_if = "Option::is_none")]
8000    pub conference: Option<i64>,
8001    /// Conference name (required)
8002    #[serde(skip_serializing_if = "Option::is_none")]
8003    pub name: Option<String>,
8004    /// Conference description (required)
8005    #[serde(skip_serializing_if = "Option::is_none")]
8006    pub description: Option<String>,
8007    /// Conference Members
8008    #[serde(skip_serializing_if = "Option::is_none")]
8009    pub members: Option<String>,
8010    /// Members Max Value (required)
8011    #[serde(skip_serializing_if = "Option::is_none")]
8012    pub max_members: Option<String>,
8013    /// The recording played when a user joins, typically some kind of beep
8014    /// sound (Values from getRecordings)
8015    #[serde(skip_serializing_if = "Option::is_none")]
8016    pub sound_join: Option<String>,
8017    /// The recording played when a user leaves, typically some kind of beep
8018    /// sound (Values from getRecordings)
8019    #[serde(skip_serializing_if = "Option::is_none")]
8020    pub sound_leave: Option<String>,
8021    /// The recording played as a user intro (Values from getRecordings)
8022    #[serde(skip_serializing_if = "Option::is_none")]
8023    pub sound_has_joined: Option<String>,
8024    /// The recording played as a user leaves the conference (Values from
8025    /// getRecordings)
8026    #[serde(skip_serializing_if = "Option::is_none")]
8027    pub sound_has_left: Option<String>,
8028    /// The recording played to a user who has been kicked from the conference
8029    /// (Values from getRecordings)
8030    #[serde(skip_serializing_if = "Option::is_none")]
8031    pub sound_kicked: Option<String>,
8032    /// The recording played to a user when the mute option is toggled on
8033    /// (Values from getRecordings)
8034    #[serde(skip_serializing_if = "Option::is_none")]
8035    pub sound_muted: Option<String>,
8036    /// The recording played to a user when the mute option is toggled off
8037    /// (Values from getRecordings)
8038    #[serde(skip_serializing_if = "Option::is_none")]
8039    pub sound_unmuted: Option<String>,
8040    /// The recording played when a user is the only person in the conference
8041    /// (Values from getRecordings)
8042    #[serde(skip_serializing_if = "Option::is_none")]
8043    pub sound_only_person: Option<String>,
8044    /// The recording played to a user when there is only one other person in
8045    /// the conference. (Values from getRecordings)
8046    #[serde(skip_serializing_if = "Option::is_none")]
8047    pub sound_only_one: Option<String>,
8048    /// The recording played when announcing how many users there are in a
8049    /// conference. (Values from getRecordings)
8050    #[serde(skip_serializing_if = "Option::is_none")]
8051    pub sound_there_are: Option<String>,
8052    /// The recording used in conjunction with the There are option, used like
8053    /// There are (number of participants) Other in party (Values from
8054    /// getRecordings)
8055    #[serde(skip_serializing_if = "Option::is_none")]
8056    pub sound_other_in_party: Option<String>,
8057    /// The recording played when a user is placed into a conference that cannot
8058    /// start until a marked user enters (Values from getRecordings)
8059    #[serde(skip_serializing_if = "Option::is_none")]
8060    pub sound_place_into_conference: Option<String>,
8061    /// The recording played when prompting for a conference PIN (Values from
8062    /// getRecordings)
8063    #[serde(skip_serializing_if = "Option::is_none")]
8064    pub sound_get_pin: Option<String>,
8065    /// The recording played when an invalid PIN is entered too many (3) times
8066    /// (Values from getRecordings)
8067    #[serde(skip_serializing_if = "Option::is_none")]
8068    pub sound_invalid_pin: Option<String>,
8069    /// The recording played to a user trying to join a locked conference
8070    /// (Values from getRecordings)
8071    #[serde(skip_serializing_if = "Option::is_none")]
8072    pub sound_locked: Option<String>,
8073    /// The recording played to an Admin-level user after toggling the
8074    /// conference to locked mode (Values from getRecordings)
8075    #[serde(skip_serializing_if = "Option::is_none")]
8076    pub sound_locked_now: Option<String>,
8077    /// The recording played to an Admin-level user after toggling the
8078    /// conference to unlocked mode (Values from getRecordings)
8079    #[serde(skip_serializing_if = "Option::is_none")]
8080    pub sound_unlocked_now: Option<String>,
8081    /// The recording played when there is an error on the menu. (Values from
8082    /// getRecordings)
8083    #[serde(skip_serializing_if = "Option::is_none")]
8084    pub sound_error_menu: Option<String>,
8085    /// The recording played when all non-admin participants are muted. (Values
8086    /// from getRecordings)
8087    #[serde(skip_serializing_if = "Option::is_none")]
8088    pub sound_participants_muted: Option<String>,
8089    /// The recording played when all non-admin participants are unmuted.
8090    /// (Values from getRecordings)
8091    #[serde(skip_serializing_if = "Option::is_none")]
8092    pub sound_participants_unmuted: Option<String>,
8093    /// Conference Language (Values from getLanguages)
8094    #[serde(skip_serializing_if = "Option::is_none")]
8095    pub language: Option<String>,
8096}
8097
8098/// \- Updates a specific Member profile if a member code is provided.
8099/// \- Adds a new Member profile entry if no member code is provided.
8100///
8101/// Parameters for [`Client::set_conference_member`] (wire method `setConferenceMember`).
8102#[derive(Debug, Default, Clone, Serialize)]
8103pub struct SetConferenceMemberParams {
8104    /// ID for a specific Member profile (Example: 5356) (required)
8105    #[serde(skip_serializing_if = "Option::is_none")]
8106    pub member: Option<i64>,
8107    /// ID for a specific Conference (Example: 5356) (required)
8108    #[serde(skip_serializing_if = "Option::is_none")]
8109    pub conference: Option<i64>,
8110    /// Member name. (required)
8111    #[serde(skip_serializing_if = "Option::is_none")]
8112    pub name: Option<String>,
8113    /// Member description.
8114    #[serde(skip_serializing_if = "Option::is_none")]
8115    pub description: Option<String>,
8116    /// Assigned PIN.
8117    #[serde(skip_serializing_if = "Option::is_none")]
8118    pub pin: Option<i64>,
8119    /// Sets if the conference recording when a member joins or leaves will be
8120    /// played (yes/no).
8121    #[serde(
8122        skip_serializing_if = "Option::is_none",
8123        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8124    )]
8125    pub announce_join_leave: Option<bool>,
8126    /// Sets if the member is an admin or not (yes/no).
8127    #[serde(
8128        skip_serializing_if = "Option::is_none",
8129        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8130    )]
8131    pub admin: Option<bool>,
8132    /// Sets if the member should start out muted after entering the conference
8133    /// (yes/no).
8134    #[serde(
8135        skip_serializing_if = "Option::is_none",
8136        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8137    )]
8138    pub start_muted: Option<bool>,
8139    /// Sets if the number of members in the conference should be announced to
8140    /// the caller as he joins (yes/no).
8141    #[serde(
8142        skip_serializing_if = "Option::is_none",
8143        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8144    )]
8145    pub announce_user_count: Option<bool>,
8146    /// Sets if the "only user" announcement should be played when a caller
8147    /// enters an empty conference (yes/no).
8148    #[serde(
8149        skip_serializing_if = "Option::is_none",
8150        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8151    )]
8152    pub announce_only_user: Option<bool>,
8153    /// Sets whether music on hold (MOH) should be played when only one person
8154    /// is in the conference (Values from getMusicOnHold).
8155    #[serde(skip_serializing_if = "Option::is_none")]
8156    pub moh_when_empty: Option<String>,
8157    /// When set to "yes", enter/leave prompts and user introductions are not
8158    /// played (yes/no).
8159    #[serde(
8160        skip_serializing_if = "Option::is_none",
8161        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8162    )]
8163    pub quiet: Option<bool>,
8164    /// If set, this recording will be heard only by the user as he joins the
8165    /// conference (Values from getRecordings).
8166    #[serde(skip_serializing_if = "Option::is_none")]
8167    pub announcement: Option<i64>,
8168    /// The system will drop what is detected as silence from entering into the
8169    /// conference (yes/no).
8170    #[serde(
8171        skip_serializing_if = "Option::is_none",
8172        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8173    )]
8174    pub drop_silence: Option<bool>,
8175    /// The time, in milliseconds, that a users needs to be sending sound or
8176    /// voice before the system can consider them to be talking (allowed values
8177    /// are 100, 120, 140, 160, 180, 200, 220, 240 or 250).
8178    #[serde(skip_serializing_if = "Option::is_none")]
8179    pub talking_threshold: Option<i64>,
8180    /// The time, in milliseconds, that silence needs to be present in the
8181    /// user&rsquo;s sound stream before the system can consider it to be in
8182    /// fact silent and close the audio (allowed values are 2000, 2100, 2200,
8183    /// 2300, 2400, 2500, 2600, 2700, 2800, 2900 or 3000).
8184    #[serde(skip_serializing_if = "Option::is_none")]
8185    pub silence_threshold: Option<i64>,
8186    /// If set to YES, the conference dashboard will display a notification when
8187    /// a participant starts and stops talking (yes/no).
8188    #[serde(
8189        skip_serializing_if = "Option::is_none",
8190        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8191    )]
8192    pub talk_detection: Option<bool>,
8193    /// When set to YES, the system will place a jitter buffer on the caller's
8194    /// audio stream before any audio mixing is performed (yes/no).
8195    #[serde(
8196        skip_serializing_if = "Option::is_none",
8197        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8198    )]
8199    pub jitter_buffer: Option<bool>,
8200}
8201
8202/// \- Updates the Billing Plan from a specific DID.
8203///
8204/// Parameters for [`Client::set_did_billing_type`] (wire method `setDIDBillingType`).
8205#[derive(Debug, Default, Clone, Serialize)]
8206pub struct SetDIDBillingTypeParams {
8207    /// DID affected by the new billing plan (required)
8208    #[serde(skip_serializing_if = "Option::is_none")]
8209    pub did: Option<String>,
8210    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
8211    #[serde(skip_serializing_if = "Option::is_none")]
8212    pub billing_type: Option<DidBillingType>,
8213}
8214
8215/// \- Updates the information from a specific DID.
8216///
8217/// Parameters for [`Client::set_did_info`] (wire method `setDIDInfo`).
8218#[derive(Debug, Default, Clone, Serialize)]
8219pub struct SetDIDInfoParams {
8220    /// DID to be Updated (Example: 5551234567) (required)
8221    #[serde(skip_serializing_if = "Option::is_none")]
8222    pub did: Option<String>,
8223    /// Main Routing for the DID (required)
8224    #[serde(skip_serializing_if = "Option::is_none")]
8225    pub routing: Option<crate::Routing>,
8226    /// Busy Routing for the DID
8227    #[serde(skip_serializing_if = "Option::is_none")]
8228    pub failover_busy: Option<crate::Routing>,
8229    /// Unreachable Routing for the DID
8230    #[serde(skip_serializing_if = "Option::is_none")]
8231    pub failover_unreachable: Option<crate::Routing>,
8232    /// NoAnswer Routing for the DID
8233    #[serde(skip_serializing_if = "Option::is_none")]
8234    pub failover_noanswer: Option<crate::Routing>,
8235    /// Voicemail for the DID
8236    #[serde(skip_serializing_if = "Option::is_none")]
8237    pub voicemail: Option<String>,
8238    /// Point of Presence for the DID ("server_pop" values from getServersInfo.
8239    /// Example: 3) (required)
8240    #[serde(skip_serializing_if = "Option::is_none")]
8241    pub pop: Option<i64>,
8242    /// Dial Time Out for the DID (Example: 60 -> in seconds) (required)
8243    #[serde(skip_serializing_if = "Option::is_none")]
8244    pub dialtime: Option<i64>,
8245    /// CNAM for the DID (Boolean: 1/0) (required)
8246    #[serde(skip_serializing_if = "Option::is_none")]
8247    pub cnam: Option<i64>,
8248    /// Caller ID Prefix for the DID
8249    #[serde(skip_serializing_if = "Option::is_none")]
8250    pub callerid_prefix: Option<String>,
8251    /// Note for the DID
8252    #[serde(skip_serializing_if = "Option::is_none")]
8253    pub note: Option<String>,
8254    /// Port Out PIN protection is used as a means of authorizing outgoing
8255    /// portability (only for selected US numbers with the lock icon)
8256    #[serde(skip_serializing_if = "Option::is_none")]
8257    pub port_out_pin: Option<i64>,
8258    /// Billing type for the DID (1 = Per Minute, 2 = Flat) (required)
8259    #[serde(skip_serializing_if = "Option::is_none")]
8260    pub billing_type: Option<DidBillingType>,
8261    /// Record Calls (Boolean: 1/0)
8262    #[serde(
8263        skip_serializing_if = "Option::is_none",
8264        serialize_with = "crate::responses::serialize_opt_flag_01"
8265    )]
8266    pub record_calls: Option<bool>,
8267    /// Enable Call Transcription (Boolean: 1/0)
8268    #[serde(
8269        skip_serializing_if = "Option::is_none",
8270        serialize_with = "crate::responses::serialize_opt_flag_01"
8271    )]
8272    pub transcribe: Option<bool>,
8273    /// Transcription locale code (values from getLocales, comma separated for
8274    /// more than one locale up to 10 locales)
8275    #[serde(skip_serializing_if = "Option::is_none")]
8276    pub transcription_locale: Option<String>,
8277    /// Call Transcription Email
8278    #[serde(skip_serializing_if = "Option::is_none")]
8279    pub transcription_email: Option<String>,
8280    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
8281    /// (Example: 10 -> seconds)
8282    #[serde(skip_serializing_if = "Option::is_none")]
8283    pub transcription_start_delay: Option<i64>,
8284    /// Voicemail Threshold Seconds between 0 and 60, Increments of 5 (Example:
8285    /// 10 -> seconds) routing, failover_busy, failover_unreachable and
8286    /// failover_noanswer can receive values in the following format =>
8287    /// header:record_id Where header could be: account, fwd, vm, sip, grp, ivr,
8288    /// sys, recording, queue, cb, tc, disa, none. Examples: account Used for
8289    /// routing calls to Sub Accounts You can get all sub accounts using the
8290    /// getSubAccounts function fwd Used for routing calls to Forwarding
8291    /// entries. You can get the ID right after creating a Forwarding with
8292    /// setForwarding or by requesting all forwardings entries with
8293    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
8294    /// all voicemails and their IDs using the getVoicemails function sys System
8295    /// Options: hangup = Hangup the Call busy = Busy tone noservice = System
8296    /// Recording: Number not in service disconnected = System Recording: Number
8297    /// has been disconnected dtmf = DTMF Test echo = Sound Quality Test none
8298    /// Used to route calls to no action Examples: 'account:100001_VoIP'
8299    /// 'fwd:1026' 'vm:101' 'none:' 'sys:echo'
8300    #[serde(skip_serializing_if = "Option::is_none")]
8301    pub voicemail_threshold: Option<i64>,
8302}
8303
8304/// \- Updates the POP from a specific DID.
8305///
8306/// Parameters for [`Client::set_did_pop`] (wire method `setDIDPOP`).
8307#[derive(Debug, Default, Clone, Serialize)]
8308pub struct SetDIDPOPParams {
8309    /// DID to be Updated (Example: 5551234567) (required)
8310    #[serde(skip_serializing_if = "Option::is_none")]
8311    pub did: Option<String>,
8312    /// Point of Presence for the DID ("server_pop" values from getServersInfo.
8313    /// Example: 3) (required)
8314    #[serde(skip_serializing_if = "Option::is_none")]
8315    pub pop: Option<i64>,
8316}
8317
8318/// \- Updates the Routing from a specific DID.
8319///
8320/// Parameters for [`Client::set_did_routing`] (wire method `setDIDRouting`).
8321#[derive(Debug, Default, Clone, Serialize)]
8322pub struct SetDIDRoutingParams {
8323    /// DID to be Updated (Example: 5551234567) (required)
8324    #[serde(skip_serializing_if = "Option::is_none")]
8325    pub did: Option<String>,
8326    /// Main Routing for the DID routing can receive values in the following
8327    /// format => header:record_id Where header could be: account, fwd, vm, sip,
8328    /// grp, ivr, sys, recording, queue, cb, tc, disa, none. Examples: account
8329    /// Used for routing calls to Sub Accounts You can get all sub accounts
8330    /// using the getSubAccounts function fwd Used for routing calls to
8331    /// Forwarding entries. You can get the ID right after creating a Forwarding
8332    /// with setForwarding or by requesting all forwardings entries with
8333    /// getForwardings. vm Used for routing calls to a Voicemail. You can get
8334    /// all voicemails and their IDs using the getVoicemails function Examples:
8335    /// 'account:100001_VoIP' 'fwd:1026' 'vm:101' (required)
8336    #[serde(skip_serializing_if = "Option::is_none")]
8337    pub routing: Option<crate::Routing>,
8338}
8339
8340/// \- Updates the Voicemail from a specific DID.
8341///
8342/// Parameters for [`Client::set_did_voicemail`] (wire method `setDIDVoicemail`).
8343#[derive(Debug, Default, Clone, Serialize)]
8344pub struct SetDIDVoicemailParams {
8345    /// DID to be Updated (Example: 5551234567) (required)
8346    #[serde(skip_serializing_if = "Option::is_none")]
8347    pub did: Option<String>,
8348    /// Mailbox for the DID
8349    #[serde(skip_serializing_if = "Option::is_none")]
8350    pub voicemail: Option<String>,
8351}
8352
8353/// \- Updates a specific DISA if a disa code is provided.
8354/// \- Adds a new DISA entry if no disa code is provided.
8355///
8356/// Parameters for [`Client::set_disa`] (wire method `setDISA`).
8357#[derive(Debug, Default, Clone, Serialize)]
8358pub struct SetDISAParams {
8359    /// ID for a specific DISA (Example: 2114 / Leave empty to create a new one)
8360    #[serde(skip_serializing_if = "Option::is_none")]
8361    pub disa: Option<String>,
8362    /// Name for the DISA (required)
8363    #[serde(skip_serializing_if = "Option::is_none")]
8364    pub name: Option<String>,
8365    /// Password for the DISA (required)
8366    #[serde(skip_serializing_if = "Option::is_none")]
8367    pub pin: Option<i64>,
8368    /// Time between digits (required)
8369    #[serde(skip_serializing_if = "Option::is_none")]
8370    pub digit_timeout: Option<i64>,
8371    /// Caller ID Override for the DISA
8372    #[serde(skip_serializing_if = "Option::is_none")]
8373    pub callerid_override: Option<String>,
8374    /// Language for the DISA (en, fr, es)
8375    #[serde(skip_serializing_if = "Option::is_none")]
8376    pub language: Option<String>,
8377}
8378
8379/// \- Create or update the information of a specific "Email to Fax
8380/// configuration".
8381///
8382/// Parameters for [`Client::set_email_to_fax`] (wire method `setEmailToFax`).
8383#[derive(Debug, Default, Clone, Serialize)]
8384pub struct SetEmailToFAXParams {
8385    /// \[Only for updates\] ID of the "Email to Fax" to edit (Values from
8386    /// getEmailToFax)
8387    #[serde(skip_serializing_if = "Option::is_none")]
8388    pub id: Option<i64>,
8389    /// If Enable, we will send Fax Message when we receive an email from the
8390    /// provided address. (Values: 1=Enable / 0=Disable)
8391    #[serde(
8392        skip_serializing_if = "Option::is_none",
8393        serialize_with = "crate::responses::serialize_opt_flag_01"
8394    )]
8395    pub enabled: Option<bool>,
8396    /// Email address from you will sent Fax Messages (required)
8397    #[serde(skip_serializing_if = "Option::is_none")]
8398    pub auth_email: Option<String>,
8399    /// Fax number that will appear as fax sender. (values from
8400    /// getFaxNumbersInfo) (required)
8401    #[serde(skip_serializing_if = "Option::is_none")]
8402    pub from_number_id: Option<String>,
8403    /// If Enable, we will check the mail subject if this include a Security
8404    /// Code before send the Fax. (Values: 1=Enable / 0=Disable)
8405    #[serde(
8406        skip_serializing_if = "Option::is_none",
8407        serialize_with = "crate::responses::serialize_opt_flag_01"
8408    )]
8409    pub security_code_enabled: Option<bool>,
8410    /// An alphanumeric code to identify your emails before send as Fax.
8411    /// (required)
8412    #[serde(skip_serializing_if = "Option::is_none")]
8413    pub security_code: Option<String>,
8414    /// Set to true if testing.
8415    #[serde(
8416        skip_serializing_if = "crate::responses::is_false",
8417        serialize_with = "crate::responses::serialize_flag_01"
8418    )]
8419    pub test: bool,
8420}
8421
8422/// \- Create or update the information of a specific Fax Folder.
8423///
8424/// Parameters for [`Client::set_fax_folder`] (wire method `setFaxFolder`).
8425#[derive(Debug, Default, Clone, Serialize)]
8426pub struct SetFAXFolderParams {
8427    /// \[Only for updates\] ID of the Fax Folder to edit (Values from
8428    /// getFaxFolders)
8429    #[serde(skip_serializing_if = "Option::is_none")]
8430    pub id: Option<i64>,
8431    /// Name of the Fax Folder to create or update (Example: FAMILY) (required)
8432    #[serde(skip_serializing_if = "Option::is_none")]
8433    pub name: Option<String>,
8434    /// Set to true if testing how to create/update a Fax Folder
8435    #[serde(
8436        skip_serializing_if = "crate::responses::is_false",
8437        serialize_with = "crate::responses::serialize_flag_01"
8438    )]
8439    pub test: bool,
8440}
8441
8442/// \- Updates the email configuration from a specific Fax Number.
8443///
8444/// Parameters for [`Client::set_fax_number_email`] (wire method `setFaxNumberEmail`).
8445#[derive(Debug, Default, Clone, Serialize)]
8446pub struct SetFAXNumberEmailParams {
8447    /// DID Number to be ported into our network (Example: 5552341234)
8448    /// (required)
8449    #[serde(skip_serializing_if = "Option::is_none")]
8450    pub did: Option<i64>,
8451    /// Email address where send notifications when receive Fax Messages -
8452    /// (Example: \[email protected\])
8453    #[serde(skip_serializing_if = "Option::is_none")]
8454    pub email: Option<String>,
8455    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
8456    /// \- Default: 0
8457    #[serde(
8458        skip_serializing_if = "Option::is_none",
8459        serialize_with = "crate::responses::serialize_opt_flag_01"
8460    )]
8461    pub email_enable: Option<bool>,
8462    /// Flag to enable attach the Fax Message as a PDF file in the
8463    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
8464    #[serde(
8465        skip_serializing_if = "Option::is_none",
8466        serialize_with = "crate::responses::serialize_opt_flag_01"
8467    )]
8468    pub email_attach_file: Option<bool>,
8469    /// Set to true if testing how to set the email of a Fax Number
8470    #[serde(
8471        skip_serializing_if = "crate::responses::is_false",
8472        serialize_with = "crate::responses::serialize_flag_01"
8473    )]
8474    pub test: bool,
8475}
8476
8477/// \- Updates the information from a specific Fax Number.
8478///
8479/// Parameters for [`Client::set_fax_number_info`] (wire method `setFaxNumberInfo`).
8480#[derive(Debug, Default, Clone, Serialize)]
8481pub struct SetFAXNumberInfoParams {
8482    /// DID Number to be ported into our network (Example: 5552341234)
8483    /// (required)
8484    #[serde(skip_serializing_if = "Option::is_none")]
8485    pub did: Option<i64>,
8486    /// Email address where send notifications when receive Fax Messages -
8487    /// (Example: \[email protected\])
8488    #[serde(skip_serializing_if = "Option::is_none")]
8489    pub email: Option<String>,
8490    /// Flag to enable the email notifications. - (Values: 1 = true, 0 = false)
8491    /// \- Default: 0
8492    #[serde(
8493        skip_serializing_if = "Option::is_none",
8494        serialize_with = "crate::responses::serialize_opt_flag_01"
8495    )]
8496    pub email_enable: Option<bool>,
8497    /// Flag to enable attach the Fax Message as a PDF file in the
8498    /// notifications. - (Values: 1 = true, 0 = false) - Default: 0
8499    #[serde(
8500        skip_serializing_if = "Option::is_none",
8501        serialize_with = "crate::responses::serialize_opt_flag_01"
8502    )]
8503    pub email_attach_file: Option<bool>,
8504    /// URL where make a POST when you receive a Fax Message.
8505    #[serde(skip_serializing_if = "Option::is_none")]
8506    pub url_callback: Option<String>,
8507    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
8508    /// false) - Default: 0
8509    #[serde(
8510        skip_serializing_if = "Option::is_none",
8511        serialize_with = "crate::responses::serialize_opt_flag_01"
8512    )]
8513    pub url_callback_enable: Option<bool>,
8514    /// Flag to enable retry the POST action in case we don't receive "ok".
8515    #[serde(
8516        skip_serializing_if = "Option::is_none",
8517        serialize_with = "crate::responses::serialize_opt_flag_01"
8518    )]
8519    pub url_callback_retry: Option<bool>,
8520    /// Set to true if testing how to update the information of a Fax Number
8521    #[serde(
8522        skip_serializing_if = "crate::responses::is_false",
8523        serialize_with = "crate::responses::serialize_flag_01"
8524    )]
8525    pub test: bool,
8526}
8527
8528/// \- Updates the url callback configuration from a specific Fax Number.
8529///
8530/// Parameters for [`Client::set_fax_number_url_callback`] (wire method `setFaxNumberURLCallback`).
8531#[derive(Debug, Default, Clone, Serialize)]
8532pub struct SetFAXNumberURLCallbackParams {
8533    /// DID Number to be ported into our network (Example: 5552341234)
8534    /// (required)
8535    #[serde(skip_serializing_if = "Option::is_none")]
8536    pub did: Option<i64>,
8537    /// URL where make a POST when you receive a Fax Message.
8538    #[serde(skip_serializing_if = "Option::is_none")]
8539    pub url_callback: Option<String>,
8540    /// Flag to enable the URL Callback functionality. - (Values: 1 = true, 0 =
8541    /// false) - Default: 0
8542    #[serde(
8543        skip_serializing_if = "Option::is_none",
8544        serialize_with = "crate::responses::serialize_opt_flag_01"
8545    )]
8546    pub url_callback_enable: Option<bool>,
8547    /// Flag to enable retry the POST action in case we don't receive "ok".
8548    #[serde(
8549        skip_serializing_if = "Option::is_none",
8550        serialize_with = "crate::responses::serialize_opt_flag_01"
8551    )]
8552    pub url_callback_retry: Option<bool>,
8553    /// Set to true if testing how to set the URL callback of a Fax Number
8554    #[serde(
8555        skip_serializing_if = "crate::responses::is_false",
8556        serialize_with = "crate::responses::serialize_flag_01"
8557    )]
8558    pub test: bool,
8559}
8560
8561/// \- Updates a specific Forwarding if a fwd code is provided.
8562/// \- Adds a new Forwarding entry if no fwd code is provided.
8563///
8564/// Parameters for [`Client::set_forwarding`] (wire method `setForwarding`).
8565#[derive(Debug, Default, Clone, Serialize)]
8566pub struct SetForwardingParams {
8567    /// ID for a specific Forwarding (Example: 19183 / Leave empty to create a
8568    /// new one)
8569    #[serde(skip_serializing_if = "Option::is_none")]
8570    pub forwarding: Option<String>,
8571    /// Phone Number for the Forwarding (required)
8572    #[serde(skip_serializing_if = "Option::is_none")]
8573    pub phone_number: Option<String>,
8574    /// Caller ID Override for the Forwarding
8575    #[serde(skip_serializing_if = "Option::is_none")]
8576    pub callerid_override: Option<String>,
8577    /// Description for the Forwarding
8578    #[serde(skip_serializing_if = "Option::is_none")]
8579    pub description: Option<String>,
8580    /// Send DTMF digits when call is answered
8581    #[serde(skip_serializing_if = "Option::is_none")]
8582    pub dtmf_digits: Option<String>,
8583    /// Pause (seconds) when call is answered before sending digits (Example:
8584    /// 1.5 / Values: 0 to 10 in increments of 0.5)
8585    #[serde(skip_serializing_if = "Option::is_none")]
8586    pub pause: Option<String>,
8587    /// If enabled, we will add a Diversion Header to your forwarded call
8588    #[serde(
8589        skip_serializing_if = "Option::is_none",
8590        serialize_with = "crate::responses::serialize_opt_flag_01"
8591    )]
8592    pub diversion_header: Option<bool>,
8593}
8594
8595/// \- Updates a specific IVR if an IVR code is provided.
8596/// \- Adds a new IVR entry if no IVR code is provided.
8597///
8598/// Parameters for [`Client::set_ivr`] (wire method `setIVR`).
8599#[derive(Debug, Default, Clone, Serialize)]
8600pub struct SetIVRParams {
8601    /// ID for a specific IVR (Example: 4636 / Leave empty to create a new one)
8602    #[serde(skip_serializing_if = "Option::is_none")]
8603    pub ivr: Option<String>,
8604    /// Name for the IVR (required)
8605    #[serde(skip_serializing_if = "Option::is_none")]
8606    pub name: Option<String>,
8607    /// Recording for the IVR (values from getRecordings) (required)
8608    #[serde(skip_serializing_if = "Option::is_none")]
8609    pub recording: Option<i64>,
8610    /// Maximum time for type in a choice after recording (required)
8611    #[serde(skip_serializing_if = "Option::is_none")]
8612    pub timeout: Option<i64>,
8613    /// Language for the IVR (values from getLanguages) (required)
8614    #[serde(skip_serializing_if = "Option::is_none")]
8615    pub language: Option<String>,
8616    /// Voicemail Setup for the IVR (values from getVoicemailSetups) (required)
8617    #[serde(skip_serializing_if = "Option::is_none")]
8618    pub voicemailsetup: Option<i64>,
8619    /// Choices for the IVR (Example: '1=sip:5096 ; 2=fwd:20222') (required)
8620    #[serde(skip_serializing_if = "Option::is_none")]
8621    pub choices: Option<String>,
8622}
8623
8624/// Parameters for [`Client::set_location`] (wire method `setLocation`).
8625#[derive(Debug, Default, Clone, Serialize)]
8626pub struct SetLocationParams {
8627    /// Internal Extension Location name (Example: "Location1") (required)
8628    #[serde(skip_serializing_if = "Option::is_none")]
8629    pub name: Option<String>,
8630}
8631
8632/// Parameters for [`Client::set_music_on_hold`] (wire method `setMusicOnHold`).
8633#[derive(Debug, Default, Clone, Serialize)]
8634pub struct SetMusicOnHoldParams {
8635    /// Music on Hold Name (Values from getMusicOnHold)
8636    #[serde(skip_serializing_if = "Option::is_none")]
8637    pub name: Option<String>,
8638    /// Music on Hold Description (required)
8639    #[serde(skip_serializing_if = "Option::is_none")]
8640    pub description: Option<String>,
8641    /// Music on Hold Quiet Volume (Boolean: 1/0)
8642    #[serde(skip_serializing_if = "Option::is_none")]
8643    pub volume: Option<String>,
8644    /// Selected recordings sort mode (Example: "alpha", "random")
8645    #[serde(skip_serializing_if = "Option::is_none")]
8646    pub sort: Option<RecordingSort>,
8647    /// Selected recordings separated by commas (Values from getRecordings,
8648    /// example: (1234,1235,1236) (required)
8649    #[serde(skip_serializing_if = "Option::is_none")]
8650    pub recordings: Option<String>,
8651}
8652
8653/// \- Updates a specific Phonebook entry if a phonebook code is provided.
8654/// \- Adds a new Phonebook entry if no phonebook code is provided.
8655///
8656/// Parameters for [`Client::set_phonebook`] (wire method `setPhonebook`).
8657#[derive(Debug, Default, Clone, Serialize)]
8658pub struct SetPhonebookParams {
8659    /// ID for a specific Phonebook entry (Example: 32207 / Leave empty to
8660    /// create a new one)
8661    #[serde(skip_serializing_if = "Option::is_none")]
8662    pub phonebook: Option<String>,
8663    /// Speed Dial for the Phonebook entry
8664    #[serde(skip_serializing_if = "Option::is_none")]
8665    pub speed_dial: Option<String>,
8666    /// Name for the Phonebook Entry (required)
8667    #[serde(skip_serializing_if = "Option::is_none")]
8668    pub name: Option<String>,
8669    /// Number or SIP for the Phonebook entry (Example: 'sip:2563' or
8670    /// '5552223333') (required)
8671    #[serde(skip_serializing_if = "Option::is_none")]
8672    pub number: Option<i64>,
8673    /// Caller ID Override when dialing via Speed Dial
8674    #[serde(skip_serializing_if = "Option::is_none")]
8675    pub callerid: Option<String>,
8676    /// Note for the phonebook entry
8677    #[serde(skip_serializing_if = "Option::is_none")]
8678    pub note: Option<String>,
8679    /// ID for a specific Phonebook group
8680    #[serde(skip_serializing_if = "Option::is_none")]
8681    pub group: Option<i64>,
8682}
8683
8684/// \- Updates a specific Phonebook group if a phonebook code is provided.
8685/// \- Adds a new Phonebook group if no phonebook group code is provided.
8686/// \- Assigns or modifies group members if a member list is provided
8687///
8688/// Parameters for [`Client::set_phonebook_group`] (wire method `setPhonebookGroup`).
8689#[derive(Debug, Default, Clone, Serialize)]
8690pub struct SetPhonebookGroupParams {
8691    #[serde(skip_serializing_if = "Option::is_none")]
8692    pub phonebook: Option<String>,
8693    /// ID for a specific Phonebook group (Example: 32207 / Leave empty to
8694    /// create a new one)
8695    #[serde(skip_serializing_if = "Option::is_none")]
8696    pub group: Option<String>,
8697    /// Name for the Phonebook group (required)
8698    #[serde(skip_serializing_if = "Option::is_none")]
8699    pub name: Option<String>,
8700    /// Phonebook entry codes associated to this group separated by a semicolon
8701    #[serde(skip_serializing_if = "Option::is_none")]
8702    pub members: Option<String>,
8703}
8704
8705/// \- Updates a specific Queue entry if a queue code is provided.
8706/// \- Adds a new Queue entry if no queue code is provided.
8707///
8708/// Parameters for [`Client::set_queue`] (wire method `setQueue`).
8709#[derive(Debug, Default, Clone, Serialize)]
8710pub struct SetQueueParams {
8711    /// ID for a specific Queue entry (Example: 32208 / Leave empty to create a
8712    /// new one)
8713    #[serde(skip_serializing_if = "Option::is_none")]
8714    pub queue: Option<String>,
8715    /// Queue entry name (required)
8716    #[serde(skip_serializing_if = "Option::is_none")]
8717    pub queue_name: Option<String>,
8718    /// Queue entry number (required)
8719    #[serde(skip_serializing_if = "Option::is_none")]
8720    pub queue_number: Option<i64>,
8721    /// Language Code (Values from getLanguages) (required)
8722    #[serde(skip_serializing_if = "Option::is_none")]
8723    pub queue_language: Option<String>,
8724    /// Queue Password
8725    #[serde(skip_serializing_if = "Option::is_none")]
8726    pub queue_password: Option<String>,
8727    /// Caller ID Prefix for queue
8728    #[serde(skip_serializing_if = "Option::is_none")]
8729    pub callerid_prefix: Option<i64>,
8730    /// Recording Code (Values from getRecordings or 'none')
8731    #[serde(skip_serializing_if = "Option::is_none")]
8732    pub join_announcement: Option<String>,
8733    /// weight/priority of queue (Values 1 to 60) (required)
8734    #[serde(skip_serializing_if = "Option::is_none")]
8735    pub priority_weight: Option<String>,
8736    /// Recording Code (Values from getRecordings or 'none')
8737    #[serde(skip_serializing_if = "Option::is_none")]
8738    pub agent_announcement: Option<String>,
8739    /// Report hold time to agent (Values from getReportEstimatedHoldTime)
8740    /// (required)
8741    #[serde(skip_serializing_if = "Option::is_none")]
8742    pub report_hold_time_agent: Option<String>,
8743    /// Member delay when the agent is connected to the caller (Values 1 to 15
8744    /// in seconds or 'none')
8745    #[serde(skip_serializing_if = "Option::is_none")]
8746    pub member_delay: Option<crate::Seconds>,
8747    /// Ammount of time a caller can wait in queue (Values in seconds: multiples
8748    /// of 30, max value: 1200 or 'unlimited')
8749    #[serde(skip_serializing_if = "Option::is_none")]
8750    pub maximum_wait_time: Option<crate::WaitTime>,
8751    /// Maximum callers (Values: 1 to 60 or 'unlimited')
8752    #[serde(skip_serializing_if = "Option::is_none")]
8753    pub maximum_callers: Option<String>,
8754    /// How caller join to the queue (Values from getJoinWhenEmptyTypes)
8755    /// Examples: yes Callers can join a queue with no members or only
8756    /// unavailable members no Callers cannot join a queue with no members
8757    /// strict Callers cannot join a queue with no members or only unavailable
8758    /// members (required)
8759    #[serde(skip_serializing_if = "Option::is_none")]
8760    pub join_when_empty: Option<QueueEmptyBehavior>,
8761    /// How caller leave the queue (Values 'yes'/'no'/'strict') Examples: yes
8762    /// Callers are sent to failover when there are no members no Callers will
8763    /// remain in the queue even if there are no members strict Callers are sent
8764    /// to failover if there are members but none of them is available.
8765    /// (required)
8766    #[serde(skip_serializing_if = "Option::is_none")]
8767    pub leave_when_empty: Option<QueueEmptyBehavior>,
8768    /// Ring strategy (Values from getRingStrategies) (required)
8769    #[serde(skip_serializing_if = "Option::is_none")]
8770    pub ring_strategy: Option<RingStrategy>,
8771    /// If you want the queue to avoid sending calls to members (Values
8772    /// 'yes'/'no') (required)
8773    #[serde(
8774        skip_serializing_if = "Option::is_none",
8775        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8776    )]
8777    pub ring_inuse: Option<bool>,
8778    /// Number of seconds to ring an agent (Values 5 to 60)
8779    #[serde(skip_serializing_if = "Option::is_none")]
8780    pub agent_ring_timeout: Option<i64>,
8781    /// How long do we wait before trying all the members again (Values 5 to 60
8782    /// seconds or 'none'= No Delay)
8783    #[serde(skip_serializing_if = "Option::is_none")]
8784    pub retry_timer: Option<crate::Seconds>,
8785    /// After a successful call, the number of seconds to wait before sending a
8786    /// free agent another call (Values 1 to 60 seconds or 'none'= No Delay)
8787    #[serde(skip_serializing_if = "Option::is_none")]
8788    pub wrapup_time: Option<crate::Seconds>,
8789    /// Code for Recording (Values from getRecordings or 'none')
8790    #[serde(skip_serializing_if = "Option::is_none")]
8791    pub voice_announcement: Option<String>,
8792    /// Periodic interval to play voice announce recording (Values in seconds:
8793    /// multiples of 15, max value: 1200 or 'none' = No announcement)
8794    #[serde(skip_serializing_if = "Option::is_none")]
8795    pub frequency_announcement: Option<crate::Seconds>,
8796    /// How often to make any periodic announcement (Values in seconds:
8797    /// multiples of 15, max value: 1200 or 'none' = No announcement)
8798    #[serde(skip_serializing_if = "Option::is_none")]
8799    pub announce_position_frecuency: Option<crate::Seconds>,
8800    /// Announce seconds (Values in seconds: 1 to 60 or 'none' = Do not
8801    /// announce)
8802    #[serde(skip_serializing_if = "Option::is_none")]
8803    pub announce_round_seconds: Option<crate::Seconds>,
8804    /// Include estimated hold time in position announcements (Values
8805    /// 'yes'/'no'/'once')
8806    #[serde(skip_serializing_if = "Option::is_none")]
8807    pub if_announce_position_enabled_report_estimated_hold_time: Option<EstimatedHoldTimeAnnounce>,
8808    /// Yes to say "Thank you for your patience" immediatly after announcing
8809    /// Queue Position and Estimated hold time left (Values 'yes'/'no')
8810    #[serde(
8811        skip_serializing_if = "Option::is_none",
8812        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
8813    )]
8814    pub thankyou_for_your_patience: Option<bool>,
8815    /// Music on Hold Code (Values from getMusicOnHold)
8816    #[serde(skip_serializing_if = "Option::is_none")]
8817    pub music_on_hold: Option<String>,
8818    /// Failover routing to Maximum wait time reached
8819    #[serde(skip_serializing_if = "Option::is_none")]
8820    pub fail_over_routing_timeout: Option<crate::Routing>,
8821    /// Failover routing to Maximum callers reached
8822    #[serde(skip_serializing_if = "Option::is_none")]
8823    pub fail_over_routing_full: Option<crate::Routing>,
8824    /// A call was sent to the queue but the queue had no members (Only works
8825    /// when Join when Empty is set to no)
8826    #[serde(skip_serializing_if = "Option::is_none")]
8827    pub fail_over_routing_join_empty: Option<crate::Routing>,
8828    /// The last agent was removed form the queue before alls calls were handled
8829    /// (Only works when Leave when Empty is set to yes)
8830    #[serde(skip_serializing_if = "Option::is_none")]
8831    pub fail_over_routing_leave_empty: Option<crate::Routing>,
8832    /// Same as routingjoinempty, except that there were still queue members,
8833    /// but all were status unavailable
8834    #[serde(skip_serializing_if = "Option::is_none")]
8835    pub fail_over_routing_join_unavail: Option<crate::Routing>,
8836    /// Same as routingleaveempty, except that there were still queue members,
8837    /// but all were status unavailable routings can receive values in the
8838    /// following format => header:record_id Where header could be: account,
8839    /// fwd, vm, sip, grp, ivr, sys, recording, queue, cb, tc, disa, none.
8840    /// Examples: account Used for routing calls to Sub Accounts You can get all
8841    /// sub accounts using the getSubAccounts function fwd Used for routing
8842    /// calls to Forwarding entries. You can get the ID right after creating a
8843    /// Forwarding with setForwarding or by requesting all forwardings entries
8844    /// with getForwardings. vm Used for routing calls to a Voicemail. You can
8845    /// get all voicemails and their IDs using the getVoicemails function
8846    /// Examples: 'account:100001_VoIP' 'fwd:1026' 'vm:101'
8847    #[serde(skip_serializing_if = "Option::is_none")]
8848    pub fail_over_routing_leave_unavail: Option<crate::Routing>,
8849}
8850
8851/// \- Updates a specific Recording File if a Recording ID is provided.
8852/// \- Adds a new Recording file entry if no Recording ID is provided.
8853///
8854/// Parameters for [`Client::set_recording`] (wire method `setRecording`).
8855#[derive(Debug, Default, Clone, Serialize)]
8856pub struct SetRecordingParams {
8857    /// ID for a specific Phonebook entry (Example: 33221 / Leave empty to
8858    /// create a new one)
8859    #[serde(skip_serializing_if = "Option::is_none")]
8860    pub recording: Option<String>,
8861    /// Base64 encoded file (Provide Recording ID and file if you want update
8862    /// the file only) (required)
8863    #[serde(skip_serializing_if = "Option::is_none")]
8864    pub file: Option<String>,
8865    /// Name for the Recording Entry (Example: 'recording1') (Provide Recording
8866    /// ID and name if you want update the name only) (Provide Recording ID,
8867    /// file and name if you want update both parameters at the same time)
8868    /// (required)
8869    #[serde(skip_serializing_if = "Option::is_none")]
8870    pub name: Option<String>,
8871}
8872
8873/// \- Updates a specific Ring Group if a ring group code is provided.
8874/// \- Adds a new Ring Group entry if no ring group code is provided.
8875///
8876/// Parameters for [`Client::set_ring_group`] (wire method `setRingGroup`).
8877#[derive(Debug, Default, Clone, Serialize)]
8878pub struct SetRingGroupParams {
8879    /// ID for a specific Ring Group (Example: 4768 / Leave empty to create a
8880    /// new one)
8881    #[serde(skip_serializing_if = "Option::is_none")]
8882    pub ring_group: Option<String>,
8883    /// Name for the Ring Group (required)
8884    #[serde(skip_serializing_if = "Option::is_none")]
8885    pub name: Option<String>,
8886    /// Members for the Ring Group (Example: 'account:100001;fwd:16006')
8887    /// (required)
8888    #[serde(skip_serializing_if = "Option::is_none")]
8889    pub members: Option<String>,
8890    /// Voicemail for the Ring Group (Values from getVoicemails) (required)
8891    #[serde(skip_serializing_if = "Option::is_none")]
8892    pub voicemail: Option<String>,
8893    /// Recording Code (Values from getRecordings)
8894    #[serde(skip_serializing_if = "Option::is_none")]
8895    pub caller_announcement: Option<String>,
8896    /// Music on Hold Code (Values from getMusicOnHold)
8897    #[serde(skip_serializing_if = "Option::is_none")]
8898    pub music_on_hold: Option<String>,
8899    /// Code for Language (Values from getLanguages) "members" can receive the
8900    /// following routing headers: account Used to route the call to an Account
8901    /// or a Sub Account fwd Used to route the call to a Forwarding entry sip
8902    /// Used to route the call to a SIP URI Each member can a specific ring time
8903    /// and press1 values, you can add those to the routing header as follow:
8904    /// Example: 'account:100001,25,0;fwd:16006,10,1' 25 = Default ring time
8905    /// value (Values from 1 to 60 sec) 0 = Default press1 value (Values allowed
8906    /// 0 and 1)
8907    #[serde(skip_serializing_if = "Option::is_none")]
8908    pub language: Option<String>,
8909}
8910
8911/// \- Updates a specific SIP URI if a SIP URI code is provided.
8912/// \- Adds a new SIP URI entry if no SIP URI code is provided.
8913///
8914/// Parameters for [`Client::set_sip_uri`] (wire method `setSIPURI`).
8915#[derive(Debug, Default, Clone, Serialize)]
8916pub struct SetSIPURIParams {
8917    /// ID for a specific SIP URI (Example: 6199 / Leave empty to create a new
8918    /// one)
8919    #[serde(skip_serializing_if = "Option::is_none")]
8920    pub sipuri: Option<String>,
8921    /// SIP URI (Example: '\[email protected\]') (required)
8922    #[serde(skip_serializing_if = "Option::is_none")]
8923    pub uri: Option<String>,
8924    /// Description for the SIP URI
8925    #[serde(skip_serializing_if = "Option::is_none")]
8926    pub description: Option<String>,
8927    /// This setting is optional. You can configure a 'CallerID Number
8928    /// Override'. Your default CallerID number will be changed to the override
8929    /// you have configured here when using this SIP URI.
8930    #[serde(skip_serializing_if = "Option::is_none")]
8931    pub callerid_override: Option<String>,
8932    /// If this option is Enabled, then your CallerID will be E164 compliant.
8933    #[serde(skip_serializing_if = "Option::is_none")]
8934    pub callerid_e164: Option<i64>,
8935}
8936
8937/// \- Enable/Disable the SMS Service for a DID
8938/// \- Change the SMS settings for a DID
8939///
8940/// Parameters for [`Client::set_sms`] (wire method `setSMS`).
8941#[derive(Debug, Default, Clone, Serialize)]
8942pub struct SetSMSParams {
8943    /// DID to be Updated (Example: 5551234567) (required)
8944    #[serde(skip_serializing_if = "Option::is_none")]
8945    pub did: Option<String>,
8946    /// Enable/Disable the DID to receive SMS Messages (Values: 1=Enable /
8947    /// 0=Disable) (required)
8948    #[serde(
8949        skip_serializing_if = "Option::is_none",
8950        serialize_with = "crate::responses::serialize_opt_flag_01"
8951    )]
8952    pub enable: Option<bool>,
8953    /// If Enable, SMS Messages received by your DID will be sent to the email
8954    /// address provided (Values: 1=Enable / 0=Disable)
8955    #[serde(
8956        skip_serializing_if = "Option::is_none",
8957        serialize_with = "crate::responses::serialize_opt_flag_01"
8958    )]
8959    pub email_enabled: Option<bool>,
8960    /// SMS Messages received by your DID will be sent to the email address
8961    /// provided
8962    #[serde(skip_serializing_if = "Option::is_none")]
8963    pub email_address: Option<String>,
8964    /// If Enable, SMS Messages received by your DID will be forwarded to the
8965    /// phone number provided (Values: 1=Enable / 0=Disable)
8966    #[serde(
8967        skip_serializing_if = "Option::is_none",
8968        serialize_with = "crate::responses::serialize_opt_flag_01"
8969    )]
8970    pub sms_forward_enable: Option<bool>,
8971    /// SMS Messages received by your DID will be forwarded to the phone number
8972    /// provided (Example: 5551234567)
8973    #[serde(skip_serializing_if = "Option::is_none")]
8974    pub sms_forward: Option<String>,
8975    /// If Enable, SMS Messages received by your DID will be send a GET request
8976    /// to the URL callback provided (Values: 1=Enable / 0=Disable)
8977    #[serde(
8978        skip_serializing_if = "Option::is_none",
8979        serialize_with = "crate::responses::serialize_opt_flag_01"
8980    )]
8981    pub url_callback_enable: Option<bool>,
8982    /// SMS Messages received by your DID will be send a GET request to the URL
8983    /// callback provided Available Variables for your URL {FROM} The phone
8984    /// number that sent you the message. {TO} The DID number that received the
8985    /// message. {MESSAGE} The content of the message. Example:
8986    /// <http://mysite.com/sms.php?to={TO}&from={FROM}&message={MESSAGE}>
8987    #[serde(skip_serializing_if = "Option::is_none")]
8988    pub url_callback: Option<String>,
8989    /// Enable URL callback Retry (Values: 1=Enable / 0=Disable) we will be
8990    /// expecting an 'ok' output (without quotes) from your URL callback page as
8991    /// an indicator that you have received the message correctly. If we don't
8992    /// receive the 'ok' letters (wihtout quotes) from your callback page, we
8993    /// will keep sending you the same message every 30 minutes.
8994    #[serde(
8995        skip_serializing_if = "Option::is_none",
8996        serialize_with = "crate::responses::serialize_opt_flag_01"
8997    )]
8998    pub url_callback_retry: Option<bool>,
8999    /// SIP account or sub-account that will receive the SMS Messages
9000    #[serde(skip_serializing_if = "Option::is_none")]
9001    pub sms_sipaccount: Option<String>,
9002    /// If Enable, SMS Messages received by your DID will be sent to the
9003    /// specified SIP account or sub-account (Values: 1=Enable / 0=Disable)
9004    #[serde(
9005        skip_serializing_if = "Option::is_none",
9006        serialize_with = "crate::responses::serialize_opt_flag_01"
9007    )]
9008    pub sms_sipaccount_enabled: Option<bool>,
9009}
9010
9011/// \- Updates a specific Member from queue if a Member code is provided.
9012/// \- Adds a new Member to Queue if no Member code is provided.
9013///
9014/// Parameters for [`Client::set_static_member`] (wire method `setStaticMember`).
9015#[derive(Debug, Default, Clone, Serialize)]
9016pub struct SetStaticMemberParams {
9017    /// ID for a specific Member (Example: 619 / Leave empty to create a new
9018    /// one)
9019    #[serde(skip_serializing_if = "Option::is_none")]
9020    pub member: Option<String>,
9021    /// ID for a specific Queue (required)
9022    #[serde(skip_serializing_if = "Option::is_none")]
9023    pub queue: Option<i64>,
9024    /// Member Description (required)
9025    #[serde(skip_serializing_if = "Option::is_none")]
9026    pub member_name: Option<String>,
9027    /// Static Member Routing to receive calls - You can get all sub accounts
9028    /// using the getSubAccounts function
9029    #[serde(skip_serializing_if = "Option::is_none")]
9030    pub account: Option<String>,
9031    /// Values for get calls first (Example: 0) (required)
9032    #[serde(skip_serializing_if = "Option::is_none")]
9033    pub priority: Option<i64>,
9034}
9035
9036/// \- Updates Sub Account information.
9037///
9038/// Parameters for [`Client::set_sub_account`] (wire method `setSubAccount`).
9039#[derive(Debug, Default, Clone, Serialize)]
9040pub struct SetSubAccountParams {
9041    /// Sub Account ID (Example: 10236) (required)
9042    #[serde(skip_serializing_if = "Option::is_none")]
9043    pub id: Option<i64>,
9044    /// Sub Account Description (Example: 'VoIP Account')
9045    #[serde(skip_serializing_if = "Option::is_none")]
9046    pub description: Option<String>,
9047    /// Authorization Type Code (Values from getAuthTypes) (required)
9048    #[serde(skip_serializing_if = "Option::is_none")]
9049    pub auth_type: Option<i64>,
9050    /// Sub Account Password (For Password Authentication)
9051    #[serde(skip_serializing_if = "Option::is_none")]
9052    pub password: Option<String>,
9053    /// Sub Account IP (For IP Authentication)
9054    #[serde(skip_serializing_if = "Option::is_none")]
9055    pub ip: Option<String>,
9056    /// Device Type Code (Values from getDeviceTypes) (required)
9057    #[serde(skip_serializing_if = "Option::is_none")]
9058    pub device_type: Option<i64>,
9059    /// Caller ID Override
9060    #[serde(skip_serializing_if = "Option::is_none")]
9061    pub callerid_number: Option<String>,
9062    /// Route Code (Values from getRoutes)
9063    #[serde(skip_serializing_if = "Option::is_none")]
9064    pub canada_routing: Option<String>,
9065    /// Lock International Code (Values from getLockInternational) (required)
9066    #[serde(skip_serializing_if = "Option::is_none")]
9067    pub lock_international: Option<i64>,
9068    /// Route Code (Values from getRoutes) (required)
9069    #[serde(skip_serializing_if = "Option::is_none")]
9070    pub international_route: Option<i64>,
9071    /// Music on Hold Code (Values from getMusicOnHold) (required)
9072    #[serde(skip_serializing_if = "Option::is_none")]
9073    pub music_on_hold: Option<String>,
9074    /// Language for system messages, such as "Invalid Option" (Values from
9075    /// getLanguages)
9076    #[serde(skip_serializing_if = "Option::is_none")]
9077    pub language: Option<String>,
9078    /// List of Allowed Codecs (Values from getAllowedCodecs) Codecs separated
9079    /// by semicolon (Example: ulaw;g729;gsm) (required)
9080    #[serde(skip_serializing_if = "Option::is_none")]
9081    pub allowed_codecs: Option<String>,
9082    /// DTMF Mode Code (Values from getDTMFModes) (required)
9083    #[serde(skip_serializing_if = "Option::is_none")]
9084    pub dtmf_mode: Option<DtmfMode>,
9085    /// NAT Mode Code (Values from getNAT) (required)
9086    #[serde(skip_serializing_if = "Option::is_none")]
9087    pub nat: Option<Nat>,
9088    /// Encrypted SIP Traffic (Boolean: 1/0)
9089    #[serde(skip_serializing_if = "Option::is_none")]
9090    pub sip_traffic: Option<i64>,
9091    /// Max Expiry between 60 and 3600 (Example: 3000)
9092    #[serde(skip_serializing_if = "Option::is_none")]
9093    pub max_expiry: Option<i64>,
9094    /// RTP Time Out between 1 and 3600 (Example: 60)
9095    #[serde(skip_serializing_if = "Option::is_none")]
9096    pub rtp_timeout: Option<i64>,
9097    /// RTP Hold Time Out between 1 and 3600 (Example: 600)
9098    #[serde(skip_serializing_if = "Option::is_none")]
9099    pub rtp_hold_timeout: Option<i64>,
9100    /// List of IP/Netmask to allow outgoing calls separated by commas (Example:
9101    /// 123.45.3.21,10.255.12.0/22,device.mydomain.com)
9102    #[serde(skip_serializing_if = "Option::is_none")]
9103    pub ip_restriction: Option<String>,
9104    /// Enable IP Restriction (Boolean: 1/0)
9105    #[serde(
9106        skip_serializing_if = "Option::is_none",
9107        serialize_with = "crate::responses::serialize_opt_flag_01"
9108    )]
9109    pub enable_ip_restriction: Option<bool>,
9110    /// List of POP Servers to allow outgoing calls separated by commas (values
9111    /// from getServersInfo. Example: 10,23,45)
9112    #[serde(skip_serializing_if = "Option::is_none")]
9113    pub pop_restriction: Option<String>,
9114    /// Enable POP Restriction (Boolean: 1/0)
9115    #[serde(
9116        skip_serializing_if = "Option::is_none",
9117        serialize_with = "crate::responses::serialize_opt_flag_01"
9118    )]
9119    pub enable_pop_restriction: Option<bool>,
9120    /// Sub Account Internal Extension (Example: 1 -> Creates 101)
9121    #[serde(skip_serializing_if = "Option::is_none")]
9122    pub internal_extension: Option<String>,
9123    /// Sub Account Internal Voicemail (Example: 101)
9124    #[serde(skip_serializing_if = "Option::is_none")]
9125    pub internal_voicemail: Option<String>,
9126    /// Sub Account Internal Dialtime (Example: 60 -> seconds)
9127    #[serde(skip_serializing_if = "Option::is_none")]
9128    pub internal_dialtime: Option<String>,
9129    /// Reseller Account ID (Example: 561115)
9130    #[serde(skip_serializing_if = "Option::is_none")]
9131    pub reseller_client: Option<String>,
9132    /// Reseller Package (Example: 92364)
9133    #[serde(skip_serializing_if = "Option::is_none")]
9134    pub reseller_package: Option<String>,
9135    /// Reseller Next Billing Date (Example: '2012-12-31')
9136    #[serde(skip_serializing_if = "Option::is_none")]
9137    pub reseller_nextbilling: Option<String>,
9138    /// True if you want to charge Package Setup Fee after Save
9139    #[serde(skip_serializing_if = "Option::is_none")]
9140    pub reseller_chargesetup: Option<String>,
9141    /// Send BYE on successful transfer (Boolean: 1/0)
9142    #[serde(
9143        skip_serializing_if = "Option::is_none",
9144        serialize_with = "crate::responses::serialize_opt_flag_01"
9145    )]
9146    pub send_bye: Option<bool>,
9147    /// Record Calls (Boolean: 1/0)
9148    #[serde(
9149        skip_serializing_if = "Option::is_none",
9150        serialize_with = "crate::responses::serialize_opt_flag_01"
9151    )]
9152    pub record_calls: Option<bool>,
9153    #[serde(
9154        skip_serializing_if = "Option::is_none",
9155        serialize_with = "crate::responses::serialize_opt_flag_01"
9156    )]
9157    pub transcribe: Option<bool>,
9158    #[serde(skip_serializing_if = "Option::is_none")]
9159    pub transcription_locale: Option<String>,
9160    #[serde(skip_serializing_if = "Option::is_none")]
9161    pub transcription_email: Option<String>,
9162    /// Call Transcription Delay Seconds between 0 and 60, Increments of 5
9163    /// (Example: 10 -> seconds)
9164    #[serde(skip_serializing_if = "Option::is_none")]
9165    pub transcription_start_delay: Option<i64>,
9166    /// Allows you to dial outgoing calls using either the NANPA configuration
9167    /// or the E164 configuration. (Values: 0 = Use Main Account Setting, 1 =
9168    /// E164, 2 = NANPA)
9169    #[serde(skip_serializing_if = "Option::is_none")]
9170    pub dialing_mode: Option<DialingMode>,
9171    /// This allows you to select the carrier to be used for outgoing calls to
9172    /// toll-free numbers. (Values: -1 = Use main account settings, 0 = Default
9173    /// server setting, 1 = US carrier, 2 = Canadian carrier)
9174    #[serde(skip_serializing_if = "Option::is_none")]
9175    pub tfcarrier: Option<TollFreeCarrier>,
9176    /// Location group for the internal extension (Values from getLocations)
9177    #[serde(skip_serializing_if = "Option::is_none")]
9178    pub internal_extension_location: Option<i64>,
9179    /// e911 Default CallerID
9180    #[serde(skip_serializing_if = "Option::is_none")]
9181    pub default_e911: Option<String>,
9182}
9183
9184/// \- Updates a specific Time Condition if a time condition code is provided.
9185/// \- Adds a new Time Condition entry if no time condition code is provided.
9186///
9187/// Parameters for [`Client::set_time_condition`] (wire method `setTimeCondition`).
9188#[derive(Debug, Default, Clone, Serialize)]
9189pub struct SetTimeConditionParams {
9190    /// ID for a specific Time Condition (Example: 1830 / Leave empty to create
9191    /// a new one)
9192    #[serde(skip_serializing_if = "Option::is_none")]
9193    pub timecondition: Option<String>,
9194    /// Name for the Time Condition (required)
9195    #[serde(skip_serializing_if = "Option::is_none")]
9196    pub name: Option<String>,
9197    /// Routing for the Call when condition matches (required)
9198    #[serde(skip_serializing_if = "Option::is_none")]
9199    pub routing_match: Option<crate::Routing>,
9200    /// Routing for the Call when condition does not matche (required)
9201    #[serde(skip_serializing_if = "Option::is_none")]
9202    pub routing_nomatch: Option<crate::Routing>,
9203    /// All the Start Hour Conditions (Example: '8;8') (required)
9204    #[serde(skip_serializing_if = "Option::is_none")]
9205    pub starthour: Option<String>,
9206    /// All the Start Minute Conditions (Example: '0;0') (required)
9207    #[serde(skip_serializing_if = "Option::is_none")]
9208    pub startminute: Option<String>,
9209    /// All the End Hour Conditions (Example: '16;12') (required)
9210    #[serde(skip_serializing_if = "Option::is_none")]
9211    pub endhour: Option<String>,
9212    /// All the End Minute Conditions (Example: '0;0') (required)
9213    #[serde(skip_serializing_if = "Option::is_none")]
9214    pub endminute: Option<String>,
9215    /// All the Week Day Start Conditions (Example: 'mon;sat') (required)
9216    #[serde(skip_serializing_if = "Option::is_none")]
9217    pub weekdaystart: Option<String>,
9218    /// All the Week Day End Conditions (Example: 'fri;sat') (required)
9219    #[serde(skip_serializing_if = "Option::is_none")]
9220    pub weekdayend: Option<String>,
9221}
9222
9223/// \- Updates the information from a specific Voicemail.
9224///
9225/// Parameters for [`Client::set_voicemail`] (wire method `setVoicemail`).
9226#[derive(Debug, Default, Clone, Serialize)]
9227pub struct SetVoicemailParams {
9228    /// ID for a specific Mailbox (Example: 1001) (required)
9229    #[serde(skip_serializing_if = "Option::is_none")]
9230    pub mailbox: Option<i64>,
9231    /// Name for the Mailbox (required)
9232    #[serde(skip_serializing_if = "Option::is_none")]
9233    pub name: Option<String>,
9234    /// Password for the Mailbox (required)
9235    #[serde(skip_serializing_if = "Option::is_none")]
9236    pub password: Option<String>,
9237    /// True if Skipping Password (Boolean: 1/0) (required)
9238    #[serde(
9239        skip_serializing_if = "Option::is_none",
9240        serialize_with = "crate::responses::serialize_opt_flag_01"
9241    )]
9242    pub skip_password: Option<bool>,
9243    /// Email address for receiving messages, multiple email addresses are
9244    /// allowed if separated by a comma
9245    #[serde(skip_serializing_if = "Option::is_none")]
9246    pub email: Option<String>,
9247    /// Yes for Attaching WAV files to Message (Values: 'yes'/'no') (required)
9248    #[serde(
9249        skip_serializing_if = "Option::is_none",
9250        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9251    )]
9252    pub attach_message: Option<bool>,
9253    /// Yes for Deleting Messages (Values: 'yes'/'no') (required)
9254    #[serde(
9255        skip_serializing_if = "Option::is_none",
9256        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9257    )]
9258    pub delete_message: Option<bool>,
9259    /// Yes for Saying Time Stamp (Values: 'yes'/'no') (required)
9260    #[serde(
9261        skip_serializing_if = "Option::is_none",
9262        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9263    )]
9264    pub say_time: Option<bool>,
9265    /// Time Zone for Mailbox (Values from getTimeZones) (required)
9266    #[serde(skip_serializing_if = "Option::is_none")]
9267    pub timezone: Option<String>,
9268    /// Yes for Saying the Caller ID (Values: 'yes'/'no') (required)
9269    #[serde(
9270        skip_serializing_if = "Option::is_none",
9271        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9272    )]
9273    pub say_callerid: Option<bool>,
9274    /// Code for Play Instructions Setting (Values from getPlayInstructions)
9275    /// (required)
9276    #[serde(skip_serializing_if = "Option::is_none")]
9277    pub play_instructions: Option<PlayInstructions>,
9278    /// Code for Language (Values from getLanguages) (required)
9279    #[serde(skip_serializing_if = "Option::is_none")]
9280    pub language: Option<String>,
9281    /// Code for Email Attachment format (Values from
9282    /// getVoicemailAttachmentFormats)
9283    #[serde(skip_serializing_if = "Option::is_none")]
9284    pub email_attachment_format: Option<EmailAttachmentFormat>,
9285    /// Recording for the Unavailable Message (values from getRecordings)
9286    #[serde(skip_serializing_if = "Option::is_none")]
9287    pub unavailable_message_recording: Option<String>,
9288    /// 'yes' to enable Voicemail Transcription
9289    #[serde(
9290        skip_serializing_if = "Option::is_none",
9291        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9292    )]
9293    pub transcription: Option<bool>,
9294    /// Transcription locale code (values from getLocales, comma separated for
9295    /// more than one locale up to 10 locales)
9296    #[serde(skip_serializing_if = "Option::is_none")]
9297    pub transcription_locale: Option<String>,
9298    /// Yes for Transcription redaction (Values: 'yes'/'no')
9299    #[serde(
9300        skip_serializing_if = "Option::is_none",
9301        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9302    )]
9303    pub transcription_redaction: Option<bool>,
9304    /// Yes for Transcription sentiment (Values: 'yes'/'no')
9305    #[serde(
9306        skip_serializing_if = "Option::is_none",
9307        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9308    )]
9309    pub transcription_sentiment: Option<bool>,
9310    /// Yes for Transcription summary (Values: 'yes'/'no')
9311    #[serde(
9312        skip_serializing_if = "Option::is_none",
9313        serialize_with = "crate::responses::serialize_opt_flag_yes_no"
9314    )]
9315    pub transcription_summary: Option<bool>,
9316    /// Transcription format ( Values: 'html'/'text')
9317    #[serde(skip_serializing_if = "Option::is_none")]
9318    pub transcription_format: Option<TranscriptionFormat>,
9319}
9320
9321/// \- Signs a new Reseller Client to your Reseller Account.
9322///
9323/// Parameters for [`Client::signup_client`] (wire method `signupClient`).
9324#[derive(Debug, Default, Clone, Serialize)]
9325pub struct SignupClientParams {
9326    /// Client's Firstname (required)
9327    #[serde(skip_serializing_if = "Option::is_none")]
9328    pub firstname: Option<String>,
9329    /// Client's Lastname (required)
9330    #[serde(skip_serializing_if = "Option::is_none")]
9331    pub lastname: Option<String>,
9332    /// Client's Company
9333    #[serde(skip_serializing_if = "Option::is_none")]
9334    pub company: Option<String>,
9335    /// Client's Address (required)
9336    #[serde(skip_serializing_if = "Option::is_none")]
9337    pub address: Option<String>,
9338    /// Client's City (required)
9339    #[serde(skip_serializing_if = "Option::is_none")]
9340    pub city: Option<String>,
9341    /// Client's State (required)
9342    #[serde(skip_serializing_if = "Option::is_none")]
9343    pub state: Option<String>,
9344    /// Client's Country (Values from getCountries) (required)
9345    #[serde(skip_serializing_if = "Option::is_none")]
9346    pub country: Option<String>,
9347    /// Client's Zip Code (required)
9348    #[serde(skip_serializing_if = "Option::is_none")]
9349    pub zip: Option<String>,
9350    /// Client's Phone Number (required)
9351    #[serde(skip_serializing_if = "Option::is_none")]
9352    pub phone_number: Option<String>,
9353    /// Client's e-mail (required)
9354    #[serde(skip_serializing_if = "Option::is_none")]
9355    pub email: Option<String>,
9356    /// Client's Confirmation e-mail (required)
9357    #[serde(skip_serializing_if = "Option::is_none")]
9358    pub confirm_email: Option<String>,
9359    /// Client's Password (required)
9360    #[serde(skip_serializing_if = "Option::is_none")]
9361    pub password: Option<String>,
9362    /// Client's Confirmation Password (required)
9363    #[serde(skip_serializing_if = "Option::is_none")]
9364    pub confirm_password: Option<String>,
9365    /// Activates Client (Boolean: 1/0)
9366    #[serde(
9367        skip_serializing_if = "Option::is_none",
9368        serialize_with = "crate::responses::serialize_opt_flag_01"
9369    )]
9370    pub activate: Option<bool>,
9371    /// Balance Management for Client (Values from getBalanceManagement)
9372    #[serde(skip_serializing_if = "Option::is_none")]
9373    pub balance_management: Option<i64>,
9374}
9375
9376/// \- Unconnects specific DID from Reseller Client Sub Account.
9377///
9378/// Parameters for [`Client::unconnect_did`] (wire method `unconnectDID`).
9379#[derive(Debug, Default, Clone, Serialize)]
9380pub struct UnconnectDIDParams {
9381    /// DID to be Unconnected from Reseller Sub Account(Example: 5551234567)
9382    /// (required)
9383    #[serde(skip_serializing_if = "Option::is_none")]
9384    pub did: Option<String>,
9385}
9386
9387/// \- Unconnects specific FAX DID from Reseller Client Sub Account.
9388///
9389/// Parameters for [`Client::unconnect_fax`] (wire method `unconnectFAX`).
9390#[derive(Debug, Default, Clone, Serialize)]
9391pub struct UnconnectFAXParams {
9392    /// FAX DID to be Unconnected from Reseller Sub Account (Example:
9393    /// 5551234567) (required)
9394    #[serde(skip_serializing_if = "Option::is_none")]
9395    pub did: Option<String>,
9396}
9397
9398/// Response body for [`Client::add_charge`] (wire method `addCharge`).
9399#[derive(Debug, Clone, Default, serde::Deserialize)]
9400pub struct AddChargeResponse {
9401    #[serde(
9402        default,
9403        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9404    )]
9405    pub status: Option<String>,
9406}
9407
9408/// Response body for [`Client::add_lnp_file`] (wire method `addLNPFile`).
9409#[derive(Debug, Clone, Default, serde::Deserialize)]
9410pub struct AddLNPFileResponse {
9411    #[serde(
9412        default,
9413        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9414    )]
9415    pub status: Option<String>,
9416    #[serde(
9417        default,
9418        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9419    )]
9420    pub attachment: Option<String>,
9421}
9422
9423/// Response body for [`Client::add_lnp_port`] (wire method `addLNPPort`).
9424#[derive(Debug, Clone, Default, serde::Deserialize)]
9425pub struct AddLNPPortResponse {
9426    #[serde(
9427        default,
9428        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9429    )]
9430    pub status: Option<String>,
9431    #[serde(
9432        default,
9433        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9434    )]
9435    pub port: Option<String>,
9436}
9437
9438/// Response body for [`Client::add_member_to_conference`] (wire method `addMemberToConference`).
9439#[derive(Debug, Clone, Default, serde::Deserialize)]
9440pub struct AddMemberToConferenceResponse {
9441    #[serde(
9442        default,
9443        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9444    )]
9445    pub status: Option<String>,
9446    #[serde(
9447        default,
9448        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9449    )]
9450    pub member: Option<u64>,
9451}
9452
9453/// Response body for [`Client::add_payment`] (wire method `addPayment`).
9454#[derive(Debug, Clone, Default, serde::Deserialize)]
9455pub struct AddPaymentResponse {
9456    #[serde(
9457        default,
9458        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9459    )]
9460    pub status: Option<String>,
9461}
9462
9463/// Response body for [`Client::assign_did_vpri`] (wire method `assignDIDvPRI`).
9464#[derive(Debug, Clone, Default, serde::Deserialize)]
9465pub struct AssignDIDvPRIResponse {
9466    #[serde(
9467        default,
9468        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9469    )]
9470    pub status: Option<String>,
9471    #[serde(
9472        default,
9473        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9474    )]
9475    pub vpri: Option<u64>,
9476    #[serde(
9477        default,
9478        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9479    )]
9480    pub DIDAdded: Option<u64>,
9481    #[serde(
9482        default,
9483        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
9484    )]
9485    pub monthly: Option<rust_decimal::Decimal>,
9486}
9487
9488/// Response body for [`Client::back_order_did_can`] (wire method `backOrderDIDCAN`).
9489#[derive(Debug, Clone, Default, serde::Deserialize)]
9490pub struct BackOrderDIDCANResponse {
9491    #[serde(
9492        default,
9493        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9494    )]
9495    pub status: Option<String>,
9496}
9497
9498/// Response body for [`Client::back_order_did_usa`] (wire method `backOrderDIDUSA`).
9499#[derive(Debug, Clone, Default, serde::Deserialize)]
9500pub struct BackOrderDIDUSAResponse {
9501    #[serde(
9502        default,
9503        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9504    )]
9505    pub status: Option<String>,
9506}
9507
9508/// Response body for [`Client::cancel_did`] (wire method `cancelDID`).
9509#[derive(Debug, Clone, Default, serde::Deserialize)]
9510pub struct CancelDIDResponse {
9511    #[serde(
9512        default,
9513        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9514    )]
9515    pub status: Option<String>,
9516}
9517
9518/// Response body for [`Client::cancel_fax_number`] (wire method `cancelFaxNumber`).
9519#[derive(Debug, Clone, Default, serde::Deserialize)]
9520pub struct CancelFAXNumberResponse {
9521    #[serde(
9522        default,
9523        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9524    )]
9525    pub status: Option<String>,
9526    #[serde(
9527        default,
9528        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9529    )]
9530    pub deleted_did: Option<u64>,
9531}
9532
9533/// Response body for [`Client::connect_did`] (wire method `connectDID`).
9534#[derive(Debug, Clone, Default, serde::Deserialize)]
9535pub struct ConnectDIDResponse {
9536    #[serde(
9537        default,
9538        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9539    )]
9540    pub status: Option<String>,
9541}
9542
9543/// Response body for [`Client::connect_fax`] (wire method `connectFAX`).
9544#[derive(Debug, Clone, Default, serde::Deserialize)]
9545pub struct ConnectFAXResponse {
9546    #[serde(
9547        default,
9548        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9549    )]
9550    pub status: Option<String>,
9551}
9552
9553/// Response body for [`Client::create_sub_account`] (wire method `createSubAccount`).
9554#[derive(Debug, Clone, Default, serde::Deserialize)]
9555pub struct CreateSubAccountResponse {
9556    #[serde(
9557        default,
9558        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9559    )]
9560    pub status: Option<String>,
9561    #[serde(
9562        default,
9563        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
9564    )]
9565    pub id: Option<u64>,
9566    #[serde(
9567        default,
9568        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9569    )]
9570    pub account: Option<String>,
9571}
9572
9573/// Response body for [`Client::create_voicemail`] (wire method `createVoicemail`).
9574#[derive(Debug, Clone, Default, serde::Deserialize)]
9575pub struct CreateVoicemailResponse {
9576    #[serde(
9577        default,
9578        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9579    )]
9580    pub status: Option<String>,
9581}
9582
9583/// Response body for [`Client::del_call_hunting`] (wire method `delCallHunting`).
9584#[derive(Debug, Clone, Default, serde::Deserialize)]
9585pub struct DelCallHuntingResponse {
9586    #[serde(
9587        default,
9588        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9589    )]
9590    pub status: Option<String>,
9591}
9592
9593/// Response body for [`Client::del_call_parking`] (wire method `delCallParking`).
9594#[derive(Debug, Clone, Default, serde::Deserialize)]
9595pub struct DelCallParkingResponse {
9596    #[serde(
9597        default,
9598        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9599    )]
9600    pub status: Option<String>,
9601}
9602
9603/// Response body for [`Client::del_call_recording`] (wire method `delCallRecording`).
9604#[derive(Debug, Clone, Default, serde::Deserialize)]
9605pub struct DelCallRecordingResponse {
9606    #[serde(
9607        default,
9608        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9609    )]
9610    pub status: Option<String>,
9611}
9612
9613/// Response body for [`Client::del_callback`] (wire method `delCallback`).
9614#[derive(Debug, Clone, Default, serde::Deserialize)]
9615pub struct DelCallbackResponse {
9616    #[serde(
9617        default,
9618        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9619    )]
9620    pub status: Option<String>,
9621}
9622
9623/// Response body for [`Client::del_caller_id_filtering`] (wire method `delCallerIDFiltering`).
9624#[derive(Debug, Clone, Default, serde::Deserialize)]
9625pub struct DelCallerIDFilteringResponse {
9626    #[serde(
9627        default,
9628        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9629    )]
9630    pub status: Option<String>,
9631}
9632
9633/// Response body for [`Client::del_client`] (wire method `delClient`).
9634#[derive(Debug, Clone, Default, serde::Deserialize)]
9635pub struct DelClientResponse {
9636    #[serde(
9637        default,
9638        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9639    )]
9640    pub status: Option<String>,
9641}
9642
9643/// Response body for [`Client::del_conference`] (wire method `delConference`).
9644#[derive(Debug, Clone, Default, serde::Deserialize)]
9645pub struct DelConferenceResponse {
9646    #[serde(
9647        default,
9648        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9649    )]
9650    pub status: Option<String>,
9651}
9652
9653/// Response body for [`Client::del_conference_member`] (wire method `delConferenceMember`).
9654#[derive(Debug, Clone, Default, serde::Deserialize)]
9655pub struct DelConferenceMemberResponse {
9656    #[serde(
9657        default,
9658        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9659    )]
9660    pub status: Option<String>,
9661}
9662
9663/// Response body for [`Client::del_disa`] (wire method `delDISA`).
9664#[derive(Debug, Clone, Default, serde::Deserialize)]
9665pub struct DelDISAResponse {
9666    #[serde(
9667        default,
9668        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9669    )]
9670    pub status: Option<String>,
9671}
9672
9673/// Response body for [`Client::del_email_to_fax`] (wire method `delEmailToFax`).
9674#[derive(Debug, Clone, Default, serde::Deserialize)]
9675pub struct DelEmailToFAXResponse {
9676    #[serde(
9677        default,
9678        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9679    )]
9680    pub status: Option<String>,
9681}
9682
9683/// Response body for [`Client::del_fax_folder`] (wire method `delFaxFolder`).
9684#[derive(Debug, Clone, Default, serde::Deserialize)]
9685pub struct DelFAXFolderResponse {
9686    #[serde(
9687        default,
9688        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9689    )]
9690    pub status: Option<String>,
9691}
9692
9693/// Response body for [`Client::del_forwarding`] (wire method `delForwarding`).
9694#[derive(Debug, Clone, Default, serde::Deserialize)]
9695pub struct DelForwardingResponse {
9696    #[serde(
9697        default,
9698        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9699    )]
9700    pub status: Option<String>,
9701}
9702
9703/// Response body for [`Client::del_ivr`] (wire method `delIVR`).
9704#[derive(Debug, Clone, Default, serde::Deserialize)]
9705pub struct DelIVRResponse {
9706    #[serde(
9707        default,
9708        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9709    )]
9710    pub status: Option<String>,
9711}
9712
9713/// Response body for [`Client::del_location`] (wire method `delLocation`).
9714#[derive(Debug, Clone, Default, serde::Deserialize)]
9715pub struct DelLocationResponse {
9716    #[serde(
9717        default,
9718        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9719    )]
9720    pub status: Option<String>,
9721}
9722
9723/// Response body for [`Client::del_member_from_conference`] (wire method `delMemberFromConference`).
9724#[derive(Debug, Clone, Default, serde::Deserialize)]
9725pub struct DelMemberFromConferenceResponse {
9726    #[serde(
9727        default,
9728        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9729    )]
9730    pub status: Option<String>,
9731}
9732
9733/// Response body for [`Client::del_messages`] (wire method `delMessages`).
9734#[derive(Debug, Clone, Default, serde::Deserialize)]
9735pub struct DelMessagesResponse {
9736    #[serde(
9737        default,
9738        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9739    )]
9740    pub status: Option<String>,
9741}
9742
9743/// Response body for [`Client::del_music_on_hold`] (wire method `delMusicOnHold`).
9744#[derive(Debug, Clone, Default, serde::Deserialize)]
9745pub struct DelMusicOnHoldResponse {
9746    #[serde(
9747        default,
9748        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9749    )]
9750    pub status: Option<String>,
9751}
9752
9753/// Response body for [`Client::del_phonebook`] (wire method `delPhonebook`).
9754#[derive(Debug, Clone, Default, serde::Deserialize)]
9755pub struct DelPhonebookResponse {
9756    #[serde(
9757        default,
9758        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9759    )]
9760    pub status: Option<String>,
9761}
9762
9763/// Response body for [`Client::del_phonebook_group`] (wire method `delPhonebookGroup`).
9764#[derive(Debug, Clone, Default, serde::Deserialize)]
9765pub struct DelPhonebookGroupResponse {
9766    #[serde(
9767        default,
9768        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9769    )]
9770    pub status: Option<String>,
9771}
9772
9773/// Response body for [`Client::del_queue`] (wire method `delQueue`).
9774#[derive(Debug, Clone, Default, serde::Deserialize)]
9775pub struct DelQueueResponse {
9776    #[serde(
9777        default,
9778        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9779    )]
9780    pub status: Option<String>,
9781}
9782
9783/// Response body for [`Client::del_recording`] (wire method `delRecording`).
9784#[derive(Debug, Clone, Default, serde::Deserialize)]
9785pub struct DelRecordingResponse {
9786    #[serde(
9787        default,
9788        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9789    )]
9790    pub status: Option<String>,
9791}
9792
9793/// Response body for [`Client::del_ring_group`] (wire method `delRingGroup`).
9794#[derive(Debug, Clone, Default, serde::Deserialize)]
9795pub struct DelRingGroupResponse {
9796    #[serde(
9797        default,
9798        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9799    )]
9800    pub status: Option<String>,
9801}
9802
9803/// Response body for [`Client::del_sip_uri`] (wire method `delSIPURI`).
9804#[derive(Debug, Clone, Default, serde::Deserialize)]
9805pub struct DelSIPURIResponse {
9806    #[serde(
9807        default,
9808        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9809    )]
9810    pub status: Option<String>,
9811}
9812
9813/// Response body for [`Client::del_static_member`] (wire method `delStaticMember`).
9814#[derive(Debug, Clone, Default, serde::Deserialize)]
9815pub struct DelStaticMemberResponse {
9816    #[serde(
9817        default,
9818        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9819    )]
9820    pub status: Option<String>,
9821}
9822
9823/// Response body for [`Client::del_sub_account`] (wire method `delSubAccount`).
9824#[derive(Debug, Clone, Default, serde::Deserialize)]
9825pub struct DelSubAccountResponse {
9826    #[serde(
9827        default,
9828        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9829    )]
9830    pub status: Option<String>,
9831}
9832
9833/// Response body for [`Client::del_time_condition`] (wire method `delTimeCondition`).
9834#[derive(Debug, Clone, Default, serde::Deserialize)]
9835pub struct DelTimeConditionResponse {
9836    #[serde(
9837        default,
9838        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9839    )]
9840    pub status: Option<String>,
9841}
9842
9843/// Response body for [`Client::del_voicemail`] (wire method `delVoicemail`).
9844#[derive(Debug, Clone, Default, serde::Deserialize)]
9845pub struct DelVoicemailResponse {
9846    #[serde(
9847        default,
9848        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9849    )]
9850    pub status: Option<String>,
9851}
9852
9853/// Response body for [`Client::delete_fax_message`] (wire method `deleteFaxMessage`).
9854#[derive(Debug, Clone, Default, serde::Deserialize)]
9855pub struct DeleteFAXMessageResponse {
9856    #[serde(
9857        default,
9858        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9859    )]
9860    pub status: Option<String>,
9861}
9862
9863/// Response body for [`Client::delete_mms`] (wire method `deleteMMS`).
9864#[derive(Debug, Clone, Default, serde::Deserialize)]
9865pub struct DeleteMMSResponse {
9866    #[serde(
9867        default,
9868        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9869    )]
9870    pub status: Option<String>,
9871}
9872
9873/// Response body for [`Client::delete_sms`] (wire method `deleteSMS`).
9874#[derive(Debug, Clone, Default, serde::Deserialize)]
9875pub struct DeleteSMSResponse {
9876    #[serde(
9877        default,
9878        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9879    )]
9880    pub status: Option<String>,
9881}
9882
9883/// Response body for [`Client::e911_address_types`] (wire method `e911AddressTypes`).
9884#[derive(Debug, Clone, Default, serde::Deserialize)]
9885pub struct E911AddressTypesResponse {
9886    #[serde(
9887        default,
9888        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9889    )]
9890    pub status: Option<String>,
9891    #[serde(
9892        default,
9893        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9894    )]
9895    pub types: Option<String>,
9896    #[serde(
9897        default,
9898        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9899    )]
9900    pub value: Option<String>,
9901    #[serde(
9902        default,
9903        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9904    )]
9905    pub description: Option<String>,
9906}
9907
9908/// Response body for [`Client::e911_cancel`] (wire method `e911Cancel`).
9909#[derive(Debug, Clone, Default, serde::Deserialize)]
9910pub struct E911CancelResponse {
9911    #[serde(
9912        default,
9913        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9914    )]
9915    pub status: Option<String>,
9916}
9917
9918/// Response body for [`Client::e911_info`] (wire method `e911Info`).
9919#[derive(Debug, Clone, Default, serde::Deserialize)]
9920pub struct E911InfoResponse {
9921    #[serde(
9922        default,
9923        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9924    )]
9925    pub status: Option<String>,
9926    #[serde(
9927        default,
9928        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9929    )]
9930    pub info: Option<String>,
9931    #[serde(
9932        default,
9933        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9934    )]
9935    pub did: Option<String>,
9936    #[serde(
9937        default,
9938        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9939    )]
9940    pub full_name: Option<String>,
9941    #[serde(
9942        default,
9943        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9944    )]
9945    pub street_number: Option<String>,
9946    #[serde(
9947        default,
9948        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9949    )]
9950    pub street_name: Option<String>,
9951    #[serde(
9952        default,
9953        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9954    )]
9955    pub address_type: Option<String>,
9956    #[serde(
9957        default,
9958        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9959    )]
9960    pub address_number: Option<String>,
9961    #[serde(
9962        default,
9963        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9964    )]
9965    pub city: Option<String>,
9966    #[serde(
9967        default,
9968        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9969    )]
9970    pub state: Option<String>,
9971    #[serde(
9972        default,
9973        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9974    )]
9975    pub zip_code: Option<String>,
9976    #[serde(
9977        default,
9978        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9979    )]
9980    pub country: Option<String>,
9981    #[serde(
9982        default,
9983        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9984    )]
9985    pub language: Option<String>,
9986    #[serde(
9987        default,
9988        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9989    )]
9990    pub email: Option<String>,
9991    #[serde(
9992        default,
9993        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
9994    )]
9995    pub other_info: Option<String>,
9996}
9997
9998/// Response body for [`Client::e911_provision`] (wire method `e911Provision`).
9999#[derive(Debug, Clone, Default, serde::Deserialize)]
10000pub struct E911ProvisionResponse {
10001    #[serde(
10002        default,
10003        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10004    )]
10005    pub status: Option<String>,
10006}
10007
10008/// Response body for [`Client::e911_provision_manually`] (wire method `e911ProvisionManually`).
10009#[derive(Debug, Clone, Default, serde::Deserialize)]
10010pub struct E911ProvisionManuallyResponse {
10011    #[serde(
10012        default,
10013        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10014    )]
10015    pub status: Option<String>,
10016}
10017
10018/// Response body for [`Client::e911_update`] (wire method `e911Update`).
10019#[derive(Debug, Clone, Default, serde::Deserialize)]
10020pub struct E911UpdateResponse {
10021    #[serde(
10022        default,
10023        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10024    )]
10025    pub status: Option<String>,
10026}
10027
10028/// Response body for [`Client::e911_validate`] (wire method `e911Validate`).
10029#[derive(Debug, Clone, Default, serde::Deserialize)]
10030pub struct E911ValidateResponse {
10031    #[serde(
10032        default,
10033        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10034    )]
10035    pub status: Option<String>,
10036}
10037
10038/// Response body for [`Client::get_allowed_codecs`] (wire method `getAllowedCodecs`).
10039#[derive(Debug, Clone, Default, serde::Deserialize)]
10040pub struct GetAllowedCodecsResponseAllowedCodec {
10041    #[serde(
10042        default,
10043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10044    )]
10045    pub value: Option<String>,
10046    #[serde(
10047        default,
10048        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10049    )]
10050    pub description: Option<String>,
10051}
10052
10053#[derive(Debug, Clone, Default, serde::Deserialize)]
10054pub struct GetAllowedCodecsResponse {
10055    #[serde(
10056        default,
10057        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10058    )]
10059    pub status: Option<String>,
10060    #[serde(
10061        default,
10062        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10063    )]
10064    pub allowed_codecs: Option<Vec<GetAllowedCodecsResponseAllowedCodec>>,
10065}
10066
10067/// Response body for [`Client::get_auth_types`] (wire method `getAuthTypes`).
10068#[derive(Debug, Clone, Default, serde::Deserialize)]
10069pub struct GetAuthTypesResponseAuthType {
10070    #[serde(
10071        default,
10072        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10073    )]
10074    pub value: Option<u64>,
10075    #[serde(
10076        default,
10077        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10078    )]
10079    pub description: Option<String>,
10080}
10081
10082#[derive(Debug, Clone, Default, serde::Deserialize)]
10083pub struct GetAuthTypesResponse {
10084    #[serde(
10085        default,
10086        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10087    )]
10088    pub status: Option<String>,
10089    #[serde(
10090        default,
10091        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10092    )]
10093    pub auth_types: Option<Vec<GetAuthTypesResponseAuthType>>,
10094}
10095
10096/// Response body for [`Client::get_back_orders`] (wire method `getBackOrders`).
10097#[derive(Debug, Clone, Default, serde::Deserialize)]
10098pub struct GetBackOrdersResponseBackOrder {
10099    #[serde(
10100        default,
10101        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10102    )]
10103    pub id: Option<u64>,
10104    #[serde(
10105        default,
10106        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10107    )]
10108    pub description: Option<String>,
10109    #[serde(
10110        default,
10111        deserialize_with = "crate::responses::deserialize_opt_routing"
10112    )]
10113    pub routing: Option<crate::Routing>,
10114    #[serde(
10115        default,
10116        deserialize_with = "crate::responses::deserialize_opt_routing"
10117    )]
10118    pub failover_busy: Option<crate::Routing>,
10119    #[serde(
10120        default,
10121        deserialize_with = "crate::responses::deserialize_opt_routing"
10122    )]
10123    pub failover_unreachable: Option<crate::Routing>,
10124    #[serde(
10125        default,
10126        deserialize_with = "crate::responses::deserialize_opt_routing"
10127    )]
10128    pub failover_noanswer: Option<crate::Routing>,
10129    #[serde(
10130        default,
10131        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10132    )]
10133    pub voicemail: Option<u64>,
10134    #[serde(
10135        default,
10136        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10137    )]
10138    pub pop: Option<u64>,
10139    #[serde(
10140        default,
10141        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10142    )]
10143    pub dialtime: Option<u64>,
10144    #[serde(
10145        default,
10146        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10147    )]
10148    pub cnam: Option<u64>,
10149    #[serde(default, deserialize_with = "deserialize_opt_did_billing_type")]
10150    pub billing_type: Option<DidBillingType>,
10151    #[serde(
10152        default,
10153        deserialize_with = "crate::responses::deserialize_opt_datetime"
10154    )]
10155    pub order_date: Option<chrono::NaiveDateTime>,
10156}
10157
10158#[derive(Debug, Clone, Default, serde::Deserialize)]
10159pub struct GetBackOrdersResponse {
10160    #[serde(
10161        default,
10162        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10163    )]
10164    pub status: Option<String>,
10165    #[serde(
10166        default,
10167        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10168    )]
10169    pub quantity: Option<u64>,
10170    #[serde(
10171        default,
10172        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10173    )]
10174    pub back_orders: Option<Vec<GetBackOrdersResponseBackOrder>>,
10175}
10176
10177/// Response body for [`Client::get_balance`] (wire method `getBalance`).
10178#[derive(Debug, Clone, Default, serde::Deserialize)]
10179pub struct GetBalanceResponseBalance {
10180    #[serde(
10181        default,
10182        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10183    )]
10184    pub current_balance: Option<rust_decimal::Decimal>,
10185    #[serde(
10186        default,
10187        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10188    )]
10189    pub spent_total: Option<rust_decimal::Decimal>,
10190    #[serde(
10191        default,
10192        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10193    )]
10194    pub calls_total: Option<u64>,
10195    #[serde(
10196        default,
10197        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10198    )]
10199    pub time_total: Option<String>,
10200    #[serde(
10201        default,
10202        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10203    )]
10204    pub spent_today: Option<rust_decimal::Decimal>,
10205    #[serde(
10206        default,
10207        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10208    )]
10209    pub calls_today: Option<u64>,
10210    #[serde(
10211        default,
10212        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10213    )]
10214    pub time_today: Option<String>,
10215}
10216
10217#[derive(Debug, Clone, Default, serde::Deserialize)]
10218pub struct GetBalanceResponse {
10219    #[serde(
10220        default,
10221        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10222    )]
10223    pub status: Option<String>,
10224    #[serde(default)]
10225    pub balance: Option<GetBalanceResponseBalance>,
10226}
10227
10228/// Response body for [`Client::get_balance_management`] (wire method `getBalanceManagement`).
10229#[derive(Debug, Clone, Default, serde::Deserialize)]
10230pub struct GetBalanceManagementResponseBalanceManagement {
10231    #[serde(
10232        default,
10233        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10234    )]
10235    pub value: Option<u64>,
10236    #[serde(
10237        default,
10238        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10239    )]
10240    pub description: Option<String>,
10241}
10242
10243#[derive(Debug, Clone, Default, serde::Deserialize)]
10244pub struct GetBalanceManagementResponse {
10245    #[serde(
10246        default,
10247        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10248    )]
10249    pub status: Option<String>,
10250    #[serde(
10251        default,
10252        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10253    )]
10254    pub balance_management: Option<Vec<GetBalanceManagementResponseBalanceManagement>>,
10255}
10256
10257/// Response body for [`Client::get_cdr`] (wire method `getCDR`).
10258#[derive(Debug, Clone, Default, serde::Deserialize)]
10259pub struct GetCDRResponseCDR {
10260    #[serde(
10261        default,
10262        deserialize_with = "crate::responses::deserialize_opt_datetime"
10263    )]
10264    pub date: Option<chrono::NaiveDateTime>,
10265    #[serde(
10266        default,
10267        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10268    )]
10269    pub callerid: Option<String>,
10270    #[serde(
10271        default,
10272        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10273    )]
10274    pub destination: Option<u64>,
10275    #[serde(
10276        default,
10277        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10278    )]
10279    pub description: Option<String>,
10280    #[serde(
10281        default,
10282        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10283    )]
10284    pub account: Option<String>,
10285    #[serde(
10286        default,
10287        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10288    )]
10289    pub disposition: Option<String>,
10290    #[serde(
10291        default,
10292        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10293    )]
10294    pub duration: Option<String>,
10295    #[serde(
10296        default,
10297        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10298    )]
10299    pub seconds: Option<u64>,
10300    #[serde(
10301        default,
10302        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10303    )]
10304    pub rate: Option<rust_decimal::Decimal>,
10305    #[serde(
10306        default,
10307        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10308    )]
10309    pub total: Option<rust_decimal::Decimal>,
10310    #[serde(
10311        default,
10312        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10313    )]
10314    pub uniqueid: Option<u64>,
10315    #[serde(
10316        default,
10317        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10318    )]
10319    pub destination_type: Option<String>,
10320    #[serde(
10321        default,
10322        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10323    )]
10324    pub call_logs: Option<String>,
10325}
10326
10327#[derive(Debug, Clone, Default, serde::Deserialize)]
10328pub struct GetCDRResponse {
10329    #[serde(
10330        default,
10331        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10332    )]
10333    pub status: Option<String>,
10334    #[serde(
10335        default,
10336        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10337    )]
10338    pub cdr: Option<Vec<GetCDRResponseCDR>>,
10339}
10340
10341/// Response body for [`Client::get_call_accounts`] (wire method `getCallAccounts`).
10342#[derive(Debug, Clone, Default, serde::Deserialize)]
10343pub struct GetCallAccountsResponseAccount {
10344    #[serde(
10345        default,
10346        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10347    )]
10348    pub value: Option<String>,
10349    #[serde(
10350        default,
10351        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10352    )]
10353    pub description: Option<String>,
10354}
10355
10356#[derive(Debug, Clone, Default, serde::Deserialize)]
10357pub struct GetCallAccountsResponse {
10358    #[serde(
10359        default,
10360        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10361    )]
10362    pub status: Option<String>,
10363    #[serde(
10364        default,
10365        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10366    )]
10367    pub accounts: Option<Vec<GetCallAccountsResponseAccount>>,
10368}
10369
10370/// Response body for [`Client::get_call_billing`] (wire method `getCallBilling`).
10371#[derive(Debug, Clone, Default, serde::Deserialize)]
10372pub struct GetCallBillingResponseCallBilling {
10373    #[serde(
10374        default,
10375        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10376    )]
10377    pub value: Option<String>,
10378    #[serde(
10379        default,
10380        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10381    )]
10382    pub description: Option<String>,
10383}
10384
10385#[derive(Debug, Clone, Default, serde::Deserialize)]
10386pub struct GetCallBillingResponse {
10387    #[serde(
10388        default,
10389        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10390    )]
10391    pub status: Option<String>,
10392    #[serde(
10393        default,
10394        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10395    )]
10396    pub call_billing: Option<Vec<GetCallBillingResponseCallBilling>>,
10397}
10398
10399/// Response body for [`Client::get_call_huntings`] (wire method `getCallHuntings`).
10400#[derive(Debug, Clone, Default, serde::Deserialize)]
10401pub struct GetCallHuntingsResponseCallHunting {
10402    #[serde(
10403        default,
10404        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10405    )]
10406    pub callhunting: Option<u64>,
10407    #[serde(
10408        default,
10409        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10410    )]
10411    pub description: Option<String>,
10412    #[serde(
10413        default,
10414        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10415    )]
10416    pub members: Option<String>,
10417    #[serde(
10418        default,
10419        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10420    )]
10421    pub ring_time: Option<String>,
10422    #[serde(default, deserialize_with = "deserialize_opt_ring_group_order")]
10423    pub order: Option<RingGroupOrder>,
10424    #[serde(
10425        default,
10426        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10427    )]
10428    pub press: Option<String>,
10429    #[serde(
10430        default,
10431        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10432    )]
10433    pub music: Option<String>,
10434    #[serde(
10435        default,
10436        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10437    )]
10438    pub recording: Option<String>,
10439    #[serde(
10440        default,
10441        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10442    )]
10443    pub language: Option<String>,
10444}
10445
10446#[derive(Debug, Clone, Default, serde::Deserialize)]
10447pub struct GetCallHuntingsResponse {
10448    #[serde(
10449        default,
10450        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10451    )]
10452    pub status: Option<String>,
10453    #[serde(
10454        default,
10455        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10456    )]
10457    pub call_hunting: Option<Vec<GetCallHuntingsResponseCallHunting>>,
10458}
10459
10460/// Response body for [`Client::get_call_parking`] (wire method `getCallParking`).
10461#[derive(Debug, Clone, Default, serde::Deserialize)]
10462pub struct GetCallParkingResponseCallHunting {
10463    #[serde(
10464        default,
10465        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10466    )]
10467    pub callparking: Option<u64>,
10468    #[serde(
10469        default,
10470        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10471    )]
10472    pub name: Option<String>,
10473    #[serde(
10474        default,
10475        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10476    )]
10477    pub timeout: Option<u64>,
10478    #[serde(
10479        default,
10480        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10481    )]
10482    pub musiconhold: Option<String>,
10483    #[serde(
10484        default,
10485        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10486    )]
10487    pub failover: Option<String>,
10488    #[serde(
10489        default,
10490        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10491    )]
10492    pub language: Option<String>,
10493    #[serde(
10494        default,
10495        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10496    )]
10497    pub destination: Option<String>,
10498    #[serde(
10499        default,
10500        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10501    )]
10502    pub delay: Option<u64>,
10503    #[serde(
10504        default,
10505        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10506    )]
10507    pub blf_lamps: Option<u64>,
10508}
10509
10510#[derive(Debug, Clone, Default, serde::Deserialize)]
10511pub struct GetCallParkingResponse {
10512    #[serde(
10513        default,
10514        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10515    )]
10516    pub status: Option<String>,
10517    #[serde(
10518        default,
10519        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10520    )]
10521    pub call_hunting: Option<Vec<GetCallParkingResponseCallHunting>>,
10522}
10523
10524/// Response body for [`Client::get_call_recording`] (wire method `getCallRecording`).
10525#[derive(Debug, Clone, Default, serde::Deserialize)]
10526pub struct GetCallRecordingResponse {
10527    #[serde(
10528        default,
10529        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10530    )]
10531    pub status: Option<String>,
10532    #[serde(
10533        default,
10534        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10535    )]
10536    pub callrecording: Option<String>,
10537    #[serde(
10538        default,
10539        deserialize_with = "crate::responses::deserialize_opt_datetime"
10540    )]
10541    pub datetime: Option<chrono::NaiveDateTime>,
10542    #[serde(
10543        default,
10544        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10545    )]
10546    pub destination: Option<u64>,
10547    #[serde(
10548        default,
10549        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
10550        rename = "type"
10551    )]
10552    pub r#type: Option<String>,
10553    #[serde(
10554        default,
10555        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10556    )]
10557    pub subaccount: Option<u64>,
10558    #[serde(
10559        default,
10560        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10561    )]
10562    pub duration: Option<String>,
10563    #[serde(
10564        default,
10565        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10566    )]
10567    pub base64file: Option<String>,
10568}
10569
10570/// Response body for [`Client::get_call_recordings`] (wire method `getCallRecordings`).
10571#[derive(Debug, Clone, Default, serde::Deserialize)]
10572pub struct GetCallRecordingsResponseRecording {
10573    #[serde(
10574        default,
10575        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10576    )]
10577    pub callrecording: Option<String>,
10578    #[serde(
10579        default,
10580        deserialize_with = "crate::responses::deserialize_opt_datetime"
10581    )]
10582    pub datetime: Option<chrono::NaiveDateTime>,
10583    #[serde(
10584        default,
10585        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10586    )]
10587    pub destination: Option<u64>,
10588    #[serde(
10589        default,
10590        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
10591        rename = "type"
10592    )]
10593    pub r#type: Option<String>,
10594    #[serde(
10595        default,
10596        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10597    )]
10598    pub subaccount: Option<u64>,
10599    #[serde(
10600        default,
10601        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10602    )]
10603    pub duration: Option<String>,
10604}
10605
10606#[derive(Debug, Clone, Default, serde::Deserialize)]
10607pub struct GetCallRecordingsResponse {
10608    #[serde(
10609        default,
10610        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10611    )]
10612    pub status: Option<String>,
10613    #[serde(
10614        default,
10615        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10616    )]
10617    pub recordings: Option<Vec<GetCallRecordingsResponseRecording>>,
10618}
10619
10620/// Response body for [`Client::get_call_transcriptions`] (wire method `getCallTranscriptions`).
10621#[derive(Debug, Clone, Default, serde::Deserialize)]
10622pub struct GetCallTranscriptionsResponseTranscriptionRecognizedPhrase {
10623    #[serde(
10624        default,
10625        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10626    )]
10627    pub time: Option<String>,
10628    #[serde(
10629        default,
10630        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10631    )]
10632    pub duration: Option<rust_decimal::Decimal>,
10633    #[serde(
10634        default,
10635        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10636    )]
10637    pub speaker: Option<u64>,
10638    #[serde(
10639        default,
10640        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10641    )]
10642    pub phrase: Option<String>,
10643}
10644
10645#[derive(Debug, Clone, Default, serde::Deserialize)]
10646pub struct GetCallTranscriptionsResponseTranscription {
10647    #[serde(
10648        default,
10649        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10650    )]
10651    pub date: Option<String>,
10652    #[serde(
10653        default,
10654        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10655    )]
10656    pub duration: Option<String>,
10657    #[serde(
10658        default,
10659        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10660    )]
10661    pub speakers: Option<Vec<String>>,
10662    #[serde(
10663        default,
10664        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10665    )]
10666    pub locale: Option<String>,
10667    #[serde(
10668        default,
10669        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10670    )]
10671    pub confidence: Option<String>,
10672    #[serde(
10673        default,
10674        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10675    )]
10676    pub recognized_phrases: Option<Vec<GetCallTranscriptionsResponseTranscriptionRecognizedPhrase>>,
10677}
10678
10679#[derive(Debug, Clone, Default, serde::Deserialize)]
10680pub struct GetCallTranscriptionsResponse {
10681    #[serde(
10682        default,
10683        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10684    )]
10685    pub status: Option<String>,
10686    #[serde(
10687        default,
10688        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10689    )]
10690    pub transcriptions: Option<Vec<GetCallTranscriptionsResponseTranscription>>,
10691}
10692
10693/// Response body for [`Client::get_call_types`] (wire method `getCallTypes`).
10694#[derive(Debug, Clone, Default, serde::Deserialize)]
10695pub struct GetCallTypesResponseCallType {
10696    #[serde(
10697        default,
10698        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10699    )]
10700    pub value: Option<String>,
10701    #[serde(
10702        default,
10703        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10704    )]
10705    pub description: Option<String>,
10706}
10707
10708#[derive(Debug, Clone, Default, serde::Deserialize)]
10709pub struct GetCallTypesResponse {
10710    #[serde(
10711        default,
10712        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10713    )]
10714    pub status: Option<String>,
10715    #[serde(
10716        default,
10717        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10718    )]
10719    pub call_types: Option<Vec<GetCallTypesResponseCallType>>,
10720}
10721
10722/// Response body for [`Client::get_callbacks`] (wire method `getCallbacks`).
10723#[derive(Debug, Clone, Default, serde::Deserialize)]
10724pub struct GetCallbacksResponseCallback {
10725    #[serde(
10726        default,
10727        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10728    )]
10729    pub callback: Option<u64>,
10730    #[serde(
10731        default,
10732        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10733    )]
10734    pub description: Option<String>,
10735    #[serde(
10736        default,
10737        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10738    )]
10739    pub number: Option<u64>,
10740    #[serde(
10741        default,
10742        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10743    )]
10744    pub delay_before: Option<u64>,
10745    #[serde(
10746        default,
10747        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10748    )]
10749    pub response_timeout: Option<u64>,
10750    #[serde(
10751        default,
10752        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10753    )]
10754    pub digit_timeout: Option<u64>,
10755    #[serde(
10756        default,
10757        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10758    )]
10759    pub callerid_number: Option<u64>,
10760}
10761
10762#[derive(Debug, Clone, Default, serde::Deserialize)]
10763pub struct GetCallbacksResponse {
10764    #[serde(
10765        default,
10766        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10767    )]
10768    pub status: Option<String>,
10769    #[serde(
10770        default,
10771        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10772    )]
10773    pub callbacks: Option<Vec<GetCallbacksResponseCallback>>,
10774}
10775
10776/// Response body for [`Client::get_caller_id_filtering`] (wire method `getCallerIDFiltering`).
10777#[derive(Debug, Clone, Default, serde::Deserialize)]
10778pub struct GetCallerIDFilteringResponseFiltering {
10779    #[serde(
10780        default,
10781        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10782    )]
10783    pub filtering: Option<u64>,
10784    #[serde(
10785        default,
10786        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10787    )]
10788    pub callerid: Option<u64>,
10789    #[serde(
10790        default,
10791        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10792    )]
10793    pub did: Option<u64>,
10794    #[serde(
10795        default,
10796        deserialize_with = "crate::responses::deserialize_opt_routing"
10797    )]
10798    pub routing: Option<crate::Routing>,
10799    #[serde(
10800        default,
10801        deserialize_with = "crate::responses::deserialize_opt_routing"
10802    )]
10803    pub failover_unreachable: Option<crate::Routing>,
10804    #[serde(
10805        default,
10806        deserialize_with = "crate::responses::deserialize_opt_routing"
10807    )]
10808    pub failover_busy: Option<crate::Routing>,
10809    #[serde(
10810        default,
10811        deserialize_with = "crate::responses::deserialize_opt_routing"
10812    )]
10813    pub failover_noanswer: Option<crate::Routing>,
10814    #[serde(
10815        default,
10816        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10817    )]
10818    pub note: Option<String>,
10819}
10820
10821#[derive(Debug, Clone, Default, serde::Deserialize)]
10822pub struct GetCallerIDFilteringResponse {
10823    #[serde(
10824        default,
10825        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10826    )]
10827    pub status: Option<String>,
10828    #[serde(
10829        default,
10830        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10831    )]
10832    pub filtering: Option<Vec<GetCallerIDFilteringResponseFiltering>>,
10833}
10834
10835/// Response body for [`Client::get_carriers`] (wire method `getCarriers`).
10836#[derive(Debug, Clone, Default, serde::Deserialize)]
10837pub struct GetCarriersResponseCarrier {
10838    #[serde(
10839        default,
10840        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10841    )]
10842    pub value: Option<u64>,
10843    #[serde(
10844        default,
10845        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10846    )]
10847    pub description: Option<String>,
10848}
10849
10850#[derive(Debug, Clone, Default, serde::Deserialize)]
10851pub struct GetCarriersResponse {
10852    #[serde(
10853        default,
10854        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10855    )]
10856    pub status: Option<String>,
10857    #[serde(
10858        default,
10859        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10860    )]
10861    pub carriers: Option<Vec<GetCarriersResponseCarrier>>,
10862}
10863
10864/// Response body for [`Client::get_charges`] (wire method `getCharges`).
10865#[derive(Debug, Clone, Default, serde::Deserialize)]
10866pub struct GetChargesResponseCharge {
10867    #[serde(
10868        default,
10869        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10870    )]
10871    pub id: Option<u64>,
10872    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
10873    pub date: Option<chrono::NaiveDate>,
10874    #[serde(
10875        default,
10876        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
10877    )]
10878    pub amount: Option<rust_decimal::Decimal>,
10879    #[serde(
10880        default,
10881        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10882    )]
10883    pub description: Option<String>,
10884}
10885
10886#[derive(Debug, Clone, Default, serde::Deserialize)]
10887pub struct GetChargesResponse {
10888    #[serde(
10889        default,
10890        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10891    )]
10892    pub status: Option<String>,
10893    #[serde(
10894        default,
10895        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10896    )]
10897    pub charges: Option<Vec<GetChargesResponseCharge>>,
10898}
10899
10900/// Response body for [`Client::get_client_packages`] (wire method `getClientPackages`).
10901#[derive(Debug, Clone, Default, serde::Deserialize)]
10902pub struct GetClientPackagesResponsePackage {
10903    #[serde(
10904        default,
10905        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10906    )]
10907    pub value: Option<u64>,
10908    #[serde(
10909        default,
10910        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10911    )]
10912    pub description: Option<String>,
10913}
10914
10915#[derive(Debug, Clone, Default, serde::Deserialize)]
10916pub struct GetClientPackagesResponse {
10917    #[serde(
10918        default,
10919        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10920    )]
10921    pub status: Option<String>,
10922    #[serde(
10923        default,
10924        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
10925    )]
10926    pub packages: Option<Vec<GetClientPackagesResponsePackage>>,
10927}
10928
10929/// Response body for [`Client::get_client_threshold`] (wire method `getClientThreshold`).
10930#[derive(Debug, Clone, Default, serde::Deserialize)]
10931pub struct GetClientThresholdResponseThresholdInformation {
10932    #[serde(
10933        default,
10934        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10935    )]
10936    pub threshold: Option<u64>,
10937    #[serde(
10938        default,
10939        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10940    )]
10941    pub email: Option<String>,
10942}
10943
10944#[derive(Debug, Clone, Default, serde::Deserialize)]
10945pub struct GetClientThresholdResponse {
10946    #[serde(
10947        default,
10948        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10949    )]
10950    pub status: Option<String>,
10951    #[serde(default)]
10952    pub threshold_information: Option<GetClientThresholdResponseThresholdInformation>,
10953}
10954
10955/// Response body for [`Client::get_clients`] (wire method `getClients`).
10956#[derive(Debug, Clone, Default, serde::Deserialize)]
10957pub struct GetClientsResponseClient {
10958    #[serde(
10959        default,
10960        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
10961    )]
10962    pub client: Option<u64>,
10963    #[serde(
10964        default,
10965        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10966    )]
10967    pub email: Option<String>,
10968    #[serde(
10969        default,
10970        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10971    )]
10972    pub password: Option<String>,
10973    #[serde(
10974        default,
10975        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10976    )]
10977    pub company: Option<String>,
10978    #[serde(
10979        default,
10980        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10981    )]
10982    pub firstname: Option<String>,
10983    #[serde(
10984        default,
10985        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10986    )]
10987    pub lastname: Option<String>,
10988    #[serde(
10989        default,
10990        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10991    )]
10992    pub address: Option<String>,
10993    #[serde(
10994        default,
10995        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
10996    )]
10997    pub city: Option<String>,
10998    #[serde(
10999        default,
11000        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11001    )]
11002    pub state: Option<String>,
11003    #[serde(
11004        default,
11005        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11006    )]
11007    pub country: Option<String>,
11008    #[serde(
11009        default,
11010        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11011    )]
11012    pub zip: Option<u64>,
11013    #[serde(
11014        default,
11015        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11016    )]
11017    pub phone_number: Option<u64>,
11018    #[serde(
11019        default,
11020        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11021    )]
11022    pub balance_management: Option<u64>,
11023}
11024
11025#[derive(Debug, Clone, Default, serde::Deserialize)]
11026pub struct GetClientsResponse {
11027    #[serde(
11028        default,
11029        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11030    )]
11031    pub status: Option<String>,
11032    #[serde(
11033        default,
11034        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11035    )]
11036    pub clients: Option<Vec<GetClientsResponseClient>>,
11037}
11038
11039/// Response body for [`Client::get_conference`] (wire method `getConference`).
11040#[derive(Debug, Clone, Default, serde::Deserialize)]
11041pub struct GetConferenceResponseConference {
11042    #[serde(
11043        default,
11044        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11045    )]
11046    pub conference: Option<u64>,
11047    #[serde(
11048        default,
11049        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11050    )]
11051    pub name: Option<String>,
11052    #[serde(
11053        default,
11054        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11055    )]
11056    pub description: Option<String>,
11057    #[serde(
11058        default,
11059        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11060    )]
11061    pub max_members: Option<u64>,
11062    #[serde(
11063        default,
11064        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11065    )]
11066    pub sound_join: Option<u64>,
11067    #[serde(
11068        default,
11069        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11070    )]
11071    pub sound_leave: Option<u64>,
11072    #[serde(
11073        default,
11074        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11075    )]
11076    pub sound_has_joined: Option<u64>,
11077    #[serde(
11078        default,
11079        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11080    )]
11081    pub sound_has_left: Option<u64>,
11082    #[serde(
11083        default,
11084        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11085    )]
11086    pub sound_kicked: Option<u64>,
11087    #[serde(
11088        default,
11089        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11090    )]
11091    pub sound_muted: Option<u64>,
11092    #[serde(
11093        default,
11094        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11095    )]
11096    pub sound_unmuted: Option<u64>,
11097    #[serde(
11098        default,
11099        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11100    )]
11101    pub sound_only_person: Option<u64>,
11102    #[serde(
11103        default,
11104        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11105    )]
11106    pub sound_only_one: Option<u64>,
11107    #[serde(
11108        default,
11109        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11110    )]
11111    pub sound_there_are: Option<u64>,
11112    #[serde(
11113        default,
11114        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11115    )]
11116    pub sound_other_in_party: Option<u64>,
11117    #[serde(
11118        default,
11119        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11120    )]
11121    pub sound_place_into_conference: Option<u64>,
11122    #[serde(
11123        default,
11124        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11125    )]
11126    pub sound_get_pin: Option<u64>,
11127    #[serde(
11128        default,
11129        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11130    )]
11131    pub sound_invalid_pin: Option<u64>,
11132    #[serde(
11133        default,
11134        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11135    )]
11136    pub sound_locked: Option<u64>,
11137    #[serde(
11138        default,
11139        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11140    )]
11141    pub sound_locked_now: Option<u64>,
11142    #[serde(
11143        default,
11144        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11145    )]
11146    pub sound_unlocked_now: Option<u64>,
11147    #[serde(
11148        default,
11149        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11150    )]
11151    pub sound_error_menu: Option<u64>,
11152    #[serde(
11153        default,
11154        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11155    )]
11156    pub sound_participants_muted: Option<u64>,
11157    #[serde(
11158        default,
11159        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11160    )]
11161    pub sound_participants_unmuted: Option<u64>,
11162    #[serde(
11163        default,
11164        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11165    )]
11166    pub language: Option<String>,
11167    #[serde(
11168        default,
11169        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11170    )]
11171    pub members: Option<String>,
11172}
11173
11174#[derive(Debug, Clone, Default, serde::Deserialize)]
11175pub struct GetConferenceResponse {
11176    #[serde(
11177        default,
11178        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11179    )]
11180    pub status: Option<String>,
11181    #[serde(
11182        default,
11183        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11184    )]
11185    pub conference: Option<Vec<GetConferenceResponseConference>>,
11186}
11187
11188/// Response body for [`Client::get_conference_members`] (wire method `getConferenceMembers`).
11189#[derive(Debug, Clone, Default, serde::Deserialize)]
11190pub struct GetConferenceMembersResponseMember {
11191    #[serde(
11192        default,
11193        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11194    )]
11195    pub member: Option<u64>,
11196    #[serde(
11197        default,
11198        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11199    )]
11200    pub name: Option<String>,
11201    #[serde(
11202        default,
11203        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11204    )]
11205    pub description: Option<String>,
11206    #[serde(
11207        default,
11208        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11209    )]
11210    pub pin: Option<u64>,
11211    #[serde(
11212        default,
11213        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11214    )]
11215    pub announce_join_leave: Option<bool>,
11216    #[serde(
11217        default,
11218        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11219    )]
11220    pub admin: Option<bool>,
11221    #[serde(
11222        default,
11223        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11224    )]
11225    pub start_muted: Option<bool>,
11226    #[serde(
11227        default,
11228        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11229    )]
11230    pub announce_user_count: Option<bool>,
11231    #[serde(
11232        default,
11233        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11234    )]
11235    pub announce_only_user: Option<bool>,
11236    #[serde(
11237        default,
11238        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11239    )]
11240    pub moh_when_empty: Option<String>,
11241    #[serde(
11242        default,
11243        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11244    )]
11245    pub quiet: Option<bool>,
11246    #[serde(
11247        default,
11248        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11249    )]
11250    pub announcement: Option<u64>,
11251    #[serde(
11252        default,
11253        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11254    )]
11255    pub drop_silence: Option<bool>,
11256    #[serde(
11257        default,
11258        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11259    )]
11260    pub talking_threshold: Option<u64>,
11261    #[serde(
11262        default,
11263        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11264    )]
11265    pub silence_threshold: Option<u64>,
11266    #[serde(
11267        default,
11268        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11269    )]
11270    pub talk_detection: Option<bool>,
11271    #[serde(
11272        default,
11273        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11274    )]
11275    pub jitter_buffer: Option<bool>,
11276}
11277
11278#[derive(Debug, Clone, Default, serde::Deserialize)]
11279pub struct GetConferenceMembersResponse {
11280    #[serde(
11281        default,
11282        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11283    )]
11284    pub status: Option<String>,
11285    #[serde(
11286        default,
11287        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11288    )]
11289    pub members: Option<Vec<GetConferenceMembersResponseMember>>,
11290}
11291
11292/// Response body for [`Client::get_conference_recording_file`] (wire method `getConferenceRecordingFile`).
11293#[derive(Debug, Clone, Default, serde::Deserialize)]
11294pub struct GetConferenceRecordingFileResponseRecording {
11295    #[serde(
11296        default,
11297        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11298    )]
11299    pub recording: Option<u64>,
11300    #[serde(
11301        default,
11302        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11303    )]
11304    pub data: Option<String>,
11305}
11306
11307#[derive(Debug, Clone, Default, serde::Deserialize)]
11308pub struct GetConferenceRecordingFileResponse {
11309    #[serde(
11310        default,
11311        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11312    )]
11313    pub status: Option<String>,
11314    #[serde(
11315        default,
11316        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11317    )]
11318    pub recording: Option<Vec<GetConferenceRecordingFileResponseRecording>>,
11319}
11320
11321/// Response body for [`Client::get_conference_recordings`] (wire method `getConferenceRecordings`).
11322#[derive(Debug, Clone, Default, serde::Deserialize)]
11323pub struct GetConferenceRecordingsResponseRecording {
11324    #[serde(
11325        default,
11326        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11327    )]
11328    pub did: Option<u64>,
11329    #[serde(
11330        default,
11331        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11332    )]
11333    pub recording: Option<u64>,
11334    #[serde(
11335        default,
11336        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11337    )]
11338    pub conference: Option<u64>,
11339    #[serde(
11340        default,
11341        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11342    )]
11343    pub duration: Option<u64>,
11344    #[serde(
11345        default,
11346        deserialize_with = "crate::responses::deserialize_opt_datetime"
11347    )]
11348    pub date: Option<chrono::NaiveDateTime>,
11349}
11350
11351#[derive(Debug, Clone, Default, serde::Deserialize)]
11352pub struct GetConferenceRecordingsResponse {
11353    #[serde(
11354        default,
11355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11356    )]
11357    pub status: Option<String>,
11358    #[serde(
11359        default,
11360        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11361    )]
11362    pub recordings: Option<Vec<GetConferenceRecordingsResponseRecording>>,
11363}
11364
11365/// Response body for [`Client::get_countries`] (wire method `getCountries`).
11366#[derive(Debug, Clone, Default, serde::Deserialize)]
11367pub struct GetCountriesResponseCountry {
11368    #[serde(
11369        default,
11370        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11371    )]
11372    pub value: Option<String>,
11373    #[serde(
11374        default,
11375        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11376    )]
11377    pub description: Option<String>,
11378}
11379
11380#[derive(Debug, Clone, Default, serde::Deserialize)]
11381pub struct GetCountriesResponse {
11382    #[serde(
11383        default,
11384        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11385    )]
11386    pub status: Option<String>,
11387    #[serde(
11388        default,
11389        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11390    )]
11391    pub countries: Option<Vec<GetCountriesResponseCountry>>,
11392}
11393
11394/// Response body for [`Client::get_did_countries`] (wire method `getDIDCountries`).
11395#[derive(Debug, Clone, Default, serde::Deserialize)]
11396pub struct GetDIDCountriesResponseCountry {
11397    #[serde(
11398        default,
11399        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11400    )]
11401    pub value: Option<u64>,
11402    #[serde(
11403        default,
11404        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11405    )]
11406    pub description: Option<String>,
11407}
11408
11409#[derive(Debug, Clone, Default, serde::Deserialize)]
11410pub struct GetDIDCountriesResponse {
11411    #[serde(
11412        default,
11413        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11414    )]
11415    pub status: Option<String>,
11416    #[serde(
11417        default,
11418        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11419    )]
11420    pub countries: Option<Vec<GetDIDCountriesResponseCountry>>,
11421}
11422
11423/// Response body for [`Client::get_dids_can`] (wire method `getDIDsCAN`).
11424#[derive(Debug, Clone, Default, serde::Deserialize)]
11425pub struct GetDIDsCANResponseDID {
11426    #[serde(
11427        default,
11428        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11429    )]
11430    pub did: Option<u64>,
11431    #[serde(
11432        default,
11433        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11434    )]
11435    pub ratecenter: Option<String>,
11436    #[serde(
11437        default,
11438        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11439    )]
11440    pub province: Option<String>,
11441    #[serde(
11442        default,
11443        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11444    )]
11445    pub province_description: Option<String>,
11446    #[serde(
11447        default,
11448        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11449    )]
11450    pub perminute_monthly: Option<rust_decimal::Decimal>,
11451    #[serde(
11452        default,
11453        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11454    )]
11455    pub perminute_minute: Option<rust_decimal::Decimal>,
11456    #[serde(
11457        default,
11458        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11459    )]
11460    pub perminute_setup: Option<rust_decimal::Decimal>,
11461    #[serde(
11462        default,
11463        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11464    )]
11465    pub flat_monthly: Option<rust_decimal::Decimal>,
11466    #[serde(
11467        default,
11468        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11469    )]
11470    pub flat_minute: Option<rust_decimal::Decimal>,
11471    #[serde(
11472        default,
11473        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11474    )]
11475    pub flat_setup: Option<rust_decimal::Decimal>,
11476    #[serde(
11477        default,
11478        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11479    )]
11480    pub sms: Option<u64>,
11481}
11482
11483#[derive(Debug, Clone, Default, serde::Deserialize)]
11484pub struct GetDIDsCANResponse {
11485    #[serde(
11486        default,
11487        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11488    )]
11489    pub status: Option<String>,
11490    #[serde(
11491        default,
11492        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11493    )]
11494    pub dids: Option<Vec<GetDIDsCANResponseDID>>,
11495}
11496
11497/// Response body for [`Client::get_dids_info`] (wire method `getDIDsInfo`).
11498#[derive(Debug, Clone, Default, serde::Deserialize)]
11499pub struct GetDIDsInfoResponseDID {
11500    #[serde(
11501        default,
11502        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11503    )]
11504    pub did: Option<String>,
11505    #[serde(
11506        default,
11507        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11508    )]
11509    pub description: Option<String>,
11510    #[serde(
11511        default,
11512        deserialize_with = "crate::responses::deserialize_opt_routing"
11513    )]
11514    pub routing: Option<crate::Routing>,
11515    #[serde(
11516        default,
11517        deserialize_with = "crate::responses::deserialize_opt_routing"
11518    )]
11519    pub failover_busy: Option<crate::Routing>,
11520    #[serde(
11521        default,
11522        deserialize_with = "crate::responses::deserialize_opt_routing"
11523    )]
11524    pub failover_unreachable: Option<crate::Routing>,
11525    #[serde(
11526        default,
11527        deserialize_with = "crate::responses::deserialize_opt_routing"
11528    )]
11529    pub failover_noanswer: Option<crate::Routing>,
11530    #[serde(
11531        default,
11532        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11533    )]
11534    pub voicemail: Option<u64>,
11535    #[serde(
11536        default,
11537        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11538    )]
11539    pub pop: Option<u64>,
11540    #[serde(
11541        default,
11542        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11543    )]
11544    pub dialtime: Option<u64>,
11545    #[serde(
11546        default,
11547        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11548    )]
11549    pub cnam: Option<bool>,
11550    #[serde(
11551        default,
11552        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11553    )]
11554    pub e911: Option<u64>,
11555    #[serde(
11556        default,
11557        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11558    )]
11559    pub callerid_prefix: Option<String>,
11560    #[serde(
11561        default,
11562        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11563    )]
11564    pub note: Option<String>,
11565    #[serde(
11566        default,
11567        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11568    )]
11569    pub port_out_pin: Option<u64>,
11570    #[serde(default, deserialize_with = "deserialize_opt_did_billing_type")]
11571    pub billing_type: Option<DidBillingType>,
11572    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11573    pub next_billing: Option<chrono::NaiveDate>,
11574    #[serde(
11575        default,
11576        deserialize_with = "crate::responses::deserialize_opt_datetime"
11577    )]
11578    pub order_date: Option<chrono::NaiveDateTime>,
11579    #[serde(
11580        default,
11581        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11582    )]
11583    pub reseller_account: Option<String>,
11584    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
11585    pub reseller_next_billing: Option<chrono::NaiveDate>,
11586    #[serde(
11587        default,
11588        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11589    )]
11590    pub reseller_monthly: Option<rust_decimal::Decimal>,
11591    #[serde(
11592        default,
11593        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11594    )]
11595    pub reseller_minute: Option<rust_decimal::Decimal>,
11596    #[serde(
11597        default,
11598        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11599    )]
11600    pub reseller_setup: Option<rust_decimal::Decimal>,
11601    #[serde(
11602        default,
11603        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11604    )]
11605    pub sms_available: Option<bool>,
11606    #[serde(
11607        default,
11608        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11609    )]
11610    pub sms_enabled: Option<bool>,
11611    #[serde(
11612        default,
11613        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11614    )]
11615    pub sms_email: Option<String>,
11616    #[serde(
11617        default,
11618        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11619    )]
11620    pub sms_email_enabled: Option<bool>,
11621    #[serde(
11622        default,
11623        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11624    )]
11625    pub sms_forward: Option<u64>,
11626    #[serde(
11627        default,
11628        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11629    )]
11630    pub sms_forward_enabled: Option<bool>,
11631    #[serde(
11632        default,
11633        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11634    )]
11635    pub sms_url_callback: Option<String>,
11636    #[serde(
11637        default,
11638        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11639    )]
11640    pub sms_url_callback_enabled: Option<bool>,
11641    #[serde(
11642        default,
11643        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11644    )]
11645    pub sms_url_callback_retry: Option<bool>,
11646    #[serde(
11647        default,
11648        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11649    )]
11650    pub smpp_enabled: Option<bool>,
11651    #[serde(
11652        default,
11653        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11654    )]
11655    pub smpp_url: Option<String>,
11656    #[serde(
11657        default,
11658        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11659    )]
11660    pub smpp_user: Option<String>,
11661    #[serde(
11662        default,
11663        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11664    )]
11665    pub smpp_pass: Option<String>,
11666    #[serde(
11667        default,
11668        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11669    )]
11670    pub transcribe: Option<bool>,
11671    #[serde(
11672        default,
11673        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11674    )]
11675    pub transcription_locale: Option<String>,
11676    #[serde(
11677        default,
11678        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11679    )]
11680    pub transcription_redaction: Option<bool>,
11681    #[serde(
11682        default,
11683        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11684    )]
11685    pub transcription_summary: Option<bool>,
11686    #[serde(
11687        default,
11688        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
11689    )]
11690    pub transcription_sentiment: Option<bool>,
11691    #[serde(
11692        default,
11693        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11694    )]
11695    pub transcription_email: Option<String>,
11696}
11697
11698#[derive(Debug, Clone, Default, serde::Deserialize)]
11699pub struct GetDIDsInfoResponse {
11700    #[serde(
11701        default,
11702        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11703    )]
11704    pub status: Option<String>,
11705    #[serde(
11706        default,
11707        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11708    )]
11709    pub dids: Option<Vec<GetDIDsInfoResponseDID>>,
11710}
11711
11712/// Response body for [`Client::get_dids_international_geographic`] (wire method `getDIDsInternationalGeographic`).
11713#[derive(Debug, Clone, Default, serde::Deserialize)]
11714pub struct GetDIDsInternationalGeographicResponseLocation {
11715    #[serde(
11716        default,
11717        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11718    )]
11719    pub location_id: Option<String>,
11720    #[serde(
11721        default,
11722        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11723    )]
11724    pub location_name: Option<String>,
11725    #[serde(
11726        default,
11727        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11728    )]
11729    pub country: Option<String>,
11730    #[serde(
11731        default,
11732        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11733    )]
11734    pub area_code: Option<u64>,
11735    #[serde(
11736        default,
11737        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11738    )]
11739    pub stock: Option<u64>,
11740    #[serde(
11741        default,
11742        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11743    )]
11744    pub monthly: Option<rust_decimal::Decimal>,
11745    #[serde(
11746        default,
11747        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11748    )]
11749    pub setup: Option<rust_decimal::Decimal>,
11750    #[serde(
11751        default,
11752        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11753    )]
11754    pub minute: Option<rust_decimal::Decimal>,
11755    #[serde(
11756        default,
11757        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11758    )]
11759    pub monthly_per_minute: Option<String>,
11760    #[serde(
11761        default,
11762        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11763    )]
11764    pub setup_per_minute: Option<String>,
11765    #[serde(
11766        default,
11767        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11768    )]
11769    pub channels: Option<u64>,
11770}
11771
11772#[derive(Debug, Clone, Default, serde::Deserialize)]
11773pub struct GetDIDsInternationalGeographicResponse {
11774    #[serde(
11775        default,
11776        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11777    )]
11778    pub status: Option<String>,
11779    #[serde(
11780        default,
11781        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11782    )]
11783    pub locations: Option<Vec<GetDIDsInternationalGeographicResponseLocation>>,
11784}
11785
11786/// Response body for [`Client::get_dids_international_national`] (wire method `getDIDsInternationalNational`).
11787#[derive(Debug, Clone, Default, serde::Deserialize)]
11788pub struct GetDIDsInternationalNationalResponseLocation {
11789    #[serde(
11790        default,
11791        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11792    )]
11793    pub location_id: Option<String>,
11794    #[serde(
11795        default,
11796        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11797    )]
11798    pub location_name: Option<String>,
11799    #[serde(
11800        default,
11801        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11802    )]
11803    pub country: Option<String>,
11804    #[serde(
11805        default,
11806        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11807    )]
11808    pub area_code: Option<u64>,
11809    #[serde(
11810        default,
11811        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11812    )]
11813    pub stock: Option<u64>,
11814    #[serde(
11815        default,
11816        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11817    )]
11818    pub monthly: Option<rust_decimal::Decimal>,
11819    #[serde(
11820        default,
11821        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11822    )]
11823    pub setup: Option<u64>,
11824    #[serde(
11825        default,
11826        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11827    )]
11828    pub minute: Option<u64>,
11829    #[serde(
11830        default,
11831        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11832    )]
11833    pub monthly_per_minute: Option<String>,
11834    #[serde(
11835        default,
11836        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11837    )]
11838    pub setup_per_minute: Option<String>,
11839}
11840
11841#[derive(Debug, Clone, Default, serde::Deserialize)]
11842pub struct GetDIDsInternationalNationalResponse {
11843    #[serde(
11844        default,
11845        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11846    )]
11847    pub status: Option<String>,
11848    #[serde(
11849        default,
11850        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11851    )]
11852    pub locations: Option<Vec<GetDIDsInternationalNationalResponseLocation>>,
11853}
11854
11855/// Response body for [`Client::get_dids_international_toll_free`] (wire method `getDIDsInternationalTollFree`).
11856#[derive(Debug, Clone, Default, serde::Deserialize)]
11857pub struct GetDIDsInternationalTollFreeResponseLocation {
11858    #[serde(
11859        default,
11860        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11861    )]
11862    pub location_id: Option<String>,
11863    #[serde(
11864        default,
11865        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11866    )]
11867    pub location_name: Option<String>,
11868    #[serde(
11869        default,
11870        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11871    )]
11872    pub country: Option<String>,
11873    #[serde(
11874        default,
11875        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11876    )]
11877    pub area_code: Option<u64>,
11878    #[serde(
11879        default,
11880        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11881    )]
11882    pub stock: Option<u64>,
11883    #[serde(
11884        default,
11885        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11886    )]
11887    pub monthly: Option<rust_decimal::Decimal>,
11888    #[serde(
11889        default,
11890        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11891    )]
11892    pub setup: Option<rust_decimal::Decimal>,
11893    #[serde(
11894        default,
11895        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11896    )]
11897    pub minute: Option<rust_decimal::Decimal>,
11898}
11899
11900#[derive(Debug, Clone, Default, serde::Deserialize)]
11901pub struct GetDIDsInternationalTollFreeResponse {
11902    #[serde(
11903        default,
11904        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11905    )]
11906    pub status: Option<String>,
11907    #[serde(
11908        default,
11909        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11910    )]
11911    pub locations: Option<Vec<GetDIDsInternationalTollFreeResponseLocation>>,
11912}
11913
11914/// Response body for [`Client::get_dids_usa`] (wire method `getDIDsUSA`).
11915#[derive(Debug, Clone, Default, serde::Deserialize)]
11916pub struct GetDIDsUSAResponseDID {
11917    #[serde(
11918        default,
11919        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11920    )]
11921    pub did: Option<u64>,
11922    #[serde(
11923        default,
11924        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11925    )]
11926    pub ratecenter: Option<String>,
11927    #[serde(
11928        default,
11929        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11930    )]
11931    pub state: Option<String>,
11932    #[serde(
11933        default,
11934        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11935    )]
11936    pub state_description: Option<String>,
11937    #[serde(
11938        default,
11939        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11940    )]
11941    pub perminute_monthly: Option<rust_decimal::Decimal>,
11942    #[serde(
11943        default,
11944        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11945    )]
11946    pub perminute_minute: Option<rust_decimal::Decimal>,
11947    #[serde(
11948        default,
11949        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11950    )]
11951    pub perminute_setup: Option<rust_decimal::Decimal>,
11952    #[serde(
11953        default,
11954        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11955    )]
11956    pub flat_monthly: Option<rust_decimal::Decimal>,
11957    #[serde(
11958        default,
11959        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11960    )]
11961    pub flat_minute: Option<rust_decimal::Decimal>,
11962    #[serde(
11963        default,
11964        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
11965    )]
11966    pub flat_setup: Option<rust_decimal::Decimal>,
11967    #[serde(
11968        default,
11969        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11970    )]
11971    pub has_port_out_pin: Option<u64>,
11972    #[serde(
11973        default,
11974        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
11975    )]
11976    pub sms: Option<u64>,
11977}
11978
11979#[derive(Debug, Clone, Default, serde::Deserialize)]
11980pub struct GetDIDsUSAResponse {
11981    #[serde(
11982        default,
11983        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11984    )]
11985    pub status: Option<String>,
11986    #[serde(
11987        default,
11988        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
11989    )]
11990    pub dids: Option<Vec<GetDIDsUSAResponseDID>>,
11991}
11992
11993/// Response body for [`Client::get_did_vpri`] (wire method `getDIDvPRI`).
11994#[derive(Debug, Clone, Default, serde::Deserialize)]
11995pub struct GetDIDvPRIResponse {
11996    #[serde(
11997        default,
11998        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
11999    )]
12000    pub status: Option<String>,
12001    #[serde(
12002        default,
12003        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12004    )]
12005    pub dids: Option<Vec<u64>>,
12006}
12007
12008/// Response body for [`Client::get_disas`] (wire method `getDISAs`).
12009#[derive(Debug, Clone, Default, serde::Deserialize)]
12010pub struct GetDISAsResponseDISA {
12011    #[serde(
12012        default,
12013        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12014    )]
12015    pub disa: Option<u64>,
12016    #[serde(
12017        default,
12018        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12019    )]
12020    pub name: Option<String>,
12021    #[serde(
12022        default,
12023        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12024    )]
12025    pub pin: Option<u64>,
12026    #[serde(
12027        default,
12028        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12029    )]
12030    pub digit_timeout: Option<u64>,
12031    #[serde(
12032        default,
12033        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12034    )]
12035    pub callerid_override: Option<u64>,
12036    #[serde(
12037        default,
12038        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12039    )]
12040    pub language: Option<String>,
12041}
12042
12043#[derive(Debug, Clone, Default, serde::Deserialize)]
12044pub struct GetDISAsResponse {
12045    #[serde(
12046        default,
12047        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12048    )]
12049    pub status: Option<String>,
12050    #[serde(
12051        default,
12052        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12053    )]
12054    pub disa: Option<Vec<GetDISAsResponseDISA>>,
12055}
12056
12057/// Response body for [`Client::get_dtmf_modes`] (wire method `getDTMFModes`).
12058#[derive(Debug, Clone, Default, serde::Deserialize)]
12059pub struct GetDTMFModesResponseDTMFMode {
12060    #[serde(
12061        default,
12062        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12063    )]
12064    pub value: Option<String>,
12065    #[serde(
12066        default,
12067        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12068    )]
12069    pub description: Option<String>,
12070}
12071
12072#[derive(Debug, Clone, Default, serde::Deserialize)]
12073pub struct GetDTMFModesResponse {
12074    #[serde(
12075        default,
12076        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12077    )]
12078    pub status: Option<String>,
12079    #[serde(
12080        default,
12081        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12082    )]
12083    pub dtmf_modes: Option<Vec<GetDTMFModesResponseDTMFMode>>,
12084}
12085
12086/// Response body for [`Client::get_deposits`] (wire method `getDeposits`).
12087#[derive(Debug, Clone, Default, serde::Deserialize)]
12088pub struct GetDepositsResponseDeposit {
12089    #[serde(
12090        default,
12091        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12092    )]
12093    pub id: Option<u64>,
12094    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12095    pub date: Option<chrono::NaiveDate>,
12096    #[serde(
12097        default,
12098        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12099    )]
12100    pub amount: Option<rust_decimal::Decimal>,
12101    #[serde(
12102        default,
12103        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12104    )]
12105    pub description: Option<String>,
12106}
12107
12108#[derive(Debug, Clone, Default, serde::Deserialize)]
12109pub struct GetDepositsResponse {
12110    #[serde(
12111        default,
12112        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12113    )]
12114    pub status: Option<String>,
12115    #[serde(
12116        default,
12117        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12118    )]
12119    pub deposits: Option<Vec<GetDepositsResponseDeposit>>,
12120}
12121
12122/// Response body for [`Client::get_device_types`] (wire method `getDeviceTypes`).
12123#[derive(Debug, Clone, Default, serde::Deserialize)]
12124pub struct GetDeviceTypesResponseDeviceType {
12125    #[serde(
12126        default,
12127        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12128    )]
12129    pub value: Option<u64>,
12130    #[serde(
12131        default,
12132        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12133    )]
12134    pub description: Option<String>,
12135}
12136
12137#[derive(Debug, Clone, Default, serde::Deserialize)]
12138pub struct GetDeviceTypesResponse {
12139    #[serde(
12140        default,
12141        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12142    )]
12143    pub status: Option<String>,
12144    #[serde(
12145        default,
12146        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12147    )]
12148    pub device_types: Option<Vec<GetDeviceTypesResponseDeviceType>>,
12149}
12150
12151/// Response body for [`Client::get_email_to_fax`] (wire method `getEmailToFax`).
12152#[derive(Debug, Clone, Default, serde::Deserialize)]
12153pub struct GetEmailToFAXResponseEmailToFAX {
12154    #[serde(
12155        default,
12156        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12157    )]
12158    pub id: Option<String>,
12159    #[serde(
12160        default,
12161        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12162    )]
12163    pub enabled: Option<bool>,
12164    #[serde(
12165        default,
12166        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12167    )]
12168    pub email: Option<String>,
12169    #[serde(
12170        default,
12171        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12172    )]
12173    pub security_code: Option<u64>,
12174    #[serde(
12175        default,
12176        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12177    )]
12178    pub security_code_enabled: Option<bool>,
12179    #[serde(
12180        default,
12181        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12182    )]
12183    pub from: Option<u64>,
12184}
12185
12186#[derive(Debug, Clone, Default, serde::Deserialize)]
12187pub struct GetEmailToFAXResponse {
12188    #[serde(
12189        default,
12190        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12191    )]
12192    pub status: Option<String>,
12193    #[serde(
12194        default,
12195        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12196    )]
12197    pub emailToFax: Option<Vec<GetEmailToFAXResponseEmailToFAX>>,
12198}
12199
12200/// Response body for [`Client::get_fax_folders`] (wire method `getFaxFolders`).
12201#[derive(Debug, Clone, Default, serde::Deserialize)]
12202pub struct GetFAXFoldersResponseFolder {
12203    #[serde(
12204        default,
12205        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12206    )]
12207    pub id: Option<String>,
12208    #[serde(
12209        default,
12210        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12211    )]
12212    pub name: Option<String>,
12213}
12214
12215#[derive(Debug, Clone, Default, serde::Deserialize)]
12216pub struct GetFAXFoldersResponse {
12217    #[serde(
12218        default,
12219        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12220    )]
12221    pub status: Option<String>,
12222    #[serde(
12223        default,
12224        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12225    )]
12226    pub folders: Option<Vec<GetFAXFoldersResponseFolder>>,
12227}
12228
12229/// Response body for [`Client::get_fax_message_pdf`] (wire method `getFaxMessagePDF`).
12230#[derive(Debug, Clone, Default, serde::Deserialize)]
12231pub struct GetFAXMessagePDFResponse {
12232    #[serde(
12233        default,
12234        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12235    )]
12236    pub status: Option<String>,
12237    #[serde(
12238        default,
12239        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12240    )]
12241    pub message_base64: Option<String>,
12242}
12243
12244/// Response body for [`Client::get_fax_messages`] (wire method `getFaxMessages`).
12245#[derive(Debug, Clone, Default, serde::Deserialize)]
12246pub struct GetFAXMessagesResponseFAX {
12247    #[serde(
12248        default,
12249        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12250    )]
12251    pub id: Option<String>,
12252    #[serde(
12253        default,
12254        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12255    )]
12256    pub folder: Option<String>,
12257    #[serde(
12258        default,
12259        deserialize_with = "crate::responses::deserialize_opt_datetime"
12260    )]
12261    pub date: Option<chrono::NaiveDateTime>,
12262    #[serde(
12263        default,
12264        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12265    )]
12266    pub callerid: Option<u64>,
12267    #[serde(
12268        default,
12269        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12270    )]
12271    pub stationid: Option<u64>,
12272    #[serde(
12273        default,
12274        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12275    )]
12276    pub destination: Option<u64>,
12277    #[serde(
12278        default,
12279        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12280    )]
12281    pub description: Option<String>,
12282    #[serde(
12283        default,
12284        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12285    )]
12286    pub pages: Option<u64>,
12287    #[serde(
12288        default,
12289        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12290    )]
12291    pub duration: Option<String>,
12292    #[serde(
12293        default,
12294        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12295    )]
12296    pub status: Option<String>,
12297    #[serde(
12298        default,
12299        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12300    )]
12301    pub rate: Option<rust_decimal::Decimal>,
12302    #[serde(
12303        default,
12304        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12305    )]
12306    pub total: Option<rust_decimal::Decimal>,
12307    #[serde(
12308        default,
12309        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12310    )]
12311    pub msg: Option<String>,
12312}
12313
12314#[derive(Debug, Clone, Default, serde::Deserialize)]
12315pub struct GetFAXMessagesResponse {
12316    #[serde(
12317        default,
12318        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12319    )]
12320    pub status: Option<String>,
12321    #[serde(
12322        default,
12323        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12324    )]
12325    pub faxes: Option<Vec<GetFAXMessagesResponseFAX>>,
12326}
12327
12328/// Response body for [`Client::get_fax_numbers_info`] (wire method `getFaxNumbersInfo`).
12329#[derive(Debug, Clone, Default, serde::Deserialize)]
12330pub struct GetFAXNumbersInfoResponseNumber {
12331    #[serde(
12332        default,
12333        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12334    )]
12335    pub id: Option<String>,
12336    #[serde(
12337        default,
12338        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12339    )]
12340    pub did: Option<u64>,
12341    #[serde(
12342        default,
12343        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12344    )]
12345    pub description: Option<String>,
12346    #[serde(
12347        default,
12348        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12349    )]
12350    pub state: Option<String>,
12351    #[serde(
12352        default,
12353        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12354    )]
12355    pub city: Option<String>,
12356    #[serde(
12357        default,
12358        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12359    )]
12360    pub country: Option<String>,
12361    #[serde(
12362        default,
12363        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12364    )]
12365    pub email_enabled: Option<bool>,
12366    #[serde(
12367        default,
12368        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12369    )]
12370    pub email: Option<String>,
12371    #[serde(
12372        default,
12373        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12374    )]
12375    pub url_enabled: Option<bool>,
12376    #[serde(
12377        default,
12378        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12379    )]
12380    pub url: Option<String>,
12381    #[serde(
12382        default,
12383        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12384    )]
12385    pub retry: Option<u64>,
12386    #[serde(
12387        default,
12388        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12389    )]
12390    pub attach_file: Option<u64>,
12391    #[serde(
12392        default,
12393        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12394    )]
12395    pub note: Option<String>,
12396    #[serde(
12397        default,
12398        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12399    )]
12400    pub reseller_account: Option<String>,
12401    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12402    pub reseller_next_billing: Option<chrono::NaiveDate>,
12403    #[serde(
12404        default,
12405        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12406    )]
12407    pub reseller_monthly: Option<rust_decimal::Decimal>,
12408    #[serde(
12409        default,
12410        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12411    )]
12412    pub reseller_minute: Option<rust_decimal::Decimal>,
12413    #[serde(
12414        default,
12415        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12416    )]
12417    pub reseller_setup: Option<rust_decimal::Decimal>,
12418    #[serde(
12419        default,
12420        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12421    )]
12422    pub fax_to_sip_enabled: Option<bool>,
12423    #[serde(
12424        default,
12425        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12426    )]
12427    pub fax_to_sip_enabled_account: Option<String>,
12428}
12429
12430#[derive(Debug, Clone, Default, serde::Deserialize)]
12431pub struct GetFAXNumbersInfoResponse {
12432    #[serde(
12433        default,
12434        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12435    )]
12436    pub status: Option<String>,
12437    #[serde(
12438        default,
12439        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12440    )]
12441    pub numbers: Option<Vec<GetFAXNumbersInfoResponseNumber>>,
12442}
12443
12444/// Response body for [`Client::get_fax_numbers_portability`] (wire method `getFaxNumbersPortability`).
12445#[derive(Debug, Clone, Default, serde::Deserialize)]
12446pub struct GetFAXNumbersPortabilityResponse {
12447    #[serde(
12448        default,
12449        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12450    )]
12451    pub status: Option<String>,
12452    #[serde(
12453        default,
12454        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12455    )]
12456    pub getFaxNumbersPortability: Option<bool>,
12457}
12458
12459/// Response body for [`Client::get_fax_provinces`] (wire method `getFaxProvinces`).
12460#[derive(Debug, Clone, Default, serde::Deserialize)]
12461pub struct GetFAXProvincesResponseProvince {
12462    #[serde(
12463        default,
12464        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12465    )]
12466    pub province: Option<String>,
12467    #[serde(
12468        default,
12469        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12470    )]
12471    pub province_id: Option<u64>,
12472    #[serde(
12473        default,
12474        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12475    )]
12476    pub province_name: Option<String>,
12477    #[serde(
12478        default,
12479        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12480    )]
12481    pub country_code: Option<String>,
12482}
12483
12484#[derive(Debug, Clone, Default, serde::Deserialize)]
12485pub struct GetFAXProvincesResponse {
12486    #[serde(
12487        default,
12488        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12489    )]
12490    pub status: Option<String>,
12491    #[serde(
12492        default,
12493        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12494    )]
12495    pub provinces: Option<Vec<GetFAXProvincesResponseProvince>>,
12496}
12497
12498/// Response body for [`Client::get_fax_rate_centers_can`] (wire method `getFaxRateCentersCAN`).
12499#[derive(Debug, Clone, Default, serde::Deserialize)]
12500pub struct GetFAXRateCentersCANResponseRatecenter {
12501    #[serde(
12502        default,
12503        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12504    )]
12505    pub location: Option<u64>,
12506    #[serde(
12507        default,
12508        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12509    )]
12510    pub area_code: Option<u64>,
12511    #[serde(
12512        default,
12513        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12514    )]
12515    pub ratecenter: Option<String>,
12516    #[serde(
12517        default,
12518        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12519    )]
12520    pub available: Option<bool>,
12521}
12522
12523#[derive(Debug, Clone, Default, serde::Deserialize)]
12524pub struct GetFAXRateCentersCANResponse {
12525    #[serde(
12526        default,
12527        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12528    )]
12529    pub status: Option<String>,
12530    #[serde(
12531        default,
12532        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12533    )]
12534    pub ratecenters: Option<Vec<GetFAXRateCentersCANResponseRatecenter>>,
12535}
12536
12537/// Response body for [`Client::get_fax_rate_centers_usa`] (wire method `getFaxRateCentersUSA`).
12538#[derive(Debug, Clone, Default, serde::Deserialize)]
12539pub struct GetFAXRateCentersUSAResponseRatecenter {
12540    #[serde(
12541        default,
12542        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12543    )]
12544    pub location: Option<u64>,
12545    #[serde(
12546        default,
12547        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12548    )]
12549    pub area_code: Option<u64>,
12550    #[serde(
12551        default,
12552        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12553    )]
12554    pub ratecenter: Option<String>,
12555    #[serde(
12556        default,
12557        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12558    )]
12559    pub available: Option<bool>,
12560}
12561
12562#[derive(Debug, Clone, Default, serde::Deserialize)]
12563pub struct GetFAXRateCentersUSAResponse {
12564    #[serde(
12565        default,
12566        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12567    )]
12568    pub status: Option<String>,
12569    #[serde(
12570        default,
12571        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12572    )]
12573    pub ratecenters: Option<Vec<GetFAXRateCentersUSAResponseRatecenter>>,
12574}
12575
12576/// Response body for [`Client::get_fax_states`] (wire method `getFaxStates`).
12577#[derive(Debug, Clone, Default, serde::Deserialize)]
12578pub struct GetFAXStatesResponseState {
12579    #[serde(
12580        default,
12581        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12582    )]
12583    pub state: Option<String>,
12584    #[serde(
12585        default,
12586        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12587    )]
12588    pub state_id: Option<u64>,
12589    #[serde(
12590        default,
12591        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12592    )]
12593    pub state_name: Option<String>,
12594    #[serde(
12595        default,
12596        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12597    )]
12598    pub country_code: Option<String>,
12599}
12600
12601#[derive(Debug, Clone, Default, serde::Deserialize)]
12602pub struct GetFAXStatesResponse {
12603    #[serde(
12604        default,
12605        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12606    )]
12607    pub status: Option<String>,
12608    #[serde(
12609        default,
12610        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12611    )]
12612    pub states: Option<Vec<GetFAXStatesResponseState>>,
12613}
12614
12615/// Response body for [`Client::get_forwardings`] (wire method `getForwardings`).
12616#[derive(Debug, Clone, Default, serde::Deserialize)]
12617pub struct GetForwardingsResponseForwarding {
12618    #[serde(
12619        default,
12620        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12621    )]
12622    pub forwarding: Option<u64>,
12623    #[serde(
12624        default,
12625        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12626    )]
12627    pub phone_number: Option<u64>,
12628    #[serde(
12629        default,
12630        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12631    )]
12632    pub callerid_override: Option<u64>,
12633    #[serde(
12634        default,
12635        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12636    )]
12637    pub description: Option<String>,
12638    #[serde(
12639        default,
12640        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12641    )]
12642    pub dtmf_digits: Option<u64>,
12643    #[serde(
12644        default,
12645        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
12646    )]
12647    pub pause: Option<rust_decimal::Decimal>,
12648    #[serde(
12649        default,
12650        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12651    )]
12652    pub diversion_header: Option<bool>,
12653}
12654
12655#[derive(Debug, Clone, Default, serde::Deserialize)]
12656pub struct GetForwardingsResponse {
12657    #[serde(
12658        default,
12659        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12660    )]
12661    pub status: Option<String>,
12662    #[serde(
12663        default,
12664        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12665    )]
12666    pub forwardings: Option<Vec<GetForwardingsResponseForwarding>>,
12667}
12668
12669/// Response body for [`Client::get_ip`] (wire method `getIP`).
12670#[derive(Debug, Clone, Default, serde::Deserialize)]
12671pub struct GetIPResponse {
12672    #[serde(
12673        default,
12674        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12675    )]
12676    pub status: Option<String>,
12677    #[serde(
12678        default,
12679        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12680    )]
12681    pub ip: Option<String>,
12682}
12683
12684/// Response body for [`Client::get_ivrs`] (wire method `getIVRs`).
12685#[derive(Debug, Clone, Default, serde::Deserialize)]
12686pub struct GetIVRsResponseIVR {
12687    #[serde(
12688        default,
12689        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12690    )]
12691    pub ivr: Option<u64>,
12692    #[serde(
12693        default,
12694        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12695    )]
12696    pub name: Option<String>,
12697    #[serde(
12698        default,
12699        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12700    )]
12701    pub recording: Option<u64>,
12702    #[serde(
12703        default,
12704        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12705    )]
12706    pub timeout: Option<u64>,
12707    #[serde(
12708        default,
12709        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12710    )]
12711    pub language: Option<String>,
12712    #[serde(
12713        default,
12714        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12715    )]
12716    pub voicemailsetup: Option<u64>,
12717    #[serde(
12718        default,
12719        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12720    )]
12721    pub choices: Option<String>,
12722}
12723
12724#[derive(Debug, Clone, Default, serde::Deserialize)]
12725pub struct GetIVRsResponse {
12726    #[serde(
12727        default,
12728        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12729    )]
12730    pub status: Option<String>,
12731    #[serde(
12732        default,
12733        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12734    )]
12735    pub ivrs: Option<Vec<GetIVRsResponseIVR>>,
12736}
12737
12738/// Response body for [`Client::get_international_types`] (wire method `getInternationalTypes`).
12739#[derive(Debug, Clone, Default, serde::Deserialize)]
12740pub struct GetInternationalTypesResponseType {
12741    #[serde(
12742        default,
12743        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12744    )]
12745    pub value: Option<String>,
12746    #[serde(
12747        default,
12748        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12749    )]
12750    pub description: Option<String>,
12751}
12752
12753#[derive(Debug, Clone, Default, serde::Deserialize)]
12754pub struct GetInternationalTypesResponse {
12755    #[serde(
12756        default,
12757        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12758    )]
12759    pub status: Option<String>,
12760    #[serde(
12761        default,
12762        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12763    )]
12764    pub types: Option<Vec<GetInternationalTypesResponseType>>,
12765}
12766
12767/// Response body for [`Client::get_join_when_empty_types`] (wire method `getJoinWhenEmptyTypes`).
12768#[derive(Debug, Clone, Default, serde::Deserialize)]
12769pub struct GetJoinWhenEmptyTypesResponseType {
12770    #[serde(
12771        default,
12772        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12773    )]
12774    pub value: Option<bool>,
12775    #[serde(
12776        default,
12777        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12778    )]
12779    pub description: Option<bool>,
12780}
12781
12782#[derive(Debug, Clone, Default, serde::Deserialize)]
12783pub struct GetJoinWhenEmptyTypesResponse {
12784    #[serde(
12785        default,
12786        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12787    )]
12788    pub status: Option<String>,
12789    #[serde(
12790        default,
12791        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12792    )]
12793    pub types: Option<Vec<GetJoinWhenEmptyTypesResponseType>>,
12794}
12795
12796/// Response body for [`Client::get_lnp_attach`] (wire method `getLNPAttach`).
12797#[derive(Debug, Clone, Default, serde::Deserialize)]
12798pub struct GetLNPAttachResponse {
12799    #[serde(
12800        default,
12801        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12802    )]
12803    pub status: Option<String>,
12804    #[serde(
12805        default,
12806        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12807        rename = "type"
12808    )]
12809    pub r#type: Option<String>,
12810    #[serde(
12811        default,
12812        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12813    )]
12814    pub size: Option<String>,
12815    #[serde(
12816        default,
12817        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12818    )]
12819    pub base64: Option<String>,
12820}
12821
12822/// Response body for [`Client::get_lnp_attach_list`] (wire method `getLNPAttachList`).
12823#[derive(Debug, Clone, Default, serde::Deserialize)]
12824pub struct GetLNPAttachListResponse {
12825    #[serde(
12826        default,
12827        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12828    )]
12829    pub status: Option<String>,
12830    #[serde(
12831        default,
12832        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12833    )]
12834    pub list: Option<String>,
12835    #[serde(
12836        default,
12837        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12838    )]
12839    pub attachid: Option<String>,
12840    #[serde(
12841        default,
12842        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12843        rename = "type"
12844    )]
12845    pub r#type: Option<String>,
12846    #[serde(
12847        default,
12848        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12849    )]
12850    pub size: Option<String>,
12851}
12852
12853/// Response body for [`Client::get_lnp_details`] (wire method `getLNPDetails`).
12854#[derive(Debug, Clone, Default, serde::Deserialize)]
12855pub struct GetLNPDetailsResponseNumber {
12856    #[serde(
12857        default,
12858        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12859    )]
12860    pub did: Option<String>,
12861    #[serde(
12862        default,
12863        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12864    )]
12865    pub rateCenter: Option<String>,
12866    #[serde(
12867        default,
12868        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12869    )]
12870    pub state: Option<String>,
12871}
12872
12873#[derive(Debug, Clone, Default, serde::Deserialize)]
12874pub struct GetLNPDetailsResponseNote {
12875    #[serde(
12876        default,
12877        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12878    )]
12879    pub note: Option<String>,
12880    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
12881    pub date: Option<chrono::NaiveDate>,
12882    #[serde(
12883        default,
12884        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12885    )]
12886    pub time: Option<String>,
12887}
12888
12889#[derive(Debug, Clone, Default, serde::Deserialize)]
12890pub struct GetLNPDetailsResponseAttachment {
12891    #[serde(
12892        default,
12893        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12894    )]
12895    pub id: Option<String>,
12896    #[serde(
12897        default,
12898        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12899    )]
12900    pub description: Option<String>,
12901    #[serde(
12902        default,
12903        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
12904        rename = "type"
12905    )]
12906    pub r#type: Option<String>,
12907    #[serde(
12908        default,
12909        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12910    )]
12911    pub bytes: Option<u64>,
12912}
12913
12914#[derive(Debug, Clone, Default, serde::Deserialize)]
12915pub struct GetLNPDetailsResponse {
12916    #[serde(
12917        default,
12918        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12919    )]
12920    pub status: Option<String>,
12921    #[serde(
12922        default,
12923        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12924    )]
12925    pub id: Option<u64>,
12926    #[serde(
12927        default,
12928        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
12929    )]
12930    pub numbers: Option<Vec<GetLNPDetailsResponseNumber>>,
12931    #[serde(
12932        default,
12933        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12934    )]
12935    pub isPartial: Option<bool>,
12936    #[serde(
12937        default,
12938        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12939    )]
12940    pub locationType: Option<u64>,
12941    #[serde(
12942        default,
12943        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
12944    )]
12945    pub isMobile: Option<bool>,
12946    #[serde(
12947        default,
12948        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12949    )]
12950    pub mobileInfo: Option<String>,
12951    #[serde(
12952        default,
12953        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12954    )]
12955    pub tfType: Option<u64>,
12956    #[serde(
12957        default,
12958        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
12959    )]
12960    pub portType: Option<u64>,
12961    #[serde(
12962        default,
12963        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12964    )]
12965    pub btn: Option<String>,
12966    #[serde(
12967        default,
12968        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12969    )]
12970    pub services: Option<String>,
12971    #[serde(
12972        default,
12973        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12974    )]
12975    pub statementName: Option<String>,
12976    #[serde(
12977        default,
12978        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12979    )]
12980    pub firstName: Option<String>,
12981    #[serde(
12982        default,
12983        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12984    )]
12985    pub lastName: Option<String>,
12986    #[serde(
12987        default,
12988        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12989    )]
12990    pub address1: Option<String>,
12991    #[serde(
12992        default,
12993        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12994    )]
12995    pub address2: Option<String>,
12996    #[serde(
12997        default,
12998        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
12999    )]
13000    pub city: Option<String>,
13001    #[serde(
13002        default,
13003        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13004    )]
13005    pub zip: Option<String>,
13006    #[serde(
13007        default,
13008        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13009    )]
13010    pub state: Option<String>,
13011    #[serde(
13012        default,
13013        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13014    )]
13015    pub country: Option<String>,
13016    #[serde(
13017        default,
13018        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13019    )]
13020    pub providerName: Option<String>,
13021    #[serde(
13022        default,
13023        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13024    )]
13025    pub providerAccount: Option<String>,
13026    #[serde(
13027        default,
13028        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13029    )]
13030    pub customer_notes: Option<String>,
13031    #[serde(
13032        default,
13033        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13034    )]
13035    pub notes: Option<Vec<GetLNPDetailsResponseNote>>,
13036    #[serde(
13037        default,
13038        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13039    )]
13040    pub post_status: Option<String>,
13041    #[serde(
13042        default,
13043        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13044    )]
13045    pub post_status_description: Option<String>,
13046    #[serde(
13047        default,
13048        deserialize_with = "crate::responses::deserialize_opt_datetime"
13049    )]
13050    pub date: Option<chrono::NaiveDateTime>,
13051    #[serde(
13052        default,
13053        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13054    )]
13055    pub focDate: Option<String>,
13056    #[serde(
13057        default,
13058        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13059    )]
13060    pub attachments: Option<Vec<GetLNPDetailsResponseAttachment>>,
13061}
13062
13063/// Response body for [`Client::get_lnp_list`] (wire method `getLNPList`).
13064#[derive(Debug, Clone, Default, serde::Deserialize)]
13065pub struct GetLNPListResponse {
13066    #[serde(
13067        default,
13068        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13069    )]
13070    pub status: Option<String>,
13071    #[serde(
13072        default,
13073        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13074    )]
13075    pub list: Option<String>,
13076    #[serde(
13077        default,
13078        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13079    )]
13080    pub portid: Option<String>,
13081    #[serde(
13082        default,
13083        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13084    )]
13085    pub numbers: Option<String>,
13086    #[serde(
13087        default,
13088        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13089    )]
13090    pub foc_date: Option<String>,
13091}
13092
13093/// Response body for [`Client::get_lnp_list_status`] (wire method `getLNPListStatus`).
13094#[derive(Debug, Clone, Default, serde::Deserialize)]
13095pub struct GetLNPListStatusResponse {
13096    #[serde(
13097        default,
13098        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13099    )]
13100    pub status: Option<String>,
13101    #[serde(
13102        default,
13103        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13104    )]
13105    pub list_status: Option<String>,
13106}
13107
13108/// Response body for [`Client::get_lnp_notes`] (wire method `getLNPNotes`).
13109#[derive(Debug, Clone, Default, serde::Deserialize)]
13110pub struct GetLNPNotesResponse {
13111    #[serde(
13112        default,
13113        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13114    )]
13115    pub status: Option<String>,
13116    #[serde(
13117        default,
13118        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13119    )]
13120    pub list: Option<String>,
13121    #[serde(
13122        default,
13123        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13124    )]
13125    pub note: Option<String>,
13126    #[serde(
13127        default,
13128        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13129    )]
13130    pub date: Option<String>,
13131    #[serde(
13132        default,
13133        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13134    )]
13135    pub time: Option<String>,
13136}
13137
13138/// Response body for [`Client::get_lnp_status`] (wire method `getLNPStatus`).
13139#[derive(Debug, Clone, Default, serde::Deserialize)]
13140pub struct GetLNPStatusResponse {
13141    #[serde(
13142        default,
13143        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13144    )]
13145    pub status: Option<String>,
13146    #[serde(
13147        default,
13148        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13149    )]
13150    pub post_status: Option<String>,
13151    #[serde(
13152        default,
13153        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13154    )]
13155    pub post_status_description: Option<String>,
13156}
13157
13158/// Response body for [`Client::get_languages`] (wire method `getLanguages`).
13159#[derive(Debug, Clone, Default, serde::Deserialize)]
13160pub struct GetLanguagesResponseLanguage {
13161    #[serde(
13162        default,
13163        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13164    )]
13165    pub value: Option<String>,
13166    #[serde(
13167        default,
13168        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13169    )]
13170    pub description: Option<String>,
13171}
13172
13173#[derive(Debug, Clone, Default, serde::Deserialize)]
13174pub struct GetLanguagesResponse {
13175    #[serde(
13176        default,
13177        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13178    )]
13179    pub status: Option<String>,
13180    #[serde(
13181        default,
13182        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13183    )]
13184    pub languages: Option<Vec<GetLanguagesResponseLanguage>>,
13185}
13186
13187/// Response body for [`Client::get_locales`] (wire method `getLocales`).
13188#[derive(Debug, Clone, Default, serde::Deserialize)]
13189pub struct GetLocalesResponseLocale {
13190    #[serde(
13191        default,
13192        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13193    )]
13194    pub value: Option<String>,
13195    #[serde(
13196        default,
13197        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13198    )]
13199    pub description: Option<String>,
13200}
13201
13202#[derive(Debug, Clone, Default, serde::Deserialize)]
13203pub struct GetLocalesResponse {
13204    #[serde(
13205        default,
13206        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13207    )]
13208    pub status: Option<String>,
13209    #[serde(
13210        default,
13211        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13212    )]
13213    pub locales: Option<Vec<GetLocalesResponseLocale>>,
13214}
13215
13216/// Response body for [`Client::get_locations`] (wire method `getLocations`).
13217#[derive(Debug, Clone, Default, serde::Deserialize)]
13218pub struct GetLocationsResponse {
13219    #[serde(
13220        default,
13221        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13222    )]
13223    pub status: Option<String>,
13224    #[serde(
13225        default,
13226        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13227    )]
13228    pub locations: Option<Vec<String>>,
13229}
13230
13231/// Response body for [`Client::get_lock_international`] (wire method `getLockInternational`).
13232#[derive(Debug, Clone, Default, serde::Deserialize)]
13233pub struct GetLockInternationalResponseLockInternational {
13234    #[serde(
13235        default,
13236        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13237    )]
13238    pub value: Option<u64>,
13239    #[serde(
13240        default,
13241        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13242    )]
13243    pub description: Option<String>,
13244}
13245
13246#[derive(Debug, Clone, Default, serde::Deserialize)]
13247pub struct GetLockInternationalResponse {
13248    #[serde(
13249        default,
13250        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13251    )]
13252    pub status: Option<String>,
13253    #[serde(
13254        default,
13255        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13256    )]
13257    pub lock_international: Option<Vec<GetLockInternationalResponseLockInternational>>,
13258}
13259
13260/// Response body for [`Client::get_mms`] (wire method `getMMS`).
13261#[derive(Debug, Clone, Default, serde::Deserialize)]
13262pub struct GetMMSResponseSMS {
13263    #[serde(
13264        default,
13265        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13266    )]
13267    pub id: Option<u64>,
13268    #[serde(
13269        default,
13270        deserialize_with = "crate::responses::deserialize_opt_datetime"
13271    )]
13272    pub date: Option<chrono::NaiveDateTime>,
13273    #[serde(
13274        default,
13275        deserialize_with = "deserialize_opt_message_type",
13276        rename = "type"
13277    )]
13278    pub r#type: Option<MessageType>,
13279    #[serde(
13280        default,
13281        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13282    )]
13283    pub did: Option<u64>,
13284    #[serde(
13285        default,
13286        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13287    )]
13288    pub contact: Option<u64>,
13289    #[serde(
13290        default,
13291        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13292    )]
13293    pub message: Option<String>,
13294    #[serde(
13295        default,
13296        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13297    )]
13298    pub carrier_status: Option<String>,
13299    #[serde(
13300        default,
13301        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13302    )]
13303    pub col_media1: Option<String>,
13304    #[serde(
13305        default,
13306        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13307    )]
13308    pub col_media2: Option<String>,
13309    #[serde(
13310        default,
13311        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13312    )]
13313    pub col_media3: Option<String>,
13314    #[serde(
13315        default,
13316        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13317    )]
13318    pub media: Option<Vec<String>>,
13319}
13320
13321#[derive(Debug, Clone, Default, serde::Deserialize)]
13322pub struct GetMMSResponse {
13323    #[serde(
13324        default,
13325        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13326    )]
13327    pub status: Option<String>,
13328    #[serde(
13329        default,
13330        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13331    )]
13332    pub sms: Option<Vec<GetMMSResponseSMS>>,
13333}
13334
13335/// Response body for [`Client::get_media_mms`] (wire method `getMediaMMS`).
13336#[derive(Debug, Clone, Default, serde::Deserialize)]
13337pub struct GetMediaMMSResponse {
13338    #[serde(
13339        default,
13340        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13341    )]
13342    pub status: Option<String>,
13343    #[serde(
13344        default,
13345        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13346    )]
13347    pub id: Option<u64>,
13348    #[serde(
13349        default,
13350        deserialize_with = "crate::responses::deserialize_opt_datetime"
13351    )]
13352    pub date: Option<chrono::NaiveDateTime>,
13353    #[serde(
13354        default,
13355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13356    )]
13357    pub media: Option<String>,
13358    #[serde(
13359        default,
13360        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13361        rename = "0"
13362    )]
13363    pub field_0: Option<String>,
13364    #[serde(
13365        default,
13366        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13367        rename = "1"
13368    )]
13369    pub field_1: Option<String>,
13370    #[serde(
13371        default,
13372        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
13373        rename = "2"
13374    )]
13375    pub field_2: Option<String>,
13376}
13377
13378/// Response body for [`Client::get_music_on_hold`] (wire method `getMusicOnHold`).
13379#[derive(Debug, Clone, Default, serde::Deserialize)]
13380pub struct GetMusicOnHoldResponseMusicOnHold {
13381    #[serde(
13382        default,
13383        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13384    )]
13385    pub value: Option<String>,
13386    #[serde(
13387        default,
13388        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13389    )]
13390    pub description: Option<String>,
13391    #[serde(
13392        default,
13393        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13394    )]
13395    pub recordings: Option<String>,
13396    #[serde(
13397        default,
13398        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13399    )]
13400    pub total: Option<u64>,
13401    #[serde(
13402        default,
13403        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13404    )]
13405    pub volume: Option<String>,
13406    #[serde(default, deserialize_with = "deserialize_opt_recording_sort")]
13407    pub sort: Option<RecordingSort>,
13408    #[serde(
13409        default,
13410        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13411    )]
13412    pub custom: Option<u64>,
13413}
13414
13415#[derive(Debug, Clone, Default, serde::Deserialize)]
13416pub struct GetMusicOnHoldResponse {
13417    #[serde(
13418        default,
13419        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13420    )]
13421    pub status: Option<String>,
13422    #[serde(
13423        default,
13424        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13425    )]
13426    pub music_on_hold: Option<Vec<GetMusicOnHoldResponseMusicOnHold>>,
13427}
13428
13429/// Response body for [`Client::get_nat`] (wire method `getNAT`).
13430#[derive(Debug, Clone, Default, serde::Deserialize)]
13431pub struct GetNATResponse {
13432    #[serde(
13433        default,
13434        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13435    )]
13436    pub status: Option<String>,
13437    #[serde(default, deserialize_with = "deserialize_opt_nat")]
13438    pub nat: Option<Nat>,
13439}
13440
13441/// Response body for [`Client::get_packages`] (wire method `getPackages`).
13442#[derive(Debug, Clone, Default, serde::Deserialize)]
13443pub struct GetPackagesResponsePackage {
13444    #[serde(
13445        default,
13446        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13447    )]
13448    pub package: Option<u64>,
13449    #[serde(
13450        default,
13451        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13452    )]
13453    pub name: Option<String>,
13454    #[serde(
13455        default,
13456        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13457    )]
13458    pub markup_fixed: Option<rust_decimal::Decimal>,
13459    #[serde(
13460        default,
13461        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13462    )]
13463    pub markup_percentage: Option<u64>,
13464    #[serde(
13465        default,
13466        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13467    )]
13468    pub pulse: Option<u64>,
13469    #[serde(
13470        default,
13471        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13472    )]
13473    pub international_route: Option<u64>,
13474    #[serde(
13475        default,
13476        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13477    )]
13478    pub canada_route: Option<u64>,
13479    #[serde(
13480        default,
13481        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13482    )]
13483    pub monthly_fee: Option<rust_decimal::Decimal>,
13484    #[serde(
13485        default,
13486        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13487    )]
13488    pub setup_fee: Option<rust_decimal::Decimal>,
13489    #[serde(
13490        default,
13491        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13492    )]
13493    pub free_minutes: Option<u64>,
13494}
13495
13496#[derive(Debug, Clone, Default, serde::Deserialize)]
13497pub struct GetPackagesResponse {
13498    #[serde(
13499        default,
13500        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13501    )]
13502    pub status: Option<String>,
13503    #[serde(
13504        default,
13505        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13506    )]
13507    pub packages: Option<Vec<GetPackagesResponsePackage>>,
13508}
13509
13510/// Response body for [`Client::get_phonebook`] (wire method `getPhonebook`).
13511#[derive(Debug, Clone, Default, serde::Deserialize)]
13512pub struct GetPhonebookResponsePhonebook {
13513    #[serde(
13514        default,
13515        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13516    )]
13517    pub phonebook: Option<u64>,
13518    #[serde(
13519        default,
13520        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13521    )]
13522    pub speed_dial: Option<String>,
13523    #[serde(
13524        default,
13525        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13526    )]
13527    pub name: Option<String>,
13528    #[serde(
13529        default,
13530        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13531    )]
13532    pub number: Option<u64>,
13533    #[serde(
13534        default,
13535        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13536    )]
13537    pub callerid: Option<u64>,
13538    #[serde(
13539        default,
13540        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13541    )]
13542    pub note: Option<String>,
13543    #[serde(
13544        default,
13545        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13546    )]
13547    pub group: Option<u64>,
13548    #[serde(
13549        default,
13550        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13551    )]
13552    pub group_name: Option<String>,
13553}
13554
13555#[derive(Debug, Clone, Default, serde::Deserialize)]
13556pub struct GetPhonebookResponse {
13557    #[serde(
13558        default,
13559        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13560    )]
13561    pub status: Option<String>,
13562    #[serde(
13563        default,
13564        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13565    )]
13566    pub phonebooks: Option<Vec<GetPhonebookResponsePhonebook>>,
13567}
13568
13569/// Response body for [`Client::get_phonebook_groups`] (wire method `getPhonebookGroups`).
13570#[derive(Debug, Clone, Default, serde::Deserialize)]
13571pub struct GetPhonebookGroupsResponsePhonebook {
13572    #[serde(
13573        default,
13574        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13575    )]
13576    pub phonebook_group: Option<u64>,
13577    #[serde(
13578        default,
13579        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13580    )]
13581    pub name: Option<String>,
13582    #[serde(
13583        default,
13584        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13585    )]
13586    pub members: Option<String>,
13587}
13588
13589#[derive(Debug, Clone, Default, serde::Deserialize)]
13590pub struct GetPhonebookGroupsResponse {
13591    #[serde(
13592        default,
13593        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13594    )]
13595    pub status: Option<String>,
13596    #[serde(
13597        default,
13598        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13599    )]
13600    pub phonebooks: Option<Vec<GetPhonebookGroupsResponsePhonebook>>,
13601}
13602
13603/// Response body for [`Client::get_play_instructions`] (wire method `getPlayInstructions`).
13604#[derive(Debug, Clone, Default, serde::Deserialize)]
13605pub struct GetPlayInstructionsResponse {
13606    #[serde(
13607        default,
13608        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13609    )]
13610    pub status: Option<String>,
13611    #[serde(default, deserialize_with = "deserialize_opt_play_instructions")]
13612    pub play_instructions: Option<PlayInstructions>,
13613}
13614
13615/// Response body for [`Client::get_portability`] (wire method `getPortability`).
13616#[derive(Debug, Clone, Default, serde::Deserialize)]
13617pub struct GetPortabilityResponsePlan {
13618    #[serde(
13619        default,
13620        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13621    )]
13622    pub title: Option<String>,
13623    #[serde(
13624        default,
13625        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13626    )]
13627    pub pricePerMonth: Option<rust_decimal::Decimal>,
13628    #[serde(
13629        default,
13630        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13631    )]
13632    pub pricePerMin: Option<rust_decimal::Decimal>,
13633}
13634
13635#[derive(Debug, Clone, Default, serde::Deserialize)]
13636pub struct GetPortabilityResponse {
13637    #[serde(
13638        default,
13639        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13640    )]
13641    pub status: Option<String>,
13642    #[serde(
13643        default,
13644        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13645    )]
13646    pub portable: Option<bool>,
13647    #[serde(
13648        default,
13649        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13650    )]
13651    pub sms: Option<bool>,
13652    #[serde(
13653        default,
13654        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13655    )]
13656    pub plans: Option<Vec<GetPortabilityResponsePlan>>,
13657}
13658
13659/// Response body for [`Client::get_protocols`] (wire method `getProtocols`).
13660#[derive(Debug, Clone, Default, serde::Deserialize)]
13661pub struct GetProtocolsResponseProtocol {
13662    #[serde(
13663        default,
13664        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13665    )]
13666    pub value: Option<u64>,
13667    #[serde(
13668        default,
13669        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13670    )]
13671    pub description: Option<String>,
13672}
13673
13674#[derive(Debug, Clone, Default, serde::Deserialize)]
13675pub struct GetProtocolsResponse {
13676    #[serde(
13677        default,
13678        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13679    )]
13680    pub status: Option<String>,
13681    #[serde(
13682        default,
13683        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13684    )]
13685    pub protocols: Option<Vec<GetProtocolsResponseProtocol>>,
13686}
13687
13688/// Response body for [`Client::get_provinces`] (wire method `getProvinces`).
13689#[derive(Debug, Clone, Default, serde::Deserialize)]
13690pub struct GetProvincesResponseProvince {
13691    #[serde(
13692        default,
13693        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13694    )]
13695    pub province: Option<String>,
13696    #[serde(
13697        default,
13698        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13699    )]
13700    pub description: Option<String>,
13701}
13702
13703#[derive(Debug, Clone, Default, serde::Deserialize)]
13704pub struct GetProvincesResponse {
13705    #[serde(
13706        default,
13707        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13708    )]
13709    pub status: Option<String>,
13710    #[serde(
13711        default,
13712        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13713    )]
13714    pub provinces: Option<Vec<GetProvincesResponseProvince>>,
13715}
13716
13717/// Response body for [`Client::get_queues`] (wire method `getQueues`).
13718#[derive(Debug, Clone, Default, serde::Deserialize)]
13719pub struct GetQueuesResponseQueue {
13720    #[serde(
13721        default,
13722        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13723    )]
13724    pub queue: Option<u64>,
13725    #[serde(
13726        default,
13727        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13728    )]
13729    pub queue_name: Option<String>,
13730    #[serde(
13731        default,
13732        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13733    )]
13734    pub queue_number: Option<u64>,
13735    #[serde(
13736        default,
13737        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13738    )]
13739    pub queue_language: Option<String>,
13740    #[serde(
13741        default,
13742        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13743    )]
13744    pub queue_password: Option<String>,
13745    #[serde(
13746        default,
13747        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13748    )]
13749    pub callerid_prefix: Option<String>,
13750    #[serde(
13751        default,
13752        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13753    )]
13754    pub join_announcement: Option<String>,
13755    #[serde(
13756        default,
13757        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13758    )]
13759    pub priority_weight: Option<u64>,
13760    #[serde(
13761        default,
13762        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13763    )]
13764    pub agent_announcement: Option<u64>,
13765    #[serde(
13766        default,
13767        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13768    )]
13769    pub report_hold_time_agent: Option<bool>,
13770    #[serde(
13771        default,
13772        deserialize_with = "crate::responses::deserialize_opt_seconds"
13773    )]
13774    pub member_delay: Option<crate::Seconds>,
13775    #[serde(
13776        default,
13777        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13778    )]
13779    pub music_on_hold: Option<String>,
13780    #[serde(
13781        default,
13782        deserialize_with = "crate::responses::deserialize_opt_wait_time"
13783    )]
13784    pub maximum_wait_time: Option<crate::WaitTime>,
13785    #[serde(
13786        default,
13787        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13788    )]
13789    pub maximum_callers: Option<u64>,
13790    #[serde(default, deserialize_with = "deserialize_opt_queue_empty_behavior")]
13791    pub join_when_empty: Option<QueueEmptyBehavior>,
13792    #[serde(default, deserialize_with = "deserialize_opt_queue_empty_behavior")]
13793    pub leave_when_empty: Option<QueueEmptyBehavior>,
13794    #[serde(default, deserialize_with = "deserialize_opt_ring_strategy")]
13795    pub ring_strategy: Option<RingStrategy>,
13796    #[serde(
13797        default,
13798        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13799    )]
13800    pub ring_inuse: Option<bool>,
13801    #[serde(
13802        default,
13803        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13804    )]
13805    pub agent_ring_timeout: Option<u64>,
13806    #[serde(
13807        default,
13808        deserialize_with = "crate::responses::deserialize_opt_seconds"
13809    )]
13810    pub retry_timer: Option<crate::Seconds>,
13811    #[serde(
13812        default,
13813        deserialize_with = "crate::responses::deserialize_opt_seconds"
13814    )]
13815    pub wrapup_time: Option<crate::Seconds>,
13816    #[serde(
13817        default,
13818        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13819    )]
13820    pub voice_announcement: Option<u64>,
13821    #[serde(
13822        default,
13823        deserialize_with = "crate::responses::deserialize_opt_seconds"
13824    )]
13825    pub frequency_announcement: Option<crate::Seconds>,
13826    #[serde(
13827        default,
13828        deserialize_with = "crate::responses::deserialize_opt_seconds"
13829    )]
13830    pub announce_position_frecuency: Option<crate::Seconds>,
13831    #[serde(
13832        default,
13833        deserialize_with = "crate::responses::deserialize_opt_seconds"
13834    )]
13835    pub announce_round_seconds: Option<crate::Seconds>,
13836    #[serde(
13837        default,
13838        deserialize_with = "deserialize_opt_estimated_hold_time_announce"
13839    )]
13840    pub if_announce_position_enabled_report_estimated_hold_time: Option<EstimatedHoldTimeAnnounce>,
13841    #[serde(
13842        default,
13843        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13844    )]
13845    pub thankyou_for_your_patience: Option<bool>,
13846    #[serde(
13847        default,
13848        deserialize_with = "crate::responses::deserialize_opt_routing"
13849    )]
13850    pub fail_over_routing_timeout: Option<crate::Routing>,
13851    #[serde(
13852        default,
13853        deserialize_with = "crate::responses::deserialize_opt_routing"
13854    )]
13855    pub fail_over_routing_full: Option<crate::Routing>,
13856    #[serde(
13857        default,
13858        deserialize_with = "crate::responses::deserialize_opt_routing"
13859    )]
13860    pub fail_over_routing_join_empty: Option<crate::Routing>,
13861    #[serde(
13862        default,
13863        deserialize_with = "crate::responses::deserialize_opt_routing"
13864    )]
13865    pub fail_over_routing_leave_empty: Option<crate::Routing>,
13866    #[serde(
13867        default,
13868        deserialize_with = "crate::responses::deserialize_opt_routing"
13869    )]
13870    pub fail_over_routing_join_unavail: Option<crate::Routing>,
13871    #[serde(
13872        default,
13873        deserialize_with = "crate::responses::deserialize_opt_routing"
13874    )]
13875    pub fail_over_routing_leave_unavail: Option<crate::Routing>,
13876}
13877
13878#[derive(Debug, Clone, Default, serde::Deserialize)]
13879pub struct GetQueuesResponse {
13880    #[serde(
13881        default,
13882        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13883    )]
13884    pub status: Option<String>,
13885    #[serde(
13886        default,
13887        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13888    )]
13889    pub queues: Option<Vec<GetQueuesResponseQueue>>,
13890}
13891
13892/// Response body for [`Client::get_rate_centers_can`] (wire method `getRateCentersCAN`).
13893#[derive(Debug, Clone, Default, serde::Deserialize)]
13894pub struct GetRateCentersCANResponseRatecenter {
13895    #[serde(
13896        default,
13897        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13898    )]
13899    pub ratecenter: Option<String>,
13900    #[serde(
13901        default,
13902        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13903    )]
13904    pub available: Option<bool>,
13905}
13906
13907#[derive(Debug, Clone, Default, serde::Deserialize)]
13908pub struct GetRateCentersCANResponse {
13909    #[serde(
13910        default,
13911        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13912    )]
13913    pub status: Option<String>,
13914    #[serde(
13915        default,
13916        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13917    )]
13918    pub ratecenters: Option<Vec<GetRateCentersCANResponseRatecenter>>,
13919}
13920
13921/// Response body for [`Client::get_rate_centers_usa`] (wire method `getRateCentersUSA`).
13922#[derive(Debug, Clone, Default, serde::Deserialize)]
13923pub struct GetRateCentersUSAResponseRatecenter {
13924    #[serde(
13925        default,
13926        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13927    )]
13928    pub ratecenter: Option<String>,
13929    #[serde(
13930        default,
13931        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
13932    )]
13933    pub available: Option<bool>,
13934}
13935
13936#[derive(Debug, Clone, Default, serde::Deserialize)]
13937pub struct GetRateCentersUSAResponse {
13938    #[serde(
13939        default,
13940        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13941    )]
13942    pub status: Option<String>,
13943    #[serde(
13944        default,
13945        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13946    )]
13947    pub ratecenters: Option<Vec<GetRateCentersUSAResponseRatecenter>>,
13948}
13949
13950/// Response body for [`Client::get_rates`] (wire method `getRates`).
13951#[derive(Debug, Clone, Default, serde::Deserialize)]
13952pub struct GetRatesResponseRate {
13953    #[serde(
13954        default,
13955        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13956    )]
13957    pub destination: Option<String>,
13958    #[serde(
13959        default,
13960        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13961    )]
13962    pub prefix: Option<u64>,
13963    #[serde(
13964        default,
13965        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13966    )]
13967    pub client_increment: Option<u64>,
13968    #[serde(
13969        default,
13970        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13971    )]
13972    pub client_rate: Option<rust_decimal::Decimal>,
13973    #[serde(
13974        default,
13975        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
13976    )]
13977    pub real_increment: Option<u64>,
13978    #[serde(
13979        default,
13980        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
13981    )]
13982    pub real_rate: Option<rust_decimal::Decimal>,
13983}
13984
13985#[derive(Debug, Clone, Default, serde::Deserialize)]
13986pub struct GetRatesResponse {
13987    #[serde(
13988        default,
13989        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
13990    )]
13991    pub status: Option<String>,
13992    #[serde(
13993        default,
13994        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
13995    )]
13996    pub rates: Option<Vec<GetRatesResponseRate>>,
13997}
13998
13999/// Response body for [`Client::get_recording_file`] (wire method `getRecordingFile`).
14000#[derive(Debug, Clone, Default, serde::Deserialize)]
14001pub struct GetRecordingFileResponseRecording {
14002    #[serde(
14003        default,
14004        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14005    )]
14006    pub value: Option<u64>,
14007    #[serde(
14008        default,
14009        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14010    )]
14011    pub data: Option<String>,
14012}
14013
14014#[derive(Debug, Clone, Default, serde::Deserialize)]
14015pub struct GetRecordingFileResponse {
14016    #[serde(
14017        default,
14018        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14019    )]
14020    pub status: Option<String>,
14021    #[serde(
14022        default,
14023        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14024    )]
14025    pub recordings: Option<Vec<GetRecordingFileResponseRecording>>,
14026}
14027
14028/// Response body for [`Client::get_recordings`] (wire method `getRecordings`).
14029#[derive(Debug, Clone, Default, serde::Deserialize)]
14030pub struct GetRecordingsResponseRecording {
14031    #[serde(
14032        default,
14033        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14034    )]
14035    pub value: Option<u64>,
14036    #[serde(
14037        default,
14038        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14039    )]
14040    pub description: Option<String>,
14041}
14042
14043#[derive(Debug, Clone, Default, serde::Deserialize)]
14044pub struct GetRecordingsResponse {
14045    #[serde(
14046        default,
14047        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14048    )]
14049    pub status: Option<String>,
14050    #[serde(
14051        default,
14052        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14053    )]
14054    pub recordings: Option<Vec<GetRecordingsResponseRecording>>,
14055}
14056
14057/// Response body for [`Client::get_registration_status`] (wire method `getRegistrationStatus`).
14058#[derive(Debug, Clone, Default, serde::Deserialize)]
14059pub struct GetRegistrationStatusResponseRegistration {
14060    #[serde(
14061        default,
14062        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14063    )]
14064    pub server_name: Option<String>,
14065    #[serde(
14066        default,
14067        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14068    )]
14069    pub server_shortname: Option<String>,
14070    #[serde(
14071        default,
14072        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14073    )]
14074    pub server_hostname: Option<String>,
14075    #[serde(
14076        default,
14077        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14078    )]
14079    pub server_ip: Option<String>,
14080    #[serde(
14081        default,
14082        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14083    )]
14084    pub server_country: Option<String>,
14085    #[serde(
14086        default,
14087        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14088    )]
14089    pub server_pop: Option<u64>,
14090    #[serde(
14091        default,
14092        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14093    )]
14094    pub register_ip: Option<String>,
14095    #[serde(
14096        default,
14097        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14098    )]
14099    pub register_port: Option<u64>,
14100    #[serde(
14101        default,
14102        deserialize_with = "crate::responses::deserialize_opt_datetime"
14103    )]
14104    pub register_next: Option<chrono::NaiveDateTime>,
14105    #[serde(
14106        default,
14107        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14108    )]
14109    pub register_protocol: Option<String>,
14110    #[serde(
14111        default,
14112        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14113    )]
14114    pub register_transport: Option<String>,
14115}
14116
14117#[derive(Debug, Clone, Default, serde::Deserialize)]
14118pub struct GetRegistrationStatusResponse {
14119    #[serde(
14120        default,
14121        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14122    )]
14123    pub status: Option<String>,
14124    #[serde(
14125        default,
14126        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14127    )]
14128    pub registered: Option<bool>,
14129    #[serde(
14130        default,
14131        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14132    )]
14133    pub rerouted: Option<u64>,
14134    #[serde(
14135        default,
14136        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14137    )]
14138    pub from_server_pop: Option<u64>,
14139    #[serde(
14140        default,
14141        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14142    )]
14143    pub registrations: Option<Vec<GetRegistrationStatusResponseRegistration>>,
14144}
14145
14146/// Response body for [`Client::get_report_estimated_hold_time`] (wire method `getReportEstimatedHoldTime`).
14147#[derive(Debug, Clone, Default, serde::Deserialize)]
14148pub struct GetReportEstimatedHoldTimeResponseType {
14149    #[serde(
14150        default,
14151        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14152    )]
14153    pub value: Option<bool>,
14154    #[serde(
14155        default,
14156        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14157    )]
14158    pub description: Option<bool>,
14159}
14160
14161#[derive(Debug, Clone, Default, serde::Deserialize)]
14162pub struct GetReportEstimatedHoldTimeResponse {
14163    #[serde(
14164        default,
14165        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14166    )]
14167    pub status: Option<String>,
14168    #[serde(
14169        default,
14170        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14171    )]
14172    pub types: Option<Vec<GetReportEstimatedHoldTimeResponseType>>,
14173}
14174
14175/// Response body for [`Client::get_reseller_balance`] (wire method `getResellerBalance`).
14176#[derive(Debug, Clone, Default, serde::Deserialize)]
14177pub struct GetResellerBalanceResponseBalance {
14178    #[serde(
14179        default,
14180        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14181    )]
14182    pub current_balance: Option<rust_decimal::Decimal>,
14183    #[serde(
14184        default,
14185        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14186    )]
14187    pub spent_total: Option<rust_decimal::Decimal>,
14188    #[serde(
14189        default,
14190        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14191    )]
14192    pub calls_total: Option<u64>,
14193    #[serde(
14194        default,
14195        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14196    )]
14197    pub time_total: Option<String>,
14198    #[serde(
14199        default,
14200        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14201    )]
14202    pub spent_today: Option<rust_decimal::Decimal>,
14203    #[serde(
14204        default,
14205        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14206    )]
14207    pub calls_today: Option<u64>,
14208    #[serde(
14209        default,
14210        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14211    )]
14212    pub time_today: Option<String>,
14213}
14214
14215#[derive(Debug, Clone, Default, serde::Deserialize)]
14216pub struct GetResellerBalanceResponse {
14217    #[serde(
14218        default,
14219        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14220    )]
14221    pub status: Option<String>,
14222    #[serde(default)]
14223    pub balance: Option<GetResellerBalanceResponseBalance>,
14224}
14225
14226/// Response body for [`Client::get_reseller_cdr`] (wire method `getResellerCDR`).
14227#[derive(Debug, Clone, Default, serde::Deserialize)]
14228pub struct GetResellerCDRResponseCDR {
14229    #[serde(
14230        default,
14231        deserialize_with = "crate::responses::deserialize_opt_datetime"
14232    )]
14233    pub date: Option<chrono::NaiveDateTime>,
14234    #[serde(
14235        default,
14236        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14237    )]
14238    pub callerid: Option<String>,
14239    #[serde(
14240        default,
14241        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14242    )]
14243    pub destination: Option<u64>,
14244    #[serde(
14245        default,
14246        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14247    )]
14248    pub description: Option<String>,
14249    #[serde(
14250        default,
14251        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14252    )]
14253    pub account: Option<String>,
14254    #[serde(
14255        default,
14256        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14257    )]
14258    pub disposition: Option<String>,
14259    #[serde(
14260        default,
14261        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14262    )]
14263    pub duration: Option<String>,
14264    #[serde(
14265        default,
14266        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14267    )]
14268    pub seconds: Option<u64>,
14269    #[serde(
14270        default,
14271        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
14272    )]
14273    pub total: Option<rust_decimal::Decimal>,
14274    #[serde(
14275        default,
14276        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14277    )]
14278    pub uniqueid: Option<u64>,
14279    #[serde(
14280        default,
14281        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14282    )]
14283    pub destination_type: Option<String>,
14284    #[serde(
14285        default,
14286        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14287    )]
14288    pub call_logs: Option<String>,
14289}
14290
14291#[derive(Debug, Clone, Default, serde::Deserialize)]
14292pub struct GetResellerCDRResponse {
14293    #[serde(
14294        default,
14295        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14296    )]
14297    pub status: Option<String>,
14298    #[serde(
14299        default,
14300        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14301    )]
14302    pub cdr: Option<Vec<GetResellerCDRResponseCDR>>,
14303}
14304
14305/// Response body for [`Client::get_reseller_mms`] (wire method `getResellerMMS`).
14306#[derive(Debug, Clone, Default, serde::Deserialize)]
14307pub struct GetResellerMMSResponseSMS {
14308    #[serde(
14309        default,
14310        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14311    )]
14312    pub id: Option<u64>,
14313    #[serde(
14314        default,
14315        deserialize_with = "crate::responses::deserialize_opt_datetime"
14316    )]
14317    pub date: Option<chrono::NaiveDateTime>,
14318    #[serde(
14319        default,
14320        deserialize_with = "deserialize_opt_message_type",
14321        rename = "type"
14322    )]
14323    pub r#type: Option<MessageType>,
14324    #[serde(
14325        default,
14326        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14327    )]
14328    pub did: Option<u64>,
14329    #[serde(
14330        default,
14331        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14332    )]
14333    pub contact: Option<u64>,
14334    #[serde(
14335        default,
14336        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14337    )]
14338    pub message: Option<String>,
14339}
14340
14341#[derive(Debug, Clone, Default, serde::Deserialize)]
14342pub struct GetResellerMMSResponse {
14343    #[serde(
14344        default,
14345        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14346    )]
14347    pub status: Option<String>,
14348    #[serde(
14349        default,
14350        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14351    )]
14352    pub sms: Option<Vec<GetResellerMMSResponseSMS>>,
14353}
14354
14355/// Response body for [`Client::get_reseller_sms`] (wire method `getResellerSMS`).
14356#[derive(Debug, Clone, Default, serde::Deserialize)]
14357pub struct GetResellerSMSResponseSMS {
14358    #[serde(
14359        default,
14360        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14361    )]
14362    pub id: Option<u64>,
14363    #[serde(
14364        default,
14365        deserialize_with = "crate::responses::deserialize_opt_datetime"
14366    )]
14367    pub date: Option<chrono::NaiveDateTime>,
14368    #[serde(
14369        default,
14370        deserialize_with = "deserialize_opt_message_type",
14371        rename = "type"
14372    )]
14373    pub r#type: Option<MessageType>,
14374    #[serde(
14375        default,
14376        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14377    )]
14378    pub did: Option<u64>,
14379    #[serde(
14380        default,
14381        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14382    )]
14383    pub contact: Option<u64>,
14384    #[serde(
14385        default,
14386        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14387    )]
14388    pub message: Option<String>,
14389}
14390
14391#[derive(Debug, Clone, Default, serde::Deserialize)]
14392pub struct GetResellerSMSResponse {
14393    #[serde(
14394        default,
14395        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14396    )]
14397    pub status: Option<String>,
14398    #[serde(
14399        default,
14400        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14401    )]
14402    pub sms: Option<Vec<GetResellerSMSResponseSMS>>,
14403}
14404
14405/// Response body for [`Client::get_ring_groups`] (wire method `getRingGroups`).
14406#[derive(Debug, Clone, Default, serde::Deserialize)]
14407pub struct GetRingGroupsResponseRingGroup {
14408    #[serde(
14409        default,
14410        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14411    )]
14412    pub ring_group: Option<u64>,
14413    #[serde(
14414        default,
14415        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14416    )]
14417    pub name: Option<String>,
14418    #[serde(
14419        default,
14420        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14421    )]
14422    pub caller_announcement: Option<u64>,
14423    #[serde(
14424        default,
14425        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14426    )]
14427    pub music_on_hold: Option<String>,
14428    #[serde(
14429        default,
14430        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14431    )]
14432    pub language: Option<String>,
14433    #[serde(
14434        default,
14435        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14436    )]
14437    pub members: Option<String>,
14438    #[serde(
14439        default,
14440        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14441    )]
14442    pub voicemail: Option<u64>,
14443}
14444
14445#[derive(Debug, Clone, Default, serde::Deserialize)]
14446pub struct GetRingGroupsResponse {
14447    #[serde(
14448        default,
14449        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14450    )]
14451    pub status: Option<String>,
14452    #[serde(
14453        default,
14454        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14455    )]
14456    pub ring_groups: Option<Vec<GetRingGroupsResponseRingGroup>>,
14457}
14458
14459/// Response body for [`Client::get_ring_strategies`] (wire method `getRingStrategies`).
14460#[derive(Debug, Clone, Default, serde::Deserialize)]
14461pub struct GetRingStrategiesResponseStrategy {
14462    #[serde(
14463        default,
14464        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14465    )]
14466    pub value: Option<String>,
14467    #[serde(
14468        default,
14469        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14470    )]
14471    pub description: Option<String>,
14472}
14473
14474#[derive(Debug, Clone, Default, serde::Deserialize)]
14475pub struct GetRingStrategiesResponse {
14476    #[serde(
14477        default,
14478        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14479    )]
14480    pub status: Option<String>,
14481    #[serde(
14482        default,
14483        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14484    )]
14485    pub strategies: Option<Vec<GetRingStrategiesResponseStrategy>>,
14486}
14487
14488/// Response body for [`Client::get_routes`] (wire method `getRoutes`).
14489#[derive(Debug, Clone, Default, serde::Deserialize)]
14490pub struct GetRoutesResponseRoute {
14491    #[serde(
14492        default,
14493        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14494    )]
14495    pub value: Option<u64>,
14496    #[serde(
14497        default,
14498        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14499    )]
14500    pub description: Option<String>,
14501}
14502
14503#[derive(Debug, Clone, Default, serde::Deserialize)]
14504pub struct GetRoutesResponse {
14505    #[serde(
14506        default,
14507        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14508    )]
14509    pub status: Option<String>,
14510    #[serde(
14511        default,
14512        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14513    )]
14514    pub routes: Option<Vec<GetRoutesResponseRoute>>,
14515}
14516
14517/// Response body for [`Client::get_sip_uris`] (wire method `getSIPURIs`).
14518#[derive(Debug, Clone, Default, serde::Deserialize)]
14519pub struct GetSIPURIsResponseSIPURI {
14520    #[serde(
14521        default,
14522        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14523    )]
14524    pub sipuri: Option<u64>,
14525    #[serde(
14526        default,
14527        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14528    )]
14529    pub uri: Option<String>,
14530    #[serde(
14531        default,
14532        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14533    )]
14534    pub description: Option<String>,
14535    #[serde(
14536        default,
14537        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14538    )]
14539    pub callerid_override: Option<u64>,
14540    #[serde(
14541        default,
14542        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14543    )]
14544    pub callerid_e164: Option<u64>,
14545}
14546
14547#[derive(Debug, Clone, Default, serde::Deserialize)]
14548pub struct GetSIPURIsResponse {
14549    #[serde(
14550        default,
14551        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14552    )]
14553    pub status: Option<String>,
14554    #[serde(
14555        default,
14556        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14557    )]
14558    pub sipuris: Option<Vec<GetSIPURIsResponseSIPURI>>,
14559}
14560
14561/// Response body for [`Client::get_sms`] (wire method `getSMS`).
14562#[derive(Debug, Clone, Default, serde::Deserialize)]
14563pub struct GetSMSResponseSMS {
14564    #[serde(
14565        default,
14566        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14567    )]
14568    pub id: Option<u64>,
14569    #[serde(
14570        default,
14571        deserialize_with = "crate::responses::deserialize_opt_datetime"
14572    )]
14573    pub date: Option<chrono::NaiveDateTime>,
14574    #[serde(
14575        default,
14576        deserialize_with = "deserialize_opt_message_type",
14577        rename = "type"
14578    )]
14579    pub r#type: Option<MessageType>,
14580    #[serde(
14581        default,
14582        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14583    )]
14584    pub did: Option<u64>,
14585    #[serde(
14586        default,
14587        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14588    )]
14589    pub contact: Option<u64>,
14590    #[serde(
14591        default,
14592        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14593    )]
14594    pub message: Option<String>,
14595    #[serde(
14596        default,
14597        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14598    )]
14599    pub carrier_status: Option<String>,
14600}
14601
14602#[derive(Debug, Clone, Default, serde::Deserialize)]
14603pub struct GetSMSResponse {
14604    #[serde(
14605        default,
14606        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14607    )]
14608    pub status: Option<String>,
14609    #[serde(
14610        default,
14611        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14612    )]
14613    pub sms: Option<Vec<GetSMSResponseSMS>>,
14614}
14615
14616/// Response body for [`Client::get_servers_info`] (wire method `getServersInfo`).
14617#[derive(Debug, Clone, Default, serde::Deserialize)]
14618pub struct GetServersInfoResponseServer {
14619    #[serde(
14620        default,
14621        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14622    )]
14623    pub server_name: Option<String>,
14624    #[serde(
14625        default,
14626        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14627    )]
14628    pub server_shortname: Option<String>,
14629    #[serde(
14630        default,
14631        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14632    )]
14633    pub server_hostname: Option<String>,
14634    #[serde(
14635        default,
14636        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14637    )]
14638    pub server_ip: Option<String>,
14639    #[serde(
14640        default,
14641        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14642    )]
14643    pub server_country: Option<String>,
14644    #[serde(
14645        default,
14646        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14647    )]
14648    pub server_pop: Option<u64>,
14649    #[serde(
14650        default,
14651        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14652    )]
14653    pub server_recommended: Option<bool>,
14654}
14655
14656#[derive(Debug, Clone, Default, serde::Deserialize)]
14657pub struct GetServersInfoResponse {
14658    #[serde(
14659        default,
14660        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14661    )]
14662    pub status: Option<String>,
14663    #[serde(
14664        default,
14665        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14666    )]
14667    pub servers: Option<Vec<GetServersInfoResponseServer>>,
14668}
14669
14670/// Response body for [`Client::get_states`] (wire method `getStates`).
14671#[derive(Debug, Clone, Default, serde::Deserialize)]
14672pub struct GetStatesResponseState {
14673    #[serde(
14674        default,
14675        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14676    )]
14677    pub state: Option<String>,
14678    #[serde(
14679        default,
14680        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14681    )]
14682    pub description: Option<String>,
14683}
14684
14685#[derive(Debug, Clone, Default, serde::Deserialize)]
14686pub struct GetStatesResponse {
14687    #[serde(
14688        default,
14689        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14690    )]
14691    pub status: Option<String>,
14692    #[serde(
14693        default,
14694        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14695    )]
14696    pub states: Option<Vec<GetStatesResponseState>>,
14697}
14698
14699/// Response body for [`Client::get_static_members`] (wire method `getStaticMembers`).
14700#[derive(Debug, Clone, Default, serde::Deserialize)]
14701pub struct GetStaticMembersResponseMember {
14702    #[serde(
14703        default,
14704        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14705    )]
14706    pub member: Option<u64>,
14707    #[serde(
14708        default,
14709        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14710    )]
14711    pub queue_number: Option<u64>,
14712    #[serde(
14713        default,
14714        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14715    )]
14716    pub name: Option<String>,
14717    #[serde(
14718        default,
14719        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14720    )]
14721    pub account: Option<String>,
14722    #[serde(
14723        default,
14724        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14725    )]
14726    pub priority: Option<u64>,
14727}
14728
14729#[derive(Debug, Clone, Default, serde::Deserialize)]
14730pub struct GetStaticMembersResponse {
14731    #[serde(
14732        default,
14733        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14734    )]
14735    pub status: Option<String>,
14736    #[serde(
14737        default,
14738        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14739    )]
14740    pub members: Option<Vec<GetStaticMembersResponseMember>>,
14741}
14742
14743/// Response body for [`Client::get_sub_accounts`] (wire method `getSubAccounts`).
14744#[derive(Debug, Clone, Default, serde::Deserialize)]
14745pub struct GetSubAccountsResponseAccount {
14746    #[serde(
14747        default,
14748        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14749    )]
14750    pub id: Option<u64>,
14751    #[serde(
14752        default,
14753        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14754    )]
14755    pub account: Option<String>,
14756    #[serde(
14757        default,
14758        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14759    )]
14760    pub username: Option<String>,
14761    #[serde(
14762        default,
14763        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14764    )]
14765    pub description: Option<String>,
14766    #[serde(
14767        default,
14768        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14769    )]
14770    pub protocol: Option<u64>,
14771    #[serde(
14772        default,
14773        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14774    )]
14775    pub auth_type: Option<u64>,
14776    #[serde(
14777        default,
14778        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14779    )]
14780    pub password: Option<String>,
14781    #[serde(
14782        default,
14783        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14784    )]
14785    pub ip: Option<String>,
14786    #[serde(
14787        default,
14788        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14789    )]
14790    pub device_type: Option<u64>,
14791    #[serde(
14792        default,
14793        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14794    )]
14795    pub callerid_number: Option<u64>,
14796    #[serde(
14797        default,
14798        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14799    )]
14800    pub canada_routing: Option<u64>,
14801    #[serde(
14802        default,
14803        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14804    )]
14805    pub lock_international: Option<u64>,
14806    #[serde(
14807        default,
14808        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14809    )]
14810    pub international_route: Option<u64>,
14811    #[serde(
14812        default,
14813        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14814    )]
14815    pub music_on_hold: Option<String>,
14816    #[serde(
14817        default,
14818        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14819    )]
14820    pub language: Option<String>,
14821    #[serde(
14822        default,
14823        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14824    )]
14825    pub allowed_codecs: Option<String>,
14826    #[serde(default, deserialize_with = "deserialize_opt_dtmf_mode")]
14827    pub dtmf_mode: Option<DtmfMode>,
14828    #[serde(default, deserialize_with = "deserialize_opt_nat")]
14829    pub nat: Option<Nat>,
14830    #[serde(
14831        default,
14832        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14833    )]
14834    pub sip_traffic: Option<u64>,
14835    #[serde(
14836        default,
14837        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14838    )]
14839    pub max_expiry: Option<u64>,
14840    #[serde(
14841        default,
14842        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14843    )]
14844    pub rtp_timeout: Option<u64>,
14845    #[serde(
14846        default,
14847        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14848    )]
14849    pub rtp_hold_timeout: Option<u64>,
14850    #[serde(
14851        default,
14852        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14853    )]
14854    pub ip_restriction: Option<String>,
14855    #[serde(
14856        default,
14857        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14858    )]
14859    pub enable_ip_restriction: Option<bool>,
14860    #[serde(
14861        default,
14862        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14863    )]
14864    pub pop_restriction: Option<String>,
14865    #[serde(
14866        default,
14867        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14868    )]
14869    pub enable_pop_restriction: Option<bool>,
14870    #[serde(
14871        default,
14872        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14873    )]
14874    pub send_bye: Option<bool>,
14875    #[serde(
14876        default,
14877        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14878    )]
14879    pub record_calls: Option<bool>,
14880    #[serde(
14881        default,
14882        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14883    )]
14884    pub internal_extension: Option<u64>,
14885    #[serde(
14886        default,
14887        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14888    )]
14889    pub internal_voicemail: Option<u64>,
14890    #[serde(
14891        default,
14892        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14893    )]
14894    pub internal_dialtime: Option<u64>,
14895    #[serde(
14896        default,
14897        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14898    )]
14899    pub reseller_client: Option<u64>,
14900    #[serde(
14901        default,
14902        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14903    )]
14904    pub reseller_package: Option<u64>,
14905    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
14906    pub reseller_nextbilling: Option<chrono::NaiveDate>,
14907    #[serde(
14908        default,
14909        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14910    )]
14911    pub transcribe: Option<bool>,
14912    #[serde(
14913        default,
14914        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14915    )]
14916    pub transcription_locale: Option<String>,
14917    #[serde(
14918        default,
14919        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14920    )]
14921    pub transcription_redaction: Option<bool>,
14922    #[serde(
14923        default,
14924        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14925    )]
14926    pub transcription_summary: Option<bool>,
14927    #[serde(
14928        default,
14929        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14930    )]
14931    pub transcription_sentiment: Option<bool>,
14932    #[serde(
14933        default,
14934        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14935    )]
14936    pub transcription_email: Option<String>,
14937    #[serde(
14938        default,
14939        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14940    )]
14941    pub parking_lot: Option<u64>,
14942    #[serde(
14943        default,
14944        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
14945    )]
14946    pub enable_internal_cnam: Option<bool>,
14947    #[serde(
14948        default,
14949        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14950    )]
14951    pub internal_cnam: Option<String>,
14952    #[serde(default, deserialize_with = "deserialize_opt_toll_free_carrier")]
14953    pub tfcarrier: Option<TollFreeCarrier>,
14954    #[serde(
14955        default,
14956        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14957    )]
14958    pub default_e911: Option<u64>,
14959    #[serde(default, deserialize_with = "deserialize_opt_call_pickup_behavior")]
14960    pub call_pickup_behavior: Option<CallPickupBehavior>,
14961}
14962
14963#[derive(Debug, Clone, Default, serde::Deserialize)]
14964pub struct GetSubAccountsResponse {
14965    #[serde(
14966        default,
14967        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14968    )]
14969    pub status: Option<String>,
14970    #[serde(
14971        default,
14972        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
14973    )]
14974    pub accounts: Option<Vec<GetSubAccountsResponseAccount>>,
14975}
14976
14977/// Response body for [`Client::get_termination_rates`] (wire method `getTerminationRates`).
14978#[derive(Debug, Clone, Default, serde::Deserialize)]
14979pub struct GetTerminationRatesResponseRoute {
14980    #[serde(
14981        default,
14982        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
14983    )]
14984    pub value: Option<u64>,
14985    #[serde(
14986        default,
14987        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14988    )]
14989    pub description: Option<String>,
14990}
14991
14992#[derive(Debug, Clone, Default, serde::Deserialize)]
14993pub struct GetTerminationRatesResponseRate {
14994    #[serde(
14995        default,
14996        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
14997    )]
14998    pub destination: Option<String>,
14999    #[serde(
15000        default,
15001        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15002    )]
15003    pub prefix: Option<u64>,
15004    #[serde(
15005        default,
15006        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15007    )]
15008    pub increment: Option<u64>,
15009    #[serde(
15010        default,
15011        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15012    )]
15013    pub rate: Option<rust_decimal::Decimal>,
15014}
15015
15016#[derive(Debug, Clone, Default, serde::Deserialize)]
15017pub struct GetTerminationRatesResponse {
15018    #[serde(
15019        default,
15020        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15021    )]
15022    pub status: Option<String>,
15023    #[serde(default)]
15024    pub route: Option<GetTerminationRatesResponseRoute>,
15025    #[serde(
15026        default,
15027        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15028    )]
15029    pub rates: Option<Vec<GetTerminationRatesResponseRate>>,
15030}
15031
15032/// Response body for [`Client::get_time_conditions`] (wire method `getTimeConditions`).
15033#[derive(Debug, Clone, Default, serde::Deserialize)]
15034pub struct GetTimeConditionsResponseTimecondition {
15035    #[serde(
15036        default,
15037        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15038    )]
15039    pub timecondition: Option<u64>,
15040    #[serde(
15041        default,
15042        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15043    )]
15044    pub name: Option<String>,
15045    #[serde(
15046        default,
15047        deserialize_with = "crate::responses::deserialize_opt_routing"
15048    )]
15049    pub routing_match: Option<crate::Routing>,
15050    #[serde(
15051        default,
15052        deserialize_with = "crate::responses::deserialize_opt_routing"
15053    )]
15054    pub routing_nomatch: Option<crate::Routing>,
15055    #[serde(
15056        default,
15057        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15058    )]
15059    pub starthour: Option<String>,
15060    #[serde(
15061        default,
15062        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15063    )]
15064    pub startminute: Option<String>,
15065    #[serde(
15066        default,
15067        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15068    )]
15069    pub endhour: Option<String>,
15070    #[serde(
15071        default,
15072        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15073    )]
15074    pub endminute: Option<String>,
15075    #[serde(
15076        default,
15077        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15078    )]
15079    pub weekdaystart: Option<String>,
15080    #[serde(
15081        default,
15082        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15083    )]
15084    pub weekdayend: Option<String>,
15085}
15086
15087#[derive(Debug, Clone, Default, serde::Deserialize)]
15088pub struct GetTimeConditionsResponse {
15089    #[serde(
15090        default,
15091        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15092    )]
15093    pub status: Option<String>,
15094    #[serde(
15095        default,
15096        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15097    )]
15098    pub timecondition: Option<Vec<GetTimeConditionsResponseTimecondition>>,
15099}
15100
15101/// Response body for [`Client::get_timezones`] (wire method `getTimezones`).
15102#[derive(Debug, Clone, Default, serde::Deserialize)]
15103pub struct GetTimezonesResponseTimezone {
15104    #[serde(
15105        default,
15106        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15107    )]
15108    pub value: Option<String>,
15109    #[serde(
15110        default,
15111        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15112    )]
15113    pub description: Option<String>,
15114}
15115
15116#[derive(Debug, Clone, Default, serde::Deserialize)]
15117pub struct GetTimezonesResponse {
15118    #[serde(
15119        default,
15120        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15121    )]
15122    pub status: Option<String>,
15123    #[serde(
15124        default,
15125        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15126    )]
15127    pub timezones: Option<Vec<GetTimezonesResponseTimezone>>,
15128}
15129
15130/// Response body for [`Client::get_transaction_history`] (wire method `getTransactionHistory`).
15131#[derive(Debug, Clone, Default, serde::Deserialize)]
15132pub struct GetTransactionHistoryResponseTransaction {
15133    #[serde(
15134        default,
15135        deserialize_with = "crate::responses::deserialize_opt_datetime"
15136    )]
15137    pub date: Option<chrono::NaiveDateTime>,
15138    #[serde(
15139        default,
15140        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15141    )]
15142    pub uniqueid: Option<String>,
15143    #[serde(
15144        default,
15145        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15146        rename = "type"
15147    )]
15148    pub r#type: Option<String>,
15149    #[serde(
15150        default,
15151        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15152    )]
15153    pub description: Option<String>,
15154    #[serde(
15155        default,
15156        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15157    )]
15158    pub ammount: Option<rust_decimal::Decimal>,
15159}
15160
15161#[derive(Debug, Clone, Default, serde::Deserialize)]
15162pub struct GetTransactionHistoryResponse {
15163    #[serde(
15164        default,
15165        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15166    )]
15167    pub status: Option<String>,
15168    #[serde(
15169        default,
15170        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15171    )]
15172    pub transactions: Option<Vec<GetTransactionHistoryResponseTransaction>>,
15173}
15174
15175/// Response body for [`Client::get_vpris`] (wire method `getVPRIs`).
15176#[derive(Debug, Clone, Default, serde::Deserialize)]
15177pub struct GetVPRIsResponseVPRI {
15178    #[serde(
15179        default,
15180        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15181    )]
15182    pub vpri: Option<u64>,
15183    #[serde(
15184        default,
15185        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15186    )]
15187    pub name: Option<String>,
15188    #[serde(
15189        default,
15190        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15191    )]
15192    pub note: Option<String>,
15193    #[serde(
15194        default,
15195        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15196    )]
15197    pub channels: Option<u64>,
15198    #[serde(
15199        default,
15200        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15201    )]
15202    pub monthly_fee: Option<rust_decimal::Decimal>,
15203    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
15204    pub next_billing: Option<chrono::NaiveDate>,
15205    #[serde(
15206        default,
15207        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15208    )]
15209    pub burst_enabled: Option<bool>,
15210    #[serde(
15211        default,
15212        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15213    )]
15214    pub burst_max_channels: Option<u64>,
15215    #[serde(
15216        default,
15217        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15218    )]
15219    pub burst_percentage_charge: Option<u64>,
15220}
15221
15222#[derive(Debug, Clone, Default, serde::Deserialize)]
15223pub struct GetVPRIsResponse {
15224    #[serde(
15225        default,
15226        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15227    )]
15228    pub status: Option<String>,
15229    #[serde(
15230        default,
15231        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15232    )]
15233    pub vpri: Option<Vec<GetVPRIsResponseVPRI>>,
15234}
15235
15236/// Response body for [`Client::get_voicemail_attachment_formats`] (wire method `getVoicemailAttachmentFormats`).
15237#[derive(Debug, Clone, Default, serde::Deserialize)]
15238pub struct GetVoicemailAttachmentFormatsResponseEmailAttachmentFormat {
15239    #[serde(
15240        default,
15241        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15242    )]
15243    pub value: Option<String>,
15244    #[serde(
15245        default,
15246        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15247    )]
15248    pub description: Option<String>,
15249}
15250
15251#[derive(Debug, Clone, Default, serde::Deserialize)]
15252pub struct GetVoicemailAttachmentFormatsResponse {
15253    #[serde(
15254        default,
15255        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15256    )]
15257    pub status: Option<String>,
15258    #[serde(
15259        default,
15260        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15261    )]
15262    pub email_attachment_formats:
15263        Option<Vec<GetVoicemailAttachmentFormatsResponseEmailAttachmentFormat>>,
15264}
15265
15266/// Response body for [`Client::get_voicemail_folders`] (wire method `getVoicemailFolders`).
15267#[derive(Debug, Clone, Default, serde::Deserialize)]
15268pub struct GetVoicemailFoldersResponseFolder {
15269    #[serde(
15270        default,
15271        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15272    )]
15273    pub value: Option<String>,
15274    #[serde(
15275        default,
15276        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15277    )]
15278    pub description: Option<String>,
15279}
15280
15281#[derive(Debug, Clone, Default, serde::Deserialize)]
15282pub struct GetVoicemailFoldersResponse {
15283    #[serde(
15284        default,
15285        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15286    )]
15287    pub status: Option<String>,
15288    #[serde(
15289        default,
15290        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15291    )]
15292    pub folders: Option<Vec<GetVoicemailFoldersResponseFolder>>,
15293}
15294
15295/// Response body for [`Client::get_voicemail_message_file`] (wire method `getVoicemailMessageFile`).
15296#[derive(Debug, Clone, Default, serde::Deserialize)]
15297pub struct GetVoicemailMessageFileResponseMessage {
15298    #[serde(
15299        default,
15300        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15301    )]
15302    pub mailbox: Option<u64>,
15303    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15304    pub folder: Option<VoicemailFolder>,
15305    #[serde(
15306        default,
15307        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15308    )]
15309    pub message_num: Option<u64>,
15310    #[serde(
15311        default,
15312        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15313    )]
15314    pub data: Option<String>,
15315}
15316
15317#[derive(Debug, Clone, Default, serde::Deserialize)]
15318pub struct GetVoicemailMessageFileResponse {
15319    #[serde(
15320        default,
15321        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15322    )]
15323    pub status: Option<String>,
15324    #[serde(
15325        default,
15326        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15327    )]
15328    pub message: Option<Vec<GetVoicemailMessageFileResponseMessage>>,
15329}
15330
15331/// Response body for [`Client::get_voicemail_messages`] (wire method `getVoicemailMessages`).
15332#[derive(Debug, Clone, Default, serde::Deserialize)]
15333pub struct GetVoicemailMessagesResponseMessage {
15334    #[serde(
15335        default,
15336        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15337    )]
15338    pub mailbox: Option<u64>,
15339    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15340    pub folder: Option<VoicemailFolder>,
15341    #[serde(
15342        default,
15343        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15344    )]
15345    pub message_num: Option<u64>,
15346    #[serde(default, deserialize_with = "crate::responses::deserialize_opt_date")]
15347    pub date: Option<chrono::NaiveDate>,
15348    #[serde(
15349        default,
15350        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15351    )]
15352    pub callerid: Option<u64>,
15353    #[serde(
15354        default,
15355        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15356    )]
15357    pub duration: Option<String>,
15358    #[serde(
15359        default,
15360        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15361    )]
15362    pub urgent: Option<bool>,
15363    #[serde(
15364        default,
15365        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15366    )]
15367    pub listened: Option<bool>,
15368}
15369
15370#[derive(Debug, Clone, Default, serde::Deserialize)]
15371pub struct GetVoicemailMessagesResponse {
15372    #[serde(
15373        default,
15374        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15375    )]
15376    pub status: Option<String>,
15377    #[serde(
15378        default,
15379        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15380    )]
15381    pub messages: Option<Vec<GetVoicemailMessagesResponseMessage>>,
15382}
15383
15384/// Response body for [`Client::get_voicemail_setups`] (wire method `getVoicemailSetups`).
15385#[derive(Debug, Clone, Default, serde::Deserialize)]
15386pub struct GetVoicemailSetupsResponseVoicemailsetup {
15387    #[serde(
15388        default,
15389        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15390    )]
15391    pub value: Option<u64>,
15392    #[serde(
15393        default,
15394        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15395    )]
15396    pub description: Option<String>,
15397}
15398
15399#[derive(Debug, Clone, Default, serde::Deserialize)]
15400pub struct GetVoicemailSetupsResponse {
15401    #[serde(
15402        default,
15403        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15404    )]
15405    pub status: Option<String>,
15406    #[serde(
15407        default,
15408        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15409    )]
15410    pub voicemailsetups: Option<Vec<GetVoicemailSetupsResponseVoicemailsetup>>,
15411}
15412
15413/// Response body for [`Client::get_voicemail_transcriptions`] (wire method `getVoicemailTranscriptions`).
15414#[derive(Debug, Clone, Default, serde::Deserialize)]
15415pub struct GetVoicemailTranscriptionsResponseMessage {
15416    #[serde(
15417        default,
15418        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15419    )]
15420    pub date: Option<String>,
15421    #[serde(
15422        default,
15423        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15424    )]
15425    pub callerid: Option<String>,
15426    #[serde(
15427        default,
15428        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15429    )]
15430    pub duration: Option<String>,
15431    #[serde(default, deserialize_with = "deserialize_opt_voicemail_folder")]
15432    pub folder: Option<VoicemailFolder>,
15433    #[serde(
15434        default,
15435        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15436    )]
15437    pub result: Option<String>,
15438}
15439
15440#[derive(Debug, Clone, Default, serde::Deserialize)]
15441pub struct GetVoicemailTranscriptionsResponse {
15442    #[serde(
15443        default,
15444        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15445    )]
15446    pub status: Option<String>,
15447    #[serde(
15448        default,
15449        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15450    )]
15451    pub messages: Option<Vec<GetVoicemailTranscriptionsResponseMessage>>,
15452}
15453
15454/// Response body for [`Client::get_voicemails`] (wire method `getVoicemails`).
15455#[derive(Debug, Clone, Default, serde::Deserialize)]
15456pub struct GetVoicemailsResponseVoicemail {
15457    #[serde(
15458        default,
15459        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15460    )]
15461    pub mailbox: Option<u64>,
15462    #[serde(
15463        default,
15464        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15465    )]
15466    pub name: Option<String>,
15467    #[serde(
15468        default,
15469        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15470    )]
15471    pub password: Option<u64>,
15472    #[serde(
15473        default,
15474        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15475    )]
15476    pub skip_password: Option<bool>,
15477    #[serde(
15478        default,
15479        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15480    )]
15481    pub email: Option<String>,
15482    #[serde(
15483        default,
15484        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15485    )]
15486    pub attach_message: Option<bool>,
15487    #[serde(
15488        default,
15489        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15490    )]
15491    pub delete_message: Option<bool>,
15492    #[serde(
15493        default,
15494        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15495    )]
15496    pub say_time: Option<bool>,
15497    #[serde(
15498        default,
15499        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15500    )]
15501    pub timezone: Option<String>,
15502    #[serde(
15503        default,
15504        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15505    )]
15506    pub say_callerid: Option<bool>,
15507    #[serde(default, deserialize_with = "deserialize_opt_play_instructions")]
15508    pub play_instructions: Option<PlayInstructions>,
15509    #[serde(
15510        default,
15511        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15512    )]
15513    pub language: Option<String>,
15514    #[serde(default, deserialize_with = "deserialize_opt_email_attachment_format")]
15515    pub email_attachment_format: Option<EmailAttachmentFormat>,
15516    #[serde(
15517        default,
15518        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15519    )]
15520    pub unavailable_message_recording: Option<u64>,
15521    #[serde(
15522        default,
15523        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15524    )]
15525    pub new: Option<u64>,
15526    #[serde(
15527        default,
15528        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15529    )]
15530    pub urgent: Option<u64>,
15531    #[serde(
15532        default,
15533        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15534    )]
15535    pub transcription: Option<bool>,
15536    #[serde(
15537        default,
15538        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15539    )]
15540    pub transcription_locale: Option<String>,
15541    #[serde(
15542        default,
15543        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15544    )]
15545    pub transcription_redaction: Option<bool>,
15546    #[serde(
15547        default,
15548        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15549    )]
15550    pub transcription_sentiment: Option<bool>,
15551    #[serde(
15552        default,
15553        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15554    )]
15555    pub transcription_summary: Option<bool>,
15556    #[serde(default, deserialize_with = "deserialize_opt_transcription_format")]
15557    pub transcription_format: Option<TranscriptionFormat>,
15558    #[serde(
15559        default,
15560        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15561    )]
15562    pub transcription_delay: Option<u64>,
15563}
15564
15565#[derive(Debug, Clone, Default, serde::Deserialize)]
15566pub struct GetVoicemailsResponse {
15567    #[serde(
15568        default,
15569        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15570    )]
15571    pub status: Option<String>,
15572    #[serde(
15573        default,
15574        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15575    )]
15576    pub voicemails: Option<Vec<GetVoicemailsResponseVoicemail>>,
15577}
15578
15579/// Response body for [`Client::mail_fax_message_pdf`] (wire method `mailFaxMessagePDF`).
15580#[derive(Debug, Clone, Default, serde::Deserialize)]
15581pub struct MailFAXMessagePDFResponse {
15582    #[serde(
15583        default,
15584        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15585    )]
15586    pub status: Option<String>,
15587    #[serde(
15588        default,
15589        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15590    )]
15591    pub message_status: Option<String>,
15592}
15593
15594/// Response body for [`Client::mark_listened_voicemail_message`] (wire method `markListenedVoicemailMessage`).
15595#[derive(Debug, Clone, Default, serde::Deserialize)]
15596pub struct MarkListenedVoicemailMessageResponse {
15597    #[serde(
15598        default,
15599        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15600    )]
15601    pub status: Option<String>,
15602}
15603
15604/// Response body for [`Client::mark_urgent_voicemail_message`] (wire method `markUrgentVoicemailMessage`).
15605#[derive(Debug, Clone, Default, serde::Deserialize)]
15606pub struct MarkUrgentVoicemailMessageResponse {
15607    #[serde(
15608        default,
15609        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15610    )]
15611    pub status: Option<String>,
15612}
15613
15614/// Response body for [`Client::move_fax_message`] (wire method `moveFaxMessage`).
15615#[derive(Debug, Clone, Default, serde::Deserialize)]
15616pub struct MoveFAXMessageResponse {
15617    #[serde(
15618        default,
15619        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15620    )]
15621    pub status: Option<String>,
15622}
15623
15624/// Response body for [`Client::move_folder_voicemail_message`] (wire method `moveFolderVoicemailMessage`).
15625#[derive(Debug, Clone, Default, serde::Deserialize)]
15626pub struct MoveFolderVoicemailMessageResponse {
15627    #[serde(
15628        default,
15629        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15630    )]
15631    pub status: Option<String>,
15632}
15633
15634/// Response body for [`Client::order_did`] (wire method `orderDID`).
15635#[derive(Debug, Clone, Default, serde::Deserialize)]
15636pub struct OrderDIDResponse {
15637    #[serde(
15638        default,
15639        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15640    )]
15641    pub status: Option<String>,
15642}
15643
15644/// Response body for [`Client::order_did_international_geographic`] (wire method `orderDIDInternationalGeographic`).
15645#[derive(Debug, Clone, Default, serde::Deserialize)]
15646pub struct OrderDIDInternationalGeographicResponse {
15647    #[serde(
15648        default,
15649        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15650    )]
15651    pub status: Option<String>,
15652}
15653
15654/// Response body for [`Client::order_did_international_national`] (wire method `orderDIDInternationalNational`).
15655#[derive(Debug, Clone, Default, serde::Deserialize)]
15656pub struct OrderDIDInternationalNationalResponse {
15657    #[serde(
15658        default,
15659        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15660    )]
15661    pub status: Option<String>,
15662}
15663
15664/// Response body for [`Client::order_did_international_toll_free`] (wire method `orderDIDInternationalTollFree`).
15665#[derive(Debug, Clone, Default, serde::Deserialize)]
15666pub struct OrderDIDInternationalTollFreeResponse {
15667    #[serde(
15668        default,
15669        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15670    )]
15671    pub status: Option<String>,
15672}
15673
15674/// Response body for [`Client::order_did_virtual`] (wire method `orderDIDVirtual`).
15675#[derive(Debug, Clone, Default, serde::Deserialize)]
15676pub struct OrderDIDVirtualResponse {
15677    #[serde(
15678        default,
15679        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15680    )]
15681    pub status: Option<String>,
15682}
15683
15684/// Response body for [`Client::order_fax_number`] (wire method `orderFaxNumber`).
15685#[derive(Debug, Clone, Default, serde::Deserialize)]
15686pub struct OrderFAXNumberResponse {
15687    #[serde(
15688        default,
15689        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15690    )]
15691    pub status: Option<String>,
15692    #[serde(
15693        default,
15694        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15695    )]
15696    pub dids: Option<String>,
15697    #[serde(
15698        default,
15699        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number",
15700        rename = "0"
15701    )]
15702    pub field_0: Option<u64>,
15703    #[serde(
15704        default,
15705        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number",
15706        rename = "1"
15707    )]
15708    pub field_1: Option<u64>,
15709    #[serde(
15710        default,
15711        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15712        rename = "2"
15713    )]
15714    pub field_2: Option<String>,
15715}
15716
15717/// Response body for [`Client::order_toll_free`] (wire method `orderTollFree`).
15718#[derive(Debug, Clone, Default, serde::Deserialize)]
15719pub struct OrderTollFreeResponse {
15720    #[serde(
15721        default,
15722        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15723    )]
15724    pub status: Option<String>,
15725}
15726
15727/// Response body for [`Client::order_vanity`] (wire method `orderVanity`).
15728#[derive(Debug, Clone, Default, serde::Deserialize)]
15729pub struct OrderVanityResponse {
15730    #[serde(
15731        default,
15732        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15733    )]
15734    pub status: Option<String>,
15735}
15736
15737/// Response body for [`Client::remove_did_vpri`] (wire method `removeDIDvPRI`).
15738#[derive(Debug, Clone, Default, serde::Deserialize)]
15739pub struct RemoveDIDvPRIResponse {
15740    #[serde(
15741        default,
15742        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15743    )]
15744    pub status: Option<String>,
15745    #[serde(
15746        default,
15747        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15748    )]
15749    pub vpri: Option<u64>,
15750    #[serde(
15751        default,
15752        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15753    )]
15754    pub DIDRemoved: Option<u64>,
15755}
15756
15757/// Response body for [`Client::search_dids_can`] (wire method `searchDIDsCAN`).
15758#[derive(Debug, Clone, Default, serde::Deserialize)]
15759pub struct SearchDIDsCANResponseDID {
15760    #[serde(
15761        default,
15762        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15763    )]
15764    pub did: Option<u64>,
15765    #[serde(
15766        default,
15767        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15768    )]
15769    pub ratecenter: Option<String>,
15770    #[serde(
15771        default,
15772        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15773    )]
15774    pub province: Option<String>,
15775    #[serde(
15776        default,
15777        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15778    )]
15779    pub province_description: Option<String>,
15780    #[serde(
15781        default,
15782        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15783    )]
15784    pub perminute_monthly: Option<rust_decimal::Decimal>,
15785    #[serde(
15786        default,
15787        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15788    )]
15789    pub perminute_minute: Option<rust_decimal::Decimal>,
15790    #[serde(
15791        default,
15792        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15793    )]
15794    pub perminute_setup: Option<rust_decimal::Decimal>,
15795    #[serde(
15796        default,
15797        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15798    )]
15799    pub flat_monthly: Option<rust_decimal::Decimal>,
15800    #[serde(
15801        default,
15802        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15803    )]
15804    pub flat_minute: Option<rust_decimal::Decimal>,
15805    #[serde(
15806        default,
15807        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15808    )]
15809    pub flat_setup: Option<rust_decimal::Decimal>,
15810}
15811
15812#[derive(Debug, Clone, Default, serde::Deserialize)]
15813pub struct SearchDIDsCANResponse {
15814    #[serde(
15815        default,
15816        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15817    )]
15818    pub status: Option<String>,
15819    #[serde(
15820        default,
15821        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15822    )]
15823    pub dids: Option<Vec<SearchDIDsCANResponseDID>>,
15824}
15825
15826/// Response body for [`Client::search_dids_usa`] (wire method `searchDIDsUSA`).
15827#[derive(Debug, Clone, Default, serde::Deserialize)]
15828pub struct SearchDIDsUSAResponseDID {
15829    #[serde(
15830        default,
15831        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15832    )]
15833    pub did: Option<u64>,
15834    #[serde(
15835        default,
15836        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15837    )]
15838    pub ratecenter: Option<String>,
15839    #[serde(
15840        default,
15841        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15842    )]
15843    pub state: Option<String>,
15844    #[serde(
15845        default,
15846        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15847    )]
15848    pub state_description: Option<String>,
15849    #[serde(
15850        default,
15851        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15852    )]
15853    pub perminute_monthly: Option<rust_decimal::Decimal>,
15854    #[serde(
15855        default,
15856        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15857    )]
15858    pub perminute_minute: Option<rust_decimal::Decimal>,
15859    #[serde(
15860        default,
15861        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15862    )]
15863    pub perminute_setup: Option<rust_decimal::Decimal>,
15864    #[serde(
15865        default,
15866        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15867    )]
15868    pub flat_monthly: Option<rust_decimal::Decimal>,
15869    #[serde(
15870        default,
15871        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15872    )]
15873    pub flat_minute: Option<rust_decimal::Decimal>,
15874    #[serde(
15875        default,
15876        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15877    )]
15878    pub flat_setup: Option<rust_decimal::Decimal>,
15879}
15880
15881#[derive(Debug, Clone, Default, serde::Deserialize)]
15882pub struct SearchDIDsUSAResponse {
15883    #[serde(
15884        default,
15885        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15886    )]
15887    pub status: Option<String>,
15888    #[serde(
15889        default,
15890        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
15891    )]
15892    pub dids: Option<Vec<SearchDIDsUSAResponseDID>>,
15893}
15894
15895/// Response body for [`Client::search_fax_area_code_can`] (wire method `searchFaxAreaCodeCAN`).
15896#[derive(Debug, Clone, Default, serde::Deserialize)]
15897pub struct SearchFAXAreaCodeCANResponse0 {
15898    #[serde(
15899        default,
15900        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15901    )]
15902    pub ratecenter: Option<String>,
15903    #[serde(
15904        default,
15905        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15906    )]
15907    pub area_code: Option<u64>,
15908    #[serde(
15909        default,
15910        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15911    )]
15912    pub available: Option<bool>,
15913}
15914
15915#[derive(Debug, Clone, Default, serde::Deserialize)]
15916pub struct SearchFAXAreaCodeCANResponse {
15917    #[serde(
15918        default,
15919        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15920    )]
15921    pub status: Option<String>,
15922    #[serde(
15923        default,
15924        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15925    )]
15926    pub ratecenters: Option<String>,
15927    #[serde(default, rename = "0")]
15928    pub field_0: Option<SearchFAXAreaCodeCANResponse0>,
15929}
15930
15931/// Response body for [`Client::search_fax_area_code_usa`] (wire method `searchFaxAreaCodeUSA`).
15932#[derive(Debug, Clone, Default, serde::Deserialize)]
15933pub struct SearchFAXAreaCodeUSAResponse {
15934    #[serde(
15935        default,
15936        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15937    )]
15938    pub status: Option<String>,
15939    #[serde(
15940        default,
15941        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15942    )]
15943    pub ratecenters: Option<String>,
15944    #[serde(
15945        default,
15946        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool",
15947        rename = "0"
15948    )]
15949    pub field_0: Option<String>,
15950    #[serde(
15951        default,
15952        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15953    )]
15954    pub ratecenter: Option<String>,
15955    #[serde(
15956        default,
15957        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15958    )]
15959    pub area_code: Option<u64>,
15960    #[serde(
15961        default,
15962        deserialize_with = "crate::responses::deserialize_opt_bool_from_string_number_or_yn"
15963    )]
15964    pub available: Option<bool>,
15965}
15966
15967/// Response body for [`Client::search_toll_free_can_us`] (wire method `searchTollFreeCanUS`).
15968#[derive(Debug, Clone, Default, serde::Deserialize)]
15969pub struct SearchTollFreeCANUSResponseDID {
15970    #[serde(
15971        default,
15972        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
15973    )]
15974    pub did: Option<u64>,
15975    #[serde(
15976        default,
15977        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15978    )]
15979    pub monthly: Option<rust_decimal::Decimal>,
15980    #[serde(
15981        default,
15982        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15983    )]
15984    pub minute: Option<rust_decimal::Decimal>,
15985    #[serde(
15986        default,
15987        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
15988    )]
15989    pub setup: Option<rust_decimal::Decimal>,
15990}
15991
15992#[derive(Debug, Clone, Default, serde::Deserialize)]
15993pub struct SearchTollFreeCANUSResponse {
15994    #[serde(
15995        default,
15996        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
15997    )]
15998    pub status: Option<String>,
15999    #[serde(
16000        default,
16001        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
16002    )]
16003    pub dids: Option<Vec<SearchTollFreeCANUSResponseDID>>,
16004}
16005
16006/// Response body for [`Client::search_toll_free_usa`] (wire method `searchTollFreeUSA`).
16007#[derive(Debug, Clone, Default, serde::Deserialize)]
16008pub struct SearchTollFreeUSAResponseDID {
16009    #[serde(
16010        default,
16011        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16012    )]
16013    pub did: Option<u64>,
16014    #[serde(
16015        default,
16016        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16017    )]
16018    pub monthly: Option<rust_decimal::Decimal>,
16019    #[serde(
16020        default,
16021        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16022    )]
16023    pub minute_usa: Option<rust_decimal::Decimal>,
16024    #[serde(
16025        default,
16026        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16027    )]
16028    pub minute_canada: Option<rust_decimal::Decimal>,
16029    #[serde(
16030        default,
16031        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16032    )]
16033    pub minute_puertorico: Option<rust_decimal::Decimal>,
16034    #[serde(
16035        default,
16036        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16037    )]
16038    pub minute_alaska: Option<rust_decimal::Decimal>,
16039    #[serde(
16040        default,
16041        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16042    )]
16043    pub setup: Option<u64>,
16044}
16045
16046#[derive(Debug, Clone, Default, serde::Deserialize)]
16047pub struct SearchTollFreeUSAResponse {
16048    #[serde(
16049        default,
16050        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16051    )]
16052    pub status: Option<String>,
16053    #[serde(
16054        default,
16055        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
16056    )]
16057    pub dids: Option<Vec<SearchTollFreeUSAResponseDID>>,
16058}
16059
16060/// Response body for [`Client::search_vanity`] (wire method `searchVanity`).
16061#[derive(Debug, Clone, Default, serde::Deserialize)]
16062pub struct SearchVanityResponseDID {
16063    #[serde(
16064        default,
16065        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16066    )]
16067    pub did: Option<u64>,
16068    #[serde(
16069        default,
16070        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16071    )]
16072    pub monthly_american: Option<rust_decimal::Decimal>,
16073    #[serde(
16074        default,
16075        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16076    )]
16077    pub monthly_canadian: Option<rust_decimal::Decimal>,
16078    #[serde(
16079        default,
16080        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16081    )]
16082    pub minute_american_usa: Option<rust_decimal::Decimal>,
16083    #[serde(
16084        default,
16085        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16086    )]
16087    pub minute_american_canada: Option<rust_decimal::Decimal>,
16088    #[serde(
16089        default,
16090        deserialize_with = "crate::responses::deserialize_opt_decimal_from_string_or_number"
16091    )]
16092    pub minute_canadian: Option<rust_decimal::Decimal>,
16093    #[serde(
16094        default,
16095        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16096    )]
16097    pub setup_american: Option<u64>,
16098    #[serde(
16099        default,
16100        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16101    )]
16102    pub setup_canadian: Option<u64>,
16103}
16104
16105#[derive(Debug, Clone, Default, serde::Deserialize)]
16106pub struct SearchVanityResponse {
16107    #[serde(
16108        default,
16109        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16110    )]
16111    pub status: Option<String>,
16112    #[serde(
16113        default,
16114        deserialize_with = "crate::responses::deserialize_opt_vec_from_single_or_seq"
16115    )]
16116    pub dids: Option<Vec<SearchVanityResponseDID>>,
16117}
16118
16119/// Response body for [`Client::send_call_recording_email`] (wire method `sendCallRecordingEmail`).
16120#[derive(Debug, Clone, Default, serde::Deserialize)]
16121pub struct SendCallRecordingEmailResponse {
16122    #[serde(
16123        default,
16124        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16125    )]
16126    pub status: Option<String>,
16127    #[serde(
16128        default,
16129        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16130    )]
16131    pub msg: Option<String>,
16132}
16133
16134/// Response body for [`Client::send_fax_message`] (wire method `sendFaxMessage`).
16135#[derive(Debug, Clone, Default, serde::Deserialize)]
16136pub struct SendFAXMessageResponse {
16137    #[serde(
16138        default,
16139        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16140    )]
16141    pub status: Option<String>,
16142}
16143
16144/// Response body for [`Client::send_mms`] (wire method `sendMMS`).
16145#[derive(Debug, Clone, Default, serde::Deserialize)]
16146pub struct SendMMSResponse {
16147    #[serde(
16148        default,
16149        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16150    )]
16151    pub status: Option<String>,
16152    #[serde(
16153        default,
16154        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16155    )]
16156    pub mms: Option<u64>,
16157}
16158
16159/// Response body for [`Client::send_sms`] (wire method `sendSMS`).
16160#[derive(Debug, Clone, Default, serde::Deserialize)]
16161pub struct SendSMSResponse {
16162    #[serde(
16163        default,
16164        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16165    )]
16166    pub status: Option<String>,
16167    #[serde(
16168        default,
16169        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16170    )]
16171    pub sms: Option<u64>,
16172}
16173
16174/// Response body for [`Client::send_voicemail_email`] (wire method `sendVoicemailEmail`).
16175#[derive(Debug, Clone, Default, serde::Deserialize)]
16176pub struct SendVoicemailEmailResponse {
16177    #[serde(
16178        default,
16179        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16180    )]
16181    pub status: Option<String>,
16182}
16183
16184/// Response body for [`Client::set_call_hunting`] (wire method `setCallHunting`).
16185#[derive(Debug, Clone, Default, serde::Deserialize)]
16186pub struct SetCallHuntingResponse {
16187    #[serde(
16188        default,
16189        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16190    )]
16191    pub status: Option<String>,
16192    #[serde(
16193        default,
16194        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16195    )]
16196    pub call_hunting: Option<u64>,
16197}
16198
16199/// Response body for [`Client::set_call_parking`] (wire method `setCallParking`).
16200#[derive(Debug, Clone, Default, serde::Deserialize)]
16201pub struct SetCallParkingResponse {
16202    #[serde(
16203        default,
16204        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16205    )]
16206    pub status: Option<String>,
16207    #[serde(
16208        default,
16209        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16210    )]
16211    pub callparking: Option<u64>,
16212}
16213
16214/// Response body for [`Client::set_callback`] (wire method `setCallback`).
16215#[derive(Debug, Clone, Default, serde::Deserialize)]
16216pub struct SetCallbackResponse {
16217    #[serde(
16218        default,
16219        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16220    )]
16221    pub status: Option<String>,
16222    #[serde(
16223        default,
16224        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16225    )]
16226    pub callback: Option<u64>,
16227}
16228
16229/// Response body for [`Client::set_caller_id_filtering`] (wire method `setCallerIDFiltering`).
16230#[derive(Debug, Clone, Default, serde::Deserialize)]
16231pub struct SetCallerIDFilteringResponse {
16232    #[serde(
16233        default,
16234        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16235    )]
16236    pub status: Option<String>,
16237    #[serde(
16238        default,
16239        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16240    )]
16241    pub filtering: Option<u64>,
16242}
16243
16244/// Response body for [`Client::set_client`] (wire method `setClient`).
16245#[derive(Debug, Clone, Default, serde::Deserialize)]
16246pub struct SetClientResponse {
16247    #[serde(
16248        default,
16249        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16250    )]
16251    pub status: Option<String>,
16252}
16253
16254/// Response body for [`Client::set_client_threshold`] (wire method `setClientThreshold`).
16255#[derive(Debug, Clone, Default, serde::Deserialize)]
16256pub struct SetClientThresholdResponse {
16257    #[serde(
16258        default,
16259        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16260    )]
16261    pub status: Option<String>,
16262}
16263
16264/// Response body for [`Client::set_conference`] (wire method `setConference`).
16265#[derive(Debug, Clone, Default, serde::Deserialize)]
16266pub struct SetConferenceResponse {
16267    #[serde(
16268        default,
16269        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16270    )]
16271    pub status: Option<String>,
16272    #[serde(
16273        default,
16274        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16275    )]
16276    pub conference: Option<u64>,
16277}
16278
16279/// Response body for [`Client::set_conference_member`] (wire method `setConferenceMember`).
16280#[derive(Debug, Clone, Default, serde::Deserialize)]
16281pub struct SetConferenceMemberResponse {
16282    #[serde(
16283        default,
16284        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16285    )]
16286    pub status: Option<String>,
16287    #[serde(
16288        default,
16289        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16290    )]
16291    pub member: Option<u64>,
16292}
16293
16294/// Response body for [`Client::set_did_billing_type`] (wire method `setDIDBillingType`).
16295#[derive(Debug, Clone, Default, serde::Deserialize)]
16296pub struct SetDIDBillingTypeResponse {
16297    #[serde(
16298        default,
16299        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16300    )]
16301    pub status: Option<String>,
16302}
16303
16304/// Response body for [`Client::set_did_info`] (wire method `setDIDInfo`).
16305#[derive(Debug, Clone, Default, serde::Deserialize)]
16306pub struct SetDIDInfoResponse {
16307    #[serde(
16308        default,
16309        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16310    )]
16311    pub status: Option<String>,
16312}
16313
16314/// Response body for [`Client::set_did_pop`] (wire method `setDIDPOP`).
16315#[derive(Debug, Clone, Default, serde::Deserialize)]
16316pub struct SetDIDPOPResponse {
16317    #[serde(
16318        default,
16319        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16320    )]
16321    pub status: Option<String>,
16322}
16323
16324/// Response body for [`Client::set_did_routing`] (wire method `setDIDRouting`).
16325#[derive(Debug, Clone, Default, serde::Deserialize)]
16326pub struct SetDIDRoutingResponse {
16327    #[serde(
16328        default,
16329        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16330    )]
16331    pub status: Option<String>,
16332}
16333
16334/// Response body for [`Client::set_did_voicemail`] (wire method `setDIDVoicemail`).
16335#[derive(Debug, Clone, Default, serde::Deserialize)]
16336pub struct SetDIDVoicemailResponse {
16337    #[serde(
16338        default,
16339        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16340    )]
16341    pub status: Option<String>,
16342}
16343
16344/// Response body for [`Client::set_disa`] (wire method `setDISA`).
16345#[derive(Debug, Clone, Default, serde::Deserialize)]
16346pub struct SetDISAResponse {
16347    #[serde(
16348        default,
16349        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16350    )]
16351    pub status: Option<String>,
16352    #[serde(
16353        default,
16354        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16355    )]
16356    pub disa: Option<u64>,
16357}
16358
16359/// Response body for [`Client::set_email_to_fax`] (wire method `setEmailToFax`).
16360#[derive(Debug, Clone, Default, serde::Deserialize)]
16361pub struct SetEmailToFAXResponse {
16362    #[serde(
16363        default,
16364        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16365    )]
16366    pub status: Option<String>,
16367}
16368
16369/// Response body for [`Client::set_fax_folder`] (wire method `setFaxFolder`).
16370#[derive(Debug, Clone, Default, serde::Deserialize)]
16371pub struct SetFAXFolderResponse {
16372    #[serde(
16373        default,
16374        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16375    )]
16376    pub status: Option<String>,
16377}
16378
16379/// Response body for [`Client::set_fax_number_email`] (wire method `setFaxNumberEmail`).
16380#[derive(Debug, Clone, Default, serde::Deserialize)]
16381pub struct SetFAXNumberEmailResponse {
16382    #[serde(
16383        default,
16384        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16385    )]
16386    pub status: Option<String>,
16387}
16388
16389/// Response body for [`Client::set_fax_number_info`] (wire method `setFaxNumberInfo`).
16390#[derive(Debug, Clone, Default, serde::Deserialize)]
16391pub struct SetFAXNumberInfoResponse {
16392    #[serde(
16393        default,
16394        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16395    )]
16396    pub status: Option<String>,
16397}
16398
16399/// Response body for [`Client::set_fax_number_url_callback`] (wire method `setFaxNumberURLCallback`).
16400#[derive(Debug, Clone, Default, serde::Deserialize)]
16401pub struct SetFAXNumberURLCallbackResponse {
16402    #[serde(
16403        default,
16404        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16405    )]
16406    pub status: Option<String>,
16407}
16408
16409/// Response body for [`Client::set_forwarding`] (wire method `setForwarding`).
16410#[derive(Debug, Clone, Default, serde::Deserialize)]
16411pub struct SetForwardingResponse {
16412    #[serde(
16413        default,
16414        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16415    )]
16416    pub status: Option<String>,
16417    #[serde(
16418        default,
16419        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16420    )]
16421    pub forwarding: Option<u64>,
16422}
16423
16424/// Response body for [`Client::set_ivr`] (wire method `setIVR`).
16425#[derive(Debug, Clone, Default, serde::Deserialize)]
16426pub struct SetIVRResponse {
16427    #[serde(
16428        default,
16429        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16430    )]
16431    pub status: Option<String>,
16432    #[serde(
16433        default,
16434        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16435    )]
16436    pub ivr: Option<u64>,
16437}
16438
16439/// Response body for [`Client::set_location`] (wire method `setLocation`).
16440#[derive(Debug, Clone, Default, serde::Deserialize)]
16441pub struct SetLocationResponse {
16442    #[serde(
16443        default,
16444        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16445    )]
16446    pub status: Option<String>,
16447}
16448
16449/// Response body for [`Client::set_music_on_hold`] (wire method `setMusicOnHold`).
16450#[derive(Debug, Clone, Default, serde::Deserialize)]
16451pub struct SetMusicOnHoldResponse {
16452    #[serde(
16453        default,
16454        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16455    )]
16456    pub status: Option<String>,
16457}
16458
16459/// Response body for [`Client::set_phonebook`] (wire method `setPhonebook`).
16460#[derive(Debug, Clone, Default, serde::Deserialize)]
16461pub struct SetPhonebookResponse {
16462    #[serde(
16463        default,
16464        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16465    )]
16466    pub status: Option<String>,
16467    #[serde(
16468        default,
16469        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16470    )]
16471    pub phonebook: Option<u64>,
16472}
16473
16474/// Response body for [`Client::set_phonebook_group`] (wire method `setPhonebookGroup`).
16475#[derive(Debug, Clone, Default, serde::Deserialize)]
16476pub struct SetPhonebookGroupResponse {
16477    #[serde(
16478        default,
16479        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16480    )]
16481    pub status: Option<String>,
16482    #[serde(
16483        default,
16484        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16485    )]
16486    pub group: Option<u64>,
16487}
16488
16489/// Response body for [`Client::set_queue`] (wire method `setQueue`).
16490#[derive(Debug, Clone, Default, serde::Deserialize)]
16491pub struct SetQueueResponse {
16492    #[serde(
16493        default,
16494        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16495    )]
16496    pub status: Option<String>,
16497    #[serde(
16498        default,
16499        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16500    )]
16501    pub queue: Option<u64>,
16502}
16503
16504/// Response body for [`Client::set_recording`] (wire method `setRecording`).
16505#[derive(Debug, Clone, Default, serde::Deserialize)]
16506pub struct SetRecordingResponse {
16507    #[serde(
16508        default,
16509        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16510    )]
16511    pub status: Option<String>,
16512    #[serde(
16513        default,
16514        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16515    )]
16516    pub recording: Option<u64>,
16517}
16518
16519/// Response body for [`Client::set_ring_group`] (wire method `setRingGroup`).
16520#[derive(Debug, Clone, Default, serde::Deserialize)]
16521pub struct SetRingGroupResponse {
16522    #[serde(
16523        default,
16524        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16525    )]
16526    pub status: Option<String>,
16527    #[serde(
16528        default,
16529        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16530    )]
16531    pub ring_group: Option<u64>,
16532}
16533
16534/// Response body for [`Client::set_sip_uri`] (wire method `setSIPURI`).
16535#[derive(Debug, Clone, Default, serde::Deserialize)]
16536pub struct SetSIPURIResponse {
16537    #[serde(
16538        default,
16539        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16540    )]
16541    pub status: Option<String>,
16542}
16543
16544/// Response body for [`Client::set_sms`] (wire method `setSMS`).
16545#[derive(Debug, Clone, Default, serde::Deserialize)]
16546pub struct SetSMSResponse {
16547    #[serde(
16548        default,
16549        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16550    )]
16551    pub status: Option<String>,
16552    #[serde(
16553        default,
16554        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16555    )]
16556    pub sipuri: Option<u64>,
16557}
16558
16559/// Response body for [`Client::set_static_member`] (wire method `setStaticMember`).
16560#[derive(Debug, Clone, Default, serde::Deserialize)]
16561pub struct SetStaticMemberResponse {
16562    #[serde(
16563        default,
16564        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16565    )]
16566    pub status: Option<String>,
16567    #[serde(
16568        default,
16569        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16570    )]
16571    pub member: Option<u64>,
16572}
16573
16574/// Response body for [`Client::set_sub_account`] (wire method `setSubAccount`).
16575#[derive(Debug, Clone, Default, serde::Deserialize)]
16576pub struct SetSubAccountResponse {
16577    #[serde(
16578        default,
16579        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16580    )]
16581    pub status: Option<String>,
16582}
16583
16584/// Response body for [`Client::set_time_condition`] (wire method `setTimeCondition`).
16585#[derive(Debug, Clone, Default, serde::Deserialize)]
16586pub struct SetTimeConditionResponse {
16587    #[serde(
16588        default,
16589        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16590    )]
16591    pub status: Option<String>,
16592    #[serde(
16593        default,
16594        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16595    )]
16596    pub timecondition: Option<u64>,
16597}
16598
16599/// Response body for [`Client::set_voicemail`] (wire method `setVoicemail`).
16600#[derive(Debug, Clone, Default, serde::Deserialize)]
16601pub struct SetVoicemailResponse {
16602    #[serde(
16603        default,
16604        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16605    )]
16606    pub status: Option<String>,
16607}
16608
16609/// Response body for [`Client::signup_client`] (wire method `signupClient`).
16610#[derive(Debug, Clone, Default, serde::Deserialize)]
16611pub struct SignupClientResponse {
16612    #[serde(
16613        default,
16614        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16615    )]
16616    pub status: Option<String>,
16617    #[serde(
16618        default,
16619        deserialize_with = "crate::responses::deserialize_opt_u64_from_string_or_number"
16620    )]
16621    pub client: Option<u64>,
16622}
16623
16624/// Response body for [`Client::unconnect_did`] (wire method `unconnectDID`).
16625#[derive(Debug, Clone, Default, serde::Deserialize)]
16626pub struct UnconnectDIDResponse {
16627    #[serde(
16628        default,
16629        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16630    )]
16631    pub status: Option<String>,
16632}
16633
16634/// Response body for [`Client::unconnect_fax`] (wire method `unconnectFAX`).
16635#[derive(Debug, Clone, Default, serde::Deserialize)]
16636pub struct UnconnectFAXResponse {
16637    #[serde(
16638        default,
16639        deserialize_with = "crate::responses::deserialize_opt_string_from_string_number_or_bool"
16640    )]
16641    pub status: Option<String>,
16642}
16643
16644impl Client {
16645    /// \- Adds a Charge to a specific Reseller Client
16646    ///
16647    /// Call the `addCharge` API method and deserialize into [`AddChargeResponse`].
16648    pub async fn add_charge(&self, params: &AddChargeParams) -> Result<AddChargeResponse> {
16649        self.call("addCharge", params).await
16650    }
16651
16652    /// Call the `addCharge` API method and return the raw JSON envelope.
16653    pub async fn add_charge_raw(&self, params: &AddChargeParams) -> Result<Value> {
16654        self.call_raw("addCharge", params).await
16655    }
16656
16657    /// \- Add an invoice file to a portability process.
16658    ///
16659    /// Call the `addLNPFile` API method and deserialize into [`AddLNPFileResponse`].
16660    pub async fn add_lnp_file(&self, params: &AddLNPFileParams) -> Result<AddLNPFileResponse> {
16661        self.call("addLNPFile", params).await
16662    }
16663
16664    /// Call the `addLNPFile` API method and return the raw JSON envelope.
16665    pub async fn add_lnp_file_raw(&self, params: &AddLNPFileParams) -> Result<Value> {
16666        self.call_raw("addLNPFile", params).await
16667    }
16668
16669    /// \- Add one or more numbers to start a portability process.
16670    ///
16671    /// Call the `addLNPPort` API method and deserialize into [`AddLNPPortResponse`].
16672    pub async fn add_lnp_port(&self, params: &AddLNPPortParams) -> Result<AddLNPPortResponse> {
16673        self.call("addLNPPort", params).await
16674    }
16675
16676    /// Call the `addLNPPort` API method and return the raw JSON envelope.
16677    pub async fn add_lnp_port_raw(&self, params: &AddLNPPortParams) -> Result<Value> {
16678        self.call_raw("addLNPPort", params).await
16679    }
16680
16681    /// \- Add Member to a Conference
16682    ///
16683    /// Call the `addMemberToConference` API method and deserialize into [`AddMemberToConferenceResponse`].
16684    pub async fn add_member_to_conference(
16685        &self,
16686        params: &AddMemberToConferenceParams,
16687    ) -> Result<AddMemberToConferenceResponse> {
16688        self.call("addMemberToConference", params).await
16689    }
16690
16691    /// Call the `addMemberToConference` API method and return the raw JSON envelope.
16692    pub async fn add_member_to_conference_raw(
16693        &self,
16694        params: &AddMemberToConferenceParams,
16695    ) -> Result<Value> {
16696        self.call_raw("addMemberToConference", params).await
16697    }
16698
16699    /// \- Adds a Payment to a specific Reseller Client
16700    ///
16701    /// Call the `addPayment` API method and deserialize into [`AddPaymentResponse`].
16702    pub async fn add_payment(&self, params: &AddPaymentParams) -> Result<AddPaymentResponse> {
16703        self.call("addPayment", params).await
16704    }
16705
16706    /// Call the `addPayment` API method and return the raw JSON envelope.
16707    pub async fn add_payment_raw(&self, params: &AddPaymentParams) -> Result<Value> {
16708        self.call_raw("addPayment", params).await
16709    }
16710
16711    /// \- Assigns a Per Minute DID to a VPRI (Flat Rate DIDs can&rsquo;t be
16712    /// assigned)
16713    ///
16714    /// Call the `assignDIDvPRI` API method and deserialize into [`AssignDIDvPRIResponse`].
16715    pub async fn assign_did_vpri(
16716        &self,
16717        params: &AssignDIDvPRIParams,
16718    ) -> Result<AssignDIDvPRIResponse> {
16719        self.call("assignDIDvPRI", params).await
16720    }
16721
16722    /// Call the `assignDIDvPRI` API method and return the raw JSON envelope.
16723    pub async fn assign_did_vpri_raw(&self, params: &AssignDIDvPRIParams) -> Result<Value> {
16724        self.call_raw("assignDIDvPRI", params).await
16725    }
16726
16727    /// \- Backorder DID (CANADA) from a specific ratecenter and province.
16728    ///
16729    /// Call the `backOrderDIDCAN` API method and deserialize into [`BackOrderDIDCANResponse`].
16730    pub async fn back_order_did_can(
16731        &self,
16732        params: &BackOrderDIDCANParams,
16733    ) -> Result<BackOrderDIDCANResponse> {
16734        self.call("backOrderDIDCAN", params).await
16735    }
16736
16737    /// Call the `backOrderDIDCAN` API method and return the raw JSON envelope.
16738    pub async fn back_order_did_can_raw(&self, params: &BackOrderDIDCANParams) -> Result<Value> {
16739        self.call_raw("backOrderDIDCAN", params).await
16740    }
16741
16742    /// \- Backorder DID (USA) from a specific ratecenter and state.
16743    ///
16744    /// Call the `backOrderDIDUSA` API method and deserialize into [`BackOrderDIDUSAResponse`].
16745    pub async fn back_order_did_usa(
16746        &self,
16747        params: &BackOrderDIDUSAParams,
16748    ) -> Result<BackOrderDIDUSAResponse> {
16749        self.call("backOrderDIDUSA", params).await
16750    }
16751
16752    /// Call the `backOrderDIDUSA` API method and return the raw JSON envelope.
16753    pub async fn back_order_did_usa_raw(&self, params: &BackOrderDIDUSAParams) -> Result<Value> {
16754        self.call_raw("backOrderDIDUSA", params).await
16755    }
16756
16757    /// \- Deletes a specific DID from your Account.
16758    ///
16759    /// Call the `cancelDID` API method and deserialize into [`CancelDIDResponse`].
16760    pub async fn cancel_did(&self, params: &CancelDIDParams) -> Result<CancelDIDResponse> {
16761        self.call("cancelDID", params).await
16762    }
16763
16764    /// Call the `cancelDID` API method and return the raw JSON envelope.
16765    pub async fn cancel_did_raw(&self, params: &CancelDIDParams) -> Result<Value> {
16766        self.call_raw("cancelDID", params).await
16767    }
16768
16769    /// \- Deletes a specific Fax Number from your Account.
16770    ///
16771    /// Call the `cancelFaxNumber` API method and deserialize into [`CancelFAXNumberResponse`].
16772    pub async fn cancel_fax_number(
16773        &self,
16774        params: &CancelFAXNumberParams,
16775    ) -> Result<CancelFAXNumberResponse> {
16776        self.call("cancelFaxNumber", params).await
16777    }
16778
16779    /// Call the `cancelFaxNumber` API method and return the raw JSON envelope.
16780    pub async fn cancel_fax_number_raw(&self, params: &CancelFAXNumberParams) -> Result<Value> {
16781        self.call_raw("cancelFaxNumber", params).await
16782    }
16783
16784    /// \- Connects a specific DID to a specific Reseller Client Sub Account
16785    ///
16786    /// Call the `connectDID` API method and deserialize into [`ConnectDIDResponse`].
16787    pub async fn connect_did(&self, params: &ConnectDIDParams) -> Result<ConnectDIDResponse> {
16788        self.call("connectDID", params).await
16789    }
16790
16791    /// Call the `connectDID` API method and return the raw JSON envelope.
16792    pub async fn connect_did_raw(&self, params: &ConnectDIDParams) -> Result<Value> {
16793        self.call_raw("connectDID", params).await
16794    }
16795
16796    /// \- Connects a specific FAX DID to a specific Reseller Client Sub Account
16797    ///
16798    /// Call the `connectFAX` API method and deserialize into [`ConnectFAXResponse`].
16799    pub async fn connect_fax(&self, params: &ConnectFAXParams) -> Result<ConnectFAXResponse> {
16800        self.call("connectFAX", params).await
16801    }
16802
16803    /// Call the `connectFAX` API method and return the raw JSON envelope.
16804    pub async fn connect_fax_raw(&self, params: &ConnectFAXParams) -> Result<Value> {
16805        self.call_raw("connectFAX", params).await
16806    }
16807
16808    /// \- Adds a new Sub Account entry to your Account
16809    ///
16810    /// Call the `createSubAccount` API method and deserialize into [`CreateSubAccountResponse`].
16811    pub async fn create_sub_account(
16812        &self,
16813        params: &CreateSubAccountParams,
16814    ) -> Result<CreateSubAccountResponse> {
16815        self.call("createSubAccount", params).await
16816    }
16817
16818    /// Call the `createSubAccount` API method and return the raw JSON envelope.
16819    pub async fn create_sub_account_raw(&self, params: &CreateSubAccountParams) -> Result<Value> {
16820        self.call_raw("createSubAccount", params).await
16821    }
16822
16823    /// \- Adds a new Voicemail entry to your Account
16824    ///
16825    /// Call the `createVoicemail` API method and deserialize into [`CreateVoicemailResponse`].
16826    pub async fn create_voicemail(
16827        &self,
16828        params: &CreateVoicemailParams,
16829    ) -> Result<CreateVoicemailResponse> {
16830        self.call("createVoicemail", params).await
16831    }
16832
16833    /// Call the `createVoicemail` API method and return the raw JSON envelope.
16834    pub async fn create_voicemail_raw(&self, params: &CreateVoicemailParams) -> Result<Value> {
16835        self.call_raw("createVoicemail", params).await
16836    }
16837
16838    /// \- Deletes a specific Call Hunting from your Account.
16839    ///
16840    /// Call the `delCallHunting` API method and deserialize into [`DelCallHuntingResponse`].
16841    pub async fn del_call_hunting(
16842        &self,
16843        params: &DelCallHuntingParams,
16844    ) -> Result<DelCallHuntingResponse> {
16845        self.call("delCallHunting", params).await
16846    }
16847
16848    /// Call the `delCallHunting` API method and return the raw JSON envelope.
16849    pub async fn del_call_hunting_raw(&self, params: &DelCallHuntingParams) -> Result<Value> {
16850        self.call_raw("delCallHunting", params).await
16851    }
16852
16853    /// \- Deletes a specific Call Parking entry from your Account.
16854    ///
16855    /// Call the `delCallParking` API method and deserialize into [`DelCallParkingResponse`].
16856    pub async fn del_call_parking(
16857        &self,
16858        params: &DelCallParkingParams,
16859    ) -> Result<DelCallParkingResponse> {
16860        self.call("delCallParking", params).await
16861    }
16862
16863    /// Call the `delCallParking` API method and return the raw JSON envelope.
16864    pub async fn del_call_parking_raw(&self, params: &DelCallParkingParams) -> Result<Value> {
16865        self.call_raw("delCallParking", params).await
16866    }
16867
16868    /// \- Delete specific call recording, audio file and information related.
16869    ///
16870    /// Call the `delCallRecording` API method and deserialize into [`DelCallRecordingResponse`].
16871    pub async fn del_call_recording(
16872        &self,
16873        params: &DelCallRecordingParams,
16874    ) -> Result<DelCallRecordingResponse> {
16875        self.call("delCallRecording", params).await
16876    }
16877
16878    /// Call the `delCallRecording` API method and return the raw JSON envelope.
16879    pub async fn del_call_recording_raw(&self, params: &DelCallRecordingParams) -> Result<Value> {
16880        self.call_raw("delCallRecording", params).await
16881    }
16882
16883    /// \- Deletes a specific Callback from your Account.
16884    ///
16885    /// Call the `delCallback` API method and deserialize into [`DelCallbackResponse`].
16886    pub async fn del_callback(&self, params: &DelCallbackParams) -> Result<DelCallbackResponse> {
16887        self.call("delCallback", params).await
16888    }
16889
16890    /// Call the `delCallback` API method and return the raw JSON envelope.
16891    pub async fn del_callback_raw(&self, params: &DelCallbackParams) -> Result<Value> {
16892        self.call_raw("delCallback", params).await
16893    }
16894
16895    /// \- Deletes a specific CallerID Filtering from your Account.
16896    ///
16897    /// Call the `delCallerIDFiltering` API method and deserialize into [`DelCallerIDFilteringResponse`].
16898    pub async fn del_caller_id_filtering(
16899        &self,
16900        params: &DelCallerIDFilteringParams,
16901    ) -> Result<DelCallerIDFilteringResponse> {
16902        self.call("delCallerIDFiltering", params).await
16903    }
16904
16905    /// Call the `delCallerIDFiltering` API method and return the raw JSON envelope.
16906    pub async fn del_caller_id_filtering_raw(
16907        &self,
16908        params: &DelCallerIDFilteringParams,
16909    ) -> Result<Value> {
16910        self.call_raw("delCallerIDFiltering", params).await
16911    }
16912
16913    /// \- Deletes a specific reseller client from your Account.
16914    ///
16915    /// Call the `delClient` API method and deserialize into [`DelClientResponse`].
16916    pub async fn del_client(&self, params: &DelClientParams) -> Result<DelClientResponse> {
16917        self.call("delClient", params).await
16918    }
16919
16920    /// Call the `delClient` API method and return the raw JSON envelope.
16921    pub async fn del_client_raw(&self, params: &DelClientParams) -> Result<Value> {
16922        self.call_raw("delClient", params).await
16923    }
16924
16925    /// \- Deletes a specific Conference from your Account.
16926    ///
16927    /// Call the `delConference` API method and deserialize into [`DelConferenceResponse`].
16928    pub async fn del_conference(
16929        &self,
16930        params: &DelConferenceParams,
16931    ) -> Result<DelConferenceResponse> {
16932        self.call("delConference", params).await
16933    }
16934
16935    /// Call the `delConference` API method and return the raw JSON envelope.
16936    pub async fn del_conference_raw(&self, params: &DelConferenceParams) -> Result<Value> {
16937        self.call_raw("delConference", params).await
16938    }
16939
16940    /// \- Deletes a specific Member profile from your Account.
16941    ///
16942    /// Call the `delConferenceMember` API method and deserialize into [`DelConferenceMemberResponse`].
16943    pub async fn del_conference_member(
16944        &self,
16945        params: &DelConferenceMemberParams,
16946    ) -> Result<DelConferenceMemberResponse> {
16947        self.call("delConferenceMember", params).await
16948    }
16949
16950    /// Call the `delConferenceMember` API method and return the raw JSON envelope.
16951    pub async fn del_conference_member_raw(
16952        &self,
16953        params: &DelConferenceMemberParams,
16954    ) -> Result<Value> {
16955        self.call_raw("delConferenceMember", params).await
16956    }
16957
16958    /// \- Deletes a specific DISA from your Account.
16959    ///
16960    /// Call the `delDISA` API method and deserialize into [`DelDISAResponse`].
16961    pub async fn del_disa(&self, params: &DelDISAParams) -> Result<DelDISAResponse> {
16962        self.call("delDISA", params).await
16963    }
16964
16965    /// Call the `delDISA` API method and return the raw JSON envelope.
16966    pub async fn del_disa_raw(&self, params: &DelDISAParams) -> Result<Value> {
16967        self.call_raw("delDISA", params).await
16968    }
16969
16970    /// \- Deletes a specific "Email to Fax configuration" from your Account.
16971    ///
16972    /// Call the `delEmailToFax` API method and deserialize into [`DelEmailToFAXResponse`].
16973    pub async fn del_email_to_fax(
16974        &self,
16975        params: &DelEmailToFAXParams,
16976    ) -> Result<DelEmailToFAXResponse> {
16977        self.call("delEmailToFax", params).await
16978    }
16979
16980    /// Call the `delEmailToFax` API method and return the raw JSON envelope.
16981    pub async fn del_email_to_fax_raw(&self, params: &DelEmailToFAXParams) -> Result<Value> {
16982        self.call_raw("delEmailToFax", params).await
16983    }
16984
16985    /// \- Deletes a specific Fax Folder from your Account.
16986    ///
16987    /// Call the `delFaxFolder` API method and deserialize into [`DelFAXFolderResponse`].
16988    pub async fn del_fax_folder(
16989        &self,
16990        params: &DelFAXFolderParams,
16991    ) -> Result<DelFAXFolderResponse> {
16992        self.call("delFaxFolder", params).await
16993    }
16994
16995    /// Call the `delFaxFolder` API method and return the raw JSON envelope.
16996    pub async fn del_fax_folder_raw(&self, params: &DelFAXFolderParams) -> Result<Value> {
16997        self.call_raw("delFaxFolder", params).await
16998    }
16999
17000    /// \- Deletes a specific Forwarding from your Account.
17001    ///
17002    /// Call the `delForwarding` API method and deserialize into [`DelForwardingResponse`].
17003    pub async fn del_forwarding(
17004        &self,
17005        params: &DelForwardingParams,
17006    ) -> Result<DelForwardingResponse> {
17007        self.call("delForwarding", params).await
17008    }
17009
17010    /// Call the `delForwarding` API method and return the raw JSON envelope.
17011    pub async fn del_forwarding_raw(&self, params: &DelForwardingParams) -> Result<Value> {
17012        self.call_raw("delForwarding", params).await
17013    }
17014
17015    /// \- Deletes a specific IVR from your Account.
17016    ///
17017    /// Call the `delIVR` API method and deserialize into [`DelIVRResponse`].
17018    pub async fn del_ivr(&self, params: &DelIVRParams) -> Result<DelIVRResponse> {
17019        self.call("delIVR", params).await
17020    }
17021
17022    /// Call the `delIVR` API method and return the raw JSON envelope.
17023    pub async fn del_ivr_raw(&self, params: &DelIVRParams) -> Result<Value> {
17024        self.call_raw("delIVR", params).await
17025    }
17026
17027    /// Call the `delLocation` API method and deserialize into [`DelLocationResponse`].
17028    pub async fn del_location(&self, params: &DelLocationParams) -> Result<DelLocationResponse> {
17029        self.call("delLocation", params).await
17030    }
17031
17032    /// Call the `delLocation` API method and return the raw JSON envelope.
17033    pub async fn del_location_raw(&self, params: &DelLocationParams) -> Result<Value> {
17034        self.call_raw("delLocation", params).await
17035    }
17036
17037    /// \- Removes a member profile from a specific Conference from your Account
17038    ///
17039    /// Call the `delMemberFromConference` API method and deserialize into [`DelMemberFromConferenceResponse`].
17040    pub async fn del_member_from_conference(
17041        &self,
17042        params: &DelMemberFromConferenceParams,
17043    ) -> Result<DelMemberFromConferenceResponse> {
17044        self.call("delMemberFromConference", params).await
17045    }
17046
17047    /// Call the `delMemberFromConference` API method and return the raw JSON envelope.
17048    pub async fn del_member_from_conference_raw(
17049        &self,
17050        params: &DelMemberFromConferenceParams,
17051    ) -> Result<Value> {
17052        self.call_raw("delMemberFromConference", params).await
17053    }
17054
17055    /// \- Deletes all messages in all servers from a specific Voicemail from
17056    /// your Account
17057    ///
17058    /// Call the `delMessages` API method and deserialize into [`DelMessagesResponse`].
17059    pub async fn del_messages(&self, params: &DelMessagesParams) -> Result<DelMessagesResponse> {
17060        self.call("delMessages", params).await
17061    }
17062
17063    /// Call the `delMessages` API method and return the raw JSON envelope.
17064    pub async fn del_messages_raw(&self, params: &DelMessagesParams) -> Result<Value> {
17065        self.call_raw("delMessages", params).await
17066    }
17067
17068    /// \- Deletes a specific custom Music on Hold.
17069    ///
17070    /// Call the `delMusicOnHold` API method and deserialize into [`DelMusicOnHoldResponse`].
17071    pub async fn del_music_on_hold(
17072        &self,
17073        params: &DelMusicOnHoldParams,
17074    ) -> Result<DelMusicOnHoldResponse> {
17075        self.call("delMusicOnHold", params).await
17076    }
17077
17078    /// Call the `delMusicOnHold` API method and return the raw JSON envelope.
17079    pub async fn del_music_on_hold_raw(&self, params: &DelMusicOnHoldParams) -> Result<Value> {
17080        self.call_raw("delMusicOnHold", params).await
17081    }
17082
17083    /// \- Deletes a specific Phonebook from your Account.
17084    ///
17085    /// Call the `delPhonebook` API method and deserialize into [`DelPhonebookResponse`].
17086    pub async fn del_phonebook(&self, params: &DelPhonebookParams) -> Result<DelPhonebookResponse> {
17087        self.call("delPhonebook", params).await
17088    }
17089
17090    /// Call the `delPhonebook` API method and return the raw JSON envelope.
17091    pub async fn del_phonebook_raw(&self, params: &DelPhonebookParams) -> Result<Value> {
17092        self.call_raw("delPhonebook", params).await
17093    }
17094
17095    /// \- Deletes a specific Phonebook group from your Account.
17096    ///
17097    /// Call the `delPhonebookGroup` API method and deserialize into [`DelPhonebookGroupResponse`].
17098    pub async fn del_phonebook_group(
17099        &self,
17100        params: &DelPhonebookGroupParams,
17101    ) -> Result<DelPhonebookGroupResponse> {
17102        self.call("delPhonebookGroup", params).await
17103    }
17104
17105    /// Call the `delPhonebookGroup` API method and return the raw JSON envelope.
17106    pub async fn del_phonebook_group_raw(&self, params: &DelPhonebookGroupParams) -> Result<Value> {
17107        self.call_raw("delPhonebookGroup", params).await
17108    }
17109
17110    /// \- Deletes a specific Queue from your Account.
17111    ///
17112    /// Call the `delQueue` API method and deserialize into [`DelQueueResponse`].
17113    pub async fn del_queue(&self, params: &DelQueueParams) -> Result<DelQueueResponse> {
17114        self.call("delQueue", params).await
17115    }
17116
17117    /// Call the `delQueue` API method and return the raw JSON envelope.
17118    pub async fn del_queue_raw(&self, params: &DelQueueParams) -> Result<Value> {
17119        self.call_raw("delQueue", params).await
17120    }
17121
17122    /// \- Deletes a specific Recording from your Account.
17123    ///
17124    /// Call the `delRecording` API method and deserialize into [`DelRecordingResponse`].
17125    pub async fn del_recording(&self, params: &DelRecordingParams) -> Result<DelRecordingResponse> {
17126        self.call("delRecording", params).await
17127    }
17128
17129    /// Call the `delRecording` API method and return the raw JSON envelope.
17130    pub async fn del_recording_raw(&self, params: &DelRecordingParams) -> Result<Value> {
17131        self.call_raw("delRecording", params).await
17132    }
17133
17134    /// \- Deletes a specific Ring Group from your Account.
17135    ///
17136    /// Call the `delRingGroup` API method and deserialize into [`DelRingGroupResponse`].
17137    pub async fn del_ring_group(
17138        &self,
17139        params: &DelRingGroupParams,
17140    ) -> Result<DelRingGroupResponse> {
17141        self.call("delRingGroup", params).await
17142    }
17143
17144    /// Call the `delRingGroup` API method and return the raw JSON envelope.
17145    pub async fn del_ring_group_raw(&self, params: &DelRingGroupParams) -> Result<Value> {
17146        self.call_raw("delRingGroup", params).await
17147    }
17148
17149    /// \- Deletes a specific SIP URI from your Account.
17150    ///
17151    /// Call the `delSIPURI` API method and deserialize into [`DelSIPURIResponse`].
17152    pub async fn del_sip_uri(&self, params: &DelSIPURIParams) -> Result<DelSIPURIResponse> {
17153        self.call("delSIPURI", params).await
17154    }
17155
17156    /// Call the `delSIPURI` API method and return the raw JSON envelope.
17157    pub async fn del_sip_uri_raw(&self, params: &DelSIPURIParams) -> Result<Value> {
17158        self.call_raw("delSIPURI", params).await
17159    }
17160
17161    /// \- Deletes a specific Static Member from Queue.
17162    ///
17163    /// Call the `delStaticMember` API method and deserialize into [`DelStaticMemberResponse`].
17164    pub async fn del_static_member(
17165        &self,
17166        params: &DelStaticMemberParams,
17167    ) -> Result<DelStaticMemberResponse> {
17168        self.call("delStaticMember", params).await
17169    }
17170
17171    /// Call the `delStaticMember` API method and return the raw JSON envelope.
17172    pub async fn del_static_member_raw(&self, params: &DelStaticMemberParams) -> Result<Value> {
17173        self.call_raw("delStaticMember", params).await
17174    }
17175
17176    /// \- Deletes a specific Sub Account from your Account
17177    ///
17178    /// Call the `delSubAccount` API method and deserialize into [`DelSubAccountResponse`].
17179    pub async fn del_sub_account(
17180        &self,
17181        params: &DelSubAccountParams,
17182    ) -> Result<DelSubAccountResponse> {
17183        self.call("delSubAccount", params).await
17184    }
17185
17186    /// Call the `delSubAccount` API method and return the raw JSON envelope.
17187    pub async fn del_sub_account_raw(&self, params: &DelSubAccountParams) -> Result<Value> {
17188        self.call_raw("delSubAccount", params).await
17189    }
17190
17191    /// \- Deletes a specific Time Condition from your Account.
17192    ///
17193    /// Call the `delTimeCondition` API method and deserialize into [`DelTimeConditionResponse`].
17194    pub async fn del_time_condition(
17195        &self,
17196        params: &DelTimeConditionParams,
17197    ) -> Result<DelTimeConditionResponse> {
17198        self.call("delTimeCondition", params).await
17199    }
17200
17201    /// Call the `delTimeCondition` API method and return the raw JSON envelope.
17202    pub async fn del_time_condition_raw(&self, params: &DelTimeConditionParams) -> Result<Value> {
17203        self.call_raw("delTimeCondition", params).await
17204    }
17205
17206    /// \- Deletes a specific Voicemail from your Account
17207    ///
17208    /// Call the `delVoicemail` API method and deserialize into [`DelVoicemailResponse`].
17209    pub async fn del_voicemail(&self, params: &DelVoicemailParams) -> Result<DelVoicemailResponse> {
17210        self.call("delVoicemail", params).await
17211    }
17212
17213    /// Call the `delVoicemail` API method and return the raw JSON envelope.
17214    pub async fn del_voicemail_raw(&self, params: &DelVoicemailParams) -> Result<Value> {
17215        self.call_raw("delVoicemail", params).await
17216    }
17217
17218    /// \- Deletes a specific Fax Message from your Account.
17219    ///
17220    /// Call the `deleteFaxMessage` API method and deserialize into [`DeleteFAXMessageResponse`].
17221    pub async fn delete_fax_message(
17222        &self,
17223        params: &DeleteFAXMessageParams,
17224    ) -> Result<DeleteFAXMessageResponse> {
17225        self.call("deleteFaxMessage", params).await
17226    }
17227
17228    /// Call the `deleteFaxMessage` API method and return the raw JSON envelope.
17229    pub async fn delete_fax_message_raw(&self, params: &DeleteFAXMessageParams) -> Result<Value> {
17230        self.call_raw("deleteFaxMessage", params).await
17231    }
17232
17233    /// \- Deletes a specific MMS from your Account.
17234    ///
17235    /// Call the `deleteMMS` API method and deserialize into [`DeleteMMSResponse`].
17236    pub async fn delete_mms(&self, params: &DeleteMMSParams) -> Result<DeleteMMSResponse> {
17237        self.call("deleteMMS", params).await
17238    }
17239
17240    /// Call the `deleteMMS` API method and return the raw JSON envelope.
17241    pub async fn delete_mms_raw(&self, params: &DeleteMMSParams) -> Result<Value> {
17242        self.call_raw("deleteMMS", params).await
17243    }
17244
17245    /// \- Deletes a specific SMS from your Account.
17246    ///
17247    /// Call the `deleteSMS` API method and deserialize into [`DeleteSMSResponse`].
17248    pub async fn delete_sms(&self, params: &DeleteSMSParams) -> Result<DeleteSMSResponse> {
17249        self.call("deleteSMS", params).await
17250    }
17251
17252    /// Call the `deleteSMS` API method and return the raw JSON envelope.
17253    pub async fn delete_sms_raw(&self, params: &DeleteSMSParams) -> Result<Value> {
17254        self.call_raw("deleteSMS", params).await
17255    }
17256
17257    /// \- Retrieves a list of e911 Address Types if no additional parameter is
17258    /// provided.
17259    /// \- Retrieves a specific e911 Address Type if an Address code is provided.
17260    ///
17261    /// Call the `e911AddressTypes` API method and deserialize into [`E911AddressTypesResponse`].
17262    pub async fn e911_address_types(
17263        &self,
17264        params: &E911AddressTypesParams,
17265    ) -> Result<E911AddressTypesResponse> {
17266        self.call("e911AddressTypes", params).await
17267    }
17268
17269    /// Call the `e911AddressTypes` API method and return the raw JSON envelope.
17270    pub async fn e911_address_types_raw(&self, params: &E911AddressTypesParams) -> Result<Value> {
17271        self.call_raw("e911AddressTypes", params).await
17272    }
17273
17274    /// \- Cancel the e911 Service from a specific DID.
17275    ///
17276    /// Call the `e911Cancel` API method and deserialize into [`E911CancelResponse`].
17277    pub async fn e911_cancel(&self, params: &E911CancelParams) -> Result<E911CancelResponse> {
17278        self.call("e911Cancel", params).await
17279    }
17280
17281    /// Call the `e911Cancel` API method and return the raw JSON envelope.
17282    pub async fn e911_cancel_raw(&self, params: &E911CancelParams) -> Result<Value> {
17283        self.call_raw("e911Cancel", params).await
17284    }
17285
17286    /// \- Retrieves the e911 information from a specific DID.
17287    ///
17288    /// Call the `e911Info` API method and deserialize into [`E911InfoResponse`].
17289    pub async fn e911_info(&self, params: &E911InfoParams) -> Result<E911InfoResponse> {
17290        self.call("e911Info", params).await
17291    }
17292
17293    /// Call the `e911Info` API method and return the raw JSON envelope.
17294    pub async fn e911_info_raw(&self, params: &E911InfoParams) -> Result<Value> {
17295        self.call_raw("e911Info", params).await
17296    }
17297
17298    /// \- Subscribes your DID to the e911 Emergency Services.
17299    ///
17300    /// Call the `e911Provision` API method and deserialize into [`E911ProvisionResponse`].
17301    pub async fn e911_provision(
17302        &self,
17303        params: &E911ProvisionParams,
17304    ) -> Result<E911ProvisionResponse> {
17305        self.call("e911Provision", params).await
17306    }
17307
17308    /// Call the `e911Provision` API method and return the raw JSON envelope.
17309    pub async fn e911_provision_raw(&self, params: &E911ProvisionParams) -> Result<Value> {
17310        self.call_raw("e911Provision", params).await
17311    }
17312
17313    /// \- Subscribes your DID to the e911 Emergency Services.
17314    /// \- All e911 information will be validated by the VoIP.ms staff.
17315    ///
17316    /// Call the `e911ProvisionManually` API method and deserialize into [`E911ProvisionManuallyResponse`].
17317    pub async fn e911_provision_manually(
17318        &self,
17319        params: &E911ProvisionManuallyParams,
17320    ) -> Result<E911ProvisionManuallyResponse> {
17321        self.call("e911ProvisionManually", params).await
17322    }
17323
17324    /// Call the `e911ProvisionManually` API method and return the raw JSON envelope.
17325    pub async fn e911_provision_manually_raw(
17326        &self,
17327        params: &E911ProvisionManuallyParams,
17328    ) -> Result<Value> {
17329        self.call_raw("e911ProvisionManually", params).await
17330    }
17331
17332    /// \- Updates the Information from your e911 Emergency Services
17333    /// Subscription.
17334    ///
17335    /// Call the `e911Update` API method and deserialize into [`E911UpdateResponse`].
17336    pub async fn e911_update(&self, params: &E911UpdateParams) -> Result<E911UpdateResponse> {
17337        self.call("e911Update", params).await
17338    }
17339
17340    /// Call the `e911Update` API method and return the raw JSON envelope.
17341    pub async fn e911_update_raw(&self, params: &E911UpdateParams) -> Result<Value> {
17342        self.call_raw("e911Update", params).await
17343    }
17344
17345    /// \- Validates your e911 information in order to start your e911 Emergency
17346    /// Services Subscription.
17347    ///
17348    /// Call the `e911Validate` API method and deserialize into [`E911ValidateResponse`].
17349    pub async fn e911_validate(&self, params: &E911ValidateParams) -> Result<E911ValidateResponse> {
17350        self.call("e911Validate", params).await
17351    }
17352
17353    /// Call the `e911Validate` API method and return the raw JSON envelope.
17354    pub async fn e911_validate_raw(&self, params: &E911ValidateParams) -> Result<Value> {
17355        self.call_raw("e911Validate", params).await
17356    }
17357
17358    /// \- Retrieves a list of Allowed Codecs if no additional parameter is
17359    /// provided.
17360    /// \- Retrieves a specific Allowed Codec if a codec code is provided.
17361    ///
17362    /// Call the `getAllowedCodecs` API method and deserialize into [`GetAllowedCodecsResponse`].
17363    pub async fn get_allowed_codecs(
17364        &self,
17365        params: &GetAllowedCodecsParams,
17366    ) -> Result<GetAllowedCodecsResponse> {
17367        self.call("getAllowedCodecs", params).await
17368    }
17369
17370    /// Call the `getAllowedCodecs` API method and return the raw JSON envelope.
17371    pub async fn get_allowed_codecs_raw(&self, params: &GetAllowedCodecsParams) -> Result<Value> {
17372        self.call_raw("getAllowedCodecs", params).await
17373    }
17374
17375    /// \- Retrieves a list of Authentication Types if no additional parameter is
17376    /// provided.
17377    /// \- Retrieves a specific Authentication Type if an auth type code is
17378    /// provided.
17379    ///
17380    /// Call the `getAuthTypes` API method and deserialize into [`GetAuthTypesResponse`].
17381    pub async fn get_auth_types(
17382        &self,
17383        params: &GetAuthTypesParams,
17384    ) -> Result<GetAuthTypesResponse> {
17385        self.call("getAuthTypes", params).await
17386    }
17387
17388    /// Call the `getAuthTypes` API method and return the raw JSON envelope.
17389    pub async fn get_auth_types_raw(&self, params: &GetAuthTypesParams) -> Result<Value> {
17390        self.call_raw("getAuthTypes", params).await
17391    }
17392
17393    /// \- Retrieves a list of backorder DIDs if no additional parameter is
17394    /// provided.
17395    /// \- Retrieves a specific backorder DID if a backorder DID code is
17396    /// provided.
17397    ///
17398    /// Call the `getBackOrders` API method and deserialize into [`GetBackOrdersResponse`].
17399    pub async fn get_back_orders(
17400        &self,
17401        params: &GetBackOrdersParams,
17402    ) -> Result<GetBackOrdersResponse> {
17403        self.call("getBackOrders", params).await
17404    }
17405
17406    /// Call the `getBackOrders` API method and return the raw JSON envelope.
17407    pub async fn get_back_orders_raw(&self, params: &GetBackOrdersParams) -> Result<Value> {
17408        self.call_raw("getBackOrders", params).await
17409    }
17410
17411    /// \- Retrieves Balance for your Account if no additional parameter is
17412    /// provided.
17413    /// \- Retrieves Balance and Calls Statistics for your Account if "advanced"
17414    /// parameter is true.
17415    ///
17416    /// Call the `getBalance` API method and deserialize into [`GetBalanceResponse`].
17417    pub async fn get_balance(&self, params: &GetBalanceParams) -> Result<GetBalanceResponse> {
17418        self.call("getBalance", params).await
17419    }
17420
17421    /// Call the `getBalance` API method and return the raw JSON envelope.
17422    pub async fn get_balance_raw(&self, params: &GetBalanceParams) -> Result<Value> {
17423        self.call_raw("getBalance", params).await
17424    }
17425
17426    /// \- Retrieves a list of Balance Management Options if no additional
17427    /// parameter is provided.
17428    /// \- Retrieves a specific Balance Management Option if a code is provided.
17429    ///
17430    /// Call the `getBalanceManagement` API method and deserialize into [`GetBalanceManagementResponse`].
17431    pub async fn get_balance_management(
17432        &self,
17433        params: &GetBalanceManagementParams,
17434    ) -> Result<GetBalanceManagementResponse> {
17435        self.call("getBalanceManagement", params).await
17436    }
17437
17438    /// Call the `getBalanceManagement` API method and return the raw JSON envelope.
17439    pub async fn get_balance_management_raw(
17440        &self,
17441        params: &GetBalanceManagementParams,
17442    ) -> Result<Value> {
17443        self.call_raw("getBalanceManagement", params).await
17444    }
17445
17446    /// \- Retrieves the Call Detail Records of all your calls.
17447    ///
17448    /// Call the `getCDR` API method and deserialize into [`GetCDRResponse`].
17449    pub async fn get_cdr(&self, params: &GetCDRParams) -> Result<GetCDRResponse> {
17450        self.call("getCDR", params).await
17451    }
17452
17453    /// Call the `getCDR` API method and return the raw JSON envelope.
17454    pub async fn get_cdr_raw(&self, params: &GetCDRParams) -> Result<Value> {
17455        self.call_raw("getCDR", params).await
17456    }
17457
17458    /// \- Retrieves all Sub Accounts if no additional parameter is provided.
17459    /// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
17460    ///
17461    /// Call the `getCallAccounts` API method and deserialize into [`GetCallAccountsResponse`].
17462    pub async fn get_call_accounts(
17463        &self,
17464        params: &GetCallAccountsParams,
17465    ) -> Result<GetCallAccountsResponse> {
17466        self.call("getCallAccounts", params).await
17467    }
17468
17469    /// Call the `getCallAccounts` API method and return the raw JSON envelope.
17470    pub async fn get_call_accounts_raw(&self, params: &GetCallAccountsParams) -> Result<Value> {
17471        self.call_raw("getCallAccounts", params).await
17472    }
17473
17474    /// \- Retrieves a list of Call Billing Options.
17475    ///
17476    /// Call the `getCallBilling` API method and deserialize into [`GetCallBillingResponse`].
17477    pub async fn get_call_billing(
17478        &self,
17479        params: &GetCallBillingParams,
17480    ) -> Result<GetCallBillingResponse> {
17481        self.call("getCallBilling", params).await
17482    }
17483
17484    /// Call the `getCallBilling` API method and return the raw JSON envelope.
17485    pub async fn get_call_billing_raw(&self, params: &GetCallBillingParams) -> Result<Value> {
17486        self.call_raw("getCallBilling", params).await
17487    }
17488
17489    /// \- Retrieves a list of Call Huntings if no additional parameter is
17490    /// provided.
17491    /// \- Retrieves a specific Call Huntings if a Call Hunting code is provided.
17492    ///
17493    /// Call the `getCallHuntings` API method and deserialize into [`GetCallHuntingsResponse`].
17494    pub async fn get_call_huntings(
17495        &self,
17496        params: &GetCallHuntingsParams,
17497    ) -> Result<GetCallHuntingsResponse> {
17498        self.call("getCallHuntings", params).await
17499    }
17500
17501    /// Call the `getCallHuntings` API method and return the raw JSON envelope.
17502    pub async fn get_call_huntings_raw(&self, params: &GetCallHuntingsParams) -> Result<Value> {
17503        self.call_raw("getCallHuntings", params).await
17504    }
17505
17506    /// \- Retrieves all Call Parking entries if no additional parameter is
17507    /// provided.
17508    /// \- Retrieves a specific Parking entry if a Call Parking ID is provided.
17509    ///
17510    /// Call the `getCallParking` API method and deserialize into [`GetCallParkingResponse`].
17511    pub async fn get_call_parking(
17512        &self,
17513        params: &GetCallParkingParams,
17514    ) -> Result<GetCallParkingResponse> {
17515        self.call("getCallParking", params).await
17516    }
17517
17518    /// Call the `getCallParking` API method and return the raw JSON envelope.
17519    pub async fn get_call_parking_raw(&self, params: &GetCallParkingParams) -> Result<Value> {
17520        self.call_raw("getCallParking", params).await
17521    }
17522
17523    /// \- Retrieves one especific call recording information, including the
17524    /// recording file on mp3 format.
17525    ///
17526    /// Call the `getCallRecording` API method and deserialize into [`GetCallRecordingResponse`].
17527    pub async fn get_call_recording(
17528        &self,
17529        params: &GetCallRecordingParams,
17530    ) -> Result<GetCallRecordingResponse> {
17531        self.call("getCallRecording", params).await
17532    }
17533
17534    /// Call the `getCallRecording` API method and return the raw JSON envelope.
17535    pub async fn get_call_recording_raw(&self, params: &GetCallRecordingParams) -> Result<Value> {
17536        self.call_raw("getCallRecording", params).await
17537    }
17538
17539    /// \- Retrieves all call recordings related to account.
17540    ///
17541    /// Call the `getCallRecordings` API method and deserialize into [`GetCallRecordingsResponse`].
17542    pub async fn get_call_recordings(
17543        &self,
17544        params: &GetCallRecordingsParams,
17545    ) -> Result<GetCallRecordingsResponse> {
17546        self.call("getCallRecordings", params).await
17547    }
17548
17549    /// Call the `getCallRecordings` API method and return the raw JSON envelope.
17550    pub async fn get_call_recordings_raw(&self, params: &GetCallRecordingsParams) -> Result<Value> {
17551        self.call_raw("getCallRecordings", params).await
17552    }
17553
17554    /// \- Retrieves all Call Transcriptions if no additional parameter is
17555    /// provided.
17556    ///
17557    /// Call the `getCallTranscriptions` API method and deserialize into [`GetCallTranscriptionsResponse`].
17558    pub async fn get_call_transcriptions(
17559        &self,
17560        params: &GetCallTranscriptionsParams,
17561    ) -> Result<GetCallTranscriptionsResponse> {
17562        self.call("getCallTranscriptions", params).await
17563    }
17564
17565    /// Call the `getCallTranscriptions` API method and return the raw JSON envelope.
17566    pub async fn get_call_transcriptions_raw(
17567        &self,
17568        params: &GetCallTranscriptionsParams,
17569    ) -> Result<Value> {
17570        self.call_raw("getCallTranscriptions", params).await
17571    }
17572
17573    /// \- Retrieves a list of Call Types and All DIDs if no additional parameter
17574    /// is provided.
17575    /// \- Retrieves a list of Call Types and Reseller Client DIDs if a Reseller
17576    /// Client ID is provided.
17577    ///
17578    /// Call the `getCallTypes` API method and deserialize into [`GetCallTypesResponse`].
17579    pub async fn get_call_types(
17580        &self,
17581        params: &GetCallTypesParams,
17582    ) -> Result<GetCallTypesResponse> {
17583        self.call("getCallTypes", params).await
17584    }
17585
17586    /// Call the `getCallTypes` API method and return the raw JSON envelope.
17587    pub async fn get_call_types_raw(&self, params: &GetCallTypesParams) -> Result<Value> {
17588        self.call_raw("getCallTypes", params).await
17589    }
17590
17591    /// \- Retrieves a list of Callbacks if no additional parameter is provided.
17592    /// \- Retrieves a specific Callback if a Callback code is provided.
17593    ///
17594    /// Call the `getCallbacks` API method and deserialize into [`GetCallbacksResponse`].
17595    pub async fn get_callbacks(&self, params: &GetCallbacksParams) -> Result<GetCallbacksResponse> {
17596        self.call("getCallbacks", params).await
17597    }
17598
17599    /// Call the `getCallbacks` API method and return the raw JSON envelope.
17600    pub async fn get_callbacks_raw(&self, params: &GetCallbacksParams) -> Result<Value> {
17601        self.call_raw("getCallbacks", params).await
17602    }
17603
17604    /// \- Retrieves a list of CallerID Filterings if no additional parameter is
17605    /// provided.
17606    /// \- Retrieves a specific CallerID Filtering if a CallerID Filtering code
17607    /// is provided.
17608    ///
17609    /// Call the `getCallerIDFiltering` API method and deserialize into [`GetCallerIDFilteringResponse`].
17610    pub async fn get_caller_id_filtering(
17611        &self,
17612        params: &GetCallerIDFilteringParams,
17613    ) -> Result<GetCallerIDFilteringResponse> {
17614        self.call("getCallerIDFiltering", params).await
17615    }
17616
17617    /// Call the `getCallerIDFiltering` API method and return the raw JSON envelope.
17618    pub async fn get_caller_id_filtering_raw(
17619        &self,
17620        params: &GetCallerIDFilteringParams,
17621    ) -> Result<Value> {
17622        self.call_raw("getCallerIDFiltering", params).await
17623    }
17624
17625    /// \- Retrieves a list of Carriers for Vanity Numbers if no additional
17626    /// parameter is provided.
17627    /// \- Retrieves a specific Carrier for Vanity Numbers if a carrier code is
17628    /// provided.
17629    ///
17630    /// Call the `getCarriers` API method and deserialize into [`GetCarriersResponse`].
17631    pub async fn get_carriers(&self, params: &GetCarriersParams) -> Result<GetCarriersResponse> {
17632        self.call("getCarriers", params).await
17633    }
17634
17635    /// Call the `getCarriers` API method and return the raw JSON envelope.
17636    pub async fn get_carriers_raw(&self, params: &GetCarriersParams) -> Result<Value> {
17637        self.call_raw("getCarriers", params).await
17638    }
17639
17640    /// \- Retrieves Charges made to a specific Reseller Client.
17641    ///
17642    /// Call the `getCharges` API method and deserialize into [`GetChargesResponse`].
17643    pub async fn get_charges(&self, params: &GetChargesParams) -> Result<GetChargesResponse> {
17644        self.call("getCharges", params).await
17645    }
17646
17647    /// Call the `getCharges` API method and return the raw JSON envelope.
17648    pub async fn get_charges_raw(&self, params: &GetChargesParams) -> Result<Value> {
17649        self.call_raw("getCharges", params).await
17650    }
17651
17652    /// \- Retrieves a list of Packages for a specific Reseller Client.
17653    ///
17654    /// Call the `getClientPackages` API method and deserialize into [`GetClientPackagesResponse`].
17655    pub async fn get_client_packages(
17656        &self,
17657        params: &GetClientPackagesParams,
17658    ) -> Result<GetClientPackagesResponse> {
17659        self.call("getClientPackages", params).await
17660    }
17661
17662    /// Call the `getClientPackages` API method and return the raw JSON envelope.
17663    pub async fn get_client_packages_raw(&self, params: &GetClientPackagesParams) -> Result<Value> {
17664        self.call_raw("getClientPackages", params).await
17665    }
17666
17667    /// \- Retrieves the Threshold Information for a specific Reseller Client.
17668    ///
17669    /// Call the `getClientThreshold` API method and deserialize into [`GetClientThresholdResponse`].
17670    pub async fn get_client_threshold(
17671        &self,
17672        params: &GetClientThresholdParams,
17673    ) -> Result<GetClientThresholdResponse> {
17674        self.call("getClientThreshold", params).await
17675    }
17676
17677    /// Call the `getClientThreshold` API method and return the raw JSON envelope.
17678    pub async fn get_client_threshold_raw(
17679        &self,
17680        params: &GetClientThresholdParams,
17681    ) -> Result<Value> {
17682        self.call_raw("getClientThreshold", params).await
17683    }
17684
17685    /// \- Retrieves a list of all Clients if no additional parameter is
17686    /// provided.- Retrieves a specific Reseller Client if a Reseller Client ID
17687    /// is provided.
17688    /// \- Retrieves a specific Reseller Client if a Reseller Client e-mail is
17689    /// provided.
17690    ///
17691    /// Call the `getClients` API method and deserialize into [`GetClientsResponse`].
17692    pub async fn get_clients(&self, params: &GetClientsParams) -> Result<GetClientsResponse> {
17693        self.call("getClients", params).await
17694    }
17695
17696    /// Call the `getClients` API method and return the raw JSON envelope.
17697    pub async fn get_clients_raw(&self, params: &GetClientsParams) -> Result<Value> {
17698        self.call_raw("getClients", params).await
17699    }
17700
17701    /// \- Retrieves a list of Conferences if no additional parameter is
17702    /// provided.
17703    /// \- Retrieves a specific Conference if a conference code is provided.
17704    ///
17705    /// Call the `getConference` API method and deserialize into [`GetConferenceResponse`].
17706    pub async fn get_conference(
17707        &self,
17708        params: &GetConferenceParams,
17709    ) -> Result<GetConferenceResponse> {
17710        self.call("getConference", params).await
17711    }
17712
17713    /// Call the `getConference` API method and return the raw JSON envelope.
17714    pub async fn get_conference_raw(&self, params: &GetConferenceParams) -> Result<Value> {
17715        self.call_raw("getConference", params).await
17716    }
17717
17718    /// \- Retrieves a list of Member profiles if no additional parameter is
17719    /// provided.
17720    /// \- Retrieves a specific member if a member code is provided.
17721    ///
17722    /// Call the `getConferenceMembers` API method and deserialize into [`GetConferenceMembersResponse`].
17723    pub async fn get_conference_members(
17724        &self,
17725        params: &GetConferenceMembersParams,
17726    ) -> Result<GetConferenceMembersResponse> {
17727        self.call("getConferenceMembers", params).await
17728    }
17729
17730    /// Call the `getConferenceMembers` API method and return the raw JSON envelope.
17731    pub async fn get_conference_members_raw(
17732        &self,
17733        params: &GetConferenceMembersParams,
17734    ) -> Result<Value> {
17735        self.call_raw("getConferenceMembers", params).await
17736    }
17737
17738    /// \- Retrieves a specific Recording File data in Base64 format.
17739    ///
17740    /// Call the `getConferenceRecordingFile` API method and deserialize into [`GetConferenceRecordingFileResponse`].
17741    pub async fn get_conference_recording_file(
17742        &self,
17743        params: &GetConferenceRecordingFileParams,
17744    ) -> Result<GetConferenceRecordingFileResponse> {
17745        self.call("getConferenceRecordingFile", params).await
17746    }
17747
17748    /// Call the `getConferenceRecordingFile` API method and return the raw JSON envelope.
17749    pub async fn get_conference_recording_file_raw(
17750        &self,
17751        params: &GetConferenceRecordingFileParams,
17752    ) -> Result<Value> {
17753        self.call_raw("getConferenceRecordingFile", params).await
17754    }
17755
17756    /// \- Retrieves a list of recordings of a specific conference.
17757    ///
17758    /// Call the `getConferenceRecordings` API method and deserialize into [`GetConferenceRecordingsResponse`].
17759    pub async fn get_conference_recordings(
17760        &self,
17761        params: &GetConferenceRecordingsParams,
17762    ) -> Result<GetConferenceRecordingsResponse> {
17763        self.call("getConferenceRecordings", params).await
17764    }
17765
17766    /// Call the `getConferenceRecordings` API method and return the raw JSON envelope.
17767    pub async fn get_conference_recordings_raw(
17768        &self,
17769        params: &GetConferenceRecordingsParams,
17770    ) -> Result<Value> {
17771        self.call_raw("getConferenceRecordings", params).await
17772    }
17773
17774    /// \- Retrieves a list of Countries if no additional parameter is provided.
17775    /// \- Retrieves a specific Country if a country code is provided.
17776    ///
17777    /// Call the `getCountries` API method and deserialize into [`GetCountriesResponse`].
17778    pub async fn get_countries(&self, params: &GetCountriesParams) -> Result<GetCountriesResponse> {
17779        self.call("getCountries", params).await
17780    }
17781
17782    /// Call the `getCountries` API method and return the raw JSON envelope.
17783    pub async fn get_countries_raw(&self, params: &GetCountriesParams) -> Result<Value> {
17784        self.call_raw("getCountries", params).await
17785    }
17786
17787    /// \- Retrieves a list of Countries for International DIDs if no country
17788    /// code is provided.
17789    /// \- Retrieves a specific Country for International DIDs if a country code
17790    /// is provided.
17791    ///
17792    /// Call the `getDIDCountries` API method and deserialize into [`GetDIDCountriesResponse`].
17793    pub async fn get_did_countries(
17794        &self,
17795        params: &GetDIDCountriesParams,
17796    ) -> Result<GetDIDCountriesResponse> {
17797        self.call("getDIDCountries", params).await
17798    }
17799
17800    /// Call the `getDIDCountries` API method and return the raw JSON envelope.
17801    pub async fn get_did_countries_raw(&self, params: &GetDIDCountriesParams) -> Result<Value> {
17802        self.call_raw("getDIDCountries", params).await
17803    }
17804
17805    /// \- Retrives a list of Canadian DIDs by Province and Ratecenter.
17806    ///
17807    /// Call the `getDIDsCAN` API method and deserialize into [`GetDIDsCANResponse`].
17808    pub async fn get_dids_can(&self, params: &GetDIDsCANParams) -> Result<GetDIDsCANResponse> {
17809        self.call("getDIDsCAN", params).await
17810    }
17811
17812    /// Call the `getDIDsCAN` API method and return the raw JSON envelope.
17813    pub async fn get_dids_can_raw(&self, params: &GetDIDsCANParams) -> Result<Value> {
17814        self.call_raw("getDIDsCAN", params).await
17815    }
17816
17817    /// \- Retrieves information from all your DIDs if no additional parameter is
17818    /// provided.
17819    /// \- Retrieves information from Reseller Client's DIDs if a Reseller Client
17820    /// ID is provided.
17821    /// \- Retrieves information from Sub Account's DIDs if a Sub Accunt is
17822    /// provided.
17823    /// \- Retrieves information from a specific DID if a DID Number is provided.
17824    /// \- Retrieves SMS information from a specific DID if the SMS is available.
17825    ///
17826    /// Call the `getDIDsInfo` API method and deserialize into [`GetDIDsInfoResponse`].
17827    pub async fn get_dids_info(&self, params: &GetDIDsInfoParams) -> Result<GetDIDsInfoResponse> {
17828        self.call("getDIDsInfo", params).await
17829    }
17830
17831    /// Call the `getDIDsInfo` API method and return the raw JSON envelope.
17832    pub async fn get_dids_info_raw(&self, params: &GetDIDsInfoParams) -> Result<Value> {
17833        self.call_raw("getDIDsInfo", params).await
17834    }
17835
17836    /// \- Retrieves a list of International Geographic DIDs by Country.
17837    ///
17838    /// Call the `getDIDsInternationalGeographic` API method and deserialize into [`GetDIDsInternationalGeographicResponse`].
17839    pub async fn get_dids_international_geographic(
17840        &self,
17841        params: &GetDIDsInternationalGeographicParams,
17842    ) -> Result<GetDIDsInternationalGeographicResponse> {
17843        self.call("getDIDsInternationalGeographic", params).await
17844    }
17845
17846    /// Call the `getDIDsInternationalGeographic` API method and return the raw JSON envelope.
17847    pub async fn get_dids_international_geographic_raw(
17848        &self,
17849        params: &GetDIDsInternationalGeographicParams,
17850    ) -> Result<Value> {
17851        self.call_raw("getDIDsInternationalGeographic", params)
17852            .await
17853    }
17854
17855    /// \- Retrieves a list of International National DIDs by Country.
17856    ///
17857    /// Call the `getDIDsInternationalNational` API method and deserialize into [`GetDIDsInternationalNationalResponse`].
17858    pub async fn get_dids_international_national(
17859        &self,
17860        params: &GetDIDsInternationalNationalParams,
17861    ) -> Result<GetDIDsInternationalNationalResponse> {
17862        self.call("getDIDsInternationalNational", params).await
17863    }
17864
17865    /// Call the `getDIDsInternationalNational` API method and return the raw JSON envelope.
17866    pub async fn get_dids_international_national_raw(
17867        &self,
17868        params: &GetDIDsInternationalNationalParams,
17869    ) -> Result<Value> {
17870        self.call_raw("getDIDsInternationalNational", params).await
17871    }
17872
17873    /// \- Retrieves a list of International TollFree DIDs by Country.
17874    ///
17875    /// Call the `getDIDsInternationalTollFree` API method and deserialize into [`GetDIDsInternationalTollFreeResponse`].
17876    pub async fn get_dids_international_toll_free(
17877        &self,
17878        params: &GetDIDsInternationalTollFreeParams,
17879    ) -> Result<GetDIDsInternationalTollFreeResponse> {
17880        self.call("getDIDsInternationalTollFree", params).await
17881    }
17882
17883    /// Call the `getDIDsInternationalTollFree` API method and return the raw JSON envelope.
17884    pub async fn get_dids_international_toll_free_raw(
17885        &self,
17886        params: &GetDIDsInternationalTollFreeParams,
17887    ) -> Result<Value> {
17888        self.call_raw("getDIDsInternationalTollFree", params).await
17889    }
17890
17891    /// \- Retrives a list of USA DIDs by State and Ratecenter.
17892    ///
17893    /// Call the `getDIDsUSA` API method and deserialize into [`GetDIDsUSAResponse`].
17894    pub async fn get_dids_usa(&self, params: &GetDIDsUSAParams) -> Result<GetDIDsUSAResponse> {
17895        self.call("getDIDsUSA", params).await
17896    }
17897
17898    /// Call the `getDIDsUSA` API method and return the raw JSON envelope.
17899    pub async fn get_dids_usa_raw(&self, params: &GetDIDsUSAParams) -> Result<Value> {
17900        self.call_raw("getDIDsUSA", params).await
17901    }
17902
17903    /// \- Retrives the list of DIDs assigned to the VPRI.
17904    ///
17905    /// Call the `getDIDvPRI` API method and deserialize into [`GetDIDvPRIResponse`].
17906    pub async fn get_did_vpri(&self, params: &GetDIDvPRIParams) -> Result<GetDIDvPRIResponse> {
17907        self.call("getDIDvPRI", params).await
17908    }
17909
17910    /// Call the `getDIDvPRI` API method and return the raw JSON envelope.
17911    pub async fn get_did_vpri_raw(&self, params: &GetDIDvPRIParams) -> Result<Value> {
17912        self.call_raw("getDIDvPRI", params).await
17913    }
17914
17915    /// \- Retrieves a list of DISAs if no additional parameter is provided.
17916    /// \- Retrieves a specific DISA if a DISA code is provided.
17917    ///
17918    /// Call the `getDISAs` API method and deserialize into [`GetDISAsResponse`].
17919    pub async fn get_disas(&self, params: &GetDISAsParams) -> Result<GetDISAsResponse> {
17920        self.call("getDISAs", params).await
17921    }
17922
17923    /// Call the `getDISAs` API method and return the raw JSON envelope.
17924    pub async fn get_disas_raw(&self, params: &GetDISAsParams) -> Result<Value> {
17925        self.call_raw("getDISAs", params).await
17926    }
17927
17928    /// \- Retrieves a list of DTMF Modes if no additional parameter is provided.
17929    /// \- Retrieves a specific DTMF Mode if a DTMF mode code is provided.
17930    ///
17931    /// Call the `getDTMFModes` API method and deserialize into [`GetDTMFModesResponse`].
17932    pub async fn get_dtmf_modes(
17933        &self,
17934        params: &GetDTMFModesParams,
17935    ) -> Result<GetDTMFModesResponse> {
17936        self.call("getDTMFModes", params).await
17937    }
17938
17939    /// Call the `getDTMFModes` API method and return the raw JSON envelope.
17940    pub async fn get_dtmf_modes_raw(&self, params: &GetDTMFModesParams) -> Result<Value> {
17941        self.call_raw("getDTMFModes", params).await
17942    }
17943
17944    /// \- Retrieves Deposits made for a specific Reseller Client.
17945    ///
17946    /// Call the `getDeposits` API method and deserialize into [`GetDepositsResponse`].
17947    pub async fn get_deposits(&self, params: &GetDepositsParams) -> Result<GetDepositsResponse> {
17948        self.call("getDeposits", params).await
17949    }
17950
17951    /// Call the `getDeposits` API method and return the raw JSON envelope.
17952    pub async fn get_deposits_raw(&self, params: &GetDepositsParams) -> Result<Value> {
17953        self.call_raw("getDeposits", params).await
17954    }
17955
17956    /// \- Retrieves a list of Device Types if no additional parameter is
17957    /// provided.
17958    /// \- Retrieves a specific Device Type if a device type code is provided.
17959    ///
17960    /// Call the `getDeviceTypes` API method and deserialize into [`GetDeviceTypesResponse`].
17961    pub async fn get_device_types(
17962        &self,
17963        params: &GetDeviceTypesParams,
17964    ) -> Result<GetDeviceTypesResponse> {
17965        self.call("getDeviceTypes", params).await
17966    }
17967
17968    /// Call the `getDeviceTypes` API method and return the raw JSON envelope.
17969    pub async fn get_device_types_raw(&self, params: &GetDeviceTypesParams) -> Result<Value> {
17970        self.call_raw("getDeviceTypes", params).await
17971    }
17972
17973    /// \- Retrieves a list of "Email to Fax configurations" from your account if
17974    /// no additional parameter is provided.
17975    /// \- Retrieves a specific "Email to Fax configuration" from your account if
17976    /// a ID is provided.
17977    ///
17978    /// Call the `getEmailToFax` API method and deserialize into [`GetEmailToFAXResponse`].
17979    pub async fn get_email_to_fax(
17980        &self,
17981        params: &GetEmailToFAXParams,
17982    ) -> Result<GetEmailToFAXResponse> {
17983        self.call("getEmailToFax", params).await
17984    }
17985
17986    /// Call the `getEmailToFax` API method and return the raw JSON envelope.
17987    pub async fn get_email_to_fax_raw(&self, params: &GetEmailToFAXParams) -> Result<Value> {
17988        self.call_raw("getEmailToFax", params).await
17989    }
17990
17991    /// \- Retrieves a list of Fax Folders from your account.
17992    ///
17993    /// Call the `getFaxFolders` API method and deserialize into [`GetFAXFoldersResponse`].
17994    pub async fn get_fax_folders(
17995        &self,
17996        params: &GetFAXFoldersParams,
17997    ) -> Result<GetFAXFoldersResponse> {
17998        self.call("getFaxFolders", params).await
17999    }
18000
18001    /// Call the `getFaxFolders` API method and return the raw JSON envelope.
18002    pub async fn get_fax_folders_raw(&self, params: &GetFAXFoldersParams) -> Result<Value> {
18003        self.call_raw("getFaxFolders", params).await
18004    }
18005
18006    /// \- Retrieves a Base64 code of the Fax Message to create a PDF file.
18007    ///
18008    /// Call the `getFaxMessagePDF` API method and deserialize into [`GetFAXMessagePDFResponse`].
18009    pub async fn get_fax_message_pdf(
18010        &self,
18011        params: &GetFAXMessagePDFParams,
18012    ) -> Result<GetFAXMessagePDFResponse> {
18013        self.call("getFaxMessagePDF", params).await
18014    }
18015
18016    /// Call the `getFaxMessagePDF` API method and return the raw JSON envelope.
18017    pub async fn get_fax_message_pdf_raw(&self, params: &GetFAXMessagePDFParams) -> Result<Value> {
18018        self.call_raw("getFaxMessagePDF", params).await
18019    }
18020
18021    /// \- Retrieves a list of Fax Messages.
18022    /// \- Retrieves a specific Fax Message if a Fax Message ID is provided.
18023    ///
18024    /// Call the `getFaxMessages` API method and deserialize into [`GetFAXMessagesResponse`].
18025    pub async fn get_fax_messages(
18026        &self,
18027        params: &GetFAXMessagesParams,
18028    ) -> Result<GetFAXMessagesResponse> {
18029        self.call("getFaxMessages", params).await
18030    }
18031
18032    /// Call the `getFaxMessages` API method and return the raw JSON envelope.
18033    pub async fn get_fax_messages_raw(&self, params: &GetFAXMessagesParams) -> Result<Value> {
18034        self.call_raw("getFaxMessages", params).await
18035    }
18036
18037    /// \- Retrieves a list of Fax Numbers.
18038    ///
18039    /// Call the `getFaxNumbersInfo` API method and deserialize into [`GetFAXNumbersInfoResponse`].
18040    pub async fn get_fax_numbers_info(
18041        &self,
18042        params: &GetFAXNumbersInfoParams,
18043    ) -> Result<GetFAXNumbersInfoResponse> {
18044        self.call("getFaxNumbersInfo", params).await
18045    }
18046
18047    /// Call the `getFaxNumbersInfo` API method and return the raw JSON envelope.
18048    pub async fn get_fax_numbers_info_raw(
18049        &self,
18050        params: &GetFAXNumbersInfoParams,
18051    ) -> Result<Value> {
18052        self.call_raw("getFaxNumbersInfo", params).await
18053    }
18054
18055    /// \- Shows if a Fax Number can be ported into our network
18056    ///
18057    /// Call the `getFaxNumbersPortability` API method and deserialize into [`GetFAXNumbersPortabilityResponse`].
18058    pub async fn get_fax_numbers_portability(
18059        &self,
18060        params: &GetFAXNumbersPortabilityParams,
18061    ) -> Result<GetFAXNumbersPortabilityResponse> {
18062        self.call("getFaxNumbersPortability", params).await
18063    }
18064
18065    /// Call the `getFaxNumbersPortability` API method and return the raw JSON envelope.
18066    pub async fn get_fax_numbers_portability_raw(
18067        &self,
18068        params: &GetFAXNumbersPortabilityParams,
18069    ) -> Result<Value> {
18070        self.call_raw("getFaxNumbersPortability", params).await
18071    }
18072
18073    /// \- Retrieves a list of Canadian Fax Provinces if no additional parameter
18074    /// is provided.
18075    /// \- Retrieves a specific Canadian Fax Province if a province code is
18076    /// provided.
18077    ///
18078    /// Call the `getFaxProvinces` API method and deserialize into [`GetFAXProvincesResponse`].
18079    pub async fn get_fax_provinces(
18080        &self,
18081        params: &GetFAXProvincesParams,
18082    ) -> Result<GetFAXProvincesResponse> {
18083        self.call("getFaxProvinces", params).await
18084    }
18085
18086    /// Call the `getFaxProvinces` API method and return the raw JSON envelope.
18087    pub async fn get_fax_provinces_raw(&self, params: &GetFAXProvincesParams) -> Result<Value> {
18088        self.call_raw("getFaxProvinces", params).await
18089    }
18090
18091    /// \- Retrieves a list of Canadian Ratecenters by Province.
18092    ///
18093    /// Call the `getFaxRateCentersCAN` API method and deserialize into [`GetFAXRateCentersCANResponse`].
18094    pub async fn get_fax_rate_centers_can(
18095        &self,
18096        params: &GetFAXRateCentersCANParams,
18097    ) -> Result<GetFAXRateCentersCANResponse> {
18098        self.call("getFaxRateCentersCAN", params).await
18099    }
18100
18101    /// Call the `getFaxRateCentersCAN` API method and return the raw JSON envelope.
18102    pub async fn get_fax_rate_centers_can_raw(
18103        &self,
18104        params: &GetFAXRateCentersCANParams,
18105    ) -> Result<Value> {
18106        self.call_raw("getFaxRateCentersCAN", params).await
18107    }
18108
18109    /// \- Retrieves a list of USA Ratecenters by State.
18110    ///
18111    /// Call the `getFaxRateCentersUSA` API method and deserialize into [`GetFAXRateCentersUSAResponse`].
18112    pub async fn get_fax_rate_centers_usa(
18113        &self,
18114        params: &GetFAXRateCentersUSAParams,
18115    ) -> Result<GetFAXRateCentersUSAResponse> {
18116        self.call("getFaxRateCentersUSA", params).await
18117    }
18118
18119    /// Call the `getFaxRateCentersUSA` API method and return the raw JSON envelope.
18120    pub async fn get_fax_rate_centers_usa_raw(
18121        &self,
18122        params: &GetFAXRateCentersUSAParams,
18123    ) -> Result<Value> {
18124        self.call_raw("getFaxRateCentersUSA", params).await
18125    }
18126
18127    /// \- Retrieves a list of American Fax States if no additional parameter is
18128    /// provided.
18129    /// \- Retrieves a specific American Fax State if a state code is provided.
18130    ///
18131    /// Call the `getFaxStates` API method and deserialize into [`GetFAXStatesResponse`].
18132    pub async fn get_fax_states(
18133        &self,
18134        params: &GetFAXStatesParams,
18135    ) -> Result<GetFAXStatesResponse> {
18136        self.call("getFaxStates", params).await
18137    }
18138
18139    /// Call the `getFaxStates` API method and return the raw JSON envelope.
18140    pub async fn get_fax_states_raw(&self, params: &GetFAXStatesParams) -> Result<Value> {
18141        self.call_raw("getFaxStates", params).await
18142    }
18143
18144    /// \- Retrieves a list of Forwardings if no additional parameter is
18145    /// provided.
18146    /// \- Retrieves a specific Forwarding if a fwd code is provided.
18147    ///
18148    /// Call the `getForwardings` API method and deserialize into [`GetForwardingsResponse`].
18149    pub async fn get_forwardings(
18150        &self,
18151        params: &GetForwardingsParams,
18152    ) -> Result<GetForwardingsResponse> {
18153        self.call("getForwardings", params).await
18154    }
18155
18156    /// Call the `getForwardings` API method and return the raw JSON envelope.
18157    pub async fn get_forwardings_raw(&self, params: &GetForwardingsParams) -> Result<Value> {
18158        self.call_raw("getForwardings", params).await
18159    }
18160
18161    /// \- Shows the IP used by the client application requesting information
18162    /// from the API
18163    /// \* this is the only function not using the IP for authentication.
18164    /// \* the IP returned should be the one used in the API Configuration.
18165    ///
18166    /// Call the `getIP` API method and deserialize into [`GetIPResponse`].
18167    pub async fn get_ip(&self, params: &GetIPParams) -> Result<GetIPResponse> {
18168        self.call("getIP", params).await
18169    }
18170
18171    /// Call the `getIP` API method and return the raw JSON envelope.
18172    pub async fn get_ip_raw(&self, params: &GetIPParams) -> Result<Value> {
18173        self.call_raw("getIP", params).await
18174    }
18175
18176    /// \- Retrieves a list of IVRs if no additional parameter is provided.
18177    /// \- Retrieves a specific IVR if a IVR code is provided.
18178    ///
18179    /// Call the `getIVRs` API method and deserialize into [`GetIVRsResponse`].
18180    pub async fn get_ivrs(&self, params: &GetIVRsParams) -> Result<GetIVRsResponse> {
18181        self.call("getIVRs", params).await
18182    }
18183
18184    /// Call the `getIVRs` API method and return the raw JSON envelope.
18185    pub async fn get_ivrs_raw(&self, params: &GetIVRsParams) -> Result<Value> {
18186        self.call_raw("getIVRs", params).await
18187    }
18188
18189    /// \- Retrieves a list of Types for International DIDs if no additional
18190    /// parameter is provided.
18191    /// \- Retrieves a specific Types for International DIDs if a type code is
18192    /// provided.
18193    ///
18194    /// Call the `getInternationalTypes` API method and deserialize into [`GetInternationalTypesResponse`].
18195    pub async fn get_international_types(
18196        &self,
18197        params: &GetInternationalTypesParams,
18198    ) -> Result<GetInternationalTypesResponse> {
18199        self.call("getInternationalTypes", params).await
18200    }
18201
18202    /// Call the `getInternationalTypes` API method and return the raw JSON envelope.
18203    pub async fn get_international_types_raw(
18204        &self,
18205        params: &GetInternationalTypesParams,
18206    ) -> Result<Value> {
18207        self.call_raw("getInternationalTypes", params).await
18208    }
18209
18210    /// \- Retrieves a list of 'JoinWhenEmpty' Types if no additional parameter
18211    /// is provided.
18212    /// \- Retrieves a specific 'JoinWhenEmpty' Types if a type code is provided.
18213    ///
18214    /// Call the `getJoinWhenEmptyTypes` API method and deserialize into [`GetJoinWhenEmptyTypesResponse`].
18215    pub async fn get_join_when_empty_types(
18216        &self,
18217        params: &GetJoinWhenEmptyTypesParams,
18218    ) -> Result<GetJoinWhenEmptyTypesResponse> {
18219        self.call("getJoinWhenEmptyTypes", params).await
18220    }
18221
18222    /// Call the `getJoinWhenEmptyTypes` API method and return the raw JSON envelope.
18223    pub async fn get_join_when_empty_types_raw(
18224        &self,
18225        params: &GetJoinWhenEmptyTypesParams,
18226    ) -> Result<Value> {
18227        self.call_raw("getJoinWhenEmptyTypes", params).await
18228    }
18229
18230    /// \- Retrieve the details of an attached invoice.
18231    ///
18232    /// Call the `getLNPAttach` API method and deserialize into [`GetLNPAttachResponse`].
18233    pub async fn get_lnp_attach(
18234        &self,
18235        params: &GetLNPAttachParams,
18236    ) -> Result<GetLNPAttachResponse> {
18237        self.call("getLNPAttach", params).await
18238    }
18239
18240    /// Call the `getLNPAttach` API method and return the raw JSON envelope.
18241    pub async fn get_lnp_attach_raw(&self, params: &GetLNPAttachParams) -> Result<Value> {
18242        self.call_raw("getLNPAttach", params).await
18243    }
18244
18245    /// \- Retrieve the list of invoice (attached) files from a given portability
18246    /// process.
18247    ///
18248    /// Call the `getLNPAttachList` API method and deserialize into [`GetLNPAttachListResponse`].
18249    pub async fn get_lnp_attach_list(
18250        &self,
18251        params: &GetLNPAttachListParams,
18252    ) -> Result<GetLNPAttachListResponse> {
18253        self.call("getLNPAttachList", params).await
18254    }
18255
18256    /// Call the `getLNPAttachList` API method and return the raw JSON envelope.
18257    pub async fn get_lnp_attach_list_raw(&self, params: &GetLNPAttachListParams) -> Result<Value> {
18258        self.call_raw("getLNPAttachList", params).await
18259    }
18260
18261    /// \- Retrieve the details of a given portability process.
18262    ///
18263    /// Call the `getLNPDetails` API method and deserialize into [`GetLNPDetailsResponse`].
18264    pub async fn get_lnp_details(
18265        &self,
18266        params: &GetLNPDetailsParams,
18267    ) -> Result<GetLNPDetailsResponse> {
18268        self.call("getLNPDetails", params).await
18269    }
18270
18271    /// Call the `getLNPDetails` API method and return the raw JSON envelope.
18272    pub async fn get_lnp_details_raw(&self, params: &GetLNPDetailsParams) -> Result<Value> {
18273        self.call_raw("getLNPDetails", params).await
18274    }
18275
18276    /// \- Retrieve the full list of all your portability processes.
18277    ///
18278    /// Call the `getLNPList` API method and deserialize into [`GetLNPListResponse`].
18279    pub async fn get_lnp_list(&self, params: &GetLNPListParams) -> Result<GetLNPListResponse> {
18280        self.call("getLNPList", params).await
18281    }
18282
18283    /// Call the `getLNPList` API method and return the raw JSON envelope.
18284    pub async fn get_lnp_list_raw(&self, params: &GetLNPListParams) -> Result<Value> {
18285        self.call_raw("getLNPList", params).await
18286    }
18287
18288    /// \- Retrieve the list of possible status of a portability process.
18289    ///
18290    /// Call the `getLNPListStatus` API method and deserialize into [`GetLNPListStatusResponse`].
18291    pub async fn get_lnp_list_status(
18292        &self,
18293        params: &GetLNPListStatusParams,
18294    ) -> Result<GetLNPListStatusResponse> {
18295        self.call("getLNPListStatus", params).await
18296    }
18297
18298    /// Call the `getLNPListStatus` API method and return the raw JSON envelope.
18299    pub async fn get_lnp_list_status_raw(&self, params: &GetLNPListStatusParams) -> Result<Value> {
18300        self.call_raw("getLNPListStatus", params).await
18301    }
18302
18303    /// \- Retrieve the list of notes from the given portability process.
18304    ///
18305    /// Call the `getLNPNotes` API method and deserialize into [`GetLNPNotesResponse`].
18306    pub async fn get_lnp_notes(&self, params: &GetLNPNotesParams) -> Result<GetLNPNotesResponse> {
18307        self.call("getLNPNotes", params).await
18308    }
18309
18310    /// Call the `getLNPNotes` API method and return the raw JSON envelope.
18311    pub async fn get_lnp_notes_raw(&self, params: &GetLNPNotesParams) -> Result<Value> {
18312        self.call_raw("getLNPNotes", params).await
18313    }
18314
18315    /// \- Retrieve the current status of a given portability process.
18316    ///
18317    /// Call the `getLNPStatus` API method and deserialize into [`GetLNPStatusResponse`].
18318    pub async fn get_lnp_status(
18319        &self,
18320        params: &GetLNPStatusParams,
18321    ) -> Result<GetLNPStatusResponse> {
18322        self.call("getLNPStatus", params).await
18323    }
18324
18325    /// Call the `getLNPStatus` API method and return the raw JSON envelope.
18326    pub async fn get_lnp_status_raw(&self, params: &GetLNPStatusParams) -> Result<Value> {
18327        self.call_raw("getLNPStatus", params).await
18328    }
18329
18330    /// \- Retrieves a list of Languages if no additional parameter is provided.
18331    /// \- Retrieves a specific Language if a language code is provided.
18332    ///
18333    /// Call the `getLanguages` API method and deserialize into [`GetLanguagesResponse`].
18334    pub async fn get_languages(&self, params: &GetLanguagesParams) -> Result<GetLanguagesResponse> {
18335        self.call("getLanguages", params).await
18336    }
18337
18338    /// Call the `getLanguages` API method and return the raw JSON envelope.
18339    pub async fn get_languages_raw(&self, params: &GetLanguagesParams) -> Result<Value> {
18340        self.call_raw("getLanguages", params).await
18341    }
18342
18343    /// \- Retrieves a list of locale codes if no additional parameter is
18344    /// provided.
18345    /// \- Retrieves a specific locale code if a language code is provided.
18346    ///
18347    /// Call the `getLocales` API method and deserialize into [`GetLocalesResponse`].
18348    pub async fn get_locales(&self, params: &GetLocalesParams) -> Result<GetLocalesResponse> {
18349        self.call("getLocales", params).await
18350    }
18351
18352    /// Call the `getLocales` API method and return the raw JSON envelope.
18353    pub async fn get_locales_raw(&self, params: &GetLocalesParams) -> Result<Value> {
18354        self.call_raw("getLocales", params).await
18355    }
18356
18357    /// Call the `getLocations` API method and deserialize into [`GetLocationsResponse`].
18358    pub async fn get_locations(&self, params: &GetLocationsParams) -> Result<GetLocationsResponse> {
18359        self.call("getLocations", params).await
18360    }
18361
18362    /// Call the `getLocations` API method and return the raw JSON envelope.
18363    pub async fn get_locations_raw(&self, params: &GetLocationsParams) -> Result<Value> {
18364        self.call_raw("getLocations", params).await
18365    }
18366
18367    /// \- Retrieves a list of Lock Modes if no additional parameter is provided.
18368    /// \- Retrieves a specific Lock Mode if a lock code is provided.
18369    ///
18370    /// Call the `getLockInternational` API method and deserialize into [`GetLockInternationalResponse`].
18371    pub async fn get_lock_international(
18372        &self,
18373        params: &GetLockInternationalParams,
18374    ) -> Result<GetLockInternationalResponse> {
18375        self.call("getLockInternational", params).await
18376    }
18377
18378    /// Call the `getLockInternational` API method and return the raw JSON envelope.
18379    pub async fn get_lock_international_raw(
18380        &self,
18381        params: &GetLockInternationalParams,
18382    ) -> Result<Value> {
18383        self.call_raw("getLockInternational", params).await
18384    }
18385
18386    /// \- Retrieves a list of MMS messages by: date range, mms type, DID number,
18387    /// and contact.
18388    ///
18389    /// Call the `getMMS` API method and deserialize into [`GetMMSResponse`].
18390    pub async fn get_mms(&self, params: &GetMMSParams) -> Result<GetMMSResponse> {
18391        self.call("getMMS", params).await
18392    }
18393
18394    /// Call the `getMMS` API method and return the raw JSON envelope.
18395    pub async fn get_mms_raw(&self, params: &GetMMSParams) -> Result<Value> {
18396        self.call_raw("getMMS", params).await
18397    }
18398
18399    /// \- Retrieves media files from the message.
18400    ///
18401    /// Call the `getMediaMMS` API method and deserialize into [`GetMediaMMSResponse`].
18402    pub async fn get_media_mms(&self, params: &GetMediaMMSParams) -> Result<GetMediaMMSResponse> {
18403        self.call("getMediaMMS", params).await
18404    }
18405
18406    /// Call the `getMediaMMS` API method and return the raw JSON envelope.
18407    pub async fn get_media_mms_raw(&self, params: &GetMediaMMSParams) -> Result<Value> {
18408        self.call_raw("getMediaMMS", params).await
18409    }
18410
18411    /// \- Retrieves a list of Music on Hold Options if no additional parameter
18412    /// is provided.
18413    /// \- Retrieves a specific Music on Hold Option if a MOH code is provided.
18414    ///
18415    /// Call the `getMusicOnHold` API method and deserialize into [`GetMusicOnHoldResponse`].
18416    pub async fn get_music_on_hold(
18417        &self,
18418        params: &GetMusicOnHoldParams,
18419    ) -> Result<GetMusicOnHoldResponse> {
18420        self.call("getMusicOnHold", params).await
18421    }
18422
18423    /// Call the `getMusicOnHold` API method and return the raw JSON envelope.
18424    pub async fn get_music_on_hold_raw(&self, params: &GetMusicOnHoldParams) -> Result<Value> {
18425        self.call_raw("getMusicOnHold", params).await
18426    }
18427
18428    /// \- Retrieves a list of NAT Options if no additional parameter is
18429    /// provided.
18430    /// \- Retrieves a specific NAT Option if a NAT code is provided.
18431    ///
18432    /// Call the `getNAT` API method and deserialize into [`GetNATResponse`].
18433    pub async fn get_nat(&self, params: &GetNATParams) -> Result<GetNATResponse> {
18434        self.call("getNAT", params).await
18435    }
18436
18437    /// Call the `getNAT` API method and return the raw JSON envelope.
18438    pub async fn get_nat_raw(&self, params: &GetNATParams) -> Result<Value> {
18439        self.call_raw("getNAT", params).await
18440    }
18441
18442    /// \- Retrieves a list of Packages if no additional parameter is provided.-
18443    /// Retrieves a specific Package if a package code is provided.
18444    ///
18445    /// Call the `getPackages` API method and deserialize into [`GetPackagesResponse`].
18446    pub async fn get_packages(&self, params: &GetPackagesParams) -> Result<GetPackagesResponse> {
18447        self.call("getPackages", params).await
18448    }
18449
18450    /// Call the `getPackages` API method and return the raw JSON envelope.
18451    pub async fn get_packages_raw(&self, params: &GetPackagesParams) -> Result<Value> {
18452        self.call_raw("getPackages", params).await
18453    }
18454
18455    /// \- Retrieves a list of Phonebook entries if no additional parameter is
18456    /// provided.
18457    /// \- Retrieves a list of Phonebook entries if a name is provided.
18458    /// \- Retrieves a specific Phonebook entry if a Phonebook code is provided.
18459    /// \- Retrieves a list of Phonebook entries if a phonebook group name is
18460    /// provided.
18461    /// \- Retrieves a list of Phonebook entries if a phonebook group code is
18462    /// provided.
18463    ///
18464    /// Call the `getPhonebook` API method and deserialize into [`GetPhonebookResponse`].
18465    pub async fn get_phonebook(&self, params: &GetPhonebookParams) -> Result<GetPhonebookResponse> {
18466        self.call("getPhonebook", params).await
18467    }
18468
18469    /// Call the `getPhonebook` API method and return the raw JSON envelope.
18470    pub async fn get_phonebook_raw(&self, params: &GetPhonebookParams) -> Result<Value> {
18471        self.call_raw("getPhonebook", params).await
18472    }
18473
18474    /// \- Retrieves a list of Phonebook groups if no additional parameter is
18475    /// provided.
18476    /// \- Retrieves a list of Phonebook groups if a name is provided.
18477    /// \- Retrieves a specific Phonebook group if a group ID is provided.
18478    ///
18479    /// Call the `getPhonebookGroups` API method and deserialize into [`GetPhonebookGroupsResponse`].
18480    pub async fn get_phonebook_groups(
18481        &self,
18482        params: &GetPhonebookGroupsParams,
18483    ) -> Result<GetPhonebookGroupsResponse> {
18484        self.call("getPhonebookGroups", params).await
18485    }
18486
18487    /// Call the `getPhonebookGroups` API method and return the raw JSON envelope.
18488    pub async fn get_phonebook_groups_raw(
18489        &self,
18490        params: &GetPhonebookGroupsParams,
18491    ) -> Result<Value> {
18492        self.call_raw("getPhonebookGroups", params).await
18493    }
18494
18495    /// \- Retrieves a list of Play Instructions modes if no additional parameter
18496    /// is provided.
18497    /// \- Retrieves a specific Play Instructions mode if a play code is
18498    /// provided.
18499    ///
18500    /// Call the `getPlayInstructions` API method and deserialize into [`GetPlayInstructionsResponse`].
18501    pub async fn get_play_instructions(
18502        &self,
18503        params: &GetPlayInstructionsParams,
18504    ) -> Result<GetPlayInstructionsResponse> {
18505        self.call("getPlayInstructions", params).await
18506    }
18507
18508    /// Call the `getPlayInstructions` API method and return the raw JSON envelope.
18509    pub async fn get_play_instructions_raw(
18510        &self,
18511        params: &GetPlayInstructionsParams,
18512    ) -> Result<Value> {
18513        self.call_raw("getPlayInstructions", params).await
18514    }
18515
18516    /// \- Shows if a DID Number can be ported into our network.
18517    /// \- Display plans and rates available if the DID Number can be ported into
18518    /// our network.
18519    ///
18520    /// Call the `getPortability` API method and deserialize into [`GetPortabilityResponse`].
18521    pub async fn get_portability(
18522        &self,
18523        params: &GetPortabilityParams,
18524    ) -> Result<GetPortabilityResponse> {
18525        self.call("getPortability", params).await
18526    }
18527
18528    /// Call the `getPortability` API method and return the raw JSON envelope.
18529    pub async fn get_portability_raw(&self, params: &GetPortabilityParams) -> Result<Value> {
18530        self.call_raw("getPortability", params).await
18531    }
18532
18533    /// \- Retrieves a list of Protocols if no additional parameter is provided.
18534    /// \- Retrieves a specific Protocol if a protocol code is provided.
18535    ///
18536    /// Call the `getProtocols` API method and deserialize into [`GetProtocolsResponse`].
18537    pub async fn get_protocols(&self, params: &GetProtocolsParams) -> Result<GetProtocolsResponse> {
18538        self.call("getProtocols", params).await
18539    }
18540
18541    /// Call the `getProtocols` API method and return the raw JSON envelope.
18542    pub async fn get_protocols_raw(&self, params: &GetProtocolsParams) -> Result<Value> {
18543        self.call_raw("getProtocols", params).await
18544    }
18545
18546    /// \- Retrieves a list of Canadian Provinces.
18547    ///
18548    /// Call the `getProvinces` API method and deserialize into [`GetProvincesResponse`].
18549    pub async fn get_provinces(&self, params: &GetProvincesParams) -> Result<GetProvincesResponse> {
18550        self.call("getProvinces", params).await
18551    }
18552
18553    /// Call the `getProvinces` API method and return the raw JSON envelope.
18554    pub async fn get_provinces_raw(&self, params: &GetProvincesParams) -> Result<Value> {
18555        self.call_raw("getProvinces", params).await
18556    }
18557
18558    /// \- Retrieves a list of Queue entries if no additional parameter is
18559    /// provided.
18560    /// \- Retrieves a specific Queue entry if a Queue code is provided.
18561    ///
18562    /// Call the `getQueues` API method and deserialize into [`GetQueuesResponse`].
18563    pub async fn get_queues(&self, params: &GetQueuesParams) -> Result<GetQueuesResponse> {
18564        self.call("getQueues", params).await
18565    }
18566
18567    /// Call the `getQueues` API method and return the raw JSON envelope.
18568    pub async fn get_queues_raw(&self, params: &GetQueuesParams) -> Result<Value> {
18569        self.call_raw("getQueues", params).await
18570    }
18571
18572    /// \- Retrieves a list of Canadian Ratecenters by Province.
18573    ///
18574    /// Call the `getRateCentersCAN` API method and deserialize into [`GetRateCentersCANResponse`].
18575    pub async fn get_rate_centers_can(
18576        &self,
18577        params: &GetRateCentersCANParams,
18578    ) -> Result<GetRateCentersCANResponse> {
18579        self.call("getRateCentersCAN", params).await
18580    }
18581
18582    /// Call the `getRateCentersCAN` API method and return the raw JSON envelope.
18583    pub async fn get_rate_centers_can_raw(
18584        &self,
18585        params: &GetRateCentersCANParams,
18586    ) -> Result<Value> {
18587        self.call_raw("getRateCentersCAN", params).await
18588    }
18589
18590    /// \- Retrieves a list of USA Ratecenters by State.
18591    ///
18592    /// Call the `getRateCentersUSA` API method and deserialize into [`GetRateCentersUSAResponse`].
18593    pub async fn get_rate_centers_usa(
18594        &self,
18595        params: &GetRateCentersUSAParams,
18596    ) -> Result<GetRateCentersUSAResponse> {
18597        self.call("getRateCentersUSA", params).await
18598    }
18599
18600    /// Call the `getRateCentersUSA` API method and return the raw JSON envelope.
18601    pub async fn get_rate_centers_usa_raw(
18602        &self,
18603        params: &GetRateCentersUSAParams,
18604    ) -> Result<Value> {
18605        self.call_raw("getRateCentersUSA", params).await
18606    }
18607
18608    /// \- Retrieves the Rates for a specific Package and a Search term.
18609    ///
18610    /// Call the `getRates` API method and deserialize into [`GetRatesResponse`].
18611    pub async fn get_rates(&self, params: &GetRatesParams) -> Result<GetRatesResponse> {
18612        self.call("getRates", params).await
18613    }
18614
18615    /// Call the `getRates` API method and return the raw JSON envelope.
18616    pub async fn get_rates_raw(&self, params: &GetRatesParams) -> Result<Value> {
18617        self.call_raw("getRates", params).await
18618    }
18619
18620    /// \- Retrieves a specific Recording File data in Base64 format.
18621    ///
18622    /// Call the `getRecordingFile` API method and deserialize into [`GetRecordingFileResponse`].
18623    pub async fn get_recording_file(
18624        &self,
18625        params: &GetRecordingFileParams,
18626    ) -> Result<GetRecordingFileResponse> {
18627        self.call("getRecordingFile", params).await
18628    }
18629
18630    /// Call the `getRecordingFile` API method and return the raw JSON envelope.
18631    pub async fn get_recording_file_raw(&self, params: &GetRecordingFileParams) -> Result<Value> {
18632        self.call_raw("getRecordingFile", params).await
18633    }
18634
18635    /// \- Retrieves a list of Recordings if no additional parameter is provided.
18636    /// \- Retrieves a specific Recording if a Recording code is provided.
18637    ///
18638    /// Call the `getRecordings` API method and deserialize into [`GetRecordingsResponse`].
18639    pub async fn get_recordings(
18640        &self,
18641        params: &GetRecordingsParams,
18642    ) -> Result<GetRecordingsResponse> {
18643        self.call("getRecordings", params).await
18644    }
18645
18646    /// Call the `getRecordings` API method and return the raw JSON envelope.
18647    pub async fn get_recordings_raw(&self, params: &GetRecordingsParams) -> Result<Value> {
18648        self.call_raw("getRecordings", params).await
18649    }
18650
18651    /// \- Retrieves the Registration Status of all accounts if no account is
18652    /// provided.
18653    ///
18654    /// Call the `getRegistrationStatus` API method and deserialize into [`GetRegistrationStatusResponse`].
18655    pub async fn get_registration_status(
18656        &self,
18657        params: &GetRegistrationStatusParams,
18658    ) -> Result<GetRegistrationStatusResponse> {
18659        self.call("getRegistrationStatus", params).await
18660    }
18661
18662    /// Call the `getRegistrationStatus` API method and return the raw JSON envelope.
18663    pub async fn get_registration_status_raw(
18664        &self,
18665        params: &GetRegistrationStatusParams,
18666    ) -> Result<Value> {
18667        self.call_raw("getRegistrationStatus", params).await
18668    }
18669
18670    /// \- Retrieves a list of 'ReportEstimateHoldTime' Types if no additional
18671    /// parameter is provided.
18672    /// \- Retrieves a specific 'ReportEstimateHoldTime' Type if a type code is
18673    /// provided.
18674    ///
18675    /// Call the `getReportEstimatedHoldTime` API method and deserialize into [`GetReportEstimatedHoldTimeResponse`].
18676    pub async fn get_report_estimated_hold_time(
18677        &self,
18678        params: &GetReportEstimatedHoldTimeParams,
18679    ) -> Result<GetReportEstimatedHoldTimeResponse> {
18680        self.call("getReportEstimatedHoldTime", params).await
18681    }
18682
18683    /// Call the `getReportEstimatedHoldTime` API method and return the raw JSON envelope.
18684    pub async fn get_report_estimated_hold_time_raw(
18685        &self,
18686        params: &GetReportEstimatedHoldTimeParams,
18687    ) -> Result<Value> {
18688        self.call_raw("getReportEstimatedHoldTime", params).await
18689    }
18690
18691    /// \- Retrieves Balance and Calls Statistics for a specific Reseller Client
18692    /// for the last 30 days and current day.
18693    ///
18694    /// Call the `getResellerBalance` API method and deserialize into [`GetResellerBalanceResponse`].
18695    pub async fn get_reseller_balance(
18696        &self,
18697        params: &GetResellerBalanceParams,
18698    ) -> Result<GetResellerBalanceResponse> {
18699        self.call("getResellerBalance", params).await
18700    }
18701
18702    /// Call the `getResellerBalance` API method and return the raw JSON envelope.
18703    pub async fn get_reseller_balance_raw(
18704        &self,
18705        params: &GetResellerBalanceParams,
18706    ) -> Result<Value> {
18707        self.call_raw("getResellerBalance", params).await
18708    }
18709
18710    /// \- Retrieves the Call Detail Records for a specific Reseller Client.
18711    ///
18712    /// Call the `getResellerCDR` API method and deserialize into [`GetResellerCDRResponse`].
18713    pub async fn get_reseller_cdr(
18714        &self,
18715        params: &GetResellerCDRParams,
18716    ) -> Result<GetResellerCDRResponse> {
18717        self.call("getResellerCDR", params).await
18718    }
18719
18720    /// Call the `getResellerCDR` API method and return the raw JSON envelope.
18721    pub async fn get_reseller_cdr_raw(&self, params: &GetResellerCDRParams) -> Result<Value> {
18722        self.call_raw("getResellerCDR", params).await
18723    }
18724
18725    /// \- Retrieves a list of MMS messages for a specific Reseller Client. by:
18726    /// date range, mms type, DID number, and contact
18727    ///
18728    /// Call the `getResellerMMS` API method and deserialize into [`GetResellerMMSResponse`].
18729    pub async fn get_reseller_mms(
18730        &self,
18731        params: &GetResellerMMSParams,
18732    ) -> Result<GetResellerMMSResponse> {
18733        self.call("getResellerMMS", params).await
18734    }
18735
18736    /// Call the `getResellerMMS` API method and return the raw JSON envelope.
18737    pub async fn get_reseller_mms_raw(&self, params: &GetResellerMMSParams) -> Result<Value> {
18738        self.call_raw("getResellerMMS", params).await
18739    }
18740
18741    /// \- Retrieves a list of SMS messages for a specific Reseller Client. by:
18742    /// date range, sms type, DID number, and contact
18743    ///
18744    /// Call the `getResellerSMS` API method and deserialize into [`GetResellerSMSResponse`].
18745    pub async fn get_reseller_sms(
18746        &self,
18747        params: &GetResellerSMSParams,
18748    ) -> Result<GetResellerSMSResponse> {
18749        self.call("getResellerSMS", params).await
18750    }
18751
18752    /// Call the `getResellerSMS` API method and return the raw JSON envelope.
18753    pub async fn get_reseller_sms_raw(&self, params: &GetResellerSMSParams) -> Result<Value> {
18754        self.call_raw("getResellerSMS", params).await
18755    }
18756
18757    /// \- Retrieves a list of Ring Groups if no additional parameter is
18758    /// provided.
18759    /// \- Retrieves a specific Ring Group if a ring group code is provided.
18760    ///
18761    /// Call the `getRingGroups` API method and deserialize into [`GetRingGroupsResponse`].
18762    pub async fn get_ring_groups(
18763        &self,
18764        params: &GetRingGroupsParams,
18765    ) -> Result<GetRingGroupsResponse> {
18766        self.call("getRingGroups", params).await
18767    }
18768
18769    /// Call the `getRingGroups` API method and return the raw JSON envelope.
18770    pub async fn get_ring_groups_raw(&self, params: &GetRingGroupsParams) -> Result<Value> {
18771        self.call_raw("getRingGroups", params).await
18772    }
18773
18774    /// \- Retrieves a list of Ring Strategies if no additional parameter is
18775    /// provided.
18776    /// \- Retrieves a specific Ring Strategy if a ring strategy code is
18777    /// provided.
18778    ///
18779    /// Call the `getRingStrategies` API method and deserialize into [`GetRingStrategiesResponse`].
18780    pub async fn get_ring_strategies(
18781        &self,
18782        params: &GetRingStrategiesParams,
18783    ) -> Result<GetRingStrategiesResponse> {
18784        self.call("getRingStrategies", params).await
18785    }
18786
18787    /// Call the `getRingStrategies` API method and return the raw JSON envelope.
18788    pub async fn get_ring_strategies_raw(&self, params: &GetRingStrategiesParams) -> Result<Value> {
18789        self.call_raw("getRingStrategies", params).await
18790    }
18791
18792    /// \- Retrieves a list of Route Options if no additional parameter is
18793    /// provided.
18794    /// \- Retrieves a specific Route Option if a route code is provided.
18795    ///
18796    /// Call the `getRoutes` API method and deserialize into [`GetRoutesResponse`].
18797    pub async fn get_routes(&self, params: &GetRoutesParams) -> Result<GetRoutesResponse> {
18798        self.call("getRoutes", params).await
18799    }
18800
18801    /// Call the `getRoutes` API method and return the raw JSON envelope.
18802    pub async fn get_routes_raw(&self, params: &GetRoutesParams) -> Result<Value> {
18803        self.call_raw("getRoutes", params).await
18804    }
18805
18806    /// \- Retrieves a list of SIP URIs if no additional parameter is provided.
18807    /// \- Retrieves a specific SIP URI if a SIP URI code is provided.
18808    ///
18809    /// Call the `getSIPURIs` API method and deserialize into [`GetSIPURIsResponse`].
18810    pub async fn get_sip_uris(&self, params: &GetSIPURIsParams) -> Result<GetSIPURIsResponse> {
18811        self.call("getSIPURIs", params).await
18812    }
18813
18814    /// Call the `getSIPURIs` API method and return the raw JSON envelope.
18815    pub async fn get_sip_uris_raw(&self, params: &GetSIPURIsParams) -> Result<Value> {
18816        self.call_raw("getSIPURIs", params).await
18817    }
18818
18819    /// \- Retrieves a list of SMS messages by: date range, sms type, DID number,
18820    /// and contact.
18821    ///
18822    /// Call the `getSMS` API method and deserialize into [`GetSMSResponse`].
18823    pub async fn get_sms(&self, params: &GetSMSParams) -> Result<GetSMSResponse> {
18824        self.call("getSMS", params).await
18825    }
18826
18827    /// Call the `getSMS` API method and return the raw JSON envelope.
18828    pub async fn get_sms_raw(&self, params: &GetSMSParams) -> Result<Value> {
18829        self.call_raw("getSMS", params).await
18830    }
18831
18832    /// \- Retrieves a list of Servers with their info if no additional parameter
18833    /// is provided.
18834    /// \- Retrieves a specific Server with its info if a Server POP is provided.
18835    ///
18836    /// Call the `getServersInfo` API method and deserialize into [`GetServersInfoResponse`].
18837    pub async fn get_servers_info(
18838        &self,
18839        params: &GetServersInfoParams,
18840    ) -> Result<GetServersInfoResponse> {
18841        self.call("getServersInfo", params).await
18842    }
18843
18844    /// Call the `getServersInfo` API method and return the raw JSON envelope.
18845    pub async fn get_servers_info_raw(&self, params: &GetServersInfoParams) -> Result<Value> {
18846        self.call_raw("getServersInfo", params).await
18847    }
18848
18849    /// \- Retrieves a list of USA States.
18850    ///
18851    /// Call the `getStates` API method and deserialize into [`GetStatesResponse`].
18852    pub async fn get_states(&self, params: &GetStatesParams) -> Result<GetStatesResponse> {
18853        self.call("getStates", params).await
18854    }
18855
18856    /// Call the `getStates` API method and return the raw JSON envelope.
18857    pub async fn get_states_raw(&self, params: &GetStatesParams) -> Result<Value> {
18858        self.call_raw("getStates", params).await
18859    }
18860
18861    /// \- Retrieves a list of Static Members from a queue if no additional
18862    /// parameter is provided.
18863    /// \- Retrieves a specific Static Member from a queue if Queue ID and Member
18864    /// ID are provided
18865    ///
18866    /// Call the `getStaticMembers` API method and deserialize into [`GetStaticMembersResponse`].
18867    pub async fn get_static_members(
18868        &self,
18869        params: &GetStaticMembersParams,
18870    ) -> Result<GetStaticMembersResponse> {
18871        self.call("getStaticMembers", params).await
18872    }
18873
18874    /// Call the `getStaticMembers` API method and return the raw JSON envelope.
18875    pub async fn get_static_members_raw(&self, params: &GetStaticMembersParams) -> Result<Value> {
18876        self.call_raw("getStaticMembers", params).await
18877    }
18878
18879    /// \- Retrieves all Sub Accounts if no additional parameter is provided.
18880    /// \- Retrieves Reseller Client Accounts if Reseller Client ID is provided.
18881    /// \- Retrieves a specific Sub Account if a Sub Account is provided.
18882    ///
18883    /// Call the `getSubAccounts` API method and deserialize into [`GetSubAccountsResponse`].
18884    pub async fn get_sub_accounts(
18885        &self,
18886        params: &GetSubAccountsParams,
18887    ) -> Result<GetSubAccountsResponse> {
18888        self.call("getSubAccounts", params).await
18889    }
18890
18891    /// Call the `getSubAccounts` API method and return the raw JSON envelope.
18892    pub async fn get_sub_accounts_raw(&self, params: &GetSubAccountsParams) -> Result<Value> {
18893        self.call_raw("getSubAccounts", params).await
18894    }
18895
18896    /// \- Retrieves the Rates for a specific Route (Premium, Value) and a Search
18897    /// term.
18898    ///
18899    /// Call the `getTerminationRates` API method and deserialize into [`GetTerminationRatesResponse`].
18900    pub async fn get_termination_rates(
18901        &self,
18902        params: &GetTerminationRatesParams,
18903    ) -> Result<GetTerminationRatesResponse> {
18904        self.call("getTerminationRates", params).await
18905    }
18906
18907    /// Call the `getTerminationRates` API method and return the raw JSON envelope.
18908    pub async fn get_termination_rates_raw(
18909        &self,
18910        params: &GetTerminationRatesParams,
18911    ) -> Result<Value> {
18912        self.call_raw("getTerminationRates", params).await
18913    }
18914
18915    /// \- Retrieves a list of Time Conditions if no additional parameter is
18916    /// provided.
18917    /// \- Retrieves a specific Time Condition if a time condition code is
18918    /// provided.
18919    ///
18920    /// Call the `getTimeConditions` API method and deserialize into [`GetTimeConditionsResponse`].
18921    pub async fn get_time_conditions(
18922        &self,
18923        params: &GetTimeConditionsParams,
18924    ) -> Result<GetTimeConditionsResponse> {
18925        self.call("getTimeConditions", params).await
18926    }
18927
18928    /// Call the `getTimeConditions` API method and return the raw JSON envelope.
18929    pub async fn get_time_conditions_raw(&self, params: &GetTimeConditionsParams) -> Result<Value> {
18930        self.call_raw("getTimeConditions", params).await
18931    }
18932
18933    /// \- Retrieves a list of Timezones if no additional parameter is provided.
18934    /// \- Retrieves a specific Timezone if a timezone code is provided.
18935    ///
18936    /// Call the `getTimezones` API method and deserialize into [`GetTimezonesResponse`].
18937    pub async fn get_timezones(&self, params: &GetTimezonesParams) -> Result<GetTimezonesResponse> {
18938        self.call("getTimezones", params).await
18939    }
18940
18941    /// Call the `getTimezones` API method and return the raw JSON envelope.
18942    pub async fn get_timezones_raw(&self, params: &GetTimezonesParams) -> Result<Value> {
18943        self.call_raw("getTimezones", params).await
18944    }
18945
18946    /// \- Retrieves the Transaction History records between two dates.
18947    ///
18948    /// Call the `getTransactionHistory` API method and deserialize into [`GetTransactionHistoryResponse`].
18949    pub async fn get_transaction_history(
18950        &self,
18951        params: &GetTransactionHistoryParams,
18952    ) -> Result<GetTransactionHistoryResponse> {
18953        self.call("getTransactionHistory", params).await
18954    }
18955
18956    /// Call the `getTransactionHistory` API method and return the raw JSON envelope.
18957    pub async fn get_transaction_history_raw(
18958        &self,
18959        params: &GetTransactionHistoryParams,
18960    ) -> Result<Value> {
18961        self.call_raw("getTransactionHistory", params).await
18962    }
18963
18964    /// \- Retrieves a list of vpri.
18965    ///
18966    /// Call the `getVPRIs` API method and deserialize into [`GetVPRIsResponse`].
18967    pub async fn get_vpris(&self, params: &GetVPRIsParams) -> Result<GetVPRIsResponse> {
18968        self.call("getVPRIs", params).await
18969    }
18970
18971    /// Call the `getVPRIs` API method and return the raw JSON envelope.
18972    pub async fn get_vpris_raw(&self, params: &GetVPRIsParams) -> Result<Value> {
18973        self.call_raw("getVPRIs", params).await
18974    }
18975
18976    /// \- Retrieves a list of Email Attachment Format Options if no additional
18977    /// parameter is provided.
18978    /// \- Retrieves a specific Email Attachment Format Option if a format value
18979    /// is provided.
18980    ///
18981    /// Call the `getVoicemailAttachmentFormats` API method and deserialize into [`GetVoicemailAttachmentFormatsResponse`].
18982    pub async fn get_voicemail_attachment_formats(
18983        &self,
18984        params: &GetVoicemailAttachmentFormatsParams,
18985    ) -> Result<GetVoicemailAttachmentFormatsResponse> {
18986        self.call("getVoicemailAttachmentFormats", params).await
18987    }
18988
18989    /// Call the `getVoicemailAttachmentFormats` API method and return the raw JSON envelope.
18990    pub async fn get_voicemail_attachment_formats_raw(
18991        &self,
18992        params: &GetVoicemailAttachmentFormatsParams,
18993    ) -> Result<Value> {
18994        self.call_raw("getVoicemailAttachmentFormats", params).await
18995    }
18996
18997    /// \- Retrieves a list of default Voicemail Folders if no additional
18998    /// parameter is provided.
18999    /// \- Retrieves a list of Voicemail Folders within a mailbox if mailbox
19000    /// parameter is provided.
19001    /// \- Retrieves a specific Folder if a folder name is provided.
19002    ///
19003    /// Call the `getVoicemailFolders` API method and deserialize into [`GetVoicemailFoldersResponse`].
19004    pub async fn get_voicemail_folders(
19005        &self,
19006        params: &GetVoicemailFoldersParams,
19007    ) -> Result<GetVoicemailFoldersResponse> {
19008        self.call("getVoicemailFolders", params).await
19009    }
19010
19011    /// Call the `getVoicemailFolders` API method and return the raw JSON envelope.
19012    pub async fn get_voicemail_folders_raw(
19013        &self,
19014        params: &GetVoicemailFoldersParams,
19015    ) -> Result<Value> {
19016        self.call_raw("getVoicemailFolders", params).await
19017    }
19018
19019    /// \- Retrieves a specific Voicemail Message File in Base64 format.
19020    ///
19021    /// Call the `getVoicemailMessageFile` API method and deserialize into [`GetVoicemailMessageFileResponse`].
19022    pub async fn get_voicemail_message_file(
19023        &self,
19024        params: &GetVoicemailMessageFileParams,
19025    ) -> Result<GetVoicemailMessageFileResponse> {
19026        self.call("getVoicemailMessageFile", params).await
19027    }
19028
19029    /// Call the `getVoicemailMessageFile` API method and return the raw JSON envelope.
19030    pub async fn get_voicemail_message_file_raw(
19031        &self,
19032        params: &GetVoicemailMessageFileParams,
19033    ) -> Result<Value> {
19034        self.call_raw("getVoicemailMessageFile", params).await
19035    }
19036
19037    /// \- Retrieves a list of Voicemail Messages if mailbox parameter is
19038    /// provided.
19039    /// \- Retrieves a list of Voicemail Messages in a Folder if a folder is
19040    /// provided.
19041    /// \- Retrieves a list of Voicemail Messages in a date range if a from and
19042    /// to are provided.
19043    ///
19044    /// Call the `getVoicemailMessages` API method and deserialize into [`GetVoicemailMessagesResponse`].
19045    pub async fn get_voicemail_messages(
19046        &self,
19047        params: &GetVoicemailMessagesParams,
19048    ) -> Result<GetVoicemailMessagesResponse> {
19049        self.call("getVoicemailMessages", params).await
19050    }
19051
19052    /// Call the `getVoicemailMessages` API method and return the raw JSON envelope.
19053    pub async fn get_voicemail_messages_raw(
19054        &self,
19055        params: &GetVoicemailMessagesParams,
19056    ) -> Result<Value> {
19057        self.call_raw("getVoicemailMessages", params).await
19058    }
19059
19060    /// \- Retrieves a list of Voicemail Setup Options if no additional parameter
19061    /// is provided.
19062    /// \- Retrieves a specific Voicemail Setup Option if a voicemail setup code
19063    /// is provided.
19064    ///
19065    /// Call the `getVoicemailSetups` API method and deserialize into [`GetVoicemailSetupsResponse`].
19066    pub async fn get_voicemail_setups(
19067        &self,
19068        params: &GetVoicemailSetupsParams,
19069    ) -> Result<GetVoicemailSetupsResponse> {
19070        self.call("getVoicemailSetups", params).await
19071    }
19072
19073    /// Call the `getVoicemailSetups` API method and return the raw JSON envelope.
19074    pub async fn get_voicemail_setups_raw(
19075        &self,
19076        params: &GetVoicemailSetupsParams,
19077    ) -> Result<Value> {
19078        self.call_raw("getVoicemailSetups", params).await
19079    }
19080
19081    /// \- Retrieves all Voicemail Transcriptions if no additional parameter is
19082    /// provided.
19083    ///
19084    /// Call the `getVoicemailTranscriptions` API method and deserialize into [`GetVoicemailTranscriptionsResponse`].
19085    pub async fn get_voicemail_transcriptions(
19086        &self,
19087        params: &GetVoicemailTranscriptionsParams,
19088    ) -> Result<GetVoicemailTranscriptionsResponse> {
19089        self.call("getVoicemailTranscriptions", params).await
19090    }
19091
19092    /// Call the `getVoicemailTranscriptions` API method and return the raw JSON envelope.
19093    pub async fn get_voicemail_transcriptions_raw(
19094        &self,
19095        params: &GetVoicemailTranscriptionsParams,
19096    ) -> Result<Value> {
19097        self.call_raw("getVoicemailTranscriptions", params).await
19098    }
19099
19100    /// \- Retrieves a list of Voicemails if no additional parameter is provided.
19101    /// \- Retrieves a specific Voicemail if a voicemail code is provided.
19102    ///
19103    /// Call the `getVoicemails` API method and deserialize into [`GetVoicemailsResponse`].
19104    pub async fn get_voicemails(
19105        &self,
19106        params: &GetVoicemailsParams,
19107    ) -> Result<GetVoicemailsResponse> {
19108        self.call("getVoicemails", params).await
19109    }
19110
19111    /// Call the `getVoicemails` API method and return the raw JSON envelope.
19112    pub async fn get_voicemails_raw(&self, params: &GetVoicemailsParams) -> Result<Value> {
19113        self.call_raw("getVoicemails", params).await
19114    }
19115
19116    /// \- Send a Fax Message attached as a PDF file to an email destination.
19117    ///
19118    /// Call the `mailFaxMessagePDF` API method and deserialize into [`MailFAXMessagePDFResponse`].
19119    pub async fn mail_fax_message_pdf(
19120        &self,
19121        params: &MailFAXMessagePDFParams,
19122    ) -> Result<MailFAXMessagePDFResponse> {
19123        self.call("mailFaxMessagePDF", params).await
19124    }
19125
19126    /// Call the `mailFaxMessagePDF` API method and return the raw JSON envelope.
19127    pub async fn mail_fax_message_pdf_raw(
19128        &self,
19129        params: &MailFAXMessagePDFParams,
19130    ) -> Result<Value> {
19131        self.call_raw("mailFaxMessagePDF", params).await
19132    }
19133
19134    /// \- Mark a Voicemail Message as Listened or Unlistened.
19135    /// \- If value is 'yes', the voicemail message will be marked as listened
19136    /// and will be moved to the Old Folder.
19137    /// \- If value is 'no', the voicemail message will be marked as not-listened
19138    /// and will be moved to the INBOX Folder.
19139    ///
19140    /// Call the `markListenedVoicemailMessage` API method and deserialize into [`MarkListenedVoicemailMessageResponse`].
19141    pub async fn mark_listened_voicemail_message(
19142        &self,
19143        params: &MarkListenedVoicemailMessageParams,
19144    ) -> Result<MarkListenedVoicemailMessageResponse> {
19145        self.call("markListenedVoicemailMessage", params).await
19146    }
19147
19148    /// Call the `markListenedVoicemailMessage` API method and return the raw JSON envelope.
19149    pub async fn mark_listened_voicemail_message_raw(
19150        &self,
19151        params: &MarkListenedVoicemailMessageParams,
19152    ) -> Result<Value> {
19153        self.call_raw("markListenedVoicemailMessage", params).await
19154    }
19155
19156    /// \- Mark Voicemail Message as Urgent or not Urgent.
19157    /// \- If value is 'yes', the voicemail message will be marked as urgent and
19158    /// will be moved to the Urgent Folder.
19159    /// \- If value is 'no', the voicemail message will be unmarked as urgent and
19160    /// will be moved to the INBOX Folder.
19161    ///
19162    /// Call the `markUrgentVoicemailMessage` API method and deserialize into [`MarkUrgentVoicemailMessageResponse`].
19163    pub async fn mark_urgent_voicemail_message(
19164        &self,
19165        params: &MarkUrgentVoicemailMessageParams,
19166    ) -> Result<MarkUrgentVoicemailMessageResponse> {
19167        self.call("markUrgentVoicemailMessage", params).await
19168    }
19169
19170    /// Call the `markUrgentVoicemailMessage` API method and return the raw JSON envelope.
19171    pub async fn mark_urgent_voicemail_message_raw(
19172        &self,
19173        params: &MarkUrgentVoicemailMessageParams,
19174    ) -> Result<Value> {
19175        self.call_raw("markUrgentVoicemailMessage", params).await
19176    }
19177
19178    /// \- Moves a Fax Message to a different folder.
19179    ///
19180    /// Call the `moveFaxMessage` API method and deserialize into [`MoveFAXMessageResponse`].
19181    pub async fn move_fax_message(
19182        &self,
19183        params: &MoveFAXMessageParams,
19184    ) -> Result<MoveFAXMessageResponse> {
19185        self.call("moveFaxMessage", params).await
19186    }
19187
19188    /// Call the `moveFaxMessage` API method and return the raw JSON envelope.
19189    pub async fn move_fax_message_raw(&self, params: &MoveFAXMessageParams) -> Result<Value> {
19190        self.call_raw("moveFaxMessage", params).await
19191    }
19192
19193    /// \- Move Voicemail Message to a Destination Folder.
19194    ///
19195    /// Call the `moveFolderVoicemailMessage` API method and deserialize into [`MoveFolderVoicemailMessageResponse`].
19196    pub async fn move_folder_voicemail_message(
19197        &self,
19198        params: &MoveFolderVoicemailMessageParams,
19199    ) -> Result<MoveFolderVoicemailMessageResponse> {
19200        self.call("moveFolderVoicemailMessage", params).await
19201    }
19202
19203    /// Call the `moveFolderVoicemailMessage` API method and return the raw JSON envelope.
19204    pub async fn move_folder_voicemail_message_raw(
19205        &self,
19206        params: &MoveFolderVoicemailMessageParams,
19207    ) -> Result<Value> {
19208        self.call_raw("moveFolderVoicemailMessage", params).await
19209    }
19210
19211    /// \- Orders and Adds a new DID Number to the Account.
19212    ///
19213    /// Call the `orderDID` API method and deserialize into [`OrderDIDResponse`].
19214    pub async fn order_did(&self, params: &OrderDIDParams) -> Result<OrderDIDResponse> {
19215        self.call("orderDID", params).await
19216    }
19217
19218    /// Call the `orderDID` API method and return the raw JSON envelope.
19219    pub async fn order_did_raw(&self, params: &OrderDIDParams) -> Result<Value> {
19220        self.call_raw("orderDID", params).await
19221    }
19222
19223    /// \- Orders and Adds new International Geographic DID Numbers to the
19224    /// Account.
19225    ///
19226    /// Call the `orderDIDInternationalGeographic` API method and deserialize into [`OrderDIDInternationalGeographicResponse`].
19227    pub async fn order_did_international_geographic(
19228        &self,
19229        params: &OrderDIDInternationalGeographicParams,
19230    ) -> Result<OrderDIDInternationalGeographicResponse> {
19231        self.call("orderDIDInternationalGeographic", params).await
19232    }
19233
19234    /// Call the `orderDIDInternationalGeographic` API method and return the raw JSON envelope.
19235    pub async fn order_did_international_geographic_raw(
19236        &self,
19237        params: &OrderDIDInternationalGeographicParams,
19238    ) -> Result<Value> {
19239        self.call_raw("orderDIDInternationalGeographic", params)
19240            .await
19241    }
19242
19243    /// \- Orders and Adds new International National DID Numbers to the Account.
19244    ///
19245    /// Call the `orderDIDInternationalNational` API method and deserialize into [`OrderDIDInternationalNationalResponse`].
19246    pub async fn order_did_international_national(
19247        &self,
19248        params: &OrderDIDInternationalNationalParams,
19249    ) -> Result<OrderDIDInternationalNationalResponse> {
19250        self.call("orderDIDInternationalNational", params).await
19251    }
19252
19253    /// Call the `orderDIDInternationalNational` API method and return the raw JSON envelope.
19254    pub async fn order_did_international_national_raw(
19255        &self,
19256        params: &OrderDIDInternationalNationalParams,
19257    ) -> Result<Value> {
19258        self.call_raw("orderDIDInternationalNational", params).await
19259    }
19260
19261    /// \- Orders and Adds new International TollFree DID Numbers to the Account.
19262    ///
19263    /// Call the `orderDIDInternationalTollFree` API method and deserialize into [`OrderDIDInternationalTollFreeResponse`].
19264    pub async fn order_did_international_toll_free(
19265        &self,
19266        params: &OrderDIDInternationalTollFreeParams,
19267    ) -> Result<OrderDIDInternationalTollFreeResponse> {
19268        self.call("orderDIDInternationalTollFree", params).await
19269    }
19270
19271    /// Call the `orderDIDInternationalTollFree` API method and return the raw JSON envelope.
19272    pub async fn order_did_international_toll_free_raw(
19273        &self,
19274        params: &OrderDIDInternationalTollFreeParams,
19275    ) -> Result<Value> {
19276        self.call_raw("orderDIDInternationalTollFree", params).await
19277    }
19278
19279    /// \- Orders and Adds a new Virtual DID Number to the Account.
19280    ///
19281    /// Call the `orderDIDVirtual` API method and deserialize into [`OrderDIDVirtualResponse`].
19282    pub async fn order_did_virtual(
19283        &self,
19284        params: &OrderDIDVirtualParams,
19285    ) -> Result<OrderDIDVirtualResponse> {
19286        self.call("orderDIDVirtual", params).await
19287    }
19288
19289    /// Call the `orderDIDVirtual` API method and return the raw JSON envelope.
19290    pub async fn order_did_virtual_raw(&self, params: &OrderDIDVirtualParams) -> Result<Value> {
19291        self.call_raw("orderDIDVirtual", params).await
19292    }
19293
19294    /// \- Orders and Adds a new Fax Number to the Account.
19295    ///
19296    /// Call the `orderFaxNumber` API method and deserialize into [`OrderFAXNumberResponse`].
19297    pub async fn order_fax_number(
19298        &self,
19299        params: &OrderFAXNumberParams,
19300    ) -> Result<OrderFAXNumberResponse> {
19301        self.call("orderFaxNumber", params).await
19302    }
19303
19304    /// Call the `orderFaxNumber` API method and return the raw JSON envelope.
19305    pub async fn order_fax_number_raw(&self, params: &OrderFAXNumberParams) -> Result<Value> {
19306        self.call_raw("orderFaxNumber", params).await
19307    }
19308
19309    /// \- Orders and Adds a new Toll Free Number to the Account.
19310    ///
19311    /// Call the `orderTollFree` API method and deserialize into [`OrderTollFreeResponse`].
19312    pub async fn order_toll_free(
19313        &self,
19314        params: &OrderTollFreeParams,
19315    ) -> Result<OrderTollFreeResponse> {
19316        self.call("orderTollFree", params).await
19317    }
19318
19319    /// Call the `orderTollFree` API method and return the raw JSON envelope.
19320    pub async fn order_toll_free_raw(&self, params: &OrderTollFreeParams) -> Result<Value> {
19321        self.call_raw("orderTollFree", params).await
19322    }
19323
19324    /// \- Orders and Adds a new Vanity Toll Free Number to the Account.
19325    ///
19326    /// Call the `orderVanity` API method and deserialize into [`OrderVanityResponse`].
19327    pub async fn order_vanity(&self, params: &OrderVanityParams) -> Result<OrderVanityResponse> {
19328        self.call("orderVanity", params).await
19329    }
19330
19331    /// Call the `orderVanity` API method and return the raw JSON envelope.
19332    pub async fn order_vanity_raw(&self, params: &OrderVanityParams) -> Result<Value> {
19333        self.call_raw("orderVanity", params).await
19334    }
19335
19336    /// \- Removes a DID from a VPRI
19337    ///
19338    /// Call the `removeDIDvPRI` API method and deserialize into [`RemoveDIDvPRIResponse`].
19339    pub async fn remove_did_vpri(
19340        &self,
19341        params: &RemoveDIDvPRIParams,
19342    ) -> Result<RemoveDIDvPRIResponse> {
19343        self.call("removeDIDvPRI", params).await
19344    }
19345
19346    /// Call the `removeDIDvPRI` API method and return the raw JSON envelope.
19347    pub async fn remove_did_vpri_raw(&self, params: &RemoveDIDvPRIParams) -> Result<Value> {
19348        self.call_raw("removeDIDvPRI", params).await
19349    }
19350
19351    /// \- Searches for Canadian DIDs by Province using a Search Criteria.
19352    ///
19353    /// Call the `searchDIDsCAN` API method and deserialize into [`SearchDIDsCANResponse`].
19354    pub async fn search_dids_can(
19355        &self,
19356        params: &SearchDIDsCANParams,
19357    ) -> Result<SearchDIDsCANResponse> {
19358        self.call("searchDIDsCAN", params).await
19359    }
19360
19361    /// Call the `searchDIDsCAN` API method and return the raw JSON envelope.
19362    pub async fn search_dids_can_raw(&self, params: &SearchDIDsCANParams) -> Result<Value> {
19363        self.call_raw("searchDIDsCAN", params).await
19364    }
19365
19366    /// \- Searches for USA DIDs by State using a Search Criteria.
19367    ///
19368    /// Call the `searchDIDsUSA` API method and deserialize into [`SearchDIDsUSAResponse`].
19369    pub async fn search_dids_usa(
19370        &self,
19371        params: &SearchDIDsUSAParams,
19372    ) -> Result<SearchDIDsUSAResponse> {
19373        self.call("searchDIDsUSA", params).await
19374    }
19375
19376    /// Call the `searchDIDsUSA` API method and return the raw JSON envelope.
19377    pub async fn search_dids_usa_raw(&self, params: &SearchDIDsUSAParams) -> Result<Value> {
19378        self.call_raw("searchDIDsUSA", params).await
19379    }
19380
19381    /// \- Retrieves a list of Canadian Ratecenters searched by Area Code.
19382    ///
19383    /// Call the `searchFaxAreaCodeCAN` API method and deserialize into [`SearchFAXAreaCodeCANResponse`].
19384    pub async fn search_fax_area_code_can(
19385        &self,
19386        params: &SearchFAXAreaCodeCANParams,
19387    ) -> Result<SearchFAXAreaCodeCANResponse> {
19388        self.call("searchFaxAreaCodeCAN", params).await
19389    }
19390
19391    /// Call the `searchFaxAreaCodeCAN` API method and return the raw JSON envelope.
19392    pub async fn search_fax_area_code_can_raw(
19393        &self,
19394        params: &SearchFAXAreaCodeCANParams,
19395    ) -> Result<Value> {
19396        self.call_raw("searchFaxAreaCodeCAN", params).await
19397    }
19398
19399    /// \- Retrieves a list of USA Ratecenters searched by Area Code.
19400    ///
19401    /// Call the `searchFaxAreaCodeUSA` API method and deserialize into [`SearchFAXAreaCodeUSAResponse`].
19402    pub async fn search_fax_area_code_usa(
19403        &self,
19404        params: &SearchFAXAreaCodeUSAParams,
19405    ) -> Result<SearchFAXAreaCodeUSAResponse> {
19406        self.call("searchFaxAreaCodeUSA", params).await
19407    }
19408
19409    /// Call the `searchFaxAreaCodeUSA` API method and return the raw JSON envelope.
19410    pub async fn search_fax_area_code_usa_raw(
19411        &self,
19412        params: &SearchFAXAreaCodeUSAParams,
19413    ) -> Result<Value> {
19414        self.call_raw("searchFaxAreaCodeUSA", params).await
19415    }
19416
19417    /// \- Searches for USA/Canada Toll Free Numbers using a Search Criteria.
19418    /// \- Shows all USA/Canada Toll Free Numbers available if no criteria is
19419    /// provided.
19420    ///
19421    /// Call the `searchTollFreeCanUS` API method and deserialize into [`SearchTollFreeCANUSResponse`].
19422    pub async fn search_toll_free_can_us(
19423        &self,
19424        params: &SearchTollFreeCANUSParams,
19425    ) -> Result<SearchTollFreeCANUSResponse> {
19426        self.call("searchTollFreeCanUS", params).await
19427    }
19428
19429    /// Call the `searchTollFreeCanUS` API method and return the raw JSON envelope.
19430    pub async fn search_toll_free_can_us_raw(
19431        &self,
19432        params: &SearchTollFreeCANUSParams,
19433    ) -> Result<Value> {
19434        self.call_raw("searchTollFreeCanUS", params).await
19435    }
19436
19437    /// \- Searches for USA Toll Free Numbers using a Search Criteria.
19438    /// \- Shows all USA Toll Free Numbers available if no criteria is provided.
19439    ///
19440    /// Call the `searchTollFreeUSA` API method and deserialize into [`SearchTollFreeUSAResponse`].
19441    pub async fn search_toll_free_usa(
19442        &self,
19443        params: &SearchTollFreeUSAParams,
19444    ) -> Result<SearchTollFreeUSAResponse> {
19445        self.call("searchTollFreeUSA", params).await
19446    }
19447
19448    /// Call the `searchTollFreeUSA` API method and return the raw JSON envelope.
19449    pub async fn search_toll_free_usa_raw(
19450        &self,
19451        params: &SearchTollFreeUSAParams,
19452    ) -> Result<Value> {
19453        self.call_raw("searchTollFreeUSA", params).await
19454    }
19455
19456    /// \- Searches for Vanity Toll Free Numbers using a Search Criteria.
19457    ///
19458    /// Call the `searchVanity` API method and deserialize into [`SearchVanityResponse`].
19459    pub async fn search_vanity(&self, params: &SearchVanityParams) -> Result<SearchVanityResponse> {
19460        self.call("searchVanity", params).await
19461    }
19462
19463    /// Call the `searchVanity` API method and return the raw JSON envelope.
19464    pub async fn search_vanity_raw(&self, params: &SearchVanityParams) -> Result<Value> {
19465        self.call_raw("searchVanity", params).await
19466    }
19467
19468    /// \- Send information and audio file to email account.
19469    ///
19470    /// Call the `sendCallRecordingEmail` API method and deserialize into [`SendCallRecordingEmailResponse`].
19471    pub async fn send_call_recording_email(
19472        &self,
19473        params: &SendCallRecordingEmailParams,
19474    ) -> Result<SendCallRecordingEmailResponse> {
19475        self.call("sendCallRecordingEmail", params).await
19476    }
19477
19478    /// Call the `sendCallRecordingEmail` API method and return the raw JSON envelope.
19479    pub async fn send_call_recording_email_raw(
19480        &self,
19481        params: &SendCallRecordingEmailParams,
19482    ) -> Result<Value> {
19483        self.call_raw("sendCallRecordingEmail", params).await
19484    }
19485
19486    /// \- Send a Fax message to a Destination Number.
19487    ///
19488    /// Call the `sendFaxMessage` API method and deserialize into [`SendFAXMessageResponse`].
19489    pub async fn send_fax_message(
19490        &self,
19491        params: &SendFAXMessageParams,
19492    ) -> Result<SendFAXMessageResponse> {
19493        self.call("sendFaxMessage", params).await
19494    }
19495
19496    /// Call the `sendFaxMessage` API method and return the raw JSON envelope.
19497    pub async fn send_fax_message_raw(&self, params: &SendFAXMessageParams) -> Result<Value> {
19498        self.call_raw("sendFaxMessage", params).await
19499    }
19500
19501    /// \- Send a MMS message to a Destination Number.
19502    ///
19503    /// Call the `sendMMS` API method and deserialize into [`SendMMSResponse`].
19504    pub async fn send_mms(&self, params: &SendMMSParams) -> Result<SendMMSResponse> {
19505        self.call("sendMMS", params).await
19506    }
19507
19508    /// Call the `sendMMS` API method and return the raw JSON envelope.
19509    pub async fn send_mms_raw(&self, params: &SendMMSParams) -> Result<Value> {
19510        self.call_raw("sendMMS", params).await
19511    }
19512
19513    /// \- Send a SMS message to a Destination Number.
19514    ///
19515    /// Call the `sendSMS` API method and deserialize into [`SendSMSResponse`].
19516    pub async fn send_sms(&self, params: &SendSMSParams) -> Result<SendSMSResponse> {
19517        self.call("sendSMS", params).await
19518    }
19519
19520    /// Call the `sendSMS` API method and return the raw JSON envelope.
19521    pub async fn send_sms_raw(&self, params: &SendSMSParams) -> Result<Value> {
19522        self.call_raw("sendSMS", params).await
19523    }
19524
19525    /// \- Send a Voicemail Message File to an Email Address.
19526    ///
19527    /// Call the `sendVoicemailEmail` API method and deserialize into [`SendVoicemailEmailResponse`].
19528    pub async fn send_voicemail_email(
19529        &self,
19530        params: &SendVoicemailEmailParams,
19531    ) -> Result<SendVoicemailEmailResponse> {
19532        self.call("sendVoicemailEmail", params).await
19533    }
19534
19535    /// Call the `sendVoicemailEmail` API method and return the raw JSON envelope.
19536    pub async fn send_voicemail_email_raw(
19537        &self,
19538        params: &SendVoicemailEmailParams,
19539    ) -> Result<Value> {
19540        self.call_raw("sendVoicemailEmail", params).await
19541    }
19542
19543    /// \- Updates a specific Call Hunting if a Call Hunting code is provided.
19544    /// \- Adds a new Call Hunting if no Call Hunting code is provided.
19545    ///
19546    /// Call the `setCallHunting` API method and deserialize into [`SetCallHuntingResponse`].
19547    pub async fn set_call_hunting(
19548        &self,
19549        params: &SetCallHuntingParams,
19550    ) -> Result<SetCallHuntingResponse> {
19551        self.call("setCallHunting", params).await
19552    }
19553
19554    /// Call the `setCallHunting` API method and return the raw JSON envelope.
19555    pub async fn set_call_hunting_raw(&self, params: &SetCallHuntingParams) -> Result<Value> {
19556        self.call_raw("setCallHunting", params).await
19557    }
19558
19559    /// \- Updates a specific Call Parking entry if a Call Parking ID is
19560    /// provided.
19561    /// \- Adds a new Call Parking entry if no Call Parking ID is provided.
19562    ///
19563    /// Call the `setCallParking` API method and deserialize into [`SetCallParkingResponse`].
19564    pub async fn set_call_parking(
19565        &self,
19566        params: &SetCallParkingParams,
19567    ) -> Result<SetCallParkingResponse> {
19568        self.call("setCallParking", params).await
19569    }
19570
19571    /// Call the `setCallParking` API method and return the raw JSON envelope.
19572    pub async fn set_call_parking_raw(&self, params: &SetCallParkingParams) -> Result<Value> {
19573        self.call_raw("setCallParking", params).await
19574    }
19575
19576    /// \- Updates a specific Callback if a callback code is provided.
19577    /// \- Adds a new Callback entry if no callback code is provided.
19578    ///
19579    /// Call the `setCallback` API method and deserialize into [`SetCallbackResponse`].
19580    pub async fn set_callback(&self, params: &SetCallbackParams) -> Result<SetCallbackResponse> {
19581        self.call("setCallback", params).await
19582    }
19583
19584    /// Call the `setCallback` API method and return the raw JSON envelope.
19585    pub async fn set_callback_raw(&self, params: &SetCallbackParams) -> Result<Value> {
19586        self.call_raw("setCallback", params).await
19587    }
19588
19589    /// \- Updates a specific Caller ID Filtering if a filtering code is
19590    /// provided.
19591    /// \- Adds a new Caller ID Filtering if no filtering code is provided.
19592    ///
19593    /// Call the `setCallerIDFiltering` API method and deserialize into [`SetCallerIDFilteringResponse`].
19594    pub async fn set_caller_id_filtering(
19595        &self,
19596        params: &SetCallerIDFilteringParams,
19597    ) -> Result<SetCallerIDFilteringResponse> {
19598        self.call("setCallerIDFiltering", params).await
19599    }
19600
19601    /// Call the `setCallerIDFiltering` API method and return the raw JSON envelope.
19602    pub async fn set_caller_id_filtering_raw(
19603        &self,
19604        params: &SetCallerIDFilteringParams,
19605    ) -> Result<Value> {
19606        self.call_raw("setCallerIDFiltering", params).await
19607    }
19608
19609    /// \- Updates Reseller Client information.
19610    ///
19611    /// Call the `setClient` API method and deserialize into [`SetClientResponse`].
19612    pub async fn set_client(&self, params: &SetClientParams) -> Result<SetClientResponse> {
19613        self.call("setClient", params).await
19614    }
19615
19616    /// Call the `setClient` API method and return the raw JSON envelope.
19617    pub async fn set_client_raw(&self, params: &SetClientParams) -> Result<Value> {
19618        self.call_raw("setClient", params).await
19619    }
19620
19621    /// \- Update the Threshold Amount for a specific Reseller Client.- Update
19622    /// the Threshold notification e-mail for a specific Reseller Client if the
19623    /// e-mail address is provided.
19624    ///
19625    /// Call the `setClientThreshold` API method and deserialize into [`SetClientThresholdResponse`].
19626    pub async fn set_client_threshold(
19627        &self,
19628        params: &SetClientThresholdParams,
19629    ) -> Result<SetClientThresholdResponse> {
19630        self.call("setClientThreshold", params).await
19631    }
19632
19633    /// Call the `setClientThreshold` API method and return the raw JSON envelope.
19634    pub async fn set_client_threshold_raw(
19635        &self,
19636        params: &SetClientThresholdParams,
19637    ) -> Result<Value> {
19638        self.call_raw("setClientThreshold", params).await
19639    }
19640
19641    /// \- Updates a specific Conference if a conference code is provided.
19642    /// \- Adds a new Conference entry if no conference code is provided.
19643    ///
19644    /// Call the `setConference` API method and deserialize into [`SetConferenceResponse`].
19645    pub async fn set_conference(
19646        &self,
19647        params: &SetConferenceParams,
19648    ) -> Result<SetConferenceResponse> {
19649        self.call("setConference", params).await
19650    }
19651
19652    /// Call the `setConference` API method and return the raw JSON envelope.
19653    pub async fn set_conference_raw(&self, params: &SetConferenceParams) -> Result<Value> {
19654        self.call_raw("setConference", params).await
19655    }
19656
19657    /// \- Updates a specific Member profile if a member code is provided.
19658    /// \- Adds a new Member profile entry if no member code is provided.
19659    ///
19660    /// Call the `setConferenceMember` API method and deserialize into [`SetConferenceMemberResponse`].
19661    pub async fn set_conference_member(
19662        &self,
19663        params: &SetConferenceMemberParams,
19664    ) -> Result<SetConferenceMemberResponse> {
19665        self.call("setConferenceMember", params).await
19666    }
19667
19668    /// Call the `setConferenceMember` API method and return the raw JSON envelope.
19669    pub async fn set_conference_member_raw(
19670        &self,
19671        params: &SetConferenceMemberParams,
19672    ) -> Result<Value> {
19673        self.call_raw("setConferenceMember", params).await
19674    }
19675
19676    /// \- Updates the Billing Plan from a specific DID.
19677    ///
19678    /// Call the `setDIDBillingType` API method and deserialize into [`SetDIDBillingTypeResponse`].
19679    pub async fn set_did_billing_type(
19680        &self,
19681        params: &SetDIDBillingTypeParams,
19682    ) -> Result<SetDIDBillingTypeResponse> {
19683        self.call("setDIDBillingType", params).await
19684    }
19685
19686    /// Call the `setDIDBillingType` API method and return the raw JSON envelope.
19687    pub async fn set_did_billing_type_raw(
19688        &self,
19689        params: &SetDIDBillingTypeParams,
19690    ) -> Result<Value> {
19691        self.call_raw("setDIDBillingType", params).await
19692    }
19693
19694    /// \- Updates the information from a specific DID.
19695    ///
19696    /// Call the `setDIDInfo` API method and deserialize into [`SetDIDInfoResponse`].
19697    pub async fn set_did_info(&self, params: &SetDIDInfoParams) -> Result<SetDIDInfoResponse> {
19698        self.call("setDIDInfo", params).await
19699    }
19700
19701    /// Call the `setDIDInfo` API method and return the raw JSON envelope.
19702    pub async fn set_did_info_raw(&self, params: &SetDIDInfoParams) -> Result<Value> {
19703        self.call_raw("setDIDInfo", params).await
19704    }
19705
19706    /// \- Updates the POP from a specific DID.
19707    ///
19708    /// Call the `setDIDPOP` API method and deserialize into [`SetDIDPOPResponse`].
19709    pub async fn set_did_pop(&self, params: &SetDIDPOPParams) -> Result<SetDIDPOPResponse> {
19710        self.call("setDIDPOP", params).await
19711    }
19712
19713    /// Call the `setDIDPOP` API method and return the raw JSON envelope.
19714    pub async fn set_did_pop_raw(&self, params: &SetDIDPOPParams) -> Result<Value> {
19715        self.call_raw("setDIDPOP", params).await
19716    }
19717
19718    /// \- Updates the Routing from a specific DID.
19719    ///
19720    /// Call the `setDIDRouting` API method and deserialize into [`SetDIDRoutingResponse`].
19721    pub async fn set_did_routing(
19722        &self,
19723        params: &SetDIDRoutingParams,
19724    ) -> Result<SetDIDRoutingResponse> {
19725        self.call("setDIDRouting", params).await
19726    }
19727
19728    /// Call the `setDIDRouting` API method and return the raw JSON envelope.
19729    pub async fn set_did_routing_raw(&self, params: &SetDIDRoutingParams) -> Result<Value> {
19730        self.call_raw("setDIDRouting", params).await
19731    }
19732
19733    /// \- Updates the Voicemail from a specific DID.
19734    ///
19735    /// Call the `setDIDVoicemail` API method and deserialize into [`SetDIDVoicemailResponse`].
19736    pub async fn set_did_voicemail(
19737        &self,
19738        params: &SetDIDVoicemailParams,
19739    ) -> Result<SetDIDVoicemailResponse> {
19740        self.call("setDIDVoicemail", params).await
19741    }
19742
19743    /// Call the `setDIDVoicemail` API method and return the raw JSON envelope.
19744    pub async fn set_did_voicemail_raw(&self, params: &SetDIDVoicemailParams) -> Result<Value> {
19745        self.call_raw("setDIDVoicemail", params).await
19746    }
19747
19748    /// \- Updates a specific DISA if a disa code is provided.
19749    /// \- Adds a new DISA entry if no disa code is provided.
19750    ///
19751    /// Call the `setDISA` API method and deserialize into [`SetDISAResponse`].
19752    pub async fn set_disa(&self, params: &SetDISAParams) -> Result<SetDISAResponse> {
19753        self.call("setDISA", params).await
19754    }
19755
19756    /// Call the `setDISA` API method and return the raw JSON envelope.
19757    pub async fn set_disa_raw(&self, params: &SetDISAParams) -> Result<Value> {
19758        self.call_raw("setDISA", params).await
19759    }
19760
19761    /// \- Create or update the information of a specific "Email to Fax
19762    /// configuration".
19763    ///
19764    /// Call the `setEmailToFax` API method and deserialize into [`SetEmailToFAXResponse`].
19765    pub async fn set_email_to_fax(
19766        &self,
19767        params: &SetEmailToFAXParams,
19768    ) -> Result<SetEmailToFAXResponse> {
19769        self.call("setEmailToFax", params).await
19770    }
19771
19772    /// Call the `setEmailToFax` API method and return the raw JSON envelope.
19773    pub async fn set_email_to_fax_raw(&self, params: &SetEmailToFAXParams) -> Result<Value> {
19774        self.call_raw("setEmailToFax", params).await
19775    }
19776
19777    /// \- Create or update the information of a specific Fax Folder.
19778    ///
19779    /// Call the `setFaxFolder` API method and deserialize into [`SetFAXFolderResponse`].
19780    pub async fn set_fax_folder(
19781        &self,
19782        params: &SetFAXFolderParams,
19783    ) -> Result<SetFAXFolderResponse> {
19784        self.call("setFaxFolder", params).await
19785    }
19786
19787    /// Call the `setFaxFolder` API method and return the raw JSON envelope.
19788    pub async fn set_fax_folder_raw(&self, params: &SetFAXFolderParams) -> Result<Value> {
19789        self.call_raw("setFaxFolder", params).await
19790    }
19791
19792    /// \- Updates the email configuration from a specific Fax Number.
19793    ///
19794    /// Call the `setFaxNumberEmail` API method and deserialize into [`SetFAXNumberEmailResponse`].
19795    pub async fn set_fax_number_email(
19796        &self,
19797        params: &SetFAXNumberEmailParams,
19798    ) -> Result<SetFAXNumberEmailResponse> {
19799        self.call("setFaxNumberEmail", params).await
19800    }
19801
19802    /// Call the `setFaxNumberEmail` API method and return the raw JSON envelope.
19803    pub async fn set_fax_number_email_raw(
19804        &self,
19805        params: &SetFAXNumberEmailParams,
19806    ) -> Result<Value> {
19807        self.call_raw("setFaxNumberEmail", params).await
19808    }
19809
19810    /// \- Updates the information from a specific Fax Number.
19811    ///
19812    /// Call the `setFaxNumberInfo` API method and deserialize into [`SetFAXNumberInfoResponse`].
19813    pub async fn set_fax_number_info(
19814        &self,
19815        params: &SetFAXNumberInfoParams,
19816    ) -> Result<SetFAXNumberInfoResponse> {
19817        self.call("setFaxNumberInfo", params).await
19818    }
19819
19820    /// Call the `setFaxNumberInfo` API method and return the raw JSON envelope.
19821    pub async fn set_fax_number_info_raw(&self, params: &SetFAXNumberInfoParams) -> Result<Value> {
19822        self.call_raw("setFaxNumberInfo", params).await
19823    }
19824
19825    /// \- Updates the url callback configuration from a specific Fax Number.
19826    ///
19827    /// Call the `setFaxNumberURLCallback` API method and deserialize into [`SetFAXNumberURLCallbackResponse`].
19828    pub async fn set_fax_number_url_callback(
19829        &self,
19830        params: &SetFAXNumberURLCallbackParams,
19831    ) -> Result<SetFAXNumberURLCallbackResponse> {
19832        self.call("setFaxNumberURLCallback", params).await
19833    }
19834
19835    /// Call the `setFaxNumberURLCallback` API method and return the raw JSON envelope.
19836    pub async fn set_fax_number_url_callback_raw(
19837        &self,
19838        params: &SetFAXNumberURLCallbackParams,
19839    ) -> Result<Value> {
19840        self.call_raw("setFaxNumberURLCallback", params).await
19841    }
19842
19843    /// \- Updates a specific Forwarding if a fwd code is provided.
19844    /// \- Adds a new Forwarding entry if no fwd code is provided.
19845    ///
19846    /// Call the `setForwarding` API method and deserialize into [`SetForwardingResponse`].
19847    pub async fn set_forwarding(
19848        &self,
19849        params: &SetForwardingParams,
19850    ) -> Result<SetForwardingResponse> {
19851        self.call("setForwarding", params).await
19852    }
19853
19854    /// Call the `setForwarding` API method and return the raw JSON envelope.
19855    pub async fn set_forwarding_raw(&self, params: &SetForwardingParams) -> Result<Value> {
19856        self.call_raw("setForwarding", params).await
19857    }
19858
19859    /// \- Updates a specific IVR if an IVR code is provided.
19860    /// \- Adds a new IVR entry if no IVR code is provided.
19861    ///
19862    /// Call the `setIVR` API method and deserialize into [`SetIVRResponse`].
19863    pub async fn set_ivr(&self, params: &SetIVRParams) -> Result<SetIVRResponse> {
19864        self.call("setIVR", params).await
19865    }
19866
19867    /// Call the `setIVR` API method and return the raw JSON envelope.
19868    pub async fn set_ivr_raw(&self, params: &SetIVRParams) -> Result<Value> {
19869        self.call_raw("setIVR", params).await
19870    }
19871
19872    /// Call the `setLocation` API method and deserialize into [`SetLocationResponse`].
19873    pub async fn set_location(&self, params: &SetLocationParams) -> Result<SetLocationResponse> {
19874        self.call("setLocation", params).await
19875    }
19876
19877    /// Call the `setLocation` API method and return the raw JSON envelope.
19878    pub async fn set_location_raw(&self, params: &SetLocationParams) -> Result<Value> {
19879        self.call_raw("setLocation", params).await
19880    }
19881
19882    /// Call the `setMusicOnHold` API method and deserialize into [`SetMusicOnHoldResponse`].
19883    pub async fn set_music_on_hold(
19884        &self,
19885        params: &SetMusicOnHoldParams,
19886    ) -> Result<SetMusicOnHoldResponse> {
19887        self.call("setMusicOnHold", params).await
19888    }
19889
19890    /// Call the `setMusicOnHold` API method and return the raw JSON envelope.
19891    pub async fn set_music_on_hold_raw(&self, params: &SetMusicOnHoldParams) -> Result<Value> {
19892        self.call_raw("setMusicOnHold", params).await
19893    }
19894
19895    /// \- Updates a specific Phonebook entry if a phonebook code is provided.
19896    /// \- Adds a new Phonebook entry if no phonebook code is provided.
19897    ///
19898    /// Call the `setPhonebook` API method and deserialize into [`SetPhonebookResponse`].
19899    pub async fn set_phonebook(&self, params: &SetPhonebookParams) -> Result<SetPhonebookResponse> {
19900        self.call("setPhonebook", params).await
19901    }
19902
19903    /// Call the `setPhonebook` API method and return the raw JSON envelope.
19904    pub async fn set_phonebook_raw(&self, params: &SetPhonebookParams) -> Result<Value> {
19905        self.call_raw("setPhonebook", params).await
19906    }
19907
19908    /// \- Updates a specific Phonebook group if a phonebook code is provided.
19909    /// \- Adds a new Phonebook group if no phonebook group code is provided.
19910    /// \- Assigns or modifies group members if a member list is provided
19911    ///
19912    /// Call the `setPhonebookGroup` API method and deserialize into [`SetPhonebookGroupResponse`].
19913    pub async fn set_phonebook_group(
19914        &self,
19915        params: &SetPhonebookGroupParams,
19916    ) -> Result<SetPhonebookGroupResponse> {
19917        self.call("setPhonebookGroup", params).await
19918    }
19919
19920    /// Call the `setPhonebookGroup` API method and return the raw JSON envelope.
19921    pub async fn set_phonebook_group_raw(&self, params: &SetPhonebookGroupParams) -> Result<Value> {
19922        self.call_raw("setPhonebookGroup", params).await
19923    }
19924
19925    /// \- Updates a specific Queue entry if a queue code is provided.
19926    /// \- Adds a new Queue entry if no queue code is provided.
19927    ///
19928    /// Call the `setQueue` API method and deserialize into [`SetQueueResponse`].
19929    pub async fn set_queue(&self, params: &SetQueueParams) -> Result<SetQueueResponse> {
19930        self.call("setQueue", params).await
19931    }
19932
19933    /// Call the `setQueue` API method and return the raw JSON envelope.
19934    pub async fn set_queue_raw(&self, params: &SetQueueParams) -> Result<Value> {
19935        self.call_raw("setQueue", params).await
19936    }
19937
19938    /// \- Updates a specific Recording File if a Recording ID is provided.
19939    /// \- Adds a new Recording file entry if no Recording ID is provided.
19940    ///
19941    /// Call the `setRecording` API method and deserialize into [`SetRecordingResponse`].
19942    pub async fn set_recording(&self, params: &SetRecordingParams) -> Result<SetRecordingResponse> {
19943        self.call("setRecording", params).await
19944    }
19945
19946    /// Call the `setRecording` API method and return the raw JSON envelope.
19947    pub async fn set_recording_raw(&self, params: &SetRecordingParams) -> Result<Value> {
19948        self.call_raw("setRecording", params).await
19949    }
19950
19951    /// \- Updates a specific Ring Group if a ring group code is provided.
19952    /// \- Adds a new Ring Group entry if no ring group code is provided.
19953    ///
19954    /// Call the `setRingGroup` API method and deserialize into [`SetRingGroupResponse`].
19955    pub async fn set_ring_group(
19956        &self,
19957        params: &SetRingGroupParams,
19958    ) -> Result<SetRingGroupResponse> {
19959        self.call("setRingGroup", params).await
19960    }
19961
19962    /// Call the `setRingGroup` API method and return the raw JSON envelope.
19963    pub async fn set_ring_group_raw(&self, params: &SetRingGroupParams) -> Result<Value> {
19964        self.call_raw("setRingGroup", params).await
19965    }
19966
19967    /// \- Updates a specific SIP URI if a SIP URI code is provided.
19968    /// \- Adds a new SIP URI entry if no SIP URI code is provided.
19969    ///
19970    /// Call the `setSIPURI` API method and deserialize into [`SetSIPURIResponse`].
19971    pub async fn set_sip_uri(&self, params: &SetSIPURIParams) -> Result<SetSIPURIResponse> {
19972        self.call("setSIPURI", params).await
19973    }
19974
19975    /// Call the `setSIPURI` API method and return the raw JSON envelope.
19976    pub async fn set_sip_uri_raw(&self, params: &SetSIPURIParams) -> Result<Value> {
19977        self.call_raw("setSIPURI", params).await
19978    }
19979
19980    /// \- Enable/Disable the SMS Service for a DID
19981    /// \- Change the SMS settings for a DID
19982    ///
19983    /// Call the `setSMS` API method and deserialize into [`SetSMSResponse`].
19984    pub async fn set_sms(&self, params: &SetSMSParams) -> Result<SetSMSResponse> {
19985        self.call("setSMS", params).await
19986    }
19987
19988    /// Call the `setSMS` API method and return the raw JSON envelope.
19989    pub async fn set_sms_raw(&self, params: &SetSMSParams) -> Result<Value> {
19990        self.call_raw("setSMS", params).await
19991    }
19992
19993    /// \- Updates a specific Member from queue if a Member code is provided.
19994    /// \- Adds a new Member to Queue if no Member code is provided.
19995    ///
19996    /// Call the `setStaticMember` API method and deserialize into [`SetStaticMemberResponse`].
19997    pub async fn set_static_member(
19998        &self,
19999        params: &SetStaticMemberParams,
20000    ) -> Result<SetStaticMemberResponse> {
20001        self.call("setStaticMember", params).await
20002    }
20003
20004    /// Call the `setStaticMember` API method and return the raw JSON envelope.
20005    pub async fn set_static_member_raw(&self, params: &SetStaticMemberParams) -> Result<Value> {
20006        self.call_raw("setStaticMember", params).await
20007    }
20008
20009    /// \- Updates Sub Account information.
20010    ///
20011    /// Call the `setSubAccount` API method and deserialize into [`SetSubAccountResponse`].
20012    pub async fn set_sub_account(
20013        &self,
20014        params: &SetSubAccountParams,
20015    ) -> Result<SetSubAccountResponse> {
20016        self.call("setSubAccount", params).await
20017    }
20018
20019    /// Call the `setSubAccount` API method and return the raw JSON envelope.
20020    pub async fn set_sub_account_raw(&self, params: &SetSubAccountParams) -> Result<Value> {
20021        self.call_raw("setSubAccount", params).await
20022    }
20023
20024    /// \- Updates a specific Time Condition if a time condition code is
20025    /// provided.
20026    /// \- Adds a new Time Condition entry if no time condition code is provided.
20027    ///
20028    /// Call the `setTimeCondition` API method and deserialize into [`SetTimeConditionResponse`].
20029    pub async fn set_time_condition(
20030        &self,
20031        params: &SetTimeConditionParams,
20032    ) -> Result<SetTimeConditionResponse> {
20033        self.call("setTimeCondition", params).await
20034    }
20035
20036    /// Call the `setTimeCondition` API method and return the raw JSON envelope.
20037    pub async fn set_time_condition_raw(&self, params: &SetTimeConditionParams) -> Result<Value> {
20038        self.call_raw("setTimeCondition", params).await
20039    }
20040
20041    /// \- Updates the information from a specific Voicemail.
20042    ///
20043    /// Call the `setVoicemail` API method and deserialize into [`SetVoicemailResponse`].
20044    pub async fn set_voicemail(&self, params: &SetVoicemailParams) -> Result<SetVoicemailResponse> {
20045        self.call("setVoicemail", params).await
20046    }
20047
20048    /// Call the `setVoicemail` API method and return the raw JSON envelope.
20049    pub async fn set_voicemail_raw(&self, params: &SetVoicemailParams) -> Result<Value> {
20050        self.call_raw("setVoicemail", params).await
20051    }
20052
20053    /// \- Signs a new Reseller Client to your Reseller Account.
20054    ///
20055    /// Call the `signupClient` API method and deserialize into [`SignupClientResponse`].
20056    pub async fn signup_client(&self, params: &SignupClientParams) -> Result<SignupClientResponse> {
20057        self.call("signupClient", params).await
20058    }
20059
20060    /// Call the `signupClient` API method and return the raw JSON envelope.
20061    pub async fn signup_client_raw(&self, params: &SignupClientParams) -> Result<Value> {
20062        self.call_raw("signupClient", params).await
20063    }
20064
20065    /// \- Unconnects specific DID from Reseller Client Sub Account.
20066    ///
20067    /// Call the `unconnectDID` API method and deserialize into [`UnconnectDIDResponse`].
20068    pub async fn unconnect_did(&self, params: &UnconnectDIDParams) -> Result<UnconnectDIDResponse> {
20069        self.call("unconnectDID", params).await
20070    }
20071
20072    /// Call the `unconnectDID` API method and return the raw JSON envelope.
20073    pub async fn unconnect_did_raw(&self, params: &UnconnectDIDParams) -> Result<Value> {
20074        self.call_raw("unconnectDID", params).await
20075    }
20076
20077    /// \- Unconnects specific FAX DID from Reseller Client Sub Account.
20078    ///
20079    /// Call the `unconnectFAX` API method and deserialize into [`UnconnectFAXResponse`].
20080    pub async fn unconnect_fax(&self, params: &UnconnectFAXParams) -> Result<UnconnectFAXResponse> {
20081        self.call("unconnectFAX", params).await
20082    }
20083
20084    /// Call the `unconnectFAX` API method and return the raw JSON envelope.
20085    pub async fn unconnect_fax_raw(&self, params: &UnconnectFAXParams) -> Result<Value> {
20086        self.call_raw("unconnectFAX", params).await
20087    }
20088}