#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
pub struct ResponseCallLogObject {
#[serde(rename = "user_id", skip_serializing_if = "Option::is_none")]
pub user_id: Option<i32>,
#[serde(rename = "activity_id", skip_serializing_if = "Option::is_none")]
pub activity_id: Option<i32>,
#[serde(rename = "subject", skip_serializing_if = "Option::is_none")]
pub subject: Option<String>,
#[serde(rename = "duration", skip_serializing_if = "Option::is_none")]
pub duration: Option<String>,
#[serde(rename = "outcome")]
pub outcome: Outcome,
#[serde(rename = "from_phone_number", skip_serializing_if = "Option::is_none")]
pub from_phone_number: Option<String>,
#[serde(rename = "to_phone_number")]
pub to_phone_number: String,
#[serde(rename = "start_time")]
pub start_time: String,
#[serde(rename = "end_time")]
pub end_time: String,
#[serde(rename = "person_id", skip_serializing_if = "Option::is_none")]
pub person_id: Option<i32>,
#[serde(rename = "org_id", skip_serializing_if = "Option::is_none")]
pub org_id: Option<i32>,
#[serde(rename = "deal_id", skip_serializing_if = "Option::is_none")]
pub deal_id: Option<i32>,
#[serde(rename = "note", skip_serializing_if = "Option::is_none")]
pub note: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<String>,
#[serde(rename = "has_recording", skip_serializing_if = "Option::is_none")]
pub has_recording: Option<bool>,
#[serde(rename = "company_id", skip_serializing_if = "Option::is_none")]
pub company_id: Option<i32>,
}
impl ResponseCallLogObject {
pub fn new(outcome: Outcome, to_phone_number: String, start_time: String, end_time: String) -> ResponseCallLogObject {
ResponseCallLogObject {
user_id: None,
activity_id: None,
subject: None,
duration: None,
outcome,
from_phone_number: None,
to_phone_number,
start_time,
end_time,
person_id: None,
org_id: None,
deal_id: None,
note: None,
id: None,
has_recording: None,
company_id: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Outcome {
#[serde(rename = "connected")]
Connected,
#[serde(rename = "no_answer")]
NoAnswer,
#[serde(rename = "left_message")]
LeftMessage,
#[serde(rename = "left_voicemail")]
LeftVoicemail,
#[serde(rename = "wrong_number")]
WrongNumber,
#[serde(rename = "busy")]
Busy,
}
impl Default for Outcome {
fn default() -> Outcome {
Self::Connected
}
}