use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ClaimReason {
#[serde(rename = "LOST_IN_TRANSIT")]
LostInTransit,
#[serde(rename = "DAMAGED_IN_TRANSIT")]
DamagedInTransit,
#[serde(rename = "DELIVERED_NOT_RECEIVED")]
DeliveredNotReceived,
#[serde(rename = "ITEM_MISSING_SWITCHEROO")]
ItemMissingSwitcheroo,
#[serde(rename = "COD_ABUSE")]
CodAbuse,
}
impl std::fmt::Display for ClaimReason {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::LostInTransit => write!(f, "LOST_IN_TRANSIT"),
Self::DamagedInTransit => write!(f, "DAMAGED_IN_TRANSIT"),
Self::DeliveredNotReceived => write!(f, "DELIVERED_NOT_RECEIVED"),
Self::ItemMissingSwitcheroo => write!(f, "ITEM_MISSING_SWITCHEROO"),
Self::CodAbuse => write!(f, "COD_ABUSE"),
}
}
}
impl Default for ClaimReason {
fn default() -> ClaimReason {
Self::LostInTransit
}
}