use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
pub enum EventType {
#[serde(rename = "BOOKING_REAL_TIME_EVENT_OCCURRED")]
BookingRealTimeEventOccurred,
#[serde(rename = "BOOKING_REACCOMMODATED")]
BookingReaccommodated,
#[serde(rename = "BOOKING_TRIP_CHANGED")]
BookingTripChanged,
#[serde(rename = "BOOKING_TRIP_CONFIRMED")]
BookingTripConfirmed,
#[serde(rename = "FULFILLMENT_AVAILABLE")]
FulfillmentAvailable,
#[serde(rename = "DOCUMENT_AVAILABLE")]
DocumentAvailable,
#[serde(rename = "FULFILLMENT_REFUNDED")]
FulfillmentRefunded,
#[serde(rename = "FULFILLMENT_EXCHANGED")]
FulfillmentExchanged,
#[serde(rename = "FULFILLMENT_CONTROLLED")]
FulfillmentControlled,
#[serde(rename = "ACCOMMODATION_RELEASED")]
AccommodationReleased,
#[serde(rename = "PURCHASER_CHANGED")]
PurchaserChanged,
#[serde(rename = "PASSENGER_CHANGED")]
PassengerChanged,
#[serde(rename = "REFUND_INITIATED")]
RefundInitiated,
#[serde(rename = "EXCHANGE_INITIATED")]
ExchangeInitiated,
}
impl std::fmt::Display for EventType {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::BookingRealTimeEventOccurred => write!(f, "BOOKING_REAL_TIME_EVENT_OCCURRED"),
Self::BookingReaccommodated => write!(f, "BOOKING_REACCOMMODATED"),
Self::BookingTripChanged => write!(f, "BOOKING_TRIP_CHANGED"),
Self::BookingTripConfirmed => write!(f, "BOOKING_TRIP_CONFIRMED"),
Self::FulfillmentAvailable => write!(f, "FULFILLMENT_AVAILABLE"),
Self::DocumentAvailable => write!(f, "DOCUMENT_AVAILABLE"),
Self::FulfillmentRefunded => write!(f, "FULFILLMENT_REFUNDED"),
Self::FulfillmentExchanged => write!(f, "FULFILLMENT_EXCHANGED"),
Self::FulfillmentControlled => write!(f, "FULFILLMENT_CONTROLLED"),
Self::AccommodationReleased => write!(f, "ACCOMMODATION_RELEASED"),
Self::PurchaserChanged => write!(f, "PURCHASER_CHANGED"),
Self::PassengerChanged => write!(f, "PASSENGER_CHANGED"),
Self::RefundInitiated => write!(f, "REFUND_INITIATED"),
Self::ExchangeInitiated => write!(f, "EXCHANGE_INITIATED"),
}
}
}
impl Default for EventType {
fn default() -> EventType {
Self::BookingRealTimeEventOccurred
}
}