osdm_sys/models/
exchange_offer_collection_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ExchangeOfferCollectionRequest {
17 #[serde(rename = "fulfillmentIds")]
18 pub fulfillment_ids: Vec<String>,
19 #[serde(rename = "overruleCode", skip_serializing_if = "Option::is_none")]
21 pub overrule_code: Option<String>,
22 #[serde(rename = "tripSpecifications", skip_serializing_if = "Option::is_none")]
23 pub trip_specifications: Option<Vec<models::TripSpecification>>,
24 #[serde(rename = "tripIds", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
25 pub trip_ids: Option<Option<Vec<String>>>,
26 #[serde(rename = "tripSearchCriteria", skip_serializing_if = "Option::is_none")]
27 pub trip_search_criteria: Option<Box<models::TripSearchCriteria>>,
28 #[serde(rename = "nonTripSearchCriteria", skip_serializing_if = "Option::is_none")]
29 pub non_trip_search_criteria: Option<Box<models::NonTripSearchCriteria>>,
30 #[serde(rename = "requestedSections", skip_serializing_if = "Option::is_none")]
31 pub requested_sections: Option<Vec<models::Section>>,
32 #[serde(rename = "offerSearchCriteria", skip_serializing_if = "Option::is_none")]
33 pub offer_search_criteria: Option<Box<models::OfferSearchCriteria>>,
34 #[serde(rename = "anonymousPassengerSpecifications")]
35 pub anonymous_passenger_specifications: Vec<models::AnonymousPassengerSpecification>,
36 #[serde(rename = "corporateCodes", skip_serializing_if = "Option::is_none")]
37 pub corporate_codes: Option<Vec<models::CorporateCode>>,
38 #[serde(rename = "promotionCodes", skip_serializing_if = "Option::is_none")]
39 pub promotion_codes: Option<Vec<models::PromotionCode>>,
40 #[serde(rename = "requestedFulfillmentOptions", skip_serializing_if = "Option::is_none")]
41 pub requested_fulfillment_options: Option<Vec<models::FulfillmentOption>>,
42 #[serde(rename = "embed", skip_serializing_if = "Option::is_none")]
43 pub embed: Option<Vec<models::OfferCollectionResponseContent>>,
44}
45
46impl ExchangeOfferCollectionRequest {
47 pub fn new(fulfillment_ids: Vec<String>, anonymous_passenger_specifications: Vec<models::AnonymousPassengerSpecification>) -> ExchangeOfferCollectionRequest {
49 ExchangeOfferCollectionRequest {
50 fulfillment_ids,
51 overrule_code: None,
52 trip_specifications: None,
53 trip_ids: None,
54 trip_search_criteria: None,
55 non_trip_search_criteria: None,
56 requested_sections: None,
57 offer_search_criteria: None,
58 anonymous_passenger_specifications,
59 corporate_codes: None,
60 promotion_codes: None,
61 requested_fulfillment_options: None,
62 embed: None,
63 }
64 }
65}
66