use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum AdditionalLocationInfo {
#[serde(rename = "AS_INSTRUCTED")]
AsInstructed,
#[serde(rename = "CARPORT")]
Carport,
#[serde(rename = "CUSTOMER_PICKUP")]
CustomerPickup,
#[serde(rename = "DECK")]
Deck,
#[serde(rename = "DOOR_PERSON")]
DoorPerson,
#[serde(rename = "FRONT_DESK")]
FrontDesk,
#[serde(rename = "FRONT_DOOR")]
FrontDoor,
#[serde(rename = "GARAGE")]
Garage,
#[serde(rename = "GUARD")]
Guard,
#[serde(rename = "MAIL_ROOM")]
MailRoom,
#[serde(rename = "MAIL_SLOT")]
MailSlot,
#[serde(rename = "MAILBOX")]
Mailbox,
#[serde(rename = "MC_BOY")]
McBoy,
#[serde(rename = "MC_GIRL")]
McGirl,
#[serde(rename = "MC_MAN")]
McMan,
#[serde(rename = "MC_WOMAN")]
McWoman,
#[serde(rename = "NEIGHBOR")]
Neighbor,
#[serde(rename = "OFFICE")]
Office,
#[serde(rename = "OUTBUILDING")]
Outbuilding,
#[serde(rename = "PATIO")]
Patio,
#[serde(rename = "PORCH")]
Porch,
#[serde(rename = "REAR_DOOR")]
RearDoor,
#[serde(rename = "RECEPTIONIST")]
Receptionist,
#[serde(rename = "RECEIVER")]
Receiver,
#[serde(rename = "SECURE_LOCATION")]
SecureLocation,
#[serde(rename = "SIDE_DOOR")]
SideDoor,
}
impl std::fmt::Display for AdditionalLocationInfo {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::AsInstructed => write!(f, "AS_INSTRUCTED"),
Self::Carport => write!(f, "CARPORT"),
Self::CustomerPickup => write!(f, "CUSTOMER_PICKUP"),
Self::Deck => write!(f, "DECK"),
Self::DoorPerson => write!(f, "DOOR_PERSON"),
Self::FrontDesk => write!(f, "FRONT_DESK"),
Self::FrontDoor => write!(f, "FRONT_DOOR"),
Self::Garage => write!(f, "GARAGE"),
Self::Guard => write!(f, "GUARD"),
Self::MailRoom => write!(f, "MAIL_ROOM"),
Self::MailSlot => write!(f, "MAIL_SLOT"),
Self::Mailbox => write!(f, "MAILBOX"),
Self::McBoy => write!(f, "MC_BOY"),
Self::McGirl => write!(f, "MC_GIRL"),
Self::McMan => write!(f, "MC_MAN"),
Self::McWoman => write!(f, "MC_WOMAN"),
Self::Neighbor => write!(f, "NEIGHBOR"),
Self::Office => write!(f, "OFFICE"),
Self::Outbuilding => write!(f, "OUTBUILDING"),
Self::Patio => write!(f, "PATIO"),
Self::Porch => write!(f, "PORCH"),
Self::RearDoor => write!(f, "REAR_DOOR"),
Self::Receptionist => write!(f, "RECEPTIONIST"),
Self::Receiver => write!(f, "RECEIVER"),
Self::SecureLocation => write!(f, "SECURE_LOCATION"),
Self::SideDoor => write!(f, "SIDE_DOOR"),
}
}
}
impl Default for AdditionalLocationInfo {
fn default() -> AdditionalLocationInfo {
Self::AsInstructed
}
}