use crate::gen::manager::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum DialStatus {
#[serde(rename = "pending")]
Pending,
#[serde(rename = "new")]
New,
#[serde(rename = "callback_hold")]
CallbackHold,
#[serde(rename = "answering_machine_auto")]
AnsweringMachineAuto,
#[serde(rename = "busy_auto")]
BusyAuto,
#[serde(rename = "no_answer_auto")]
NoAnswerAuto,
#[serde(rename = "disconnected_number_auto")]
DisconnectedNumberAuto,
#[serde(rename = "dropped")]
Dropped,
#[serde(rename = "in_call")]
InCall,
#[serde(rename = "unknown")]
Unknown,
#[serde(rename = "picked_up")]
PickedUp,
#[serde(rename = "voicemail")]
Voicemail,
#[serde(rename = "agent_error")]
AgentError,
#[serde(rename = "not_viable")]
NotViable,
#[serde(rename = "queued")]
Queued,
#[serde(rename = "dispo")]
Dispo,
#[serde(rename = "no_answer")]
NoAnswer,
#[serde(rename = "disconnected_number")]
DisconnectedNumber,
#[serde(rename = "busy")]
Busy,
#[serde(rename = "callback")]
Callback,
#[serde(rename = "answering_machine")]
AnsweringMachine,
#[serde(rename = "not_interested")]
NotInterested,
#[serde(rename = "do_not_call")]
DoNotCall,
#[serde(rename = "sale")]
Sale,
}
impl std::fmt::Display for DialStatus {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::Pending => write!(f, "pending"),
Self::New => write!(f, "new"),
Self::CallbackHold => write!(f, "callback_hold"),
Self::AnsweringMachineAuto => write!(f, "answering_machine_auto"),
Self::BusyAuto => write!(f, "busy_auto"),
Self::NoAnswerAuto => write!(f, "no_answer_auto"),
Self::DisconnectedNumberAuto => write!(f, "disconnected_number_auto"),
Self::Dropped => write!(f, "dropped"),
Self::InCall => write!(f, "in_call"),
Self::Unknown => write!(f, "unknown"),
Self::PickedUp => write!(f, "picked_up"),
Self::Voicemail => write!(f, "voicemail"),
Self::AgentError => write!(f, "agent_error"),
Self::NotViable => write!(f, "not_viable"),
Self::Queued => write!(f, "queued"),
Self::Dispo => write!(f, "dispo"),
Self::NoAnswer => write!(f, "no_answer"),
Self::DisconnectedNumber => write!(f, "disconnected_number"),
Self::Busy => write!(f, "busy"),
Self::Callback => write!(f, "callback"),
Self::AnsweringMachine => write!(f, "answering_machine"),
Self::NotInterested => write!(f, "not_interested"),
Self::DoNotCall => write!(f, "do_not_call"),
Self::Sale => write!(f, "sale"),
}
}
}
impl Default for DialStatus {
fn default() -> DialStatus {
Self::Pending
}
}