1pub mod abstract_booking_part;
2pub use self::abstract_booking_part::AbstractBookingPart;
3pub mod abstract_offer_part;
4pub use self::abstract_offer_part::AbstractOfferPart;
5pub mod abstract_transportable_vehicle_specification;
6pub use self::abstract_transportable_vehicle_specification::AbstractTransportableVehicleSpecification;
7pub mod abstract_travel_account;
8pub use self::abstract_travel_account::AbstractTravelAccount;
9pub mod abstract_travel_account_unit;
10pub use self::abstract_travel_account_unit::AbstractTravelAccountUnit;
11pub mod accounting_ref;
12pub use self::accounting_ref::AccountingRef;
13pub mod additional_offer_collection_response;
14pub use self::additional_offer_collection_response::AdditionalOfferCollectionResponse;
15pub mod address;
16pub use self::address::Address;
17pub mod address_ref;
18pub use self::address_ref::AddressRef;
19pub mod admission;
20pub use self::admission::Admission;
21pub mod admission_offer_part;
22pub use self::admission_offer_part::AdmissionOfferPart;
23pub mod after_sale_condition;
24pub use self::after_sale_condition::AfterSaleCondition;
25pub mod after_sales_conditions_link;
26pub use self::after_sales_conditions_link::AfterSalesConditionsLink;
27pub mod after_sales_override_details;
28pub use self::after_sales_override_details::AfterSalesOverrideDetails;
29pub mod alight;
30pub use self::alight::Alight;
31pub mod alight_specification;
32pub use self::alight_specification::AlightSpecification;
33pub mod ancillary;
34pub use self::ancillary::Ancillary;
35pub mod ancillary_group;
36pub use self::ancillary_group::AncillaryGroup;
37pub mod ancillary_offer_part;
38pub use self::ancillary_offer_part::AncillaryOfferPart;
39pub mod ancillary_relation;
40pub use self::ancillary_relation::AncillaryRelation;
41pub mod ancillary_selection;
42pub use self::ancillary_selection::AncillarySelection;
43pub mod anonymous_passenger_specification;
44pub use self::anonymous_passenger_specification::AnonymousPassengerSpecification;
45pub mod api_next_version;
46pub use self::api_next_version::ApiNextVersion;
47pub mod api_version;
48pub use self::api_version::ApiVersion;
49pub mod applied_passenger_type;
50pub use self::applied_passenger_type::AppliedPassengerType;
51pub mod availability_scope;
52pub use self::availability_scope::AvailabilityScope;
53pub mod availability_status;
54pub use self::availability_status::AvailabilityStatus;
55pub mod available_place;
56pub use self::available_place::AvailablePlace;
57pub mod available_place_preferences;
58pub use self::available_place_preferences::AvailablePlacePreferences;
59pub mod back_office_status;
60pub use self::back_office_status::BackOfficeStatus;
61pub mod bank_account_reference;
62pub use self::bank_account_reference::BankAccountReference;
63pub mod base_trip_policy_filter;
64pub use self::base_trip_policy_filter::BaseTripPolicyFilter;
65pub mod board;
66pub use self::board::Board;
67pub mod board_specification;
68pub use self::board_specification::BoardSpecification;
69pub mod booked_offer;
70pub use self::booked_offer::BookedOffer;
71pub mod booked_offer_ancillary_request;
72pub use self::booked_offer_ancillary_request::BookedOfferAncillaryRequest;
73pub mod booked_offer_ancillary_response;
74pub use self::booked_offer_ancillary_response::BookedOfferAncillaryResponse;
75pub mod booked_offer_part_delete_request;
76pub use self::booked_offer_part_delete_request::BookedOfferPartDeleteRequest;
77pub mod booked_offer_part_request;
78pub use self::booked_offer_part_request::BookedOfferPartRequest;
79pub mod booked_offer_part_response;
80pub use self::booked_offer_part_response::BookedOfferPartResponse;
81pub mod booked_offer_request;
82pub use self::booked_offer_request::BookedOfferRequest;
83pub mod booked_offer_reservation_request;
84pub use self::booked_offer_reservation_request::BookedOfferReservationRequest;
85pub mod booked_offer_reservation_response;
86pub use self::booked_offer_reservation_response::BookedOfferReservationResponse;
87pub mod booked_offer_response;
88pub use self::booked_offer_response::BookedOfferResponse;
89pub mod booked_offer_summary;
90pub use self::booked_offer_summary::BookedOfferSummary;
91pub mod booking;
92pub use self::booking::Booking;
93pub mod booking_cleanup_request;
94pub use self::booking_cleanup_request::BookingCleanupRequest;
95pub mod booking_history_response;
96pub use self::booking_history_response::BookingHistoryResponse;
97pub mod booking_part_reference;
98pub use self::booking_part_reference::BookingPartReference;
99pub mod booking_part_status;
100pub use self::booking_part_status::BookingPartStatus;
101pub mod booking_part_summary;
102pub use self::booking_part_summary::BookingPartSummary;
103pub mod booking_part_type;
104pub use self::booking_part_type::BookingPartType;
105pub mod booking_patch_request;
106pub use self::booking_patch_request::BookingPatchRequest;
107pub mod booking_request;
108pub use self::booking_request::BookingRequest;
109pub mod booking_response;
110pub use self::booking_response::BookingResponse;
111pub mod booking_response_content;
112pub use self::booking_response_content::BookingResponseContent;
113pub mod booking_search_parameters;
114pub use self::booking_search_parameters::BookingSearchParameters;
115pub mod booking_search_request;
116pub use self::booking_search_request::BookingSearchRequest;
117pub mod booking_search_response;
118pub use self::booking_search_response::BookingSearchResponse;
119pub mod booking_search_result;
120pub use self::booking_search_result::BookingSearchResult;
121pub mod booking_split;
122pub use self::booking_split::BookingSplit;
123pub mod booking_split_group;
124pub use self::booking_split_group::BookingSplitGroup;
125pub mod booking_split_request;
126pub use self::booking_split_request::BookingSplitRequest;
127pub mod booking_split_response;
128pub use self::booking_split_response::BookingSplitResponse;
129pub mod booking_split_result;
130pub use self::booking_split_result::BookingSplitResult;
131pub mod border_radius;
132pub use self::border_radius::BorderRadius;
133pub mod calendar;
134pub use self::calendar::Calendar;
135pub mod cancel_fulfillments_offer;
136pub use self::cancel_fulfillments_offer::CancelFulfillmentsOffer;
137pub mod cancel_fulfillments_offer_collection_response;
138pub use self::cancel_fulfillments_offer_collection_response::CancelFulfillmentsOfferCollectionResponse;
139pub mod cancel_fulfillments_offer_patch_request;
140pub use self::cancel_fulfillments_offer_patch_request::CancelFulfillmentsOfferPatchRequest;
141pub mod cancel_fulfillments_offer_request;
142pub use self::cancel_fulfillments_offer_request::CancelFulfillmentsOfferRequest;
143pub mod cancel_fulfillments_offer_response;
144pub use self::cancel_fulfillments_offer_response::CancelFulfillmentsOfferResponse;
145pub mod cancel_fulfillments_status;
146pub use self::cancel_fulfillments_status::CancelFulfillmentsStatus;
147pub mod car;
148pub use self::car::Car;
149pub mod car_rack;
150pub use self::car_rack::CarRack;
151pub mod car_specification;
152pub use self::car_specification::CarSpecification;
153pub mod card_reference;
154pub use self::card_reference::CardReference;
155pub mod card_type_reference;
156pub use self::card_type_reference::CardTypeReference;
157pub mod carrier_constraint;
158pub use self::carrier_constraint::CarrierConstraint;
159pub mod carrier_filter;
160pub use self::carrier_filter::CarrierFilter;
161pub mod claimed_journey_details;
162pub use self::claimed_journey_details::ClaimedJourneyDetails;
163pub mod claimed_leg;
164pub use self::claimed_leg::ClaimedLeg;
165pub mod coach;
166pub use self::coach::Coach;
167pub mod coach_availability;
168pub use self::coach_availability::CoachAvailability;
169pub mod coach_deck_layout;
170pub use self::coach_deck_layout::CoachDeckLayout;
171pub mod coach_deck_layout_collection_response;
172pub use self::coach_deck_layout_collection_response::CoachDeckLayoutCollectionResponse;
173pub mod coach_deck_layout_response;
174pub use self::coach_deck_layout_response::CoachDeckLayoutResponse;
175pub mod coach_layout;
176pub use self::coach_layout::CoachLayout;
177pub mod coach_layout_collection_response;
178pub use self::coach_layout_collection_response::CoachLayoutCollectionResponse;
179pub mod coach_layout_compartment_number;
180pub use self::coach_layout_compartment_number::CoachLayoutCompartmentNumber;
181pub mod coach_layout_directed_internal;
182pub use self::coach_layout_directed_internal::CoachLayoutDirectedInternal;
183pub mod coach_layout_grid_size;
184pub use self::coach_layout_grid_size::CoachLayoutGridSize;
185pub mod coach_layout_internal;
186pub use self::coach_layout_internal::CoachLayoutInternal;
187pub mod coach_layout_place;
188pub use self::coach_layout_place::CoachLayoutPlace;
189pub mod coach_layout_response;
190pub use self::coach_layout_response::CoachLayoutResponse;
191pub mod coach_layout_sign;
192pub use self::coach_layout_sign::CoachLayoutSign;
193pub mod combination_tag;
194pub use self::combination_tag::CombinationTag;
195pub mod company_detail;
196pub use self::company_detail::CompanyDetail;
197pub mod compartment;
198pub use self::compartment::Compartment;
199pub mod compartment_availability;
200pub use self::compartment_availability::CompartmentAvailability;
201pub mod compartment_pre_selection;
202pub use self::compartment_pre_selection::CompartmentPreSelection;
203pub mod complaint;
204pub use self::complaint::Complaint;
205pub mod complaint_decision;
206pub use self::complaint_decision::ComplaintDecision;
207pub mod complaint_patch_request;
208pub use self::complaint_patch_request::ComplaintPatchRequest;
209pub mod complaint_response;
210pub use self::complaint_response::ComplaintResponse;
211pub mod condition;
212pub use self::condition::Condition;
213pub mod contact_detail;
214pub use self::contact_detail::ContactDetail;
215pub mod context_type;
216pub use self::context_type::ContextType;
217pub mod continuous_leg;
218pub use self::continuous_leg::ContinuousLeg;
219pub mod continuous_service;
220pub use self::continuous_service::ContinuousService;
221pub mod continuous_service_availability_scope;
222pub use self::continuous_service_availability_scope::ContinuousServiceAvailabilityScope;
223pub mod continuous_service_booking_part;
224pub use self::continuous_service_booking_part::ContinuousServiceBookingPart;
225pub mod continuous_service_offer_part;
226pub use self::continuous_service_offer_part::ContinuousServiceOfferPart;
227pub mod continuous_service_pick_up_place;
228pub use self::continuous_service_pick_up_place::ContinuousServicePickUpPlace;
229pub mod continuous_service_usage;
230pub use self::continuous_service_usage::ContinuousServiceUsage;
231pub mod continuous_service_usage_patch_request;
232pub use self::continuous_service_usage_patch_request::ContinuousServiceUsagePatchRequest;
233pub mod continuous_service_vehicle_availability;
234pub use self::continuous_service_vehicle_availability::ContinuousServiceVehicleAvailability;
235pub mod continuous_service_vehicle_selection;
236pub use self::continuous_service_vehicle_selection::ContinuousServiceVehicleSelection;
237pub mod continuous_services_availability_response;
238pub use self::continuous_services_availability_response::ContinuousServicesAvailabilityResponse;
239pub mod corporate_code;
240pub use self::corporate_code::CorporateCode;
241pub mod currency_conversion;
242pub use self::currency_conversion::CurrencyConversion;
243pub mod customer_complaint;
244pub use self::customer_complaint::CustomerComplaint;
245pub mod date_range;
246pub use self::date_range::DateRange;
247pub mod dated_journey;
248pub use self::dated_journey::DatedJourney;
249pub mod day_travel_account_unit;
250pub use self::day_travel_account_unit::DayTravelAccountUnit;
251pub mod decision_type;
252pub use self::decision_type::DecisionType;
253pub mod deck_availability;
254pub use self::deck_availability::DeckAvailability;
255pub mod direction_change;
256pub use self::direction_change::DirectionChange;
257pub mod direction_type;
258pub use self::direction_type::DirectionType;
259pub mod document;
260pub use self::document::Document;
261pub mod document_collection_response;
262pub use self::document_collection_response::DocumentCollectionResponse;
263pub mod document_format;
264pub use self::document_format::DocumentFormat;
265pub mod document_request;
266pub use self::document_request::DocumentRequest;
267pub mod document_response;
268pub use self::document_response::DocumentResponse;
269pub mod document_scope;
270pub use self::document_scope::DocumentScope;
271pub mod document_specification;
272pub use self::document_specification::DocumentSpecification;
273pub mod document_type;
274pub use self::document_type::DocumentType;
275pub mod event;
276pub use self::event::Event;
277pub mod event_detail;
278pub use self::event_detail::EventDetail;
279pub mod event_type;
280pub use self::event_type::EventType;
281pub mod exchange_breakdown_item;
282pub use self::exchange_breakdown_item::ExchangeBreakdownItem;
283pub mod exchange_offer;
284pub use self::exchange_offer::ExchangeOffer;
285pub mod exchange_offer_collection_request;
286pub use self::exchange_offer_collection_request::ExchangeOfferCollectionRequest;
287pub mod exchange_offer_collection_response;
288pub use self::exchange_offer_collection_response::ExchangeOfferCollectionResponse;
289pub mod exchange_offer_collection_response_content;
290pub use self::exchange_offer_collection_response_content::ExchangeOfferCollectionResponseContent;
291pub mod exchange_operation;
292pub use self::exchange_operation::ExchangeOperation;
293pub mod exchange_operation_patch_request;
294pub use self::exchange_operation_patch_request::ExchangeOperationPatchRequest;
295pub mod exchange_operation_request;
296pub use self::exchange_operation_request::ExchangeOperationRequest;
297pub mod exchange_operation_response;
298pub use self::exchange_operation_response::ExchangeOperationResponse;
299pub mod exchange_operation_response_content;
300pub use self::exchange_operation_response_content::ExchangeOperationResponseContent;
301pub mod exchange_status;
302pub use self::exchange_status::ExchangeStatus;
303pub mod exchangeable_type;
304pub use self::exchangeable_type::ExchangeableType;
305pub mod excluded_time_range;
306pub use self::excluded_time_range::ExcludedTimeRange;
307pub mod exclusion_scope;
308pub use self::exclusion_scope::ExclusionScope;
309pub mod fare;
310pub use self::fare::Fare;
311pub mod fare_combination_model;
312pub use self::fare_combination_model::FareCombinationModel;
313pub mod fare_connection_point;
314pub use self::fare_connection_point::FareConnectionPoint;
315pub mod fare_connection_point_ref;
316pub use self::fare_connection_point_ref::FareConnectionPointRef;
317pub mod fare_reference_station;
318pub use self::fare_reference_station::FareReferenceStation;
319pub mod fee;
320pub use self::fee::Fee;
321pub mod fee_status;
322pub use self::fee_status::FeeStatus;
323pub mod fulfillment;
324pub use self::fulfillment::Fulfillment;
325pub mod fulfillment_activation_patch_request;
326pub use self::fulfillment_activation_patch_request::FulfillmentActivationPatchRequest;
327pub mod fulfillment_collection_response;
328pub use self::fulfillment_collection_response::FulfillmentCollectionResponse;
329pub mod fulfillment_constraint;
330pub use self::fulfillment_constraint::FulfillmentConstraint;
331pub mod fulfillment_document;
332pub use self::fulfillment_document::FulfillmentDocument;
333pub mod fulfillment_item_security_feature;
334pub use self::fulfillment_item_security_feature::FulfillmentItemSecurityFeature;
335pub mod fulfillment_item_security_feature_links;
336pub use self::fulfillment_item_security_feature_links::FulfillmentItemSecurityFeatureLinks;
337pub mod fulfillment_option;
338pub use self::fulfillment_option::FulfillmentOption;
339pub mod fulfillment_part;
340pub use self::fulfillment_part::FulfillmentPart;
341pub mod fulfillment_patch_request;
342pub use self::fulfillment_patch_request::FulfillmentPatchRequest;
343pub mod fulfillment_post_request;
344pub use self::fulfillment_post_request::FulfillmentPostRequest;
345pub mod fulfillment_response;
346pub use self::fulfillment_response::FulfillmentResponse;
347pub mod fulfillment_status;
348pub use self::fulfillment_status::FulfillmentStatus;
349pub mod fulfillment_usage;
350pub use self::fulfillment_usage::FulfillmentUsage;
351pub mod gender;
352pub use self::gender::Gender;
353pub mod general_attribute;
354pub use self::general_attribute::GeneralAttribute;
355pub mod geo_position;
356pub use self::geo_position::GeoPosition;
357pub mod geo_position_ref;
358pub use self::geo_position_ref::GeoPositionRef;
359pub mod granted_reduction_amount;
360pub use self::granted_reduction_amount::GrantedReductionAmount;
361pub mod granted_reduction_amounts;
362pub use self::granted_reduction_amounts::GrantedReductionAmounts;
363pub mod graphic_element;
364pub use self::graphic_element::GraphicElement;
365pub mod grid_dimension;
366pub use self::grid_dimension::GridDimension;
367pub mod grid_position;
368pub use self::grid_position::GridPosition;
369pub mod history_status;
370pub use self::history_status::HistoryStatus;
371pub mod identification_card;
372pub use self::identification_card::IdentificationCard;
373pub mod indicated_consumption;
374pub use self::indicated_consumption::IndicatedConsumption;
375pub mod initial_place_input;
376pub use self::initial_place_input::InitialPlaceInput;
377pub mod intermediate;
378pub use self::intermediate::Intermediate;
379pub mod intermediate_specification;
380pub use self::intermediate_specification::IntermediateSpecification;
381pub mod layout_coordinates;
382pub use self::layout_coordinates::LayoutCoordinates;
383pub mod leg_attribute;
384pub use self::leg_attribute::LegAttribute;
385pub mod legacy_accounting_identifier;
386pub use self::legacy_accounting_identifier::LegacyAccountingIdentifier;
387pub mod legacy_reservation_parameter;
388pub use self::legacy_reservation_parameter::LegacyReservationParameter;
389pub mod legacy_reservation_tariff;
390pub use self::legacy_reservation_tariff::LegacyReservationTariff;
391pub mod line;
392pub use self::line::Line;
393pub mod link;
394pub use self::link::Link;
395pub mod luggage_constraint;
396pub use self::luggage_constraint::LuggageConstraint;
397pub mod luggage_dimension;
398pub use self::luggage_dimension::LuggageDimension;
399pub mod luggage_dimension_enum;
400pub use self::luggage_dimension_enum::LuggageDimensionEnum;
401pub mod luggage_restriction;
402pub use self::luggage_restriction::LuggageRestriction;
403pub mod luggage_restriction_rule_enum;
404pub use self::luggage_restriction_rule_enum::LuggageRestrictionRuleEnum;
405pub mod mode;
406pub use self::mode::Mode;
407pub mod mode_filter;
408pub use self::mode_filter::ModeFilter;
409pub mod money_travel_account_unit;
410pub use self::money_travel_account_unit::MoneyTravelAccountUnit;
411pub mod motor_cycle;
412pub use self::motor_cycle::MotorCycle;
413pub mod motorcycle_specification;
414pub use self::motorcycle_specification::MotorcycleSpecification;
415pub mod mounting_type;
416pub use self::mounting_type::MountingType;
417pub mod multi_ride_account;
418pub use self::multi_ride_account::MultiRideAccount;
419pub mod multi_ride_balance;
420pub use self::multi_ride_balance::MultiRideBalance;
421pub mod named_company;
422pub use self::named_company::NamedCompany;
423pub mod named_travel_account_unit;
424pub use self::named_travel_account_unit::NamedTravelAccountUnit;
425pub mod non_trip_search_criteria;
426pub use self::non_trip_search_criteria::NonTripSearchCriteria;
427pub mod not_via;
428pub use self::not_via::NotVia;
429pub mod offer;
430pub use self::offer::Offer;
431pub mod offer_collection_request;
432pub use self::offer_collection_request::OfferCollectionRequest;
433pub mod offer_collection_response;
434pub use self::offer_collection_response::OfferCollectionResponse;
435pub mod offer_collection_response_content;
436pub use self::offer_collection_response_content::OfferCollectionResponseContent;
437pub mod offer_mode;
438pub use self::offer_mode::OfferMode;
439pub mod offer_overview_route;
440pub use self::offer_overview_route::OfferOverviewRoute;
441pub mod offer_overview_route_request;
442pub use self::offer_overview_route_request::OfferOverviewRouteRequest;
443pub mod offer_overview_route_response;
444pub use self::offer_overview_route_response::OfferOverviewRouteResponse;
445pub mod offer_overview_trip;
446pub use self::offer_overview_trip::OfferOverviewTrip;
447pub mod offer_overview_trip_request;
448pub use self::offer_overview_trip_request::OfferOverviewTripRequest;
449pub mod offer_overview_trip_response;
450pub use self::offer_overview_trip_response::OfferOverviewTripResponse;
451pub mod offer_part_reference;
452pub use self::offer_part_reference::OfferPartReference;
453pub mod offer_part_type;
454pub use self::offer_part_type::OfferPartType;
455pub mod offer_search_criteria;
456pub use self::offer_search_criteria::OfferSearchCriteria;
457pub mod offer_selection;
458pub use self::offer_selection::OfferSelection;
459pub mod offer_summary;
460pub use self::offer_summary::OfferSummary;
461pub mod offer_tag;
462pub use self::offer_tag::OfferTag;
463pub mod on_hold_offer;
464pub use self::on_hold_offer::OnHoldOffer;
465pub mod on_hold_offer_request;
466pub use self::on_hold_offer_request::OnHoldOfferRequest;
467pub mod on_hold_offer_response;
468pub use self::on_hold_offer_response::OnHoldOfferResponse;
469pub mod operating_days;
470pub use self::operating_days::OperatingDays;
471pub mod osm_tag;
472pub use self::osm_tag::OsmTag;
473pub mod part_reference;
474pub use self::part_reference::PartReference;
475pub mod passenger;
476pub use self::passenger::Passenger;
477pub mod passenger_category;
478pub use self::passenger_category::PassengerCategory;
479pub mod passenger_constraints;
480pub use self::passenger_constraints::PassengerConstraints;
481pub mod passenger_response;
482pub use self::passenger_response::PassengerResponse;
483pub mod passenger_search_request;
484pub use self::passenger_search_request::PassengerSearchRequest;
485pub mod passenger_specification;
486pub use self::passenger_specification::PassengerSpecification;
487pub mod passengers_batch_update_request;
488pub use self::passengers_batch_update_request::PassengersBatchUpdateRequest;
489pub mod passengers_collection_response;
490pub use self::passengers_collection_response::PassengersCollectionResponse;
491pub mod payment_method;
492pub use self::payment_method::PaymentMethod;
493pub mod person_detail;
494pub use self::person_detail::PersonDetail;
495pub mod place;
496pub use self::place::Place;
497pub mod place_allocation;
498pub use self::place_allocation::PlaceAllocation;
499pub mod place_availability;
500pub use self::place_availability::PlaceAvailability;
501pub mod place_availability_collection_response;
502pub use self::place_availability_collection_response::PlaceAvailabilityCollectionResponse;
503pub mod place_availability_map_request;
504pub use self::place_availability_map_request::PlaceAvailabilityMapRequest;
505pub mod place_availability_map_response;
506pub use self::place_availability_map_response::PlaceAvailabilityMapResponse;
507pub mod place_availability_response;
508pub use self::place_availability_response::PlaceAvailabilityResponse;
509pub mod place_group;
510pub use self::place_group::PlaceGroup;
511pub mod place_layout;
512pub use self::place_layout::PlaceLayout;
513pub mod place_param;
514pub use self::place_param::PlaceParam;
515pub mod place_position;
516pub use self::place_position::PlacePosition;
517pub mod place_pre_selection;
518pub use self::place_pre_selection::PlacePreSelection;
519pub mod place_preference_group;
520pub use self::place_preference_group::PlacePreferenceGroup;
521pub mod place_ref;
522pub use self::place_ref::PlaceRef;
523pub mod place_request;
524pub use self::place_request::PlaceRequest;
525pub mod place_response;
526pub use self::place_response::PlaceResponse;
527pub mod place_restriction;
528pub use self::place_restriction::PlaceRestriction;
529pub mod place_selection;
530pub use self::place_selection::PlaceSelection;
531pub mod place_type;
532pub use self::place_type::PlaceType;
533pub mod place_usage;
534pub use self::place_usage::PlaceUsage;
535pub mod point_of_interest;
536pub use self::point_of_interest::PointOfInterest;
537pub mod point_of_interest_category;
538pub use self::point_of_interest_category::PointOfInterestCategory;
539pub mod point_of_interest_filter;
540pub use self::point_of_interest_filter::PointOfInterestFilter;
541pub mod point_of_interest_ref;
542pub use self::point_of_interest_ref::PointOfInterestRef;
543pub mod polygon;
544pub use self::polygon::Polygon;
545pub mod postal_address;
546pub use self::postal_address::PostalAddress;
547pub mod price;
548pub use self::price::Price;
549pub mod problem;
550pub use self::problem::Problem;
551pub mod problem_pointer;
552pub use self::problem_pointer::ProblemPointer;
553pub mod product;
554pub use self::product::Product;
555pub mod product_category;
556pub use self::product_category::ProductCategory;
557pub mod product_collection_response;
558pub use self::product_collection_response::ProductCollectionResponse;
559pub mod product_leg_association;
560pub use self::product_leg_association::ProductLegAssociation;
561pub mod product_request_offer_selection;
562pub use self::product_request_offer_selection::ProductRequestOfferSelection;
563pub mod product_response;
564pub use self::product_response::ProductResponse;
565pub mod product_search_request;
566pub use self::product_search_request::ProductSearchRequest;
567pub mod product_search_response;
568pub use self::product_search_response::ProductSearchResponse;
569pub mod product_summary;
570pub use self::product_summary::ProductSummary;
571pub mod product_tag_group;
572pub use self::product_tag_group::ProductTagGroup;
573pub mod product_tag_name;
574pub use self::product_tag_name::ProductTagName;
575pub mod product_tags_response;
576pub use self::product_tags_response::ProductTagsResponse;
577pub mod promotion_code;
578pub use self::promotion_code::PromotionCode;
579pub mod purchaser;
580pub use self::purchaser::Purchaser;
581pub mod purchaser_response;
582pub use self::purchaser_response::PurchaserResponse;
583pub mod purchaser_search_request;
584pub use self::purchaser_search_request::PurchaserSearchRequest;
585pub mod purchaser_specification;
586pub use self::purchaser_specification::PurchaserSpecification;
587pub mod quantity;
588pub use self::quantity::Quantity;
589pub mod rectangle_geometry;
590pub use self::rectangle_geometry::RectangleGeometry;
591pub mod reduction_card_account;
592pub use self::reduction_card_account::ReductionCardAccount;
593pub mod reduction_card_collection_response;
594pub use self::reduction_card_collection_response::ReductionCardCollectionResponse;
595pub mod reduction_card_type;
596pub use self::reduction_card_type::ReductionCardType;
597pub mod reduction_granted;
598pub use self::reduction_granted::ReductionGranted;
599pub mod refund_offer;
600pub use self::refund_offer::RefundOffer;
601pub mod refund_offer_breakdown_item;
602pub use self::refund_offer_breakdown_item::RefundOfferBreakdownItem;
603pub mod refund_offer_collection_response;
604pub use self::refund_offer_collection_response::RefundOfferCollectionResponse;
605pub mod refund_offer_patch_request;
606pub use self::refund_offer_patch_request::RefundOfferPatchRequest;
607pub mod refund_offer_request;
608pub use self::refund_offer_request::RefundOfferRequest;
609pub mod refund_offer_response;
610pub use self::refund_offer_response::RefundOfferResponse;
611pub mod refund_specification;
612pub use self::refund_specification::RefundSpecification;
613pub mod refund_status;
614pub use self::refund_status::RefundStatus;
615pub mod refund_type;
616pub use self::refund_type::RefundType;
617pub mod regional_constraint;
618pub use self::regional_constraint::RegionalConstraint;
619pub mod regional_validity;
620pub use self::regional_validity::RegionalValidity;
621pub mod regional_validity_summary;
622pub use self::regional_validity_summary::RegionalValiditySummary;
623pub mod regulatory_condition;
624pub use self::regulatory_condition::RegulatoryCondition;
625pub mod reimbursement;
626pub use self::reimbursement::Reimbursement;
627pub mod reimbursement_decision;
628pub use self::reimbursement_decision::ReimbursementDecision;
629pub mod reimbursement_method;
630pub use self::reimbursement_method::ReimbursementMethod;
631pub mod reimbursement_patch_request;
632pub use self::reimbursement_patch_request::ReimbursementPatchRequest;
633pub mod reimbursement_request;
634pub use self::reimbursement_request::ReimbursementRequest;
635pub mod reimbursement_response;
636pub use self::reimbursement_response::ReimbursementResponse;
637pub mod reimbursement_status;
638pub use self::reimbursement_status::ReimbursementStatus;
639pub mod release_offer;
640pub use self::release_offer::ReleaseOffer;
641pub mod release_offer_collection_response;
642pub use self::release_offer_collection_response::ReleaseOfferCollectionResponse;
643pub mod release_offer_patch_request;
644pub use self::release_offer_patch_request::ReleaseOfferPatchRequest;
645pub mod release_offer_request;
646pub use self::release_offer_request::ReleaseOfferRequest;
647pub mod release_offer_request_async_response;
648pub use self::release_offer_request_async_response::ReleaseOfferRequestAsyncResponse;
649pub mod release_offer_response;
650pub use self::release_offer_response::ReleaseOfferResponse;
651pub mod release_status;
652pub use self::release_status::ReleaseStatus;
653pub mod reservation;
654pub use self::reservation::Reservation;
655pub mod reservation_group;
656pub use self::reservation_group::ReservationGroup;
657pub mod reservation_offer_part;
658pub use self::reservation_offer_part::ReservationOfferPart;
659pub mod reservation_reference;
660pub use self::reservation_reference::ReservationReference;
661pub mod reservation_relation;
662pub use self::reservation_relation::ReservationRelation;
663pub mod reservation_selection;
664pub use self::reservation_selection::ReservationSelection;
665pub mod reserved_place;
666pub use self::reserved_place::ReservedPlace;
667pub mod resource;
668pub use self::resource::Resource;
669pub mod resource_type;
670pub use self::resource_type::ResourceType;
671pub mod return_constraint;
672pub use self::return_constraint::ReturnConstraint;
673pub mod return_search_parameters;
674pub use self::return_search_parameters::ReturnSearchParameters;
675pub mod route;
676pub use self::route::Route;
677pub mod route_item;
678pub use self::route_item::RouteItem;
679pub mod route_specification;
680pub use self::route_specification::RouteSpecification;
681pub mod section;
682pub use self::section::Section;
683pub mod security_element_format;
684pub use self::security_element_format::SecurityElementFormat;
685pub mod security_element_type;
686pub use self::security_element_type::SecurityElementType;
687pub mod security_feature_type;
688pub use self::security_feature_type::SecurityFeatureType;
689pub mod selected_accommodation;
690pub use self::selected_accommodation::SelectedAccommodation;
691pub mod selected_place;
692pub use self::selected_place::SelectedPlace;
693pub mod selected_reference_place;
694pub use self::selected_reference_place::SelectedReferencePlace;
695pub mod selection_fee;
696pub use self::selection_fee::SelectionFee;
697pub mod service_brand_filter;
698pub use self::service_brand_filter::ServiceBrandFilter;
699pub mod service_class;
700pub use self::service_class::ServiceClass;
701pub mod service_constraint;
702pub use self::service_constraint::ServiceConstraint;
703pub mod service_icon;
704pub use self::service_icon::ServiceIcon;
705pub mod service_status;
706pub use self::service_status::ServiceStatus;
707pub mod service_time;
708pub use self::service_time::ServiceTime;
709pub mod specific_place_availability;
710pub use self::specific_place_availability::SpecificPlaceAvailability;
711pub mod station_set;
712pub use self::station_set::StationSet;
713pub mod stop_behavior;
714pub use self::stop_behavior::StopBehavior;
715pub mod stop_call_status;
716pub use self::stop_call_status::StopCallStatus;
717pub mod stop_place;
718pub use self::stop_place::StopPlace;
719pub mod stop_place_ref;
720pub use self::stop_place_ref::StopPlaceRef;
721pub mod supporting_document;
722pub use self::supporting_document::SupportingDocument;
723pub mod symbology;
724pub use self::symbology::Symbology;
725pub mod text;
726pub use self::text::Text;
727pub mod text_element;
728pub use self::text_element::TextElement;
729pub mod text_element_type;
730pub use self::text_element_type::TextElementType;
731pub mod time_frame_segmentation;
732pub use self::time_frame_segmentation::TimeFrameSegmentation;
733pub mod time_unit;
734pub use self::time_unit::TimeUnit;
735pub mod timed_leg;
736pub use self::timed_leg::TimedLeg;
737pub mod timed_leg_specification;
738pub use self::timed_leg_specification::TimedLegSpecification;
739pub mod tip;
740pub use self::tip::Tip;
741pub mod train_link;
742pub use self::train_link::TrainLink;
743pub mod train_validity;
744pub use self::train_validity::TrainValidity;
745pub mod train_validity_scope;
746pub use self::train_validity_scope::TrainValidityScope;
747pub mod transfer_leg;
748pub use self::transfer_leg::TransferLeg;
749pub mod translation;
750pub use self::translation::Translation;
751pub mod transportable;
752pub use self::transportable::Transportable;
753pub mod transportable_specification;
754pub use self::transportable_specification::TransportableSpecification;
755pub mod travel_account_consumption;
756pub use self::travel_account_consumption::TravelAccountConsumption;
757pub mod travel_account_response;
758pub use self::travel_account_response::TravelAccountResponse;
759pub mod travel_account_response_content;
760pub use self::travel_account_response_content::TravelAccountResponseContent;
761pub mod travel_account_type;
762pub use self::travel_account_type::TravelAccountType;
763pub mod travel_pass_account;
764pub use self::travel_pass_account::TravelPassAccount;
765pub mod travel_validity;
766pub use self::travel_validity::TravelValidity;
767pub mod travel_validity_range;
768pub use self::travel_validity_range::TravelValidityRange;
769pub mod trip;
770pub use self::trip::Trip;
771pub mod trip_allocation_constraint;
772pub use self::trip_allocation_constraint::TripAllocationConstraint;
773pub mod trip_change_criteria;
774pub use self::trip_change_criteria::TripChangeCriteria;
775pub mod trip_collection_response;
776pub use self::trip_collection_response::TripCollectionResponse;
777pub mod trip_coverage;
778pub use self::trip_coverage::TripCoverage;
779pub mod trip_data_filter;
780pub use self::trip_data_filter::TripDataFilter;
781pub mod trip_direction_type;
782pub use self::trip_direction_type::TripDirectionType;
783pub mod trip_interruption_constraint;
784pub use self::trip_interruption_constraint::TripInterruptionConstraint;
785pub mod trip_leg;
786pub use self::trip_leg::TripLeg;
787pub mod trip_leg_coverage;
788pub use self::trip_leg_coverage::TripLegCoverage;
789pub mod trip_leg_specification;
790pub use self::trip_leg_specification::TripLegSpecification;
791pub mod trip_mobility_filter;
792pub use self::trip_mobility_filter::TripMobilityFilter;
793pub mod trip_parameters;
794pub use self::trip_parameters::TripParameters;
795pub mod trip_response;
796pub use self::trip_response::TripResponse;
797pub mod trip_response_content;
798pub use self::trip_response_content::TripResponseContent;
799pub mod trip_response_parameters;
800pub use self::trip_response_parameters::TripResponseParameters;
801pub mod trip_result;
802pub use self::trip_result::TripResult;
803pub mod trip_search_criteria;
804pub use self::trip_search_criteria::TripSearchCriteria;
805pub mod trip_section;
806pub use self::trip_section::TripSection;
807pub mod trip_specification;
808pub use self::trip_specification::TripSpecification;
809pub mod trip_specification_summary;
810pub use self::trip_specification_summary::TripSpecificationSummary;
811pub mod trip_status;
812pub use self::trip_status::TripStatus;
813pub mod trip_summary;
814pub use self::trip_summary::TripSummary;
815pub mod trip_travel_account_unit;
816pub use self::trip_travel_account_unit::TripTravelAccountUnit;
817pub mod trip_via;
818pub use self::trip_via::TripVia;
819pub mod trips_collection_response_content;
820pub use self::trips_collection_response_content::TripsCollectionResponseContent;
821pub mod validity_range;
822pub use self::validity_range::ValidityRange;
823pub mod vat;
824pub use self::vat::Vat;
825pub mod vehicle;
826pub use self::vehicle::Vehicle;
827pub mod vehicle_availability;
828pub use self::vehicle_availability::VehicleAvailability;
829pub mod vehicle_filter;
830pub use self::vehicle_filter::VehicleFilter;
831pub mod voucher_information;
832pub use self::voucher_information::VoucherInformation;
833pub mod warning;
834pub use self::warning::Warning;
835pub mod warning_collection;
836pub use self::warning_collection::WarningCollection;
837pub mod zone;
838pub use self::zone::Zone;
839pub mod zone_collection_response;
840pub use self::zone_collection_response::ZoneCollectionResponse;
841pub mod zone_definition;
842pub use self::zone_definition::ZoneDefinition;
843use serde::{Deserialize, Deserializer, Serializer};
844use serde_with::{de::DeserializeAsWrap, ser::SerializeAsWrap, DeserializeAs, SerializeAs};
845use std::marker::PhantomData;
846
847pub(crate) struct DoubleOption<T>(PhantomData<T>);
848
849impl<T, TAs> SerializeAs<Option<Option<T>>> for DoubleOption<TAs>
850where
851 TAs: SerializeAs<T>,
852{
853 fn serialize_as<S>(values: &Option<Option<T>>, serializer: S) -> Result<S::Ok, S::Error>
854 where
855 S: Serializer,
856 {
857 match values {
858 None => serializer.serialize_unit(),
859 Some(None) => serializer.serialize_none(),
860 Some(Some(v)) => serializer.serialize_some(&SerializeAsWrap::<T, TAs>::new(v)),
861 }
862 }
863}
864
865impl<'de, T, TAs> DeserializeAs<'de, Option<Option<T>>> for DoubleOption<TAs>
866where
867 TAs: DeserializeAs<'de, T>,
868 T: std::fmt::Debug,
869{
870 fn deserialize_as<D>(deserializer: D) -> Result<Option<Option<T>>, D::Error>
871 where
872 D: Deserializer<'de>,
873 {
874 Ok(Some(
875 DeserializeAsWrap::<Option<T>, Option<TAs>>::deserialize(deserializer)?
876 .into_inner(),
877 ))
878 }
879}