use serde::{Deserialize, Serialize};
use crate::elong::error::ElongError;
use super::api_response::{BaseResponse, ElongResponse};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct InventoryResponse {
pub inventories: Vec<Inventory>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
#[serde(rename_all = "PascalCase")]
pub struct Inventory {
#[serde(rename = "HotelID")]
pub hotel_id: String,
pub room_type_id: String,
pub hotel_code: String,
pub date: String,
pub status: bool,
pub amount: i32,
pub over_booking: i32,
pub start_date: String,
pub end_date: String,
pub start_time: String,
pub end_time: String,
pub is_instant_confirm: Option<bool>,
#[serde(rename = "IC_BeginTime")]
pub ic_begin_time: Option<String>,
#[serde(rename = "IC_EndTime")]
pub ic_end_time: Option<String>,
}
impl BaseResponse for ElongResponse<InventoryResponse> {
fn from_json(json: String) -> Result<Self, ElongError> {
log::debug!("ElongResponse<DataInventoryResponse> json: {}", json);
Ok(serde_json::from_str(&json)?)
}
}