osdm_sys/models/
complaint_patch_request.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/// ComplaintPatchRequest : Changes to a claim already made. This covers upload of additional supporting documents, changes to  the passenger and claim manager data. The patch of the compensation amount requires an agreement between the involved parties and is used in case the legal time line for deciding the claim is passed. 
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ComplaintPatchRequest {
17    /// Known Values: - 'BANK_ACCOUNT' - 'SETTLED_TIME_LIMIT_EXCEEDED': A distributor settled the claim as the fare provided did not reply in due time. The compensation amount debited is provided. - 'PASSENGER_CHANGE' 
18    #[serde(rename = "reason", skip_serializing_if = "Option::is_none")]
19    pub reason: Option<String>,
20    #[serde(rename = "compensationAmount", skip_serializing_if = "Option::is_none")]
21    pub compensation_amount: Option<Box<models::Price>>,
22    #[serde(rename = "claimManager", skip_serializing_if = "Option::is_none")]
23    pub claim_manager: Option<Box<models::PersonDetail>>,
24    #[serde(rename = "affectedPassengers", skip_serializing_if = "Option::is_none")]
25    pub affected_passengers: Option<Vec<models::Passenger>>,
26    #[serde(rename = "supportingDocuments", skip_serializing_if = "Option::is_none")]
27    pub supporting_documents: Option<Vec<models::SupportingDocument>>,
28    #[serde(rename = "bankAccount", skip_serializing_if = "Option::is_none")]
29    pub bank_account: Option<Box<models::BankAccountReference>>,
30}
31
32impl ComplaintPatchRequest {
33    /// Changes to a claim already made. This covers upload of additional supporting documents, changes to  the passenger and claim manager data. The patch of the compensation amount requires an agreement between the involved parties and is used in case the legal time line for deciding the claim is passed. 
34    pub fn new() -> ComplaintPatchRequest {
35        ComplaintPatchRequest {
36            reason: None,
37            compensation_amount: None,
38            claim_manager: None,
39            affected_passengers: None,
40            supporting_documents: None,
41            bank_account: None,
42        }
43    }
44}
45