osdm_sys/models/
booked_offer_part_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15#[cfg_attr(feature = "utoipa", derive(utoipa::ToSchema))]
16pub struct BookedOfferPartRequest {
17 #[serde(rename = "offerId")]
18 pub offer_id: String,
19 #[serde(rename = "ancillaryOfferIds", skip_serializing_if = "Option::is_none")]
20 pub ancillary_offer_ids: Option<Vec<String>>,
21 #[serde(rename = "placeSelections", skip_serializing_if = "Option::is_none")]
22 pub place_selections: Option<Vec<models::PlaceSelection>>,
23 #[serde(rename = "passengerRefs")]
24 pub passenger_refs: Vec<String>,
25 #[serde(rename = "tripCoverage", skip_serializing_if = "Option::is_none")]
26 pub trip_coverage: Option<Box<models::TripCoverage>>,
27 #[serde(rename = "inboundTripCoverage", skip_serializing_if = "Option::is_none")]
28 pub inbound_trip_coverage: Option<Box<models::TripCoverage>>,
29}
30
31impl BookedOfferPartRequest {
32 pub fn new(offer_id: String, passenger_refs: Vec<String>) -> BookedOfferPartRequest {
33 BookedOfferPartRequest {
34 offer_id,
35 ancillary_offer_ids: None,
36 place_selections: None,
37 passenger_refs,
38 trip_coverage: None,
39 inbound_trip_coverage: None,
40 }
41 }
42}
43