osdm_sys/models/
booked_offer_reservation_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 BookedOfferReservationRequest {
17 #[serde(rename = "offerId")]
18 pub offer_id: String,
19 #[serde(rename = "reservationOfferId")]
20 pub reservation_offer_id: String,
21 #[serde(rename = "passengerRefs")]
22 pub passenger_refs: Vec<String>,
23 #[serde(rename = "placeSelections")]
24 pub place_selections: Vec<models::PlaceSelection>,
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 BookedOfferReservationRequest {
32 pub fn new(offer_id: String, reservation_offer_id: String, passenger_refs: Vec<String>, place_selections: Vec<models::PlaceSelection>) -> BookedOfferReservationRequest {
33 BookedOfferReservationRequest {
34 offer_id,
35 reservation_offer_id,
36 passenger_refs,
37 place_selections,
38 trip_coverage: None,
39 inbound_trip_coverage: None,
40 }
41 }
42}
43