use crate::Request;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct ModifyReceiverInfo {
#[serde(rename = "addrDetail")]
pub addr_detail: Option<String>,
#[serde(rename = "areaName")]
pub area_name: Option<String>,
#[serde(rename = "cityName")]
pub city_name: Option<String>,
#[serde(rename = "contactName")]
pub contact_name: Option<String>,
#[serde(rename = "mobile")]
pub mobile: Option<String>,
#[serde(rename = "provName")]
pub prov_name: Option<String>,
#[serde(rename = "streetName")]
pub street_name: Option<String>,
#[serde(rename = "telephone")]
pub telephone: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddServiceMailBizactionNotifyRequest {
#[serde(rename = "attributes")]
pub attributes: Option<String>,
#[serde(rename = "bizAction")]
pub biz_action: Option<String>,
#[serde(rename = "bizActionDesc")]
pub biz_action_desc: Option<String>,
#[serde(rename = "cancelOrRejectReason")]
pub cancel_or_reject_reason: Option<String>,
#[serde(rename = "checkPrice")]
pub check_price: Option<i32>,
#[serde(rename = "checkPriceType")]
pub check_price_type: Option<String>,
#[serde(rename = "checkWeight")]
pub check_weight: Option<i32>,
#[serde(rename = "confirmReceiverInfo")]
pub confirm_receiver_info: Option<ConfirmReceiverInfo>,
#[serde(rename = "confirmSenderInfo")]
pub confirm_sender_info: Option<ConfirmSenderInfo>,
#[serde(rename = "endTime")]
pub end_time: Option<String>,
#[serde(rename = "executeTime")]
pub execute_time: Option<String>,
#[serde(rename = "expressBoxCode")]
pub express_box_code: Option<String>,
#[serde(rename = "expressCode")]
pub express_code: Option<String>,
#[serde(rename = "freightPrice")]
pub freight_price: Option<i32>,
#[serde(rename = "height")]
pub height: Option<i32>,
#[serde(rename = "insurancePrice")]
pub insurance_price: Option<i32>,
#[serde(rename = "insuranceValue")]
pub insurance_value: Option<i32>,
#[serde(rename = "length")]
pub length: Option<i32>,
#[serde(rename = "mailNo")]
pub mail_no: Option<String>,
#[serde(rename = "mailOrderSn")]
pub mail_order_sn: Option<String>,
#[serde(rename = "modifyReceiverInfo")]
pub modify_receiver_info: Option<ModifyReceiverInfo>,
#[serde(rename = "otherPrice")]
pub other_price: Option<i32>,
#[serde(rename = "packagePrice")]
pub package_price: Option<i32>,
#[serde(rename = "payPrice")]
pub pay_price: Option<i32>,
#[serde(rename = "pickCode")]
pub pick_code: Option<String>,
#[serde(rename = "postType")]
pub post_type: Option<String>,
#[serde(rename = "postmanCode")]
pub postman_code: Option<String>,
#[serde(rename = "postmanName")]
pub postman_name: Option<String>,
#[serde(rename = "postmanPhone")]
pub postman_phone: Option<String>,
#[serde(rename = "reasonCode")]
pub reason_code: Option<String>,
#[serde(rename = "retentionReason")]
pub retention_reason: Option<String>,
#[serde(rename = "startTime")]
pub start_time: Option<String>,
#[serde(rename = "width")]
pub width: Option<i32>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct ConfirmReceiverInfo {
#[serde(rename = "addrDetail")]
pub addr_detail: Option<String>,
#[serde(rename = "areaName")]
pub area_name: Option<String>,
#[serde(rename = "cityName")]
pub city_name: Option<String>,
#[serde(rename = "contactName")]
pub contact_name: Option<String>,
#[serde(rename = "mobile")]
pub mobile: Option<String>,
#[serde(rename = "provName")]
pub prov_name: Option<String>,
#[serde(rename = "streetName")]
pub street_name: Option<String>,
#[serde(rename = "telephone")]
pub telephone: Option<String>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct PddServiceMailBizactionNotify {
#[serde(rename = "request")]
pub request: Option<PddServiceMailBizactionNotifyRequest>,
}
#[derive(Serialize, Deserialize, Debug, Default)]
pub struct ConfirmSenderInfo {
#[serde(rename = "addrDetail")]
pub addr_detail: Option<String>,
#[serde(rename = "areaName")]
pub area_name: Option<String>,
#[serde(rename = "cityName")]
pub city_name: Option<String>,
#[serde(rename = "contactName")]
pub contact_name: Option<String>,
#[serde(rename = "mobile")]
pub mobile: Option<String>,
#[serde(rename = "provName")]
pub prov_name: Option<String>,
#[serde(rename = "streetName")]
pub street_name: Option<String>,
#[serde(rename = "telephone")]
pub telephone: Option<String>,
}
impl Request for PddServiceMailBizactionNotify {
fn get_type() -> String {
"pdd.service.mail.bizaction.notify".to_string()
}
fn get_response_name() -> String {
"response".to_string()
}
}