elong-offline-sdk 0.1.4

用于与艺龙离线数据异步交互的 SDK
Documentation
use serde::{Deserialize, Serialize};

use crate::elong::error::ElongError;

use super::api_request::BaseRequest;

#[derive(Debug, Serialize, Deserialize, Default)]
#[serde(rename_all = "PascalCase")]
pub struct DataRpRequest {
    /// 酒店编号列表,最多10个,逗号分隔
    pub hotel_ids: String,
    /// 付款类型,枚举值:All(全部)、SelfPay(前台现付)、Prepay(预付)
    pub payment_type: Option<String>,
    /// 扩展参数,逗号分隔的数字列表:
    /// 1 - 返回RatePlan对应的可售卖渠道
    /// 2 - 返回结果中包含钟点房产品(1.32新增)
    pub options: Option<String>,
    /// 发票模式,枚举值:
    /// NoSense(全部)、Elong(艺龙开票)、Hotel(酒店开票)
    /// 注:该字段只过滤预付产品
    pub invoice_mode: Option<String>,
}

impl BaseRequest for DataRpRequest {
    fn to_json(&self) -> Result<String, ElongError> {
        Ok(serde_json::to_string(self)?)
    }
}