osdm_sys/models/refund_specification.rs
1/*
2 * UIC 90918-10 - OSDM
3 *
4 * Specifications for the OSDM API standard. The OSDM specification supports two modes of operation: Retailer Mode and Distributor Mode. The API works identically in both modes, except that in distributor mode the API also returns fare information. The following resources are key to get started: - [Processes](https://osdm.io/spec/processes/) - [Models](https://osdm.io/spec/models/) - [Getting started](https://osdm.io/spec/getting-started/)
5 *
6 * The version of the OpenAPI document: 3.7.0
7 * Contact: osdm@uic.org
8 * Generated by: https://openapi-generator.tech
9 */
10
11use 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 RefundSpecification {
17 /// id of the fulfillment where some part(s) should be removed
18 #[serde(rename = "fulfillmentId")]
19 pub fulfillment_id: String,
20 /// ids of booking parts to be removed from the fulfillment
21 #[serde(rename = "bookingPartIds", skip_serializing_if = "Option::is_none")]
22 pub booking_part_ids: Option<Vec<String>>,
23 /// ids of passengers to be removed from the fulfillment
24 #[serde(rename = "passengerIds", skip_serializing_if = "Option::is_none")]
25 pub passenger_ids: Option<Vec<String>>,
26}
27
28impl RefundSpecification {
29 pub fn new(fulfillment_id: String) -> RefundSpecification {
30 RefundSpecification {
31 fulfillment_id,
32 booking_part_ids: None,
33 passenger_ids: None,
34 }
35 }
36}
37