1use validator::Validate;
22
23::lazy_static::lazy_static! {
24 static ref EXACT_1_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1}"#).unwrap();
25}
26
27::lazy_static::lazy_static! {
28 static ref PHONE_NUMBER_REGEX: ::regex::Regex = ::regex::Regex::new(r#"\+[0-9]{1,3}-[0-9()+\-]{1,30}"#).unwrap();
29}
30
31::lazy_static::lazy_static! {
32 static ref MAX_100_K_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
33}
34
35::lazy_static::lazy_static! {
36 static ref ISO_8583_MESSAGE_REASON_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{4,4}"#).unwrap();
37}
38
39::lazy_static::lazy_static! {
40 static ref ISO_8583_RESPONSE_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9A-Z]{2,2}"#).unwrap();
41}
42
43::lazy_static::lazy_static! {
44 static ref MAX_8_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,8}"#).unwrap();
45}
46
47::lazy_static::lazy_static! {
48 static ref ISO_8583_ACCOUNT_TYPE_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9A-Z]{2,2}"#).unwrap();
49}
50
51::lazy_static::lazy_static! {
52 static ref MAX_35_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
53}
54
55::lazy_static::lazy_static! {
56 static ref MAX_10_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,10}"#).unwrap();
57}
58
59::lazy_static::lazy_static! {
60 static ref MAX_35_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,35}"#).unwrap();
61}
62
63::lazy_static::lazy_static! {
64 static ref MAX_16_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,16}"#).unwrap();
65}
66
67::lazy_static::lazy_static! {
68 static ref MAX_23_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,23}"#).unwrap();
69}
70
71::lazy_static::lazy_static! {
72 static ref MAX_5000_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
73}
74
75::lazy_static::lazy_static! {
76 static ref MAX_500_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
77}
78
79::lazy_static::lazy_static! {
80 static ref MAX_2_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,2}"#).unwrap();
81}
82
83::lazy_static::lazy_static! {
84 static ref EXACT_3_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{3}"#).unwrap();
85}
86
87::lazy_static::lazy_static! {
88 static ref MAX_4_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,4}"#).unwrap();
89}
90
91::lazy_static::lazy_static! {
92 static ref ISO_8583_AMOUNT_TYPE_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9A-Z]{2,2}"#).unwrap();
93}
94
95::lazy_static::lazy_static! {
96 static ref ISO_YEAR_MONTH_REGEX: ::regex::Regex = ::regex::Regex::new(r#"^-?\d{4}-(0[1-9]|1[0-2])([+-]\d{2}:\d{2}|Z)?$"#).unwrap();
97}
98
99::lazy_static::lazy_static! {
100 static ref MAX_6_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,6}"#).unwrap();
101}
102
103::lazy_static::lazy_static! {
104 static ref ISO_3_NUMERIC_COUNTRY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{3,3}"#).unwrap();
105}
106
107::lazy_static::lazy_static! {
108 static ref MAX_19_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,19}"#).unwrap();
109}
110
111::lazy_static::lazy_static! {
112 static ref MAX_10_K_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,10000} "#).unwrap();
113}
114
115::lazy_static::lazy_static! {
116 static ref ISO_MAX_3_A_COUNTRY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{2,3}"#).unwrap();
117}
118
119::lazy_static::lazy_static! {
120 static ref ISO_8583_TRANSACTION_TYPE_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9A-Z]{2,2}"#).unwrap();
121}
122
123::lazy_static::lazy_static! {
124 static ref ISO_3_NUMERIC_CURRENCY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{3,3}"#).unwrap();
125}
126
127::lazy_static::lazy_static! {
128 static ref EXTERNAL_ENCRYPTED_ELEMENT_IDENTIFICATION_1_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,3}"#).unwrap();
129}
130
131::lazy_static::lazy_static! {
132 static ref MAX_3_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,3}"#).unwrap();
133}
134
135::lazy_static::lazy_static! {
136 static ref MAX_12_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,12}"#).unwrap();
137}
138
139::lazy_static::lazy_static! {
140 static ref MAX_19_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,19}"#).unwrap();
141}
142
143::lazy_static::lazy_static! {
144 static ref MAX_5_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,5}"#).unwrap();
145}
146
147::lazy_static::lazy_static! {
148 static ref MAX_140_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
149}
150
151::lazy_static::lazy_static! {
152 static ref ISO_COUNTRY_SUB_DIVISION_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Z]{2,3}"#).unwrap();
153}
154
155::lazy_static::lazy_static! {
156 static ref ISO_2_A_LANGUAGE_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-z]{2,2}"#).unwrap();
157}
158
159::lazy_static::lazy_static! {
160 static ref GEOGRAPHIC_POINT_IN_DECIMAL_DEGREES_REGEX: ::regex::Regex = ::regex::Regex::new(r#"(\+|-)?[\d]{1,3}(\.[\d]{1,8})?/(\+|-)?[\d]{1,3}(\.[\d]{1,8})?"#).unwrap();
161}
162
163::lazy_static::lazy_static! {
164 static ref ISO_MAX_3_A_LANGUAGE_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-z]{2,3}"#).unwrap();
165}
166
167::lazy_static::lazy_static! {
168 static ref EXACT_6_ALPHA_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[a-zA-Z0-9\s]{6}"#).unwrap();
169}
170
171::lazy_static::lazy_static! {
172 static ref MAX_3000_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
173}
174
175::lazy_static::lazy_static! {
176 static ref ISO_18245_MERCHANT_CATEGORY_CODE_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{4,4}"#).unwrap();
177}
178
179::lazy_static::lazy_static! {
180 static ref MAX_32_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,32}"#).unwrap();
181}
182
183::lazy_static::lazy_static! {
184 static ref MAX_11_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,11}"#).unwrap();
185}
186
187::lazy_static::lazy_static! {
188 static ref MAX_15_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{1,15}"#).unwrap();
189}
190
191::lazy_static::lazy_static! {
192 static ref MIN_2_MAX_3_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{2,3}"#).unwrap();
193}
194
195::lazy_static::lazy_static! {
196 static ref MAX_9999_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,9999}"#).unwrap();
197}
198
199::lazy_static::lazy_static! {
200 static ref EXACT_1_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]"#).unwrap();
201}
202
203::lazy_static::lazy_static! {
204 static ref MAX_8_HEX_BINARY_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"([0-9A-F][0-9A-F]){1,8}"#).unwrap();
205}
206
207::lazy_static::lazy_static! {
208 static ref MIN_5_MAX_16_BINARY_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[A-Za-z0-9+/]{4}*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?"#).unwrap();
209}
210
211::lazy_static::lazy_static! {
212 static ref EXACT_2_NUMERIC_TEXT_REGEX: ::regex::Regex = ::regex::Regex::new(r#"[0-9]{2}"#).unwrap();
213}
214
215pub fn namespace() -> String {
217 "urn:iso:std:iso:20022:tech:xsd:caad.008.001.01".to_string()
218}
219
220#[derive(
221 Debug,
222 Default,
223 Clone,
224 PartialEq,
225 ::serde::Serialize,
226 ::serde::Deserialize,
227 ::derive_builder::Builder,
228 ::validator::Validate,
229)]
230pub struct Exact1HexBinaryText {
231 #[validate(regex = "EXACT_1_HEX_BINARY_TEXT_REGEX")]
232 #[serde(rename = "$text")]
233 pub value: String,
234}
235#[derive(
236 Debug,
237 Default,
238 Clone,
239 PartialEq,
240 ::serde::Serialize,
241 ::serde::Deserialize,
242 ::derive_builder::Builder,
243 ::validator::Validate,
244)]
245pub struct Max76Text {
246 #[validate(length(min = 1, max = 76,))]
247 #[serde(rename = "$text")]
248 pub value: String,
249}
250#[derive(
251 Debug,
252 Default,
253 Clone,
254 PartialEq,
255 ::serde::Serialize,
256 ::serde::Deserialize,
257 ::derive_builder::Builder,
258 ::validator::Validate,
259)]
260pub struct CarrierIdentification1 {
261 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
262 pub nm: Option<Max70Text>,
263 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
264 pub cd: Option<Max35Text>,
265 #[serde(rename = "IATACd", skip_serializing_if = "Option::is_none")]
266 pub iata_cd: Option<Max35Text>,
267}
268#[derive(
269 Debug,
270 Default,
271 Clone,
272 PartialEq,
273 ::serde::Serialize,
274 ::serde::Deserialize,
275 ::derive_builder::Builder,
276 ::validator::Validate,
277)]
278pub struct AdministrativeInitiationV01<
279 A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
280> {
281 #[validate]
282 #[serde(rename = "Hdr")]
283 pub hdr: Header66,
284 #[validate]
285 #[serde(rename = "Body")]
286 pub body: AdministrativeInitiation1<A>,
287 #[serde(rename = "SctyTrlr", skip_serializing_if = "Option::is_none")]
288 pub scty_trlr: Option<ContentInformationType20>,
289}
290#[derive(
291 Debug,
292 Default,
293 Clone,
294 PartialEq,
295 ::serde::Serialize,
296 ::serde::Deserialize,
297 ::derive_builder::Builder,
298 ::validator::Validate,
299)]
300pub struct FleetData4 {
301 #[serde(rename = "Summry", skip_serializing_if = "Option::is_none")]
302 pub summry: Option<FleetSummary2>,
303 #[validate(length(min = 0,))]
304 #[serde(rename = "LineItm", default)]
305 pub line_itm: Vec<FleetLineItem4>,
306}
307#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
308pub enum PoiComponentType5Code {
309 #[serde(rename = "AQPP")]
310 Aqpp,
311 #[serde(rename = "APPR")]
312 Appr,
313 #[serde(rename = "TLPR")]
314 Tlpr,
315 #[serde(rename = "SCPR")]
316 Scpr,
317 #[serde(rename = "SERV")]
318 Serv,
319 #[serde(rename = "TERM")]
320 Term,
321 #[serde(rename = "DVCE")]
322 Dvce,
323 #[serde(rename = "SECM")]
324 Secm,
325 #[serde(rename = "APLI")]
326 Apli,
327 #[serde(rename = "EMVK")]
328 Emvk,
329 #[serde(rename = "EMVO")]
330 Emvo,
331 #[serde(rename = "MDWR")]
332 Mdwr,
333 #[serde(rename = "DRVR")]
334 Drvr,
335 #[serde(rename = "OPST")]
336 Opst,
337 #[serde(rename = "MRPR")]
338 Mrpr,
339 #[serde(rename = "CRTF")]
340 Crtf,
341 #[serde(rename = "TMSP")]
342 Tmsp,
343 #[serde(rename = "SACP")]
344 Sacp,
345 #[serde(rename = "SAPR")]
346 Sapr,
347 #[default]
348 Unknown,
349}
350#[derive(
351 Debug,
352 Default,
353 Clone,
354 PartialEq,
355 ::serde::Serialize,
356 ::serde::Deserialize,
357 ::derive_builder::Builder,
358 ::validator::Validate,
359)]
360pub struct DrivingLicense2 {
361 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
362 pub tp: Option<Max70Text>,
363 #[serde(rename = "Form", skip_serializing_if = "Option::is_none")]
364 pub form: Option<PresentationMedium2Code>,
365 #[validate]
366 #[serde(rename = "Id")]
367 pub id: Max70Text,
368 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
369 pub assgnr: Option<LegalStructure1Code>,
370 #[serde(rename = "IssncDt", skip_serializing_if = "Option::is_none")]
371 pub issnc_dt: Option<IsoDate>,
372 #[serde(rename = "XprtnDt", skip_serializing_if = "Option::is_none")]
373 pub xprtn_dt: Option<IsoDate>,
374 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
375 pub ctry: Option<IsoMax3ACountryCode>,
376 #[serde(rename = "Stat", skip_serializing_if = "Option::is_none")]
377 pub stat: Option<Max16Text>,
378 #[serde(rename = "Prvc", skip_serializing_if = "Option::is_none")]
379 pub prvc: Option<Max16Text>,
380 #[serde(rename = "OthrAuthrty", skip_serializing_if = "Option::is_none")]
381 pub othr_authrty: Option<Max16Text>,
382}
383#[derive(
384 Debug,
385 Default,
386 Clone,
387 PartialEq,
388 ::serde::Serialize,
389 ::serde::Deserialize,
390 ::derive_builder::Builder,
391 ::validator::Validate,
392)]
393pub struct PhoneNumber {
394 #[validate(regex = "PHONE_NUMBER_REGEX")]
395 #[serde(rename = "$text")]
396 pub value: String,
397}
398#[derive(
399 Debug,
400 Default,
401 Clone,
402 PartialEq,
403 ::serde::Serialize,
404 ::serde::Deserialize,
405 ::derive_builder::Builder,
406 ::validator::Validate,
407)]
408pub struct Jurisdiction2 {
409 #[serde(rename = "DmstInd", skip_serializing_if = "Option::is_none")]
410 pub dmst_ind: Option<TrueFalseIndicator>,
411 #[serde(rename = "DmstQlfctn", skip_serializing_if = "Option::is_none")]
412 pub dmst_qlfctn: Option<Max35Text>,
413}
414#[derive(
415 Debug,
416 Default,
417 Clone,
418 PartialEq,
419 ::serde::Serialize,
420 ::serde::Deserialize,
421 ::derive_builder::Builder,
422 ::validator::Validate,
423)]
424pub struct Max100KBinary {
425 #[validate(length(min = 1, max = 102400,), regex = "MAX_100_K_BINARY_REGEX")]
426 pub value: String,
427}
428#[derive(
429 Debug,
430 Default,
431 Clone,
432 PartialEq,
433 ::serde::Serialize,
434 ::serde::Deserialize,
435 ::derive_builder::Builder,
436 ::validator::Validate,
437)]
438pub struct PartyIdentification255 {
439 #[validate]
440 #[serde(rename = "Id")]
441 pub id: Max35Text,
442 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
443 pub assgnr: Option<Max35Text>,
444 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
445 pub ctry: Option<Iso3NumericCountryCode>,
446 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
447 pub shrt_nm: Option<Max35Text>,
448 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
449 pub lgl_corp_nm: Option<Max99Text>,
450 #[serde(rename = "AddtlId", skip_serializing_if = "Option::is_none")]
451 pub addtl_id: Option<AdditionalData1>,
452 #[validate]
453 #[serde(rename = "NmAndLctn")]
454 pub nm_and_lctn: Max99Text,
455 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
456 pub adr: Option<Address2>,
457 #[serde(rename = "AddtlAdrInf", skip_serializing_if = "Option::is_none")]
458 pub addtl_adr_inf: Option<Max256Text>,
459 #[serde(rename = "GeogcLctn", skip_serializing_if = "Option::is_none")]
460 pub geogc_lctn: Option<GeographicPointInDecimalDegrees>,
461 #[serde(rename = "Email", skip_serializing_if = "Option::is_none")]
462 pub email: Option<Max256Text>,
463 #[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
464 pub url_adr: Option<Max256Text>,
465 #[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
466 pub phne_nb: Option<Max35Text>,
467 #[serde(rename = "CstmrSvc", skip_serializing_if = "Option::is_none")]
468 pub cstmr_svc: Option<Max35Text>,
469 #[serde(rename = "AddtlCtctInf", skip_serializing_if = "Option::is_none")]
470 pub addtl_ctct_inf: Option<Max256Text>,
471 #[serde(rename = "TaxRegnId", skip_serializing_if = "Option::is_none")]
472 pub tax_regn_id: Option<Max35Text>,
473 #[validate(length(min = 0,))]
474 #[serde(rename = "AddtlData", default)]
475 pub addtl_data: Vec<AdditionalData1>,
476 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
477 pub lcl_data: Option<LocalData4>,
478 #[validate(length(min = 0,))]
479 #[serde(rename = "SpnsrdMrchnt", default)]
480 pub spnsrd_mrchnt: Vec<SponsoredMerchant2>,
481}
482#[derive(
483 Debug,
484 Default,
485 Clone,
486 PartialEq,
487 ::serde::Serialize,
488 ::serde::Deserialize,
489 ::derive_builder::Builder,
490 ::validator::Validate,
491)]
492pub struct SupplementaryData1<
493 A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
494> {
495 #[serde(rename = "PlcAndNm", skip_serializing_if = "Option::is_none")]
496 pub plc_and_nm: Option<Max350Text>,
497 #[validate]
498 #[serde(rename = "Envlp")]
499 pub envlp: SupplementaryDataEnvelope1<A>,
500}
501#[derive(
502 Debug,
503 Default,
504 Clone,
505 PartialEq,
506 ::serde::Serialize,
507 ::serde::Deserialize,
508 ::derive_builder::Builder,
509 ::validator::Validate,
510)]
511pub struct Max1Number {
512 #[serde(rename = "$text")]
513 pub value: f64,
514}
515#[derive(
516 Debug,
517 Default,
518 Clone,
519 PartialEq,
520 ::serde::Serialize,
521 ::serde::Deserialize,
522 ::derive_builder::Builder,
523 ::validator::Validate,
524)]
525pub struct VehicleRentalService2 {
526 #[serde(rename = "VhclRntlCpny", skip_serializing_if = "Option::is_none")]
527 pub vhcl_rntl_cpny: Option<VehicleRentalCompany2>,
528 #[serde(rename = "Cstmr", skip_serializing_if = "Option::is_none")]
529 pub cstmr: Option<VehicleRentalCustomer2>,
530 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
531 pub summry_cmmdty_id: Option<Max35Text>,
532 #[serde(rename = "RntlAgrmt", skip_serializing_if = "Option::is_none")]
533 pub rntl_agrmt: Option<VehicleRentalAgreement2>,
534 #[serde(rename = "RntlInvc", skip_serializing_if = "Option::is_none")]
535 pub rntl_invc: Option<VehicleRentalInvoice2>,
536 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
537 pub addtl_data: Option<Max350Text>,
538}
539#[derive(
540 Debug,
541 Default,
542 Clone,
543 PartialEq,
544 ::serde::Serialize,
545 ::serde::Deserialize,
546 ::derive_builder::Builder,
547 ::validator::Validate,
548)]
549pub struct BaseOneRate {
550 #[serde(rename = "$text")]
551 pub value: f64,
552}
553#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
554pub enum ExchangeRateAgreementType1Code {
555 #[serde(rename = "FWCT")]
556 Fwct,
557 #[serde(rename = "NORM")]
558 Norm,
559 #[serde(rename = "OTHN")]
560 Othn,
561 #[serde(rename = "OTHP")]
562 Othp,
563 #[serde(rename = "SPOT")]
564 Spot,
565 #[default]
566 Unknown,
567}
568#[derive(
569 Debug,
570 Default,
571 Clone,
572 PartialEq,
573 ::serde::Serialize,
574 ::serde::Deserialize,
575 ::derive_builder::Builder,
576 ::validator::Validate,
577)]
578pub struct CardReadingCapabilities1 {
579 #[serde(rename = "Cpblty")]
580 pub cpblty: CardDataReading10Code,
581 #[serde(rename = "OthrCpblty", skip_serializing_if = "Option::is_none")]
582 pub othr_cpblty: Option<Max35Text>,
583}
584#[derive(
585 Debug,
586 Default,
587 Clone,
588 PartialEq,
589 ::serde::Serialize,
590 ::serde::Deserialize,
591 ::derive_builder::Builder,
592 ::validator::Validate,
593)]
594pub struct VehicleRentalCompany2 {
595 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
596 pub nm: Option<Max70Text>,
597 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
598 pub id: Option<PartyIdentification258>,
599 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
600 pub adr: Option<Address2>,
601 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
602 pub ctct: Option<Contact3>,
603 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
604 pub ctry: Option<IsoMax3ACountryCode>,
605 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
606 pub tp: Option<CarRentalActivity1Code>,
607 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
608 pub othr_tp: Option<Max35Text>,
609}
610#[derive(
611 Debug,
612 Default,
613 Clone,
614 PartialEq,
615 ::serde::Serialize,
616 ::serde::Deserialize,
617 ::derive_builder::Builder,
618 ::validator::Validate,
619)]
620pub struct Max350Text {
621 #[validate(length(min = 1, max = 350,))]
622 #[serde(rename = "$text")]
623 pub value: String,
624}
625#[derive(
626 Debug,
627 Default,
628 Clone,
629 PartialEq,
630 ::serde::Serialize,
631 ::serde::Deserialize,
632 ::derive_builder::Builder,
633 ::validator::Validate,
634)]
635pub struct TransactionAmounts2 {
636 #[serde(rename = "AmtQlfr", skip_serializing_if = "Option::is_none")]
637 pub amt_qlfr: Option<TypeOfAmount22Code>,
638 #[validate]
639 #[serde(rename = "TxAmt")]
640 pub tx_amt: TransactionAmount1,
641 #[serde(rename = "CrdhldrBllgAmt", skip_serializing_if = "Option::is_none")]
642 pub crdhldr_bllg_amt: Option<Amount15>,
643 #[serde(rename = "RcncltnAmt", skip_serializing_if = "Option::is_none")]
644 pub rcncltn_amt: Option<Amount15>,
645 #[validate(length(min = 0,))]
646 #[serde(rename = "DtldAmt", default)]
647 pub dtld_amt: Vec<DetailedAmount22>,
648 #[serde(rename = "OrgnlTxAmts", skip_serializing_if = "Option::is_none")]
649 pub orgnl_tx_amts: Option<OriginalTransactionAmount2>,
650}
651#[derive(
652 Debug,
653 Default,
654 Clone,
655 PartialEq,
656 ::serde::Serialize,
657 ::serde::Deserialize,
658 ::derive_builder::Builder,
659 ::validator::Validate,
660)]
661pub struct PartyIdentification254 {
662 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
663 pub id: Option<Max35Text>,
664 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
665 pub assgnr: Option<Max35Text>,
666 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
667 pub ctry: Option<Iso3NumericCountryCode>,
668 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
669 pub shrt_nm: Option<Max35Text>,
670 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
671 pub lgl_corp_nm: Option<Max99Text>,
672 #[serde(rename = "AddtlId", skip_serializing_if = "Option::is_none")]
673 pub addtl_id: Option<Max35Text>,
674 #[serde(rename = "NmAndLctn", skip_serializing_if = "Option::is_none")]
675 pub nm_and_lctn: Option<Max99Text>,
676 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
677 pub adr: Option<Address2>,
678 #[serde(rename = "AddtlAdrInf", skip_serializing_if = "Option::is_none")]
679 pub addtl_adr_inf: Option<Max256Text>,
680 #[serde(rename = "GeogcLctn", skip_serializing_if = "Option::is_none")]
681 pub geogc_lctn: Option<GeographicPointInDecimalDegrees>,
682 #[serde(rename = "Email", skip_serializing_if = "Option::is_none")]
683 pub email: Option<Max256Text>,
684 #[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
685 pub url_adr: Option<Max256Text>,
686 #[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
687 pub phne_nb: Option<Max35Text>,
688 #[serde(rename = "CstmrSvc", skip_serializing_if = "Option::is_none")]
689 pub cstmr_svc: Option<Max35Text>,
690 #[serde(rename = "AddtlCtctInf", skip_serializing_if = "Option::is_none")]
691 pub addtl_ctct_inf: Option<Max256Text>,
692 #[serde(rename = "TaxRegnId", skip_serializing_if = "Option::is_none")]
693 pub tax_regn_id: Option<Max35Text>,
694 #[validate(length(min = 0,))]
695 #[serde(rename = "AddtlData", default)]
696 pub addtl_data: Vec<AdditionalData1>,
697 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
698 pub lcl_data: Option<LocalData4>,
699 #[validate(length(min = 0,))]
700 #[serde(rename = "SpnsrdMrchnt", default)]
701 pub spnsrd_mrchnt: Vec<SponsoredMerchant2>,
702}
703#[derive(
704 Debug,
705 Default,
706 Clone,
707 PartialEq,
708 ::serde::Serialize,
709 ::serde::Deserialize,
710 ::derive_builder::Builder,
711 ::validator::Validate,
712)]
713pub struct Max4Text {
714 #[validate(length(min = 1, max = 4,))]
715 #[serde(rename = "$text")]
716 pub value: String,
717}
718#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
719pub enum Frequency18Code {
720 #[serde(rename = "YEAR")]
721 Year,
722 #[serde(rename = "DAIL")]
723 Dail,
724 #[serde(rename = "FRTN")]
725 Frtn,
726 #[serde(rename = "MNTH")]
727 Mnth,
728 #[serde(rename = "QURT")]
729 Qurt,
730 #[serde(rename = "MIAN")]
731 Mian,
732 #[serde(rename = "TEND")]
733 Tend,
734 #[serde(rename = "WEEK")]
735 Week,
736 #[serde(rename = "TWWK")]
737 Twwk,
738 #[default]
739 Unknown,
740}
741#[derive(
742 Debug,
743 Default,
744 Clone,
745 PartialEq,
746 ::serde::Serialize,
747 ::serde::Deserialize,
748 ::derive_builder::Builder,
749 ::validator::Validate,
750)]
751pub struct VerificationResult2 {
752 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
753 pub tp: Option<Max35Text>,
754 #[serde(rename = "Ntty", skip_serializing_if = "Option::is_none")]
755 pub ntty: Option<VerificationEntity2Code>,
756 #[serde(rename = "OthrNtty", skip_serializing_if = "Option::is_none")]
757 pub othr_ntty: Option<Max35Text>,
758 #[serde(rename = "Rslt", skip_serializing_if = "Option::is_none")]
759 pub rslt: Option<Verification3Code>,
760 #[serde(rename = "OthrRslt", skip_serializing_if = "Option::is_none")]
761 pub othr_rslt: Option<Max500Text>,
762 #[validate(length(min = 0,))]
763 #[serde(rename = "RsltDtls", default)]
764 pub rslt_dtls: Vec<AdditionalData1>,
765}
766#[derive(
767 Debug,
768 Default,
769 Clone,
770 PartialEq,
771 ::serde::Serialize,
772 ::serde::Deserialize,
773 ::derive_builder::Builder,
774 ::validator::Validate,
775)]
776pub struct ShippingData2 {
777 #[serde(rename = "InvcNb", skip_serializing_if = "Option::is_none")]
778 pub invc_nb: Option<Max70Text>,
779 #[serde(rename = "InvcCreDtTm", skip_serializing_if = "Option::is_none")]
780 pub invc_cre_dt_tm: Option<IsoDateTime>,
781 #[serde(rename = "SvcDscrptrCd", skip_serializing_if = "Option::is_none")]
782 pub svc_dscrptr_cd: Option<Max40Text>,
783 #[serde(rename = "IncntivAmt", skip_serializing_if = "Option::is_none")]
784 pub incntiv_amt: Option<ImpliedCurrencyAndAmount>,
785 #[serde(rename = "MiscExpnss", skip_serializing_if = "Option::is_none")]
786 pub misc_expnss: Option<ImpliedCurrencyAndAmount>,
787 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
788 pub insrnc_ind: Option<TrueFalseIndicator>,
789 #[serde(rename = "InsrncAmt", skip_serializing_if = "Option::is_none")]
790 pub insrnc_amt: Option<ImpliedCurrencyAndAmount>,
791 #[serde(rename = "NetAmt", skip_serializing_if = "Option::is_none")]
792 pub net_amt: Option<ImpliedCurrencyAndAmount>,
793 #[validate(length(min = 0,))]
794 #[serde(rename = "Tax", default)]
795 pub tax: Vec<Tax39>,
796 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
797 pub summry_cmmdty_id: Option<Max35Text>,
798 #[serde(rename = "NbOfPackgs", skip_serializing_if = "Option::is_none")]
799 pub nb_of_packgs: Option<Max6NumericText>,
800 #[validate(length(min = 0,))]
801 #[serde(rename = "Packg", default)]
802 pub packg: Vec<ShippingPackage2>,
803 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
804 pub addtl_data: Option<Max350Text>,
805}
806#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
807pub enum MemoryUnit1Code {
808 #[serde(rename = "BYTE")]
809 Byte,
810 #[serde(rename = "EXAB")]
811 Exab,
812 #[serde(rename = "GIGA")]
813 Giga,
814 #[serde(rename = "KILO")]
815 Kilo,
816 #[serde(rename = "MEGA")]
817 Mega,
818 #[serde(rename = "PETA")]
819 Peta,
820 #[serde(rename = "TERA")]
821 Tera,
822 #[default]
823 Unknown,
824}
825#[derive(
826 Debug,
827 Default,
828 Clone,
829 PartialEq,
830 ::serde::Serialize,
831 ::serde::Deserialize,
832 ::derive_builder::Builder,
833 ::validator::Validate,
834)]
835pub struct Track2Data1ChoiceEnum {
836 #[serde(rename = "TxtVal", skip_serializing_if = "Option::is_none")]
837 pub txt_val: Option<Max37Text>,
838 #[serde(rename = "HexBinryVal", skip_serializing_if = "Option::is_none")]
839 pub hex_binry_val: Option<Max19HexBinaryText>,
840}
841#[derive(
842 Debug,
843 Default,
844 Clone,
845 PartialEq,
846 ::serde::Serialize,
847 ::serde::Deserialize,
848 ::derive_builder::Builder,
849 ::validator::Validate,
850)]
851pub struct Track2Data1Choice {
852 #[serde(flatten)]
853 pub value: Track2Data1ChoiceEnum,
854}
855#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
856pub enum OnLineCapability2Code {
857 #[serde(rename = "OFLN")]
858 Ofln,
859 #[serde(rename = "ONLN")]
860 Onln,
861 #[serde(rename = "BOTH")]
862 Both,
863 #[default]
864 Unknown,
865}
866#[derive(
867 Debug,
868 Default,
869 Clone,
870 PartialEq,
871 ::serde::Serialize,
872 ::serde::Deserialize,
873 ::derive_builder::Builder,
874 ::validator::Validate,
875)]
876pub struct Amount18 {
877 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
878 pub tp: Option<CarRentalServiceType2Code>,
879 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
880 pub othr_tp: Option<Max35Text>,
881 #[serde(rename = "Amt", skip_serializing_if = "Option::is_none")]
882 pub amt: Option<ImpliedCurrencyAndAmount>,
883 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
884 pub cdt_dbt: Option<CreditDebit3Code>,
885 #[serde(rename = "CstmrNtfdInd", skip_serializing_if = "Option::is_none")]
886 pub cstmr_ntfd_ind: Option<TrueFalseIndicator>,
887}
888#[derive(
889 Debug,
890 Default,
891 Clone,
892 PartialEq,
893 ::serde::Serialize,
894 ::serde::Deserialize,
895 ::derive_builder::Builder,
896 ::validator::Validate,
897)]
898pub struct Iso8583MessageReasonCode {
899 #[validate(regex = "ISO_8583_MESSAGE_REASON_CODE_REGEX")]
900 #[serde(rename = "$text")]
901 pub value: String,
902}
903#[derive(
904 Debug,
905 Default,
906 Clone,
907 PartialEq,
908 ::serde::Serialize,
909 ::serde::Deserialize,
910 ::derive_builder::Builder,
911 ::validator::Validate,
912)]
913pub struct Exact15Text {
914 #[serde(rename = "$text")]
915 pub value: String,
916}
917#[derive(
918 Debug,
919 Default,
920 Clone,
921 PartialEq,
922 ::serde::Serialize,
923 ::serde::Deserialize,
924 ::derive_builder::Builder,
925 ::validator::Validate,
926)]
927pub struct PartyIdentification262 {
928 #[validate]
929 #[serde(rename = "Id")]
930 pub id: Max35Text,
931 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
932 pub assgnr: Option<Max35Text>,
933 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
934 pub ctry: Option<Iso3NumericCountryCode>,
935 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
936 pub shrt_nm: Option<Max35Text>,
937 #[serde(rename = "AddtlId", skip_serializing_if = "Option::is_none")]
938 pub addtl_id: Option<Max35Text>,
939 #[serde(rename = "FrgnMrchnt", skip_serializing_if = "Option::is_none")]
940 pub frgn_mrchnt: Option<TrueFalseIndicator>,
941 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
942 pub lcl_data: Option<LocalData1>,
943}
944#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
945pub enum MessageError1Code {
946 #[serde(rename = "IDEF")]
947 Idef,
948 #[serde(rename = "IDEL")]
949 Idel,
950 #[serde(rename = "IDEV")]
951 Idev,
952 #[serde(rename = "INME")]
953 Inme,
954 #[serde(rename = "INMF")]
955 Inmf,
956 #[serde(rename = "MEPE")]
957 Mepe,
958 #[serde(rename = "OTHP")]
959 Othp,
960 #[serde(rename = "PRVE")]
961 Prve,
962 #[serde(rename = "RDEM")]
963 Rdem,
964 #[serde(rename = "SECU")]
965 Secu,
966 #[serde(rename = "UDFD")]
967 Udfd,
968 #[serde(rename = "OTHN")]
969 Othn,
970 #[serde(rename = "ITDE")]
971 Itde,
972 #[serde(rename = "DUME")]
973 Dume,
974 #[serde(rename = "IDWM")]
975 Idwm,
976 #[serde(rename = "IDRM")]
977 Idrm,
978 #[serde(rename = "IBAT")]
979 Ibat,
980 #[serde(rename = "ICOL")]
981 Icol,
982 #[default]
983 Unknown,
984}
985#[derive(
986 Debug,
987 Default,
988 Clone,
989 PartialEq,
990 ::serde::Serialize,
991 ::serde::Deserialize,
992 ::derive_builder::Builder,
993 ::validator::Validate,
994)]
995pub struct LodgingLineItem2 {
996 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
997 pub dt: Option<IsoDate>,
998 #[serde(rename = "Tm", skip_serializing_if = "Option::is_none")]
999 pub tm: Option<IsoTime>,
1000 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1001 pub tp: Option<LodgingService1Code>,
1002 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
1003 pub othr_tp: Option<Max35Text>,
1004 #[serde(rename = "PstChckOutInd", skip_serializing_if = "Option::is_none")]
1005 pub pst_chck_out_ind: Option<TrueFalseIndicator>,
1006 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
1007 pub cdt_dbt: Option<CreditDebit3Code>,
1008 #[serde(rename = "UnitAmt", skip_serializing_if = "Option::is_none")]
1009 pub unit_amt: Option<ImpliedCurrencyAndAmount>,
1010 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
1011 pub drtn: Option<Max4NumericText>,
1012 #[serde(rename = "SubTtlAmt", skip_serializing_if = "Option::is_none")]
1013 pub sub_ttl_amt: Option<ImpliedCurrencyAndAmount>,
1014 #[validate(length(min = 0,))]
1015 #[serde(rename = "Tax", default)]
1016 pub tax: Vec<Tax39>,
1017 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
1018 pub addtl_data: Option<Max350Text>,
1019}
1020#[derive(
1021 Debug,
1022 Default,
1023 Clone,
1024 PartialEq,
1025 ::serde::Serialize,
1026 ::serde::Deserialize,
1027 ::derive_builder::Builder,
1028 ::validator::Validate,
1029)]
1030pub struct Iso8583ResponseCode {
1031 #[validate(regex = "ISO_8583_RESPONSE_CODE_REGEX")]
1032 #[serde(rename = "$text")]
1033 pub value: String,
1034}
1035#[derive(
1036 Debug,
1037 Default,
1038 Clone,
1039 PartialEq,
1040 ::serde::Serialize,
1041 ::serde::Deserialize,
1042 ::derive_builder::Builder,
1043 ::validator::Validate,
1044)]
1045pub struct Number {
1046 #[serde(rename = "$text")]
1047 pub value: f64,
1048}
1049#[derive(
1050 Debug,
1051 Default,
1052 Clone,
1053 PartialEq,
1054 ::serde::Serialize,
1055 ::serde::Deserialize,
1056 ::derive_builder::Builder,
1057 ::validator::Validate,
1058)]
1059pub struct AlgorithmIdentification18 {
1060 #[serde(rename = "Algo")]
1061 pub algo: Algorithm8Code,
1062 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
1063 pub param: Option<Parameter9>,
1064}
1065#[derive(
1066 Debug,
1067 Default,
1068 Clone,
1069 PartialEq,
1070 ::serde::Serialize,
1071 ::serde::Deserialize,
1072 ::derive_builder::Builder,
1073 ::validator::Validate,
1074)]
1075pub struct CardProgrammeMode2 {
1076 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1077 pub tp: Option<Max35Text>,
1078 #[validate(length(min = 1,))]
1079 #[serde(rename = "Id", default)]
1080 pub id: Vec<Max35Text>,
1081}
1082#[derive(
1083 Debug,
1084 Default,
1085 Clone,
1086 PartialEq,
1087 ::serde::Serialize,
1088 ::serde::Deserialize,
1089 ::derive_builder::Builder,
1090 ::validator::Validate,
1091)]
1092pub struct Address3 {
1093 #[serde(rename = "AdrLine1", skip_serializing_if = "Option::is_none")]
1094 pub adr_line_1: Option<Max200Text>,
1095 #[serde(rename = "AdrLine2", skip_serializing_if = "Option::is_none")]
1096 pub adr_line_2: Option<Max200Text>,
1097 #[serde(rename = "StrtNm", skip_serializing_if = "Option::is_none")]
1098 pub strt_nm: Option<Max200Text>,
1099 #[serde(rename = "BldgNb", skip_serializing_if = "Option::is_none")]
1100 pub bldg_nb: Option<Max35Text>,
1101 #[serde(rename = "PstlCd", skip_serializing_if = "Option::is_none")]
1102 pub pstl_cd: Option<Max35Text>,
1103 #[serde(rename = "TwnNm", skip_serializing_if = "Option::is_none")]
1104 pub twn_nm: Option<Max100Text>,
1105 #[serde(rename = "CtrySubDvsnMnrNm", skip_serializing_if = "Option::is_none")]
1106 pub ctry_sub_dvsn_mnr_nm: Option<Max100Text>,
1107 #[serde(rename = "CtrySubDvsnMjrNm", skip_serializing_if = "Option::is_none")]
1108 pub ctry_sub_dvsn_mjr_nm: Option<Max100Text>,
1109 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
1110 pub ctry: Option<IsoMax3ACountryCode>,
1111}
1112#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1113pub enum PartyType9Code {
1114 #[serde(rename = "ACQR")]
1115 Acqr,
1116 #[serde(rename = "ACQP")]
1117 Acqp,
1118 #[serde(rename = "CISS")]
1119 Ciss,
1120 #[serde(rename = "CISP")]
1121 Cisp,
1122 #[serde(rename = "CSCH")]
1123 Csch,
1124 #[serde(rename = "SCHP")]
1125 Schp,
1126 #[default]
1127 Unknown,
1128}
1129#[derive(
1130 Debug,
1131 Default,
1132 Clone,
1133 PartialEq,
1134 ::serde::Serialize,
1135 ::serde::Deserialize,
1136 ::derive_builder::Builder,
1137 ::validator::Validate,
1138)]
1139pub struct Transaction144 {
1140 #[serde(rename = "AdmstvTp")]
1141 pub admstv_tp: AdministrativeType1Code,
1142 #[serde(rename = "OthrAdmstvTp", skip_serializing_if = "Option::is_none")]
1143 pub othr_admstv_tp: Option<Max35Text>,
1144 #[validate(length(min = 0,))]
1145 #[serde(rename = "MsgRsn", default)]
1146 pub msg_rsn: Vec<Iso8583MessageReasonCode>,
1147 #[validate(length(min = 0,))]
1148 #[serde(rename = "AltrnMsgRsn", default)]
1149 pub altrn_msg_rsn: Vec<Max256Text>,
1150 #[validate(length(min = 0,))]
1151 #[serde(rename = "AddtlSvc", default)]
1152 pub addtl_svc: Vec<AdditionalService2>,
1153 #[serde(rename = "AssoctdDataInd", skip_serializing_if = "Option::is_none")]
1154 pub assoctd_data_ind: Option<TrueFalseIndicator>,
1155 #[serde(rename = "AssoctdDataRef", skip_serializing_if = "Option::is_none")]
1156 pub assoctd_data_ref: Option<Max70Text>,
1157 #[serde(rename = "AssoctdDataDstn", skip_serializing_if = "Option::is_none")]
1158 pub assoctd_data_dstn: Option<Max35Text>,
1159 #[validate(length(min = 0,))]
1160 #[serde(rename = "SpclPrgrmmQlfctn", default)]
1161 pub spcl_prgrmm_qlfctn: Vec<SpecialProgrammeQualification1>,
1162 #[validate]
1163 #[serde(rename = "TxId")]
1164 pub tx_id: TransactionIdentification12,
1165 #[serde(rename = "TxtMsg", skip_serializing_if = "Option::is_none")]
1166 pub txt_msg: Option<Max20KText>,
1167 #[validate(length(min = 0,))]
1168 #[serde(rename = "LclData", default)]
1169 pub lcl_data: Vec<LocalData9>,
1170 #[serde(rename = "TxDesc", skip_serializing_if = "Option::is_none")]
1171 pub tx_desc: Option<Max1000Text>,
1172 #[validate(length(min = 0,))]
1173 #[serde(rename = "AddtlData", default)]
1174 pub addtl_data: Vec<AdditionalData2>,
1175}
1176#[derive(
1177 Debug,
1178 Default,
1179 Clone,
1180 PartialEq,
1181 ::serde::Serialize,
1182 ::serde::Deserialize,
1183 ::derive_builder::Builder,
1184 ::validator::Validate,
1185)]
1186pub struct Max200Text {
1187 #[validate(length(min = 1, max = 200,))]
1188 #[serde(rename = "$text")]
1189 pub value: String,
1190}
1191#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1192pub enum CryptographicKeyType3Code {
1193 #[serde(rename = "AES2")]
1194 Aes2,
1195 #[serde(rename = "EDE3")]
1196 Ede3,
1197 #[serde(rename = "DKP9")]
1198 Dkp9,
1199 #[serde(rename = "AES9")]
1200 Aes9,
1201 #[serde(rename = "AES5")]
1202 Aes5,
1203 #[serde(rename = "EDE4")]
1204 Ede4,
1205 #[default]
1206 Unknown,
1207}
1208#[derive(
1209 Debug,
1210 Default,
1211 Clone,
1212 PartialEq,
1213 ::serde::Serialize,
1214 ::serde::Deserialize,
1215 ::derive_builder::Builder,
1216 ::validator::Validate,
1217)]
1218pub struct AlgorithmIdentification22 {
1219 #[serde(rename = "Algo")]
1220 pub algo: Algorithm17Code,
1221 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
1222 pub param: Option<Parameter7>,
1223}
1224#[derive(
1225 Debug,
1226 Default,
1227 Clone,
1228 PartialEq,
1229 ::serde::Serialize,
1230 ::serde::Deserialize,
1231 ::derive_builder::Builder,
1232 ::validator::Validate,
1233)]
1234pub struct DecimalNumber {
1235 #[serde(rename = "$text")]
1236 pub value: f64,
1237}
1238#[derive(
1239 Debug,
1240 Default,
1241 Clone,
1242 PartialEq,
1243 ::serde::Serialize,
1244 ::serde::Deserialize,
1245 ::derive_builder::Builder,
1246 ::validator::Validate,
1247)]
1248pub struct LoyaltyProgramme3 {
1249 #[validate(length(min = 0,))]
1250 #[serde(rename = "PrgrmmElgbltyInd", default)]
1251 pub prgrmm_elgblty_ind: Vec<TrueFalseIndicator>,
1252 #[serde(rename = "PrgrmmIssr", skip_serializing_if = "Option::is_none")]
1253 pub prgrmm_issr: Option<Max35Text>,
1254 #[serde(rename = "LltyMmb", skip_serializing_if = "Option::is_none")]
1255 pub llty_mmb: Option<LoyaltyMember2>,
1256}
1257#[derive(
1258 Debug,
1259 Default,
1260 Clone,
1261 PartialEq,
1262 ::serde::Serialize,
1263 ::serde::Deserialize,
1264 ::derive_builder::Builder,
1265 ::validator::Validate,
1266)]
1267pub struct LocalData2 {
1268 #[serde(rename = "Lang")]
1269 pub lang: IsoMax3ALanguageCode,
1270 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
1271 pub nm: Option<Max70Text>,
1272 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
1273 pub adr: Option<Address3>,
1274 #[serde(rename = "AddtlCtctInf", skip_serializing_if = "Option::is_none")]
1275 pub addtl_ctct_inf: Option<Max512Text>,
1276 #[validate(length(min = 0,))]
1277 #[serde(rename = "AddtlData", default)]
1278 pub addtl_data: Vec<AdditionalData1>,
1279}
1280#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1281pub enum DeviceOperatingSystemType1Code {
1282 #[serde(rename = "DROI")]
1283 Droi,
1284 #[serde(rename = "BLCK")]
1285 Blck,
1286 #[serde(rename = "IOSS")]
1287 Ioss,
1288 #[serde(rename = "OTHN")]
1289 Othn,
1290 #[serde(rename = "OTHP")]
1291 Othp,
1292 #[serde(rename = "TIZN")]
1293 Tizn,
1294 #[serde(rename = "WIND")]
1295 Wind,
1296 #[default]
1297 Unknown,
1298}
1299#[derive(
1300 Debug,
1301 Default,
1302 Clone,
1303 PartialEq,
1304 ::serde::Serialize,
1305 ::serde::Deserialize,
1306 ::derive_builder::Builder,
1307 ::validator::Validate,
1308)]
1309pub struct RiskAssessmentDataEntityProvider1 {
1310 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1311 pub tp: Option<PartyType28Code>,
1312 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
1313 pub othr_tp: Option<Max35Text>,
1314}
1315#[derive(
1316 Debug,
1317 Default,
1318 Clone,
1319 PartialEq,
1320 ::serde::Serialize,
1321 ::serde::Deserialize,
1322 ::derive_builder::Builder,
1323 ::validator::Validate,
1324)]
1325pub struct Max70Text {
1326 #[validate(length(min = 1, max = 70,))]
1327 #[serde(rename = "$text")]
1328 pub value: String,
1329}
1330#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1331pub enum CardDataReading10Code {
1332 #[serde(rename = "ICPY")]
1333 Icpy,
1334 #[serde(rename = "MGST")]
1335 Mgst,
1336 #[serde(rename = "ICCY")]
1337 Iccy,
1338 #[serde(rename = "MICR")]
1339 Micr,
1340 #[serde(rename = "MLEY")]
1341 Mley,
1342 #[serde(rename = "OCRR")]
1343 Ocrr,
1344 #[serde(rename = "MSIP")]
1345 Msip,
1346 #[serde(rename = "OPTC")]
1347 Optc,
1348 #[serde(rename = "OTHN")]
1349 Othn,
1350 #[serde(rename = "RFID")]
1351 Rfid,
1352 #[serde(rename = "UNSP")]
1353 Unsp,
1354 #[serde(rename = "OTHP")]
1355 Othp,
1356 #[serde(rename = "KEEN")]
1357 Keen,
1358 #[serde(rename = "DFLE")]
1359 Dfle,
1360 #[default]
1361 Unknown,
1362}
1363#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1364pub enum FleetServiceType1Code {
1365 #[serde(rename = "SLSV")]
1366 Slsv,
1367 #[serde(rename = "HSDI")]
1368 Hsdi,
1369 #[serde(rename = "FLSV")]
1370 Flsv,
1371 #[default]
1372 Unknown,
1373}
1374#[derive(
1375 Debug,
1376 Default,
1377 Clone,
1378 PartialEq,
1379 ::serde::Serialize,
1380 ::serde::Deserialize,
1381 ::derive_builder::Builder,
1382 ::validator::Validate,
1383)]
1384pub struct VerificationInformation1 {
1385 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1386 pub tp: Option<Max35Text>,
1387 #[serde(rename = "Val", skip_serializing_if = "Option::is_none")]
1388 pub val: Option<VerificationValue1Choice>,
1389 #[validate(length(min = 0,))]
1390 #[serde(rename = "Rsn", default)]
1391 pub rsn: Vec<Max35Text>,
1392 #[serde(rename = "DtTm", skip_serializing_if = "Option::is_none")]
1393 pub dt_tm: Option<IsoDateTime>,
1394 #[serde(rename = "VldtyEndDt", skip_serializing_if = "Option::is_none")]
1395 pub vldty_end_dt: Option<IsoDate>,
1396 #[serde(rename = "VldtyEndTm", skip_serializing_if = "Option::is_none")]
1397 pub vldty_end_tm: Option<IsoTime>,
1398}
1399#[derive(
1400 Debug,
1401 Default,
1402 Clone,
1403 PartialEq,
1404 ::serde::Serialize,
1405 ::serde::Deserialize,
1406 ::derive_builder::Builder,
1407 ::validator::Validate,
1408)]
1409pub struct TelecomServices2 {
1410 #[serde(rename = "Summry", skip_serializing_if = "Option::is_none")]
1411 pub summry: Option<TelecomServicesSummary2>,
1412 #[validate(length(min = 0,))]
1413 #[serde(rename = "LineItm", default)]
1414 pub line_itm: Vec<TelecomServicesLineItem2>,
1415}
1416#[derive(
1417 Debug,
1418 Default,
1419 Clone,
1420 PartialEq,
1421 ::serde::Serialize,
1422 ::serde::Deserialize,
1423 ::derive_builder::Builder,
1424 ::validator::Validate,
1425)]
1426pub struct DocumentReference1 {
1427 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1428 pub tp: Option<Max35Text>,
1429 #[serde(rename = "Ref", skip_serializing_if = "Option::is_none")]
1430 pub r#ref: Option<Max70Text>,
1431}
1432#[derive(
1433 Debug,
1434 Default,
1435 Clone,
1436 PartialEq,
1437 ::serde::Serialize,
1438 ::serde::Deserialize,
1439 ::derive_builder::Builder,
1440 ::validator::Validate,
1441)]
1442pub struct OriginatorInformation1 {
1443 #[validate(length(min = 0,))]
1444 #[serde(rename = "Cert", default)]
1445 pub cert: Vec<Max5000Binary>,
1446}
1447#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1448pub enum EncryptionFormat3Code {
1449 #[serde(rename = "TR34")]
1450 Tr34,
1451 #[serde(rename = "TR31")]
1452 Tr31,
1453 #[serde(rename = "CTCE")]
1454 Ctce,
1455 #[serde(rename = "CBCE")]
1456 Cbce,
1457 #[default]
1458 Unknown,
1459}
1460#[derive(
1461 Debug,
1462 Default,
1463 Clone,
1464 PartialEq,
1465 ::serde::Serialize,
1466 ::serde::Deserialize,
1467 ::derive_builder::Builder,
1468 ::validator::Validate,
1469)]
1470pub struct Max8NumericText {
1471 #[validate(regex = "MAX_8_NUMERIC_TEXT_REGEX")]
1472 #[serde(rename = "$text")]
1473 pub value: String,
1474}
1475#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1476pub enum PartyType17Code {
1477 #[serde(rename = "OTHN")]
1478 Othn,
1479 #[serde(rename = "OTHP")]
1480 Othp,
1481 #[serde(rename = "ACQR")]
1482 Acqr,
1483 #[serde(rename = "ACQP")]
1484 Acqp,
1485 #[serde(rename = "CISS")]
1486 Ciss,
1487 #[serde(rename = "CISP")]
1488 Cisp,
1489 #[serde(rename = "AGNT")]
1490 Agnt,
1491 #[default]
1492 Unknown,
1493}
1494#[derive(
1495 Debug,
1496 Default,
1497 Clone,
1498 PartialEq,
1499 ::serde::Serialize,
1500 ::serde::Deserialize,
1501 ::derive_builder::Builder,
1502 ::validator::Validate,
1503)]
1504pub struct PointOfInteractionComponentCharacteristics4 {
1505 #[validate(length(min = 0,))]
1506 #[serde(rename = "Mmry", default)]
1507 pub mmry: Vec<MemoryCharacteristics1>,
1508 #[validate(length(min = 0,))]
1509 #[serde(rename = "Com", default)]
1510 pub com: Vec<CommunicationCharacteristics3>,
1511 #[serde(rename = "SctyAccsMdls", skip_serializing_if = "Option::is_none")]
1512 pub scty_accs_mdls: Option<Number>,
1513 #[serde(rename = "SbcbrIdntyMdls", skip_serializing_if = "Option::is_none")]
1514 pub sbcbr_idnty_mdls: Option<Number>,
1515 #[validate(length(min = 0,))]
1516 #[serde(rename = "SctyElmt", default)]
1517 pub scty_elmt: Vec<CryptographicKey13>,
1518}
1519#[derive(
1520 Debug,
1521 Default,
1522 Clone,
1523 PartialEq,
1524 ::serde::Serialize,
1525 ::serde::Deserialize,
1526 ::derive_builder::Builder,
1527 ::validator::Validate,
1528)]
1529pub struct Environment20 {
1530 #[serde(rename = "Acqrr", skip_serializing_if = "Option::is_none")]
1531 pub acqrr: Option<PartyIdentification263>,
1532 #[serde(rename = "Orgtr", skip_serializing_if = "Option::is_none")]
1533 pub orgtr: Option<PartyIdentification263>,
1534 #[serde(rename = "Sndr", skip_serializing_if = "Option::is_none")]
1535 pub sndr: Option<PartyIdentification263>,
1536 #[serde(rename = "Rcvr", skip_serializing_if = "Option::is_none")]
1537 pub rcvr: Option<PartyIdentification263>,
1538 #[serde(rename = "Accptr", skip_serializing_if = "Option::is_none")]
1539 pub accptr: Option<PartyIdentification254>,
1540 #[serde(rename = "Dstn", skip_serializing_if = "Option::is_none")]
1541 pub dstn: Option<PartyIdentification263>,
1542 #[serde(rename = "Pyer", skip_serializing_if = "Option::is_none")]
1543 pub pyer: Option<PartyIdentification257>,
1544 #[serde(rename = "Pyee", skip_serializing_if = "Option::is_none")]
1545 pub pyee: Option<PartyIdentification257>,
1546 #[serde(rename = "Termnl", skip_serializing_if = "Option::is_none")]
1547 pub termnl: Option<Terminal5>,
1548 #[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
1549 pub issr: Option<PartyIdentification263>,
1550 #[validate]
1551 #[serde(rename = "Card")]
1552 pub card: CardData7,
1553 #[serde(rename = "CstmrDvc", skip_serializing_if = "Option::is_none")]
1554 pub cstmr_dvc: Option<CustomerDevice4>,
1555 #[serde(rename = "Wllt", skip_serializing_if = "Option::is_none")]
1556 pub wllt: Option<Wallet2>,
1557 #[serde(rename = "Tkn", skip_serializing_if = "Option::is_none")]
1558 pub tkn: Option<Token2>,
1559 #[serde(rename = "Crdhldr", skip_serializing_if = "Option::is_none")]
1560 pub crdhldr: Option<Cardholder19>,
1561}
1562#[derive(
1563 Debug,
1564 Default,
1565 Clone,
1566 PartialEq,
1567 ::serde::Serialize,
1568 ::serde::Deserialize,
1569 ::derive_builder::Builder,
1570 ::validator::Validate,
1571)]
1572pub struct Iso8583AccountTypeCode {
1573 #[validate(regex = "ISO_8583_ACCOUNT_TYPE_CODE_REGEX")]
1574 #[serde(rename = "$text")]
1575 pub value: String,
1576}
1577#[derive(
1578 Debug,
1579 Default,
1580 Clone,
1581 PartialEq,
1582 ::serde::Serialize,
1583 ::serde::Deserialize,
1584 ::derive_builder::Builder,
1585 ::validator::Validate,
1586)]
1587pub struct Max35Binary {
1588 #[validate(length(min = 1, max = 35,), regex = "MAX_35_BINARY_REGEX")]
1589 pub value: String,
1590}
1591#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1592pub enum TerminalIntegrationCategory1Code {
1593 #[serde(rename = "MPOI")]
1594 Mpoi,
1595 #[serde(rename = "MSLE")]
1596 Msle,
1597 #[serde(rename = "SSLE")]
1598 Ssle,
1599 #[default]
1600 Unknown,
1601}
1602#[derive(
1603 Debug,
1604 Default,
1605 Clone,
1606 PartialEq,
1607 ::serde::Serialize,
1608 ::serde::Deserialize,
1609 ::derive_builder::Builder,
1610 ::validator::Validate,
1611)]
1612pub struct Amount15 {
1613 #[validate]
1614 #[serde(rename = "Amt")]
1615 pub amt: ImpliedCurrencyAndAmount,
1616 #[serde(rename = "Ccy", skip_serializing_if = "Option::is_none")]
1617 pub ccy: Option<Iso3NumericCurrencyCode>,
1618 #[serde(rename = "FctvXchgRate", skip_serializing_if = "Option::is_none")]
1619 pub fctv_xchg_rate: Option<BaseOne25Rate>,
1620 #[serde(rename = "ConvsDt", skip_serializing_if = "Option::is_none")]
1621 pub convs_dt: Option<IsoDate>,
1622 #[serde(rename = "ConvsTm", skip_serializing_if = "Option::is_none")]
1623 pub convs_tm: Option<IsoTime>,
1624}
1625#[derive(
1626 Debug,
1627 Default,
1628 Clone,
1629 PartialEq,
1630 ::serde::Serialize,
1631 ::serde::Deserialize,
1632 ::derive_builder::Builder,
1633 ::validator::Validate,
1634)]
1635pub struct Max10NumericText {
1636 #[validate(regex = "MAX_10_NUMERIC_TEXT_REGEX")]
1637 #[serde(rename = "$text")]
1638 pub value: String,
1639}
1640#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1641pub enum PlanOwner1Code {
1642 #[serde(rename = "ACCP")]
1643 Accp,
1644 #[serde(rename = "ACQR")]
1645 Acqr,
1646 #[serde(rename = "ISSR")]
1647 Issr,
1648 #[serde(rename = "OTHN")]
1649 Othn,
1650 #[serde(rename = "OTHP")]
1651 Othp,
1652 #[default]
1653 Unknown,
1654}
1655#[derive(
1656 Debug,
1657 Default,
1658 Clone,
1659 PartialEq,
1660 ::serde::Serialize,
1661 ::serde::Deserialize,
1662 ::derive_builder::Builder,
1663 ::validator::Validate,
1664)]
1665pub struct CustomerReference1 {
1666 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
1667 pub id: Option<Max35Text>,
1668 #[serde(rename = "Dtl", skip_serializing_if = "Option::is_none")]
1669 pub dtl: Option<Max70Text>,
1670}
1671#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1672pub enum Algorithm20Code {
1673 #[serde(rename = "HS25")]
1674 Hs25,
1675 #[serde(rename = "HS38")]
1676 Hs38,
1677 #[serde(rename = "HS51")]
1678 Hs51,
1679 #[default]
1680 Unknown,
1681}
1682#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1683pub enum ExchangeRateType2Code {
1684 #[serde(rename = "SELL")]
1685 Sell,
1686 #[serde(rename = "OTHP")]
1687 Othp,
1688 #[serde(rename = "OTHN")]
1689 Othn,
1690 #[serde(rename = "MIDL")]
1691 Midl,
1692 #[serde(rename = "BUYR")]
1693 Buyr,
1694 #[serde(rename = "AGRD")]
1695 Agrd,
1696 #[default]
1697 Unknown,
1698}
1699#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1700pub enum TypeOfAmount19Code {
1701 #[serde(rename = "CONN")]
1702 Conn,
1703 #[serde(rename = "INSU")]
1704 Insu,
1705 #[serde(rename = "LNDS")]
1706 Lnds,
1707 #[serde(rename = "MISC")]
1708 Misc,
1709 #[serde(rename = "OTHN")]
1710 Othn,
1711 #[serde(rename = "OTHP")]
1712 Othp,
1713 #[serde(rename = "USGE")]
1714 Usge,
1715 #[default]
1716 Unknown,
1717}
1718#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1719pub enum Response8Code {
1720 #[serde(rename = "PRCS")]
1721 Prcs,
1722 #[serde(rename = "UNPR")]
1723 Unpr,
1724 #[serde(rename = "UNRV")]
1725 Unrv,
1726 #[serde(rename = "REJT")]
1727 Rejt,
1728 #[serde(rename = "TECH")]
1729 Tech,
1730 #[serde(rename = "OTHN")]
1731 Othn,
1732 #[serde(rename = "OTHP")]
1733 Othp,
1734 #[default]
1735 Unknown,
1736}
1737#[derive(
1738 Debug,
1739 Default,
1740 Clone,
1741 PartialEq,
1742 ::serde::Serialize,
1743 ::serde::Deserialize,
1744 ::derive_builder::Builder,
1745 ::validator::Validate,
1746)]
1747pub struct Verification4 {
1748 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
1749 pub tp: Option<ExternalAuthenticationMethod1Code>,
1750 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
1751 pub othr_tp: Option<Max35Text>,
1752 #[serde(rename = "SubTp", skip_serializing_if = "Option::is_none")]
1753 pub sub_tp: Option<Max35Text>,
1754 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
1755 pub addtl_inf: Option<Max35Text>,
1756 #[validate(length(min = 0,))]
1757 #[serde(rename = "VrfctnRslt", default)]
1758 pub vrfctn_rslt: Vec<VerificationResult2>,
1759}
1760#[derive(
1761 Debug,
1762 Default,
1763 Clone,
1764 PartialEq,
1765 ::serde::Serialize,
1766 ::serde::Deserialize,
1767 ::derive_builder::Builder,
1768 ::validator::Validate,
1769)]
1770pub struct Cardholder19 {
1771 #[serde(rename = "CrdhldrNm", skip_serializing_if = "Option::is_none")]
1772 pub crdhldr_nm: Option<CardholderName3>,
1773 #[validate(length(min = 0,))]
1774 #[serde(rename = "Id", default)]
1775 pub id: Vec<Credentials2>,
1776 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
1777 pub adr: Option<Address2>,
1778 #[serde(rename = "CtctInf", skip_serializing_if = "Option::is_none")]
1779 pub ctct_inf: Option<Contact1>,
1780 #[serde(rename = "DtOfBirth", skip_serializing_if = "Option::is_none")]
1781 pub dt_of_birth: Option<IsoDate>,
1782 #[serde(rename = "HghValCstmrInd", skip_serializing_if = "Option::is_none")]
1783 pub hgh_val_cstmr_ind: Option<TrueFalseIndicator>,
1784 #[validate(length(min = 0,))]
1785 #[serde(rename = "AddtlData", default)]
1786 pub addtl_data: Vec<AdditionalData1>,
1787 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
1788 pub lcl_data: Option<LocalData7>,
1789}
1790#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1791pub enum OfficialDocumentType1Code {
1792 #[serde(rename = "ARNU")]
1793 Arnu,
1794 #[serde(rename = "AUTH")]
1795 Auth,
1796 #[serde(rename = "DIPL")]
1797 Dipl,
1798 #[serde(rename = "DVLC")]
1799 Dvlc,
1800 #[serde(rename = "EURO")]
1801 Euro,
1802 #[serde(rename = "IDEN")]
1803 Iden,
1804 #[serde(rename = "INTE")]
1805 Inte,
1806 #[serde(rename = "INPO")]
1807 Inpo,
1808 #[serde(rename = "LZPR")]
1809 Lzpr,
1810 #[serde(rename = "OTHN")]
1811 Othn,
1812 #[serde(rename = "OTHP")]
1813 Othp,
1814 #[serde(rename = "PASS")]
1815 Pass,
1816 #[serde(rename = "VISA")]
1817 Visa,
1818 #[serde(rename = "PERM")]
1819 Perm,
1820 #[serde(rename = "REFU")]
1821 Refu,
1822 #[default]
1823 Unknown,
1824}
1825#[derive(
1826 Debug,
1827 Default,
1828 Clone,
1829 PartialEq,
1830 ::serde::Serialize,
1831 ::serde::Deserialize,
1832 ::derive_builder::Builder,
1833 ::validator::Validate,
1834)]
1835pub struct PaymentTransaction141 {
1836 #[serde(rename = "PurchsTp", skip_serializing_if = "Option::is_none")]
1837 pub purchs_tp: Option<FleetPurchaseType1Code>,
1838 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
1839 pub summry_cmmdty_id: Option<Max35Text>,
1840 #[serde(rename = "DscntTtl", skip_serializing_if = "Option::is_none")]
1841 pub dscnt_ttl: Option<FleetDiscountTotals1>,
1842 #[validate(length(min = 0,))]
1843 #[serde(rename = "TaxTtl", default)]
1844 pub tax_ttl: Vec<Tax39>,
1845 #[serde(rename = "TtlAmt", skip_serializing_if = "Option::is_none")]
1846 pub ttl_amt: Option<ImpliedCurrencyAndAmount>,
1847}
1848#[derive(
1849 Debug,
1850 Default,
1851 Clone,
1852 PartialEq,
1853 ::serde::Serialize,
1854 ::serde::Deserialize,
1855 ::derive_builder::Builder,
1856 ::validator::Validate,
1857)]
1858pub struct AdditionalAmounts3 {
1859 #[serde(rename = "Tp")]
1860 pub tp: Iso8583AmountTypeCode,
1861 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
1862 pub othr_tp: Option<Max35Text>,
1863 #[validate]
1864 #[serde(rename = "Amt")]
1865 pub amt: Amount17,
1866 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
1867 pub desc: Option<Max70Text>,
1868 #[validate(length(min = 0,))]
1869 #[serde(rename = "AddtlData", default)]
1870 pub addtl_data: Vec<AdditionalData1>,
1871}
1872#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
1873pub enum LodgingActivity1Code {
1874 #[serde(rename = "APTM")]
1875 Aptm,
1876 #[serde(rename = "BEBR")]
1877 Bebr,
1878 #[serde(rename = "COTT")]
1879 Cott,
1880 #[serde(rename = "CRUI")]
1881 Crui,
1882 #[serde(rename = "HOME")]
1883 Home,
1884 #[serde(rename = "HOST")]
1885 Host,
1886 #[serde(rename = "HOTL")]
1887 Hotl,
1888 #[serde(rename = "LODG")]
1889 Lodg,
1890 #[serde(rename = "MOTL")]
1891 Motl,
1892 #[serde(rename = "OTHN")]
1893 Othn,
1894 #[serde(rename = "OTHP")]
1895 Othp,
1896 #[serde(rename = "RESO")]
1897 Reso,
1898 #[serde(rename = "ROAB")]
1899 Roab,
1900 #[serde(rename = "TOSH")]
1901 Tosh,
1902 #[default]
1903 Unknown,
1904}
1905#[derive(
1906 Debug,
1907 Default,
1908 Clone,
1909 PartialEq,
1910 ::serde::Serialize,
1911 ::serde::Deserialize,
1912 ::derive_builder::Builder,
1913 ::validator::Validate,
1914)]
1915pub struct Parameter10 {
1916 #[serde(rename = "NcrptnFrmt", skip_serializing_if = "Option::is_none")]
1917 pub ncrptn_frmt: Option<EncryptionFormat2Code>,
1918 #[serde(rename = "DgstAlgo", skip_serializing_if = "Option::is_none")]
1919 pub dgst_algo: Option<Algorithm16Code>,
1920 #[serde(rename = "MskGnrtrAlgo", skip_serializing_if = "Option::is_none")]
1921 pub msk_gnrtr_algo: Option<AlgorithmIdentification18>,
1922}
1923#[derive(
1924 Debug,
1925 Default,
1926 Clone,
1927 PartialEq,
1928 ::serde::Serialize,
1929 ::serde::Deserialize,
1930 ::derive_builder::Builder,
1931 ::validator::Validate,
1932)]
1933pub struct Recipient5ChoiceEnum {
1934 #[serde(rename = "KeyIdr", skip_serializing_if = "Option::is_none")]
1935 pub key_idr: Option<KekIdentifier2>,
1936 #[serde(rename = "IssrAndSrlNb", skip_serializing_if = "Option::is_none")]
1937 pub issr_and_srl_nb: Option<IssuerAndSerialNumber1>,
1938}
1939#[derive(
1940 Debug,
1941 Default,
1942 Clone,
1943 PartialEq,
1944 ::serde::Serialize,
1945 ::serde::Deserialize,
1946 ::derive_builder::Builder,
1947 ::validator::Validate,
1948)]
1949pub struct Recipient5Choice {
1950 #[serde(flatten)]
1951 pub value: Recipient5ChoiceEnum,
1952}
1953#[derive(
1954 Debug,
1955 Default,
1956 Clone,
1957 PartialEq,
1958 ::serde::Serialize,
1959 ::serde::Deserialize,
1960 ::derive_builder::Builder,
1961 ::validator::Validate,
1962)]
1963pub struct Max35NumericText {
1964 #[validate(regex = "MAX_35_NUMERIC_TEXT_REGEX")]
1965 #[serde(rename = "$text")]
1966 pub value: String,
1967}
1968#[derive(
1969 Debug,
1970 Default,
1971 Clone,
1972 PartialEq,
1973 ::serde::Serialize,
1974 ::serde::Deserialize,
1975 ::derive_builder::Builder,
1976 ::validator::Validate,
1977)]
1978pub struct Tax39 {
1979 #[serde(rename = "Tp")]
1980 pub tp: AddendumTaxType2Code,
1981 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
1982 pub othr_tp: Option<Max35Text>,
1983 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
1984 pub desc: Option<Max35Text>,
1985 #[serde(rename = "TaxXmptn", skip_serializing_if = "Option::is_none")]
1986 pub tax_xmptn: Option<TrueFalseIndicator>,
1987 #[serde(rename = "TaxXmptRsn", skip_serializing_if = "Option::is_none")]
1988 pub tax_xmpt_rsn: Option<Max35Text>,
1989 #[validate]
1990 #[serde(rename = "Amt")]
1991 pub amt: ImpliedCurrencyAndAmount,
1992 #[serde(rename = "Rate", skip_serializing_if = "Option::is_none")]
1993 pub rate: Option<PercentageRate>,
1994 #[serde(rename = "InclInTtlInd", skip_serializing_if = "Option::is_none")]
1995 pub incl_in_ttl_ind: Option<TrueFalseIndicator>,
1996 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
1997 pub cdt_dbt: Option<CreditDebit3Code>,
1998}
1999#[derive(
2000 Debug,
2001 Default,
2002 Clone,
2003 PartialEq,
2004 ::serde::Serialize,
2005 ::serde::Deserialize,
2006 ::derive_builder::Builder,
2007 ::validator::Validate,
2008)]
2009pub struct BaseOne25Rate {
2010 #[serde(rename = "$text")]
2011 pub value: f64,
2012}
2013#[derive(
2014 Debug,
2015 Default,
2016 Clone,
2017 PartialEq,
2018 ::serde::Serialize,
2019 ::serde::Deserialize,
2020 ::derive_builder::Builder,
2021 ::validator::Validate,
2022)]
2023pub struct ECommerceData1 {
2024 #[validate]
2025 #[serde(rename = "Tp")]
2026 pub tp: Max35Text,
2027 #[validate]
2028 #[serde(rename = "Val")]
2029 pub val: Max2048Text,
2030}
2031#[derive(
2032 Debug,
2033 Default,
2034 Clone,
2035 PartialEq,
2036 ::serde::Serialize,
2037 ::serde::Deserialize,
2038 ::derive_builder::Builder,
2039 ::validator::Validate,
2040)]
2041pub struct OriginalTransactionAmount2 {
2042 #[serde(rename = "AmtQlfr", skip_serializing_if = "Option::is_none")]
2043 pub amt_qlfr: Option<TypeOfAmount22Code>,
2044 #[validate]
2045 #[serde(rename = "TxAmt")]
2046 pub tx_amt: TransactionAmount1,
2047 #[serde(rename = "CrdhldrBllgAmt", skip_serializing_if = "Option::is_none")]
2048 pub crdhldr_bllg_amt: Option<Amount15>,
2049 #[serde(rename = "RcncltnAmt", skip_serializing_if = "Option::is_none")]
2050 pub rcncltn_amt: Option<Amount15>,
2051}
2052#[derive(
2053 Debug,
2054 Default,
2055 Clone,
2056 PartialEq,
2057 ::serde::Serialize,
2058 ::serde::Deserialize,
2059 ::derive_builder::Builder,
2060 ::validator::Validate,
2061)]
2062pub struct AdditionalCharacteristics1 {
2063 #[serde(rename = "BizTp", skip_serializing_if = "Option::is_none")]
2064 pub biz_tp: Option<AdditionalCharacteristicDetails1>,
2065 #[serde(rename = "Ownr", skip_serializing_if = "Option::is_none")]
2066 pub ownr: Option<AdditionalCharacteristicDetails1>,
2067 #[serde(rename = "Certfctn", skip_serializing_if = "Option::is_none")]
2068 pub certfctn: Option<AdditionalCharacteristicDetails1>,
2069 #[serde(rename = "OwnrEthncty", skip_serializing_if = "Option::is_none")]
2070 pub ownr_ethncty: Option<AdditionalCharacteristicDetails1>,
2071}
2072#[derive(
2073 Debug,
2074 Default,
2075 Clone,
2076 PartialEq,
2077 ::serde::Serialize,
2078 ::serde::Deserialize,
2079 ::derive_builder::Builder,
2080 ::validator::Validate,
2081)]
2082pub struct Header66 {
2083 #[serde(rename = "MsgFctn")]
2084 pub msg_fctn: MessageFunction29Code,
2085 #[validate]
2086 #[serde(rename = "PrtcolVrsn")]
2087 pub prtcol_vrsn: Max2048Text,
2088 #[serde(rename = "XchgId", skip_serializing_if = "Option::is_none")]
2089 pub xchg_id: Option<Max35Text>,
2090 #[serde(rename = "ReTrnsmssnCntr", skip_serializing_if = "Option::is_none")]
2091 pub re_trnsmssn_cntr: Option<Max3NumericText>,
2092 #[validate]
2093 #[serde(rename = "CreDtTm")]
2094 pub cre_dt_tm: IsoDateTime,
2095 #[serde(rename = "BtchMgmtInf", skip_serializing_if = "Option::is_none")]
2096 pub btch_mgmt_inf: Option<BatchManagementInformation1>,
2097 #[validate]
2098 #[serde(rename = "InitgPty")]
2099 pub initg_pty: GenericIdentification183,
2100 #[serde(rename = "RcptPty", skip_serializing_if = "Option::is_none")]
2101 pub rcpt_pty: Option<GenericIdentification183>,
2102 #[validate(length(min = 0,))]
2103 #[serde(rename = "TracData", default)]
2104 pub trac_data: Vec<AdditionalData1>,
2105 #[validate(length(min = 0,))]
2106 #[serde(rename = "Tracblt", default)]
2107 pub tracblt: Vec<Traceability9>,
2108}
2109#[derive(
2110 Debug,
2111 Default,
2112 Clone,
2113 PartialEq,
2114 ::serde::Serialize,
2115 ::serde::Deserialize,
2116 ::derive_builder::Builder,
2117 ::validator::Validate,
2118)]
2119pub struct AncillaryPurchase2 {
2120 #[serde(rename = "AncllryDocNb", skip_serializing_if = "Option::is_none")]
2121 pub ancllry_doc_nb: Option<Max15Text>,
2122 #[serde(rename = "RltdDocNb", skip_serializing_if = "Option::is_none")]
2123 pub rltd_doc_nb: Option<Max15Text>,
2124 #[serde(rename = "SvcCtgyCd", skip_serializing_if = "Option::is_none")]
2125 pub svc_ctgy_cd: Option<Max4Text>,
2126 #[serde(rename = "SvcSubCtgyCd", skip_serializing_if = "Option::is_none")]
2127 pub svc_sub_ctgy_cd: Option<Max4Text>,
2128 #[serde(rename = "SvcPrvdrSvcTp", skip_serializing_if = "Option::is_none")]
2129 pub svc_prvdr_svc_tp: Option<Max35Text>,
2130 #[serde(rename = "CdtRsnCd", skip_serializing_if = "Option::is_none")]
2131 pub cdt_rsn_cd: Option<Max35Text>,
2132 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
2133 pub summry_cmmdty_id: Option<Max35Text>,
2134 #[serde(rename = "Amt", skip_serializing_if = "Option::is_none")]
2135 pub amt: Option<Amount16>,
2136 #[serde(rename = "Fee", skip_serializing_if = "Option::is_none")]
2137 pub fee: Option<ImpliedCurrencyAndAmount>,
2138 #[validate(length(min = 0,))]
2139 #[serde(rename = "Tax", default)]
2140 pub tax: Vec<Tax39>,
2141 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
2142 pub addtl_data: Option<Max350Text>,
2143}
2144#[derive(
2145 Debug,
2146 Default,
2147 Clone,
2148 PartialEq,
2149 ::serde::Serialize,
2150 ::serde::Deserialize,
2151 ::derive_builder::Builder,
2152 ::validator::Validate,
2153)]
2154pub struct Max16HexBinaryText {
2155 #[validate(regex = "MAX_16_HEX_BINARY_TEXT_REGEX")]
2156 #[serde(rename = "$text")]
2157 pub value: String,
2158}
2159#[derive(
2160 Debug,
2161 Default,
2162 Clone,
2163 PartialEq,
2164 ::serde::Serialize,
2165 ::serde::Deserialize,
2166 ::derive_builder::Builder,
2167 ::validator::Validate,
2168)]
2169pub struct Max23NumericText {
2170 #[validate(regex = "MAX_23_NUMERIC_TEXT_REGEX")]
2171 #[serde(rename = "$text")]
2172 pub value: String,
2173}
2174#[derive(
2175 Debug,
2176 Default,
2177 Clone,
2178 PartialEq,
2179 ::serde::Serialize,
2180 ::serde::Deserialize,
2181 ::derive_builder::Builder,
2182 ::validator::Validate,
2183)]
2184pub struct Max5000Binary {
2185 #[validate(length(min = 1, max = 5000,), regex = "MAX_5000_BINARY_REGEX")]
2186 pub value: String,
2187}
2188#[derive(
2189 Debug,
2190 Default,
2191 Clone,
2192 PartialEq,
2193 ::serde::Serialize,
2194 ::serde::Deserialize,
2195 ::derive_builder::Builder,
2196 ::validator::Validate,
2197)]
2198pub struct PercentageRate {
2199 #[serde(rename = "$text")]
2200 pub value: f64,
2201}
2202#[derive(
2203 Debug,
2204 Default,
2205 Clone,
2206 PartialEq,
2207 ::serde::Serialize,
2208 ::serde::Deserialize,
2209 ::derive_builder::Builder,
2210 ::validator::Validate,
2211)]
2212pub struct SaleContext8 {
2213 #[serde(rename = "SaleId", skip_serializing_if = "Option::is_none")]
2214 pub sale_id: Option<Max35Text>,
2215 #[serde(rename = "SaleRefId", skip_serializing_if = "Option::is_none")]
2216 pub sale_ref_id: Option<Max35Text>,
2217 #[serde(rename = "SaleRefNb", skip_serializing_if = "Option::is_none")]
2218 pub sale_ref_nb: Option<Max35Text>,
2219 #[serde(rename = "GoodsAndSvcsTp", skip_serializing_if = "Option::is_none")]
2220 pub goods_and_svcs_tp: Option<GoodsAndServices1Code>,
2221 #[serde(rename = "GoodAndSvcsSubTp", skip_serializing_if = "Option::is_none")]
2222 pub good_and_svcs_sub_tp: Option<GoodsAndServicesSubType1Code>,
2223 #[serde(
2224 rename = "GoodAndSvcsOthrSubTp",
2225 skip_serializing_if = "Option::is_none"
2226 )]
2227 pub good_and_svcs_othr_sub_tp: Option<Max35Text>,
2228 #[serde(
2229 rename = "GoodAndSvcDlvryChanl",
2230 skip_serializing_if = "Option::is_none"
2231 )]
2232 pub good_and_svc_dlvry_chanl: Option<GoodAndServiceDeliveryChannel1Code>,
2233 #[serde(
2234 rename = "OthrGoodAndSvcDlvryChanl",
2235 skip_serializing_if = "Option::is_none"
2236 )]
2237 pub othr_good_and_svc_dlvry_chanl: Option<Max35Text>,
2238 #[serde(
2239 rename = "GoodAndSvcDlvrySchdl",
2240 skip_serializing_if = "Option::is_none"
2241 )]
2242 pub good_and_svc_dlvry_schdl: Option<GoodAndServiceDeliverySchedule1Code>,
2243 #[serde(
2244 rename = "OthrGoodAndSvcDlvrySchdl",
2245 skip_serializing_if = "Option::is_none"
2246 )]
2247 pub othr_good_and_svc_dlvry_schdl: Option<Max35Text>,
2248 #[serde(rename = "SpltPmtInd", skip_serializing_if = "Option::is_none")]
2249 pub splt_pmt_ind: Option<TrueFalseIndicator>,
2250 #[serde(rename = "RctReqInd", skip_serializing_if = "Option::is_none")]
2251 pub rct_req_ind: Option<TrueFalseIndicator>,
2252 #[validate(length(min = 0,))]
2253 #[serde(rename = "RctTp", default)]
2254 pub rct_tp: Vec<ReceiptType1Code>,
2255 #[serde(rename = "RctDstn", skip_serializing_if = "Option::is_none")]
2256 pub rct_dstn: Option<Max70Text>,
2257 #[validate(length(min = 0,))]
2258 #[serde(rename = "AddtlData", default)]
2259 pub addtl_data: Vec<AdditionalData1>,
2260}
2261#[derive(
2262 Debug,
2263 Default,
2264 Clone,
2265 PartialEq,
2266 ::serde::Serialize,
2267 ::serde::Deserialize,
2268 ::derive_builder::Builder,
2269 ::validator::Validate,
2270)]
2271pub struct ServiceStartEnd2 {
2272 #[serde(rename = "Lctn", skip_serializing_if = "Option::is_none")]
2273 pub lctn: Option<Max35Text>,
2274 #[serde(rename = "LctnCd", skip_serializing_if = "Option::is_none")]
2275 pub lctn_cd: Option<Max35Text>,
2276 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
2277 pub adr: Option<Address2>,
2278 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
2279 pub ctct: Option<Contact2>,
2280 #[serde(rename = "DtAndTm", skip_serializing_if = "Option::is_none")]
2281 pub dt_and_tm: Option<IsoDateTime>,
2282 #[serde(rename = "TmSgmt", skip_serializing_if = "Option::is_none")]
2283 pub tm_sgmt: Option<TimeSegment1Code>,
2284 #[serde(rename = "JrnyInf", skip_serializing_if = "Option::is_none")]
2285 pub jrny_inf: Option<JourneyInformation1>,
2286}
2287#[derive(
2288 Debug,
2289 Default,
2290 Clone,
2291 PartialEq,
2292 ::serde::Serialize,
2293 ::serde::Deserialize,
2294 ::derive_builder::Builder,
2295 ::validator::Validate,
2296)]
2297pub struct Max15Text {
2298 #[validate(length(min = 1, max = 15,))]
2299 #[serde(rename = "$text")]
2300 pub value: String,
2301}
2302#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2303pub enum MessageFunction29Code {
2304 #[serde(rename = "ADVC")]
2305 Advc,
2306 #[serde(rename = "NOTI")]
2307 Noti,
2308 #[default]
2309 Unknown,
2310}
2311#[derive(
2312 Debug,
2313 Default,
2314 Clone,
2315 PartialEq,
2316 ::serde::Serialize,
2317 ::serde::Deserialize,
2318 ::derive_builder::Builder,
2319 ::validator::Validate,
2320)]
2321pub struct AlgorithmIdentification24 {
2322 #[serde(rename = "Algo")]
2323 pub algo: Algorithm18Code,
2324 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
2325 pub param: Option<Parameter12>,
2326}
2327#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2328pub enum TransportType1Code {
2329 #[serde(rename = "AIRR")]
2330 Airr,
2331 #[serde(rename = "BUSS")]
2332 Buss,
2333 #[serde(rename = "OTHN")]
2334 Othn,
2335 #[serde(rename = "OTHP")]
2336 Othp,
2337 #[serde(rename = "RAIL")]
2338 Rail,
2339 #[serde(rename = "SHIP")]
2340 Ship,
2341 #[default]
2342 Unknown,
2343}
2344#[derive(
2345 Debug,
2346 Default,
2347 Clone,
2348 PartialEq,
2349 ::serde::Serialize,
2350 ::serde::Deserialize,
2351 ::derive_builder::Builder,
2352 ::validator::Validate,
2353)]
2354pub struct Context18 {
2355 #[serde(rename = "PtOfSvcCntxt", skip_serializing_if = "Option::is_none")]
2356 pub pt_of_svc_cntxt: Option<PointOfServiceContext3>,
2357 #[serde(rename = "TxCntxt", skip_serializing_if = "Option::is_none")]
2358 pub tx_cntxt: Option<TransactionContext7>,
2359 #[validate(length(min = 0,))]
2360 #[serde(rename = "Vrfctn", default)]
2361 pub vrfctn: Vec<Verification5>,
2362 #[validate(length(min = 0,))]
2363 #[serde(rename = "RskCntxt", default)]
2364 pub rsk_cntxt: Vec<RiskContext2>,
2365 #[serde(rename = "SaleCntxt", skip_serializing_if = "Option::is_none")]
2366 pub sale_cntxt: Option<SaleContext8>,
2367 #[validate(length(min = 0,))]
2368 #[serde(rename = "AddtlData", default)]
2369 pub addtl_data: Vec<AdditionalData2>,
2370}
2371#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2372pub enum ReceiptType1Code {
2373 #[serde(rename = "EMAL")]
2374 Emal,
2375 #[serde(rename = "OTHR")]
2376 Othr,
2377 #[serde(rename = "PAPR")]
2378 Papr,
2379 #[serde(rename = "SMSM")]
2380 Smsm,
2381 #[serde(rename = "URID")]
2382 Urid,
2383 #[default]
2384 Unknown,
2385}
2386#[derive(
2387 Debug,
2388 Default,
2389 Clone,
2390 PartialEq,
2391 ::serde::Serialize,
2392 ::serde::Deserialize,
2393 ::derive_builder::Builder,
2394 ::validator::Validate,
2395)]
2396pub struct Destination3 {
2397 #[serde(rename = "NmAndLctn", skip_serializing_if = "Option::is_none")]
2398 pub nm_and_lctn: Option<Max99Text>,
2399 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
2400 pub adr: Option<Address2>,
2401}
2402#[derive(
2403 Debug,
2404 Default,
2405 Clone,
2406 PartialEq,
2407 ::serde::Serialize,
2408 ::serde::Deserialize,
2409 ::derive_builder::Builder,
2410 ::validator::Validate,
2411)]
2412pub struct Environment34 {
2413 #[serde(rename = "Acqrr", skip_serializing_if = "Option::is_none")]
2414 pub acqrr: Option<PartyIdentification263>,
2415 #[serde(rename = "Orgtr", skip_serializing_if = "Option::is_none")]
2416 pub orgtr: Option<PartyIdentification263>,
2417 #[serde(rename = "Sndr", skip_serializing_if = "Option::is_none")]
2418 pub sndr: Option<PartyIdentification263>,
2419 #[serde(rename = "Rcvr", skip_serializing_if = "Option::is_none")]
2420 pub rcvr: Option<PartyIdentification263>,
2421 #[serde(rename = "Accptr", skip_serializing_if = "Option::is_none")]
2422 pub accptr: Option<PartyIdentification255>,
2423 #[serde(rename = "Dstn", skip_serializing_if = "Option::is_none")]
2424 pub dstn: Option<PartyIdentification263>,
2425 #[serde(rename = "Pyer", skip_serializing_if = "Option::is_none")]
2426 pub pyer: Option<PartyIdentification257>,
2427 #[serde(rename = "Pyee", skip_serializing_if = "Option::is_none")]
2428 pub pyee: Option<PartyIdentification257>,
2429 #[serde(rename = "Termnl", skip_serializing_if = "Option::is_none")]
2430 pub termnl: Option<Terminal4>,
2431 #[serde(rename = "Issr", skip_serializing_if = "Option::is_none")]
2432 pub issr: Option<PartyIdentification263>,
2433 #[serde(rename = "Card", skip_serializing_if = "Option::is_none")]
2434 pub card: Option<CardData6>,
2435 #[serde(rename = "CstmrDvc", skip_serializing_if = "Option::is_none")]
2436 pub cstmr_dvc: Option<CustomerDevice4>,
2437 #[serde(rename = "Wllt", skip_serializing_if = "Option::is_none")]
2438 pub wllt: Option<Wallet2>,
2439 #[serde(rename = "Tkn", skip_serializing_if = "Option::is_none")]
2440 pub tkn: Option<Token2>,
2441 #[serde(rename = "Crdhldr", skip_serializing_if = "Option::is_none")]
2442 pub crdhldr: Option<Cardholder19>,
2443 #[validate(length(min = 0,))]
2444 #[serde(rename = "AddtlData", default)]
2445 pub addtl_data: Vec<AdditionalData2>,
2446}
2447#[derive(
2448 Debug,
2449 Default,
2450 Clone,
2451 PartialEq,
2452 ::serde::Serialize,
2453 ::serde::Deserialize,
2454 ::derive_builder::Builder,
2455 ::validator::Validate,
2456)]
2457pub struct GenericIdentification48 {
2458 #[validate]
2459 #[serde(rename = "Id")]
2460 pub id: Max35Text,
2461 #[validate]
2462 #[serde(rename = "Vrsn")]
2463 pub vrsn: Max35Text,
2464 #[validate]
2465 #[serde(rename = "Issr")]
2466 pub issr: Max35Text,
2467}
2468#[derive(
2469 Debug,
2470 Default,
2471 Clone,
2472 PartialEq,
2473 ::serde::Serialize,
2474 ::serde::Deserialize,
2475 ::derive_builder::Builder,
2476 ::validator::Validate,
2477)]
2478pub struct LocalData3 {
2479 #[serde(rename = "Lang")]
2480 pub lang: IsoMax3ALanguageCode,
2481 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
2482 pub nm: Option<CardholderName2>,
2483 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
2484 pub adr: Option<Address3>,
2485 #[validate(length(min = 0,))]
2486 #[serde(rename = "AddtlData", default)]
2487 pub addtl_data: Vec<AdditionalData1>,
2488}
2489#[derive(
2490 Debug,
2491 Default,
2492 Clone,
2493 PartialEq,
2494 ::serde::Serialize,
2495 ::serde::Deserialize,
2496 ::derive_builder::Builder,
2497 ::validator::Validate,
2498)]
2499pub struct AdditionalInformation19 {
2500 #[serde(rename = "NtrdDataNmrc", skip_serializing_if = "Option::is_none")]
2501 pub ntrd_data_nmrc: Option<Max35NumericText>,
2502 #[serde(rename = "NtrdDataAlphaNmrc", skip_serializing_if = "Option::is_none")]
2503 pub ntrd_data_alpha_nmrc: Option<Max350Text>,
2504 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
2505 pub addtl_data: Option<Max350Text>,
2506}
2507#[derive(
2508 Debug,
2509 Default,
2510 Clone,
2511 PartialEq,
2512 ::serde::Serialize,
2513 ::serde::Deserialize,
2514 ::derive_builder::Builder,
2515 ::validator::Validate,
2516)]
2517pub struct LocalData9 {
2518 #[serde(rename = "Lang")]
2519 pub lang: IsoMax3ALanguageCode,
2520 #[validate]
2521 #[serde(rename = "TxtMsg")]
2522 pub txt_msg: Max40KText,
2523}
2524#[derive(
2525 Debug,
2526 Default,
2527 Clone,
2528 PartialEq,
2529 ::serde::Serialize,
2530 ::serde::Deserialize,
2531 ::derive_builder::Builder,
2532 ::validator::Validate,
2533)]
2534pub struct Amount16 {
2535 #[validate]
2536 #[serde(rename = "Amt")]
2537 pub amt: ImpliedCurrencyAndAmount,
2538 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
2539 pub cdt_dbt: Option<CreditDebit3Code>,
2540}
2541#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2542pub enum InterestRate1Code {
2543 #[serde(rename = "GSRT")]
2544 Gsrt,
2545 #[serde(rename = "NTRT")]
2546 Ntrt,
2547 #[serde(rename = "OTHN")]
2548 Othn,
2549 #[serde(rename = "OTHP")]
2550 Othp,
2551 #[default]
2552 Unknown,
2553}
2554#[derive(
2555 Debug,
2556 Default,
2557 Clone,
2558 PartialEq,
2559 ::serde::Serialize,
2560 ::serde::Deserialize,
2561 ::derive_builder::Builder,
2562 ::validator::Validate,
2563)]
2564pub struct TelecomCallDetails2 {
2565 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
2566 pub tp: Option<TelephonyCallType1Code>,
2567 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
2568 pub othr_tp: Option<Max70Text>,
2569 #[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
2570 pub phne_nb: Option<PhoneNumber>,
2571 #[serde(rename = "City", skip_serializing_if = "Option::is_none")]
2572 pub city: Option<Max35Text>,
2573 #[serde(rename = "Stat", skip_serializing_if = "Option::is_none")]
2574 pub stat: Option<Max16Text>,
2575 #[serde(rename = "Prvc", skip_serializing_if = "Option::is_none")]
2576 pub prvc: Option<Max35Text>,
2577 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
2578 pub ctry: Option<IsoMax3ACountryCode>,
2579}
2580#[derive(
2581 Debug,
2582 Default,
2583 Clone,
2584 PartialEq,
2585 ::serde::Serialize,
2586 ::serde::Deserialize,
2587 ::derive_builder::Builder,
2588 ::validator::Validate,
2589)]
2590pub struct TemporaryServicesCompany2 {
2591 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
2592 pub nm: Option<Max70Text>,
2593 #[serde(rename = "Dept", skip_serializing_if = "Option::is_none")]
2594 pub dept: Option<Max70Text>,
2595 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
2596 pub id: Option<PartyIdentification258>,
2597 #[serde(rename = "Sprvsr", skip_serializing_if = "Option::is_none")]
2598 pub sprvsr: Option<Max70Text>,
2599}
2600#[derive(
2601 Debug,
2602 Default,
2603 Clone,
2604 PartialEq,
2605 ::serde::Serialize,
2606 ::serde::Deserialize,
2607 ::derive_builder::Builder,
2608 ::validator::Validate,
2609)]
2610pub struct UnitOfMeasure2 {
2611 #[serde(rename = "UnitOfMeasr", skip_serializing_if = "Option::is_none")]
2612 pub unit_of_measr: Option<UnitOfMeasure1Code>,
2613 #[serde(rename = "OthrUnitOfMeasr", skip_serializing_if = "Option::is_none")]
2614 pub othr_unit_of_measr: Option<Max35Text>,
2615 #[serde(rename = "NbOfUnits", skip_serializing_if = "Option::is_none")]
2616 pub nb_of_units: Option<DecimalNumber>,
2617}
2618#[derive(
2619 Debug,
2620 Default,
2621 Clone,
2622 PartialEq,
2623 ::serde::Serialize,
2624 ::serde::Deserialize,
2625 ::derive_builder::Builder,
2626 ::validator::Validate,
2627)]
2628pub struct TransactionAmount1 {
2629 #[validate]
2630 #[serde(rename = "Amt")]
2631 pub amt: ImpliedCurrencyAndAmount,
2632 #[serde(rename = "Ccy")]
2633 pub ccy: Iso3NumericCurrencyCode,
2634}
2635#[derive(
2636 Debug,
2637 Default,
2638 Clone,
2639 PartialEq,
2640 ::serde::Serialize,
2641 ::serde::Deserialize,
2642 ::derive_builder::Builder,
2643 ::validator::Validate,
2644)]
2645pub struct SaleSummary1 {
2646 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
2647 pub summry_cmmdty_id: Option<Max35Text>,
2648 #[serde(rename = "LltyPrgrmm", skip_serializing_if = "Option::is_none")]
2649 pub llty_prgrmm: Option<LoyaltyProgramme2>,
2650 #[validate(length(min = 0,))]
2651 #[serde(rename = "Adjstmnt", default)]
2652 pub adjstmnt: Vec<Adjustment9>,
2653}
2654#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2655pub enum EncryptedDataFormat1Code {
2656 #[serde(rename = "ASCI")]
2657 Asci,
2658 #[serde(rename = "BINF")]
2659 Binf,
2660 #[serde(rename = "EBCD")]
2661 Ebcd,
2662 #[serde(rename = "HEXF")]
2663 Hexf,
2664 #[serde(rename = "OTHN")]
2665 Othn,
2666 #[serde(rename = "OTHP")]
2667 Othp,
2668 #[default]
2669 Unknown,
2670}
2671#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
2672pub enum QrCodePresentmentMode1Code {
2673 #[serde(rename = "CPMD")]
2674 Cpmd,
2675 #[serde(rename = "OTHN")]
2676 Othn,
2677 #[serde(rename = "OTHP")]
2678 Othp,
2679 #[serde(rename = "MPMD")]
2680 Mpmd,
2681 #[default]
2682 Unknown,
2683}
2684#[derive(
2685 Debug,
2686 Default,
2687 Clone,
2688 PartialEq,
2689 ::serde::Serialize,
2690 ::serde::Deserialize,
2691 ::derive_builder::Builder,
2692 ::validator::Validate,
2693)]
2694pub struct CardData6 {
2695 #[serde(rename = "PAN", skip_serializing_if = "Option::is_none")]
2696 pub pan: Option<Max19NumericText>,
2697 #[serde(rename = "PrtctdPANInd", skip_serializing_if = "Option::is_none")]
2698 pub prtctd_pan_ind: Option<TrueFalseIndicator>,
2699 #[serde(rename = "CardSeqNb", skip_serializing_if = "Option::is_none")]
2700 pub card_seq_nb: Option<Min2Max3NumericText>,
2701 #[serde(rename = "FctvDt", skip_serializing_if = "Option::is_none")]
2702 pub fctv_dt: Option<IsoYearMonth>,
2703 #[serde(rename = "XpryDt", skip_serializing_if = "Option::is_none")]
2704 pub xpry_dt: Option<IsoYearMonth>,
2705 #[serde(rename = "SvcCd", skip_serializing_if = "Option::is_none")]
2706 pub svc_cd: Option<Exact3NumericText>,
2707 #[serde(rename = "Trck1", skip_serializing_if = "Option::is_none")]
2708 pub trck_1: Option<Max76Text>,
2709 #[serde(rename = "Trck2", skip_serializing_if = "Option::is_none")]
2710 pub trck_2: Option<Track2Data1Choice>,
2711 #[serde(rename = "Trck3", skip_serializing_if = "Option::is_none")]
2712 pub trck_3: Option<Max104Text>,
2713 #[serde(rename = "PmtAcctRef", skip_serializing_if = "Option::is_none")]
2714 pub pmt_acct_ref: Option<Max35Text>,
2715 #[serde(rename = "PANAcctRg", skip_serializing_if = "Option::is_none")]
2716 pub pan_acct_rg: Option<Max19NumericText>,
2717 #[serde(rename = "CardCtryCd", skip_serializing_if = "Option::is_none")]
2718 pub card_ctry_cd: Option<Iso3NumericCountryCode>,
2719 #[serde(rename = "CardPdctTp", skip_serializing_if = "Option::is_none")]
2720 pub card_pdct_tp: Option<Max35Text>,
2721 #[serde(rename = "CardPdctSubTp", skip_serializing_if = "Option::is_none")]
2722 pub card_pdct_sub_tp: Option<Max35Text>,
2723 #[serde(rename = "CardPrtflIdr", skip_serializing_if = "Option::is_none")]
2724 pub card_prtfl_idr: Option<Max35Text>,
2725 #[validate(length(min = 0,))]
2726 #[serde(rename = "AddtlCardData", default)]
2727 pub addtl_card_data: Vec<AdditionalData1>,
2728}
2729#[derive(
2730 Debug,
2731 Default,
2732 Clone,
2733 PartialEq,
2734 ::serde::Serialize,
2735 ::serde::Deserialize,
2736 ::derive_builder::Builder,
2737 ::validator::Validate,
2738)]
2739pub struct AlgorithmIdentification23 {
2740 #[serde(rename = "Algo")]
2741 pub algo: Algorithm18Code,
2742 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
2743 pub param: Option<Parameter12>,
2744}
2745#[derive(
2746 Debug,
2747 Default,
2748 Clone,
2749 PartialEq,
2750 ::serde::Serialize,
2751 ::serde::Deserialize,
2752 ::derive_builder::Builder,
2753 ::validator::Validate,
2754)]
2755pub struct ShippingPackage2 {
2756 #[serde(rename = "TrckgNb", skip_serializing_if = "Option::is_none")]
2757 pub trckg_nb: Option<Max70Text>,
2758 #[serde(rename = "Spplr", skip_serializing_if = "Option::is_none")]
2759 pub spplr: Option<PartyIdentification260>,
2760 #[serde(rename = "PckpDt", skip_serializing_if = "Option::is_none")]
2761 pub pckp_dt: Option<IsoDate>,
2762 #[serde(rename = "PckpTm", skip_serializing_if = "Option::is_none")]
2763 pub pckp_tm: Option<IsoTime>,
2764 #[serde(rename = "Dlvry", skip_serializing_if = "Option::is_none")]
2765 pub dlvry: Option<DeliveryInformation4>,
2766 #[serde(rename = "Wght", skip_serializing_if = "Option::is_none")]
2767 pub wght: Option<UnitOfMeasure2>,
2768 #[validate(length(min = 0,))]
2769 #[serde(rename = "Pdct", default)]
2770 pub pdct: Vec<Product7>,
2771 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
2772 pub insrnc_ind: Option<TrueFalseIndicator>,
2773 #[serde(rename = "InsrncAmt", skip_serializing_if = "Option::is_none")]
2774 pub insrnc_amt: Option<ImpliedCurrencyAndAmount>,
2775}
2776#[derive(
2777 Debug,
2778 Default,
2779 Clone,
2780 PartialEq,
2781 ::serde::Serialize,
2782 ::serde::Deserialize,
2783 ::derive_builder::Builder,
2784 ::validator::Validate,
2785)]
2786pub struct PartyIdentification259 {
2787 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
2788 pub nm: Option<Max70Text>,
2789 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
2790 pub id: Option<PartyIdentification258>,
2791 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
2792 pub adr: Option<Address2>,
2793 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
2794 pub ctct: Option<Contact3>,
2795 #[serde(rename = "TaxRegnId", skip_serializing_if = "Option::is_none")]
2796 pub tax_regn_id: Option<Max70Text>,
2797 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
2798 pub addtl_inf: Option<Max1000Text>,
2799}
2800#[derive(
2801 Debug,
2802 Default,
2803 Clone,
2804 PartialEq,
2805 ::serde::Serialize,
2806 ::serde::Deserialize,
2807 ::derive_builder::Builder,
2808 ::validator::Validate,
2809)]
2810pub struct Signer4 {
2811 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
2812 pub vrsn: Option<Number>,
2813 #[serde(rename = "SgnrId", skip_serializing_if = "Option::is_none")]
2814 pub sgnr_id: Option<Recipient5Choice>,
2815 #[validate]
2816 #[serde(rename = "DgstAlgo")]
2817 pub dgst_algo: AlgorithmIdentification21,
2818 #[validate(length(min = 0,))]
2819 #[serde(rename = "SgndAttrbts", default)]
2820 pub sgnd_attrbts: Vec<GenericInformation1>,
2821 #[validate]
2822 #[serde(rename = "SgntrAlgo")]
2823 pub sgntr_algo: AlgorithmIdentification20,
2824 #[validate]
2825 #[serde(rename = "Sgntr")]
2826 pub sgntr: Max3000Binary,
2827}
2828#[derive(
2829 Debug,
2830 Default,
2831 Clone,
2832 PartialEq,
2833 ::serde::Serialize,
2834 ::serde::Deserialize,
2835 ::derive_builder::Builder,
2836 ::validator::Validate,
2837)]
2838pub struct TransactionIdentification12 {
2839 #[validate]
2840 #[serde(rename = "SysTracAudtNb")]
2841 pub sys_trac_audt_nb: Max12NumericText,
2842 #[validate]
2843 #[serde(rename = "TrnsmssnDtTm")]
2844 pub trnsmssn_dt_tm: IsoDateTime,
2845 #[serde(rename = "RtrvlRefNb", skip_serializing_if = "Option::is_none")]
2846 pub rtrvl_ref_nb: Option<Exact12Text>,
2847 #[serde(rename = "LifeCyclTracIdData", skip_serializing_if = "Option::is_none")]
2848 pub life_cycl_trac_id_data: Option<TransactionLifeCycleIdentification2>,
2849}
2850#[derive(
2851 Debug,
2852 Default,
2853 Clone,
2854 PartialEq,
2855 ::serde::Serialize,
2856 ::serde::Deserialize,
2857 ::derive_builder::Builder,
2858 ::validator::Validate,
2859)]
2860pub struct FeeAmount3 {
2861 #[validate]
2862 #[serde(rename = "Amt")]
2863 pub amt: ImpliedCurrencyAndAmount,
2864 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
2865 pub cdt_dbt: Option<CreditDebit3Code>,
2866 #[serde(rename = "Ccy", skip_serializing_if = "Option::is_none")]
2867 pub ccy: Option<Iso3NumericCurrencyCode>,
2868 #[serde(rename = "FctvXchgRate", skip_serializing_if = "Option::is_none")]
2869 pub fctv_xchg_rate: Option<BaseOne25Rate>,
2870 #[serde(rename = "ConvsDt", skip_serializing_if = "Option::is_none")]
2871 pub convs_dt: Option<IsoDate>,
2872 #[serde(rename = "ConvsTm", skip_serializing_if = "Option::is_none")]
2873 pub convs_tm: Option<IsoTime>,
2874}
2875#[derive(
2876 Debug,
2877 Default,
2878 Clone,
2879 PartialEq,
2880 ::serde::Serialize,
2881 ::serde::Deserialize,
2882 ::derive_builder::Builder,
2883 ::validator::Validate,
2884)]
2885pub struct PointOfInteractionComponentIdentification3 {
2886 #[serde(rename = "ItmNb", skip_serializing_if = "Option::is_none")]
2887 pub itm_nb: Option<Max35Text>,
2888 #[serde(rename = "PrvdrId", skip_serializing_if = "Option::is_none")]
2889 pub prvdr_id: Option<Max35Text>,
2890 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
2891 pub id: Option<Max35Text>,
2892 #[serde(rename = "SrlNb", skip_serializing_if = "Option::is_none")]
2893 pub srl_nb: Option<Max70Text>,
2894}
2895#[derive(
2896 Debug,
2897 Default,
2898 Clone,
2899 PartialEq,
2900 ::serde::Serialize,
2901 ::serde::Deserialize,
2902 ::derive_builder::Builder,
2903 ::validator::Validate,
2904)]
2905pub struct Max500Text {
2906 #[validate(length(min = 1, max = 500,))]
2907 #[serde(rename = "$text")]
2908 pub value: String,
2909}
2910#[derive(
2911 Debug,
2912 Default,
2913 Clone,
2914 PartialEq,
2915 ::serde::Serialize,
2916 ::serde::Deserialize,
2917 ::derive_builder::Builder,
2918 ::validator::Validate,
2919)]
2920pub struct Vehicle5 {
2921 #[serde(rename = "VhclNb", skip_serializing_if = "Option::is_none")]
2922 pub vhcl_nb: Option<Max35NumericText>,
2923 #[serde(rename = "VhclIdNb", skip_serializing_if = "Option::is_none")]
2924 pub vhcl_id_nb: Option<Max35NumericText>,
2925 #[serde(rename = "FleetNb", skip_serializing_if = "Option::is_none")]
2926 pub fleet_nb: Option<Max10Text>,
2927 #[serde(rename = "SubFleetNb", skip_serializing_if = "Option::is_none")]
2928 pub sub_fleet_nb: Option<Max35Text>,
2929 #[serde(rename = "UnitNb", skip_serializing_if = "Option::is_none")]
2930 pub unit_nb: Option<Max35NumericText>,
2931 #[serde(rename = "TrlrNb", skip_serializing_if = "Option::is_none")]
2932 pub trlr_nb: Option<Max35NumericText>,
2933 #[serde(rename = "VhclTag", skip_serializing_if = "Option::is_none")]
2934 pub vhcl_tag: Option<Max35Text>,
2935 #[serde(rename = "VhclTagNtryMd", skip_serializing_if = "Option::is_none")]
2936 pub vhcl_tag_ntry_md: Option<CardDataReading5Code>,
2937 #[serde(rename = "RplcmntVhclInd", skip_serializing_if = "Option::is_none")]
2938 pub rplcmnt_vhcl_ind: Option<TrueFalseIndicator>,
2939 #[serde(rename = "Odmtr", skip_serializing_if = "Option::is_none")]
2940 pub odmtr: Option<DecimalNumber>,
2941 #[serde(rename = "Hbmtr", skip_serializing_if = "Option::is_none")]
2942 pub hbmtr: Option<DecimalNumber>,
2943 #[serde(rename = "MntncId", skip_serializing_if = "Option::is_none")]
2944 pub mntnc_id: Option<Max35Text>,
2945 #[serde(rename = "OnBrdDgnstcs", skip_serializing_if = "Option::is_none")]
2946 pub on_brd_dgnstcs: Option<OnBoardDiagnostics1>,
2947 #[validate(length(min = 0,))]
2948 #[serde(rename = "AddtlVhclData", default)]
2949 pub addtl_vhcl_data: Vec<Vehicle2>,
2950}
2951#[derive(
2952 Debug,
2953 Default,
2954 Clone,
2955 PartialEq,
2956 ::serde::Serialize,
2957 ::serde::Deserialize,
2958 ::derive_builder::Builder,
2959 ::validator::Validate,
2960)]
2961pub struct SaleItem3 {
2962 #[serde(rename = "PdctTp", skip_serializing_if = "Option::is_none")]
2963 pub pdct_tp: Option<Max35Text>,
2964 #[serde(rename = "PdctCd", skip_serializing_if = "Option::is_none")]
2965 pub pdct_cd: Option<Max70Text>,
2966 #[serde(rename = "PdctCdTp", skip_serializing_if = "Option::is_none")]
2967 pub pdct_cd_tp: Option<ProductCodeType1Code>,
2968 #[serde(rename = "AddtlPdctCd", skip_serializing_if = "Option::is_none")]
2969 pub addtl_pdct_cd: Option<Max70Text>,
2970 #[serde(rename = "AddtlPdctCdTp", skip_serializing_if = "Option::is_none")]
2971 pub addtl_pdct_cd_tp: Option<Max35Text>,
2972 #[serde(rename = "PdctCdModfr", skip_serializing_if = "Option::is_none")]
2973 pub pdct_cd_modfr: Option<DecimalNumber>,
2974 #[serde(rename = "PdctDesc", skip_serializing_if = "Option::is_none")]
2975 pub pdct_desc: Option<Max140Text>,
2976 #[serde(rename = "UnitOfMeasr", skip_serializing_if = "Option::is_none")]
2977 pub unit_of_measr: Option<UnitOfMeasure1Code>,
2978 #[serde(rename = "OthrUnitOfMeasr", skip_serializing_if = "Option::is_none")]
2979 pub othr_unit_of_measr: Option<Max35Text>,
2980 #[serde(rename = "PdctQty", skip_serializing_if = "Option::is_none")]
2981 pub pdct_qty: Option<DecimalNumber>,
2982 #[serde(rename = "NonAdjstdUnitPric", skip_serializing_if = "Option::is_none")]
2983 pub non_adjstd_unit_pric: Option<ImpliedCurrencyAndAmount>,
2984 #[serde(rename = "NonAdjstdTtlAmt", skip_serializing_if = "Option::is_none")]
2985 pub non_adjstd_ttl_amt: Option<ImpliedCurrencyAndAmount>,
2986 #[validate(length(min = 0,))]
2987 #[serde(rename = "Adjstmnt", default)]
2988 pub adjstmnt: Vec<Adjustment10>,
2989 #[serde(rename = "AdjstdAmt", skip_serializing_if = "Option::is_none")]
2990 pub adjstd_amt: Option<ImpliedCurrencyAndAmount>,
2991 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
2992 pub insrnc_ind: Option<TrueFalseIndicator>,
2993 #[serde(rename = "InsrncAmt", skip_serializing_if = "Option::is_none")]
2994 pub insrnc_amt: Option<ImpliedCurrencyAndAmount>,
2995 #[validate(length(min = 0,))]
2996 #[serde(rename = "Tax", default)]
2997 pub tax: Vec<Tax39>,
2998 #[serde(rename = "TtlAmt", skip_serializing_if = "Option::is_none")]
2999 pub ttl_amt: Option<ImpliedCurrencyAndAmount>,
3000}
3001#[derive(
3002 Debug,
3003 Default,
3004 Clone,
3005 PartialEq,
3006 ::serde::Serialize,
3007 ::serde::Deserialize,
3008 ::derive_builder::Builder,
3009 ::validator::Validate,
3010)]
3011pub struct Max500Binary {
3012 #[validate(length(min = 1, max = 500,), regex = "MAX_500_BINARY_REGEX")]
3013 pub value: String,
3014}
3015#[derive(
3016 Debug,
3017 Default,
3018 Clone,
3019 PartialEq,
3020 ::serde::Serialize,
3021 ::serde::Deserialize,
3022 ::derive_builder::Builder,
3023 ::validator::Validate,
3024)]
3025pub struct Sale2 {
3026 #[serde(rename = "Summry", skip_serializing_if = "Option::is_none")]
3027 pub summry: Option<SaleSummary1>,
3028 #[validate(length(min = 0,))]
3029 #[serde(rename = "LineItm", default)]
3030 pub line_itm: Vec<SaleItem3>,
3031}
3032#[derive(
3033 Debug,
3034 Default,
3035 Clone,
3036 PartialEq,
3037 ::serde::Serialize,
3038 ::serde::Deserialize,
3039 ::derive_builder::Builder,
3040 ::validator::Validate,
3041)]
3042pub struct Vehicle4 {
3043 #[serde(rename = "Clss", skip_serializing_if = "Option::is_none")]
3044 pub clss: Option<Max35Text>,
3045 #[serde(rename = "Make", skip_serializing_if = "Option::is_none")]
3046 pub make: Option<Max35NumericText>,
3047 #[serde(rename = "Mdl", skip_serializing_if = "Option::is_none")]
3048 pub mdl: Option<Max35NumericText>,
3049 #[serde(rename = "RegnNb", skip_serializing_if = "Option::is_none")]
3050 pub regn_nb: Option<Max35Text>,
3051}
3052#[derive(
3053 Debug,
3054 Default,
3055 Clone,
3056 PartialEq,
3057 ::serde::Serialize,
3058 ::serde::Deserialize,
3059 ::derive_builder::Builder,
3060 ::validator::Validate,
3061)]
3062pub struct VehicleRentalCustomer2 {
3063 #[validate]
3064 #[serde(rename = "RntrNm")]
3065 pub rntr_nm: Max70Text,
3066 #[serde(rename = "CorpNm", skip_serializing_if = "Option::is_none")]
3067 pub corp_nm: Option<Max70Text>,
3068 #[validate]
3069 #[serde(rename = "CorpIdr")]
3070 pub corp_idr: Max35Text,
3071 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
3072 pub assgnr: Option<CustomerAssigner1Code>,
3073 #[validate(length(min = 0,))]
3074 #[serde(rename = "PmryDrvr", default)]
3075 pub pmry_drvr: Vec<DriverInParty2>,
3076 #[validate(length(min = 0,))]
3077 #[serde(rename = "AddtlDrvr", default)]
3078 pub addtl_drvr: Vec<DriverInParty2>,
3079 #[serde(rename = "LltyPrgrmm", skip_serializing_if = "Option::is_none")]
3080 pub llty_prgrmm: Option<LoyaltyProgramme2>,
3081}
3082#[derive(
3083 Debug,
3084 Default,
3085 Clone,
3086 PartialEq,
3087 ::serde::Serialize,
3088 ::serde::Deserialize,
3089 ::derive_builder::Builder,
3090 ::validator::Validate,
3091)]
3092pub struct RiskContext2 {
3093 #[validate(length(min = 0,))]
3094 #[serde(rename = "RskInptData", default)]
3095 pub rsk_inpt_data: Vec<RiskInputData1>,
3096 #[validate(length(min = 0,))]
3097 #[serde(rename = "RskAssmnt", default)]
3098 pub rsk_assmnt: Vec<RiskAssessment2>,
3099}
3100#[derive(
3101 Debug,
3102 Default,
3103 Clone,
3104 PartialEq,
3105 ::serde::Serialize,
3106 ::serde::Deserialize,
3107 ::derive_builder::Builder,
3108 ::validator::Validate,
3109)]
3110pub struct AmountDetails2 {
3111 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
3112 pub tp: Option<TypeOfAmount20Code>,
3113 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
3114 pub othr_tp: Option<Max35Text>,
3115 #[validate]
3116 #[serde(rename = "Amt")]
3117 pub amt: ImpliedCurrencyAndAmount,
3118 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
3119 pub cdt_dbt: Option<CreditDebit3Code>,
3120 #[validate(length(min = 0,))]
3121 #[serde(rename = "Tax", default)]
3122 pub tax: Vec<Tax39>,
3123}
3124#[derive(
3125 Debug,
3126 Default,
3127 Clone,
3128 PartialEq,
3129 ::serde::Serialize,
3130 ::serde::Deserialize,
3131 ::derive_builder::Builder,
3132 ::validator::Validate,
3133)]
3134pub struct DisputeIdentification1 {
3135 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
3136 pub tp: Option<Max35Text>,
3137 #[validate]
3138 #[serde(rename = "Id")]
3139 pub id: Max70Text,
3140}
3141#[derive(
3142 Debug,
3143 Default,
3144 Clone,
3145 PartialEq,
3146 ::serde::Serialize,
3147 ::serde::Deserialize,
3148 ::derive_builder::Builder,
3149 ::validator::Validate,
3150)]
3151pub struct DepartureOrArrival2 {
3152 #[serde(rename = "CrrierCd", skip_serializing_if = "Option::is_none")]
3153 pub crrier_cd: Option<Max35Text>,
3154 #[serde(rename = "RouteNb", skip_serializing_if = "Option::is_none")]
3155 pub route_nb: Option<Max35NumericText>,
3156 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
3157 pub dt: Option<IsoDate>,
3158 #[serde(rename = "Tm", skip_serializing_if = "Option::is_none")]
3159 pub tm: Option<IsoTime>,
3160}
3161#[derive(
3162 Debug,
3163 Default,
3164 Clone,
3165 PartialEq,
3166 ::serde::Serialize,
3167 ::serde::Deserialize,
3168 ::derive_builder::Builder,
3169 ::validator::Validate,
3170)]
3171pub struct Max280Text {
3172 #[validate(length(min = 1, max = 280,))]
3173 #[serde(rename = "$text")]
3174 pub value: String,
3175}
3176#[derive(
3177 Debug,
3178 Default,
3179 Clone,
3180 PartialEq,
3181 ::serde::Serialize,
3182 ::serde::Deserialize,
3183 ::derive_builder::Builder,
3184 ::validator::Validate,
3185)]
3186pub struct ReservationDetails3 {
3187 #[serde(rename = "Sys", skip_serializing_if = "Option::is_none")]
3188 pub sys: Option<Max4Text>,
3189 #[serde(rename = "RsvatnNb", skip_serializing_if = "Option::is_none")]
3190 pub rsvatn_nb: Option<Max35Text>,
3191 #[serde(rename = "OrgnlSys", skip_serializing_if = "Option::is_none")]
3192 pub orgnl_sys: Option<Max4Text>,
3193 #[serde(rename = "OrgnlRsvatnNb", skip_serializing_if = "Option::is_none")]
3194 pub orgnl_rsvatn_nb: Option<Max35Text>,
3195}
3196#[derive(
3197 Debug,
3198 Default,
3199 Clone,
3200 PartialEq,
3201 ::serde::Serialize,
3202 ::serde::Deserialize,
3203 ::derive_builder::Builder,
3204 ::validator::Validate,
3205)]
3206pub struct Customer8 {
3207 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
3208 pub nm: Option<Max70Text>,
3209 #[validate]
3210 #[serde(rename = "Id")]
3211 pub id: PartyIdentification208,
3212 #[serde(rename = "CstmrFileRefNb", skip_serializing_if = "Option::is_none")]
3213 pub cstmr_file_ref_nb: Option<Max70Text>,
3214 #[serde(rename = "Age", skip_serializing_if = "Option::is_none")]
3215 pub age: Option<Max2NumericText>,
3216 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
3217 pub adr: Option<Address2>,
3218 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
3219 pub ctct: Option<Contact6>,
3220}
3221#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3222pub enum EncryptionFormat2Code {
3223 #[serde(rename = "TR31")]
3224 Tr31,
3225 #[serde(rename = "TR34")]
3226 Tr34,
3227 #[serde(rename = "I238")]
3228 I238,
3229 #[default]
3230 Unknown,
3231}
3232#[derive(
3233 Debug,
3234 Default,
3235 Clone,
3236 PartialEq,
3237 ::serde::Serialize,
3238 ::serde::Deserialize,
3239 ::derive_builder::Builder,
3240 ::validator::Validate,
3241)]
3242pub struct Plan2 {
3243 #[serde(rename = "PlanId", skip_serializing_if = "Option::is_none")]
3244 pub plan_id: Option<Max70Text>,
3245 #[serde(rename = "PlanOwnr", skip_serializing_if = "Option::is_none")]
3246 pub plan_ownr: Option<PlanOwner1Code>,
3247 #[serde(rename = "OthrPlanOwnr", skip_serializing_if = "Option::is_none")]
3248 pub othr_plan_ownr: Option<Max35Text>,
3249 #[serde(rename = "InstlmtPmtTp", skip_serializing_if = "Option::is_none")]
3250 pub instlmt_pmt_tp: Option<Max35Text>,
3251 #[serde(rename = "DfrrdInstlmtInd", skip_serializing_if = "Option::is_none")]
3252 pub dfrrd_instlmt_ind: Option<TrueFalseIndicator>,
3253 #[serde(rename = "PrdUnit", skip_serializing_if = "Option::is_none")]
3254 pub prd_unit: Option<Frequency18Code>,
3255 #[serde(rename = "NbOfPrds", skip_serializing_if = "Option::is_none")]
3256 pub nb_of_prds: Option<Number>,
3257 #[validate(length(min = 0,))]
3258 #[serde(rename = "IntrstRate", default)]
3259 pub intrst_rate: Vec<InterestRateDetails2>,
3260 #[serde(rename = "FrstPmtDt", skip_serializing_if = "Option::is_none")]
3261 pub frst_pmt_dt: Option<IsoDate>,
3262 #[serde(rename = "FrstAmt", skip_serializing_if = "Option::is_none")]
3263 pub frst_amt: Option<ImpliedCurrencyAndAmount>,
3264 #[serde(rename = "NrmlPmtAmt", skip_serializing_if = "Option::is_none")]
3265 pub nrml_pmt_amt: Option<ImpliedCurrencyAndAmount>,
3266 #[serde(rename = "TtlNbOfPmts", skip_serializing_if = "Option::is_none")]
3267 pub ttl_nb_of_pmts: Option<Number>,
3268 #[serde(rename = "InstlmtCcy", skip_serializing_if = "Option::is_none")]
3269 pub instlmt_ccy: Option<Iso3NumericCurrencyCode>,
3270 #[serde(rename = "GracePrd", skip_serializing_if = "Option::is_none")]
3271 pub grace_prd: Option<GracePeriod2>,
3272 #[validate(length(min = 0,))]
3273 #[serde(rename = "AmtDtls", default)]
3274 pub amt_dtls: Vec<InstalmentAmountDetails2>,
3275 #[serde(rename = "GrdTtlAmt", skip_serializing_if = "Option::is_none")]
3276 pub grd_ttl_amt: Option<ImpliedCurrencyAndAmount>,
3277 #[validate(length(min = 0,))]
3278 #[serde(rename = "AddtlData", default)]
3279 pub addtl_data: Vec<AdditionalData1>,
3280}
3281#[derive(
3282 Debug,
3283 Default,
3284 Clone,
3285 PartialEq,
3286 ::serde::Serialize,
3287 ::serde::Deserialize,
3288 ::derive_builder::Builder,
3289 ::validator::Validate,
3290)]
3291pub struct VehicleRentalInvoice2 {
3292 #[serde(rename = "NoShowInd", skip_serializing_if = "Option::is_none")]
3293 pub no_show_ind: Option<TrueFalseIndicator>,
3294 #[serde(rename = "AdjstdInd", skip_serializing_if = "Option::is_none")]
3295 pub adjstd_ind: Option<TrueFalseIndicator>,
3296 #[serde(rename = "RtrLctn", skip_serializing_if = "Option::is_none")]
3297 pub rtr_lctn: Option<Address2>,
3298 #[serde(rename = "ChckOutDt", skip_serializing_if = "Option::is_none")]
3299 pub chck_out_dt: Option<IsoDate>,
3300 #[serde(rename = "ChckOutTm", skip_serializing_if = "Option::is_none")]
3301 pub chck_out_tm: Option<IsoTime>,
3302 #[serde(rename = "ChckInDt", skip_serializing_if = "Option::is_none")]
3303 pub chck_in_dt: Option<IsoDate>,
3304 #[serde(rename = "ChckInTm", skip_serializing_if = "Option::is_none")]
3305 pub chck_in_tm: Option<IsoTime>,
3306 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
3307 pub drtn: Option<Max4NumericText>,
3308 #[serde(rename = "VhclClssInvcd", skip_serializing_if = "Option::is_none")]
3309 pub vhcl_clss_invcd: Option<Vehicle4>,
3310 #[serde(rename = "VhclClssPrvdd", skip_serializing_if = "Option::is_none")]
3311 pub vhcl_clss_prvdd: Option<Vehicle4>,
3312 #[serde(rename = "TrvlDstnc", skip_serializing_if = "Option::is_none")]
3313 pub trvl_dstnc: Option<Distance1>,
3314 #[validate(length(min = 0,))]
3315 #[serde(rename = "RntlChrg", default)]
3316 pub rntl_chrg: Vec<RentalRate1>,
3317 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
3318 pub summry_cmmdty_id: Option<Max35Text>,
3319 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
3320 pub insrnc_ind: Option<TrueFalseIndicator>,
3321 #[validate(length(min = 0,))]
3322 #[serde(rename = "AddtlAmt", default)]
3323 pub addtl_amt: Vec<Amount18>,
3324 #[validate(length(min = 0,))]
3325 #[serde(rename = "Tax", default)]
3326 pub tax: Vec<Tax39>,
3327}
3328#[derive(
3329 Debug,
3330 Default,
3331 Clone,
3332 PartialEq,
3333 ::serde::Serialize,
3334 ::serde::Deserialize,
3335 ::derive_builder::Builder,
3336 ::validator::Validate,
3337)]
3338pub struct LocalData1 {
3339 #[serde(rename = "Lang")]
3340 pub lang: IsoMax3ALanguageCode,
3341 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
3342 pub shrt_nm: Option<Max70Text>,
3343 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
3344 pub lgl_corp_nm: Option<Max210Text>,
3345 #[validate(length(min = 0,))]
3346 #[serde(rename = "AddtlData", default)]
3347 pub addtl_data: Vec<AdditionalData1>,
3348}
3349#[derive(
3350 Debug,
3351 Default,
3352 Clone,
3353 PartialEq,
3354 ::serde::Serialize,
3355 ::serde::Deserialize,
3356 ::derive_builder::Builder,
3357 ::validator::Validate,
3358)]
3359pub struct AlgorithmIdentification27 {
3360 #[serde(rename = "Algo")]
3361 pub algo: Algorithm7Code,
3362 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
3363 pub param: Option<Parameter13>,
3364}
3365#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3366pub enum UnitOfMeasure1Code {
3367 #[serde(rename = "PIEC")]
3368 Piec,
3369 #[serde(rename = "TONS")]
3370 Tons,
3371 #[serde(rename = "FOOT")]
3372 Foot,
3373 #[serde(rename = "GBGA")]
3374 Gbga,
3375 #[serde(rename = "USGA")]
3376 Usga,
3377 #[serde(rename = "GRAM")]
3378 Gram,
3379 #[serde(rename = "INCH")]
3380 Inch,
3381 #[serde(rename = "KILO")]
3382 Kilo,
3383 #[serde(rename = "PUND")]
3384 Pund,
3385 #[serde(rename = "METR")]
3386 Metr,
3387 #[serde(rename = "CMET")]
3388 Cmet,
3389 #[serde(rename = "MMET")]
3390 Mmet,
3391 #[serde(rename = "LITR")]
3392 Litr,
3393 #[serde(rename = "CELI")]
3394 Celi,
3395 #[serde(rename = "MILI")]
3396 Mili,
3397 #[serde(rename = "GBOU")]
3398 Gbou,
3399 #[serde(rename = "USOU")]
3400 Usou,
3401 #[serde(rename = "GBQA")]
3402 Gbqa,
3403 #[serde(rename = "USQA")]
3404 Usqa,
3405 #[serde(rename = "GBPI")]
3406 Gbpi,
3407 #[serde(rename = "USPI")]
3408 Uspi,
3409 #[serde(rename = "MILE")]
3410 Mile,
3411 #[serde(rename = "KMET")]
3412 Kmet,
3413 #[serde(rename = "YARD")]
3414 Yard,
3415 #[serde(rename = "SQKI")]
3416 Sqki,
3417 #[serde(rename = "HECT")]
3418 Hect,
3419 #[serde(rename = "ARES")]
3420 Ares,
3421 #[serde(rename = "SMET")]
3422 Smet,
3423 #[serde(rename = "SCMT")]
3424 Scmt,
3425 #[serde(rename = "SMIL")]
3426 Smil,
3427 #[serde(rename = "SQMI")]
3428 Sqmi,
3429 #[serde(rename = "SQYA")]
3430 Sqya,
3431 #[serde(rename = "SQFO")]
3432 Sqfo,
3433 #[serde(rename = "SQIN")]
3434 Sqin,
3435 #[serde(rename = "ACRE")]
3436 Acre,
3437 #[default]
3438 Unknown,
3439}
3440#[derive(
3441 Debug,
3442 Default,
3443 Clone,
3444 PartialEq,
3445 ::serde::Serialize,
3446 ::serde::Deserialize,
3447 ::derive_builder::Builder,
3448 ::validator::Validate,
3449)]
3450pub struct SignedData5 {
3451 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
3452 pub vrsn: Option<Number>,
3453 #[validate(length(min = 0,))]
3454 #[serde(rename = "DgstAlgo", default)]
3455 pub dgst_algo: Vec<AlgorithmIdentification21>,
3456 #[serde(rename = "NcpsltdCntt", skip_serializing_if = "Option::is_none")]
3457 pub ncpsltd_cntt: Option<EncapsulatedContent3>,
3458 #[validate(length(min = 0,))]
3459 #[serde(rename = "Cert", default)]
3460 pub cert: Vec<Max5000Binary>,
3461 #[validate(length(min = 0,))]
3462 #[serde(rename = "Sgnr", default)]
3463 pub sgnr: Vec<Signer4>,
3464}
3465#[derive(
3466 Debug,
3467 Default,
3468 Clone,
3469 PartialEq,
3470 ::serde::Serialize,
3471 ::serde::Deserialize,
3472 ::derive_builder::Builder,
3473 ::validator::Validate,
3474)]
3475pub struct AlgorithmIdentification28 {
3476 #[serde(rename = "Algo")]
3477 pub algo: Algorithm13Code,
3478 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
3479 pub param: Option<Parameter14>,
3480}
3481#[derive(
3482 Debug,
3483 Default,
3484 Clone,
3485 PartialEq,
3486 ::serde::Serialize,
3487 ::serde::Deserialize,
3488 ::derive_builder::Builder,
3489 ::validator::Validate,
3490)]
3491pub struct LodgingRoom1 {
3492 #[serde(rename = "RoomTp", skip_serializing_if = "Option::is_none")]
3493 pub room_tp: Option<Max35Text>,
3494 #[serde(rename = "RoomLctn", skip_serializing_if = "Option::is_none")]
3495 pub room_lctn: Option<Max35Text>,
3496 #[serde(rename = "BedTp", skip_serializing_if = "Option::is_none")]
3497 pub bed_tp: Option<Max70Text>,
3498 #[serde(rename = "GstsPerRoom", skip_serializing_if = "Option::is_none")]
3499 pub gsts_per_room: Option<Max3NumericText>,
3500 #[serde(rename = "AdltsInRoom", skip_serializing_if = "Option::is_none")]
3501 pub adlts_in_room: Option<Max3NumericText>,
3502 #[serde(rename = "ChldrnInRoom", skip_serializing_if = "Option::is_none")]
3503 pub chldrn_in_room: Option<Max3NumericText>,
3504 #[serde(rename = "DalyRoomRate", skip_serializing_if = "Option::is_none")]
3505 pub daly_room_rate: Option<ImpliedCurrencyAndAmount>,
3506}
3507#[derive(
3508 Debug,
3509 Default,
3510 Clone,
3511 PartialEq,
3512 ::serde::Serialize,
3513 ::serde::Deserialize,
3514 ::derive_builder::Builder,
3515 ::validator::Validate,
3516)]
3517pub struct Driver2 {
3518 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
3519 pub nm: Option<Max70Text>,
3520 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
3521 pub id: Option<Max70Text>,
3522 #[serde(rename = "DrvgLic", skip_serializing_if = "Option::is_none")]
3523 pub drvg_lic: Option<DrivingLicense2>,
3524 #[serde(rename = "Mplyr", skip_serializing_if = "Option::is_none")]
3525 pub mplyr: Option<Max70Text>,
3526 #[serde(rename = "MplyeeId", skip_serializing_if = "Option::is_none")]
3527 pub mplyee_id: Option<Max70Text>,
3528 #[serde(rename = "DeptNb", skip_serializing_if = "Option::is_none")]
3529 pub dept_nb: Option<Max35Text>,
3530 #[validate(length(min = 0,))]
3531 #[serde(rename = "AddtlId", default)]
3532 pub addtl_id: Vec<TravelDocument2>,
3533 #[serde(rename = "DtOfBirth", skip_serializing_if = "Option::is_none")]
3534 pub dt_of_birth: Option<IsoDate>,
3535 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
3536 pub addtl_data: Option<AdditionalData1>,
3537}
3538#[derive(
3539 Debug,
3540 Default,
3541 Clone,
3542 PartialEq,
3543 ::serde::Serialize,
3544 ::serde::Deserialize,
3545 ::derive_builder::Builder,
3546 ::validator::Validate,
3547)]
3548pub struct AdditionalData2 {
3549 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
3550 pub tp: Option<Max35Text>,
3551 #[validate(length(min = 0,))]
3552 #[serde(rename = "Dtls", default)]
3553 pub dtls: Vec<AdditionalData1>,
3554}
3555#[derive(
3556 Debug,
3557 Default,
3558 Clone,
3559 PartialEq,
3560 ::serde::Serialize,
3561 ::serde::Deserialize,
3562 ::derive_builder::Builder,
3563 ::validator::Validate,
3564)]
3565pub struct CardholderName2 {
3566 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
3567 pub nm: Option<Max140Text>,
3568 #[serde(rename = "GvnNm", skip_serializing_if = "Option::is_none")]
3569 pub gvn_nm: Option<Max70Text>,
3570 #[serde(rename = "MddlNm", skip_serializing_if = "Option::is_none")]
3571 pub mddl_nm: Option<Max70Text>,
3572 #[serde(rename = "LastNm", skip_serializing_if = "Option::is_none")]
3573 pub last_nm: Option<Max70Text>,
3574}
3575#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3576pub enum PartyType7Code {
3577 #[serde(rename = "ACQR")]
3578 Acqr,
3579 #[serde(rename = "ITAG")]
3580 Itag,
3581 #[serde(rename = "PCPT")]
3582 Pcpt,
3583 #[serde(rename = "TMGT")]
3584 Tmgt,
3585 #[serde(rename = "SALE")]
3586 Sale,
3587 #[default]
3588 Unknown,
3589}
3590#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3591pub enum PartyType21Code {
3592 #[serde(rename = "ACCP")]
3593 Accp,
3594 #[serde(rename = "CRDH")]
3595 Crdh,
3596 #[serde(rename = "OTHN")]
3597 Othn,
3598 #[serde(rename = "OTHP")]
3599 Othp,
3600 #[default]
3601 Unknown,
3602}
3603#[derive(
3604 Debug,
3605 Default,
3606 Clone,
3607 PartialEq,
3608 ::serde::Serialize,
3609 ::serde::Deserialize,
3610 ::derive_builder::Builder,
3611 ::validator::Validate,
3612)]
3613pub struct Adjustment10 {
3614 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
3615 pub tp: Option<Max35Text>,
3616 #[serde(rename = "AddtlTp", skip_serializing_if = "Option::is_none")]
3617 pub addtl_tp: Option<Max35Text>,
3618 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
3619 pub desc: Option<Max70Text>,
3620 #[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
3621 pub rsn: Option<Max35Text>,
3622 #[serde(rename = "PrmtnElgblty", skip_serializing_if = "Option::is_none")]
3623 pub prmtn_elgblty: Option<TrueFalseIndicator>,
3624 #[serde(rename = "PrmtnCd", skip_serializing_if = "Option::is_none")]
3625 pub prmtn_cd: Option<Max35Text>,
3626 #[serde(rename = "PrmtnCpnNb", skip_serializing_if = "Option::is_none")]
3627 pub prmtn_cpn_nb: Option<Max35Text>,
3628 #[serde(rename = "Qty", skip_serializing_if = "Option::is_none")]
3629 pub qty: Option<DecimalNumber>,
3630 #[serde(rename = "UnitPric", skip_serializing_if = "Option::is_none")]
3631 pub unit_pric: Option<ImpliedCurrencyAndAmount>,
3632 #[serde(rename = "Pctg", skip_serializing_if = "Option::is_none")]
3633 pub pctg: Option<PercentageRate>,
3634 #[serde(rename = "AdjstmntAmt", skip_serializing_if = "Option::is_none")]
3635 pub adjstmnt_amt: Option<ImpliedCurrencyAndAmount>,
3636 #[serde(rename = "TaxClctdOnOrgnlAmt", skip_serializing_if = "Option::is_none")]
3637 pub tax_clctd_on_orgnl_amt: Option<TrueFalseIndicator>,
3638}
3639#[derive(
3640 Debug,
3641 Default,
3642 Clone,
3643 PartialEq,
3644 ::serde::Serialize,
3645 ::serde::Deserialize,
3646 ::derive_builder::Builder,
3647 ::validator::Validate,
3648)]
3649pub struct KekIdentifier6 {
3650 #[validate]
3651 #[serde(rename = "KeyId")]
3652 pub key_id: Max140Text,
3653 #[serde(rename = "KeyVrsn", skip_serializing_if = "Option::is_none")]
3654 pub key_vrsn: Option<Max140Text>,
3655 #[serde(rename = "SeqNb", skip_serializing_if = "Option::is_none")]
3656 pub seq_nb: Option<Number>,
3657 #[serde(rename = "DerivtnId", skip_serializing_if = "Option::is_none")]
3658 pub derivtn_id: Option<Min5Max16Binary>,
3659}
3660#[derive(
3661 Debug,
3662 Default,
3663 Clone,
3664 PartialEq,
3665 ::serde::Serialize,
3666 ::serde::Deserialize,
3667 ::derive_builder::Builder,
3668 ::validator::Validate,
3669)]
3670pub struct PartyIdentification258 {
3671 #[validate]
3672 #[serde(rename = "Id")]
3673 pub id: Max35Text,
3674 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
3675 pub assgnr: Option<Max35Text>,
3676 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
3677 pub ctry: Option<Iso3NumericCountryCode>,
3678 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
3679 pub shrt_nm: Option<Max35Text>,
3680 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
3681 pub lgl_corp_nm: Option<Max99Text>,
3682 #[serde(rename = "AddtlId", skip_serializing_if = "Option::is_none")]
3683 pub addtl_id: Option<AdditionalData1>,
3684 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
3685 pub lcl_data: Option<LocalData1>,
3686}
3687#[derive(
3688 Debug,
3689 Default,
3690 Clone,
3691 PartialEq,
3692 ::serde::Serialize,
3693 ::serde::Deserialize,
3694 ::derive_builder::Builder,
3695 ::validator::Validate,
3696)]
3697pub struct SupplementaryDataEnvelope1<
3698 A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
3699> {
3700 #[validate]
3701 #[serde(flatten)]
3702 pub value: A,
3703}
3704#[derive(
3705 Debug,
3706 Default,
3707 Clone,
3708 PartialEq,
3709 ::serde::Serialize,
3710 ::serde::Deserialize,
3711 ::derive_builder::Builder,
3712 ::validator::Validate,
3713)]
3714pub struct Max10PositiveNumber {
3715 #[validate(range(min = 1,))]
3716 #[serde(rename = "$text")]
3717 pub value: f64,
3718}
3719#[derive(
3720 Debug,
3721 Default,
3722 Clone,
3723 PartialEq,
3724 ::serde::Serialize,
3725 ::serde::Deserialize,
3726 ::derive_builder::Builder,
3727 ::validator::Validate,
3728)]
3729pub struct PointOfInteractionComponentStatus3 {
3730 #[serde(rename = "VrsnNb", skip_serializing_if = "Option::is_none")]
3731 pub vrsn_nb: Option<Max256Text>,
3732 #[serde(rename = "Sts", skip_serializing_if = "Option::is_none")]
3733 pub sts: Option<PoiComponentStatus1Code>,
3734 #[serde(rename = "XpryDt", skip_serializing_if = "Option::is_none")]
3735 pub xpry_dt: Option<IsoDate>,
3736}
3737#[derive(
3738 Debug,
3739 Default,
3740 Clone,
3741 PartialEq,
3742 ::serde::Serialize,
3743 ::serde::Deserialize,
3744 ::derive_builder::Builder,
3745 ::validator::Validate,
3746)]
3747pub struct ContentInformationType20 {
3748 #[validate]
3749 #[serde(rename = "MACData")]
3750 pub mac_data: MacData1,
3751 #[validate]
3752 #[serde(rename = "MAC")]
3753 pub mac: Max8HexBinaryText,
3754}
3755#[derive(
3756 Debug,
3757 Default,
3758 Clone,
3759 PartialEq,
3760 ::serde::Serialize,
3761 ::serde::Deserialize,
3762 ::derive_builder::Builder,
3763 ::validator::Validate,
3764)]
3765pub struct TravelDocument2 {
3766 #[serde(rename = "Tp")]
3767 pub tp: OfficialDocumentType1Code,
3768 #[serde(rename = "Form", skip_serializing_if = "Option::is_none")]
3769 pub form: Option<PresentationMedium2Code>,
3770 #[validate]
3771 #[serde(rename = "Id")]
3772 pub id: Max70Text,
3773 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
3774 pub assgnr: Option<Max70Text>,
3775 #[serde(rename = "IssncDt", skip_serializing_if = "Option::is_none")]
3776 pub issnc_dt: Option<IsoDate>,
3777 #[serde(rename = "XprtnDt", skip_serializing_if = "Option::is_none")]
3778 pub xprtn_dt: Option<IsoDate>,
3779 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
3780 pub ctry: Option<IsoMax3ACountryCode>,
3781}
3782#[derive(
3783 Debug,
3784 Default,
3785 Clone,
3786 PartialEq,
3787 ::serde::Serialize,
3788 ::serde::Deserialize,
3789 ::derive_builder::Builder,
3790 ::validator::Validate,
3791)]
3792pub struct Max2NumericText {
3793 #[validate(regex = "MAX_2_NUMERIC_TEXT_REGEX")]
3794 #[serde(rename = "$text")]
3795 pub value: String,
3796}
3797#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3798pub enum DeviceIdentificationType1Code {
3799 #[serde(rename = "IMEI")]
3800 Imei,
3801 #[serde(rename = "OTHN")]
3802 Othn,
3803 #[serde(rename = "OTHP")]
3804 Othp,
3805 #[serde(rename = "SEID")]
3806 Seid,
3807 #[serde(rename = "SENU")]
3808 Senu,
3809 #[default]
3810 Unknown,
3811}
3812#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3813pub enum Moto1Code {
3814 #[serde(rename = "MAOR")]
3815 Maor,
3816 #[serde(rename = "MOTO")]
3817 Moto,
3818 #[serde(rename = "TPOR")]
3819 Tpor,
3820 #[default]
3821 Unknown,
3822}
3823#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
3824pub enum LocationAmenity1Code {
3825 #[serde(rename = "AADA")]
3826 Aada,
3827 #[serde(rename = "AFLA")]
3828 Afla,
3829 #[serde(rename = "AVLA")]
3830 Avla,
3831 #[serde(rename = "CRWA")]
3832 Crwa,
3833 #[serde(rename = "CVSA")]
3834 Cvsa,
3835 #[serde(rename = "DISA")]
3836 Disa,
3837 #[serde(rename = "EWAA")]
3838 Ewaa,
3839 #[serde(rename = "MRLA")]
3840 Mrla,
3841 #[serde(rename = "OTHN")]
3842 Othn,
3843 #[serde(rename = "OTHP")]
3844 Othp,
3845 #[serde(rename = "PAPA")]
3846 Papa,
3847 #[serde(rename = "TSHA")]
3848 Tsha,
3849 #[serde(rename = "TSRA")]
3850 Tsra,
3851 #[serde(rename = "TSSA")]
3852 Tssa,
3853 #[serde(rename = "TFHA")]
3854 Tfha,
3855 #[serde(rename = "VSWA")]
3856 Vswa,
3857 #[serde(rename = "VHPA")]
3858 Vhpa,
3859 #[serde(rename = "VMRA")]
3860 Vmra,
3861 #[default]
3862 Unknown,
3863}
3864#[derive(
3865 Debug,
3866 Default,
3867 Clone,
3868 PartialEq,
3869 ::serde::Serialize,
3870 ::serde::Deserialize,
3871 ::derive_builder::Builder,
3872 ::validator::Validate,
3873)]
3874pub struct FinancialInstitution7 {
3875 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
3876 pub id: Option<Max35Text>,
3877 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
3878 pub nm: Option<Max70Text>,
3879 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
3880 pub adr: Option<Address2>,
3881 #[serde(rename = "Email", skip_serializing_if = "Option::is_none")]
3882 pub email: Option<Max256Text>,
3883 #[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
3884 pub url_adr: Option<Max256Text>,
3885 #[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
3886 pub phne_nb: Option<Max35Text>,
3887 #[serde(rename = "CstmrSvc", skip_serializing_if = "Option::is_none")]
3888 pub cstmr_svc: Option<Max35Text>,
3889 #[serde(rename = "AddtlCtctInf", skip_serializing_if = "Option::is_none")]
3890 pub addtl_ctct_inf: Option<Max256Text>,
3891 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
3892 pub lcl_data: Option<LocalData2>,
3893}
3894#[derive(
3895 Debug,
3896 Default,
3897 Clone,
3898 PartialEq,
3899 ::serde::Serialize,
3900 ::serde::Deserialize,
3901 ::derive_builder::Builder,
3902 ::validator::Validate,
3903)]
3904pub struct AdditionalAcceptorData1 {
3905 #[serde(rename = "AddtlTxRefNb", skip_serializing_if = "Option::is_none")]
3906 pub addtl_tx_ref_nb: Option<Max70Text>,
3907 #[serde(rename = "TaxRegnId", skip_serializing_if = "Option::is_none")]
3908 pub tax_regn_id: Option<Max70Text>,
3909 #[serde(rename = "CorpTaxId", skip_serializing_if = "Option::is_none")]
3910 pub corp_tax_id: Option<Max35Text>,
3911 #[serde(rename = "CorpTaxIdTp", skip_serializing_if = "Option::is_none")]
3912 pub corp_tax_id_tp: Option<CorporateTaxType1Code>,
3913 #[validate(length(min = 0,))]
3914 #[serde(rename = "AddtlId", default)]
3915 pub addtl_id: Vec<AdditionalIdentification1>,
3916 #[serde(rename = "Chrtcs", skip_serializing_if = "Option::is_none")]
3917 pub chrtcs: Option<AdditionalCharacteristics1>,
3918 #[serde(rename = "AddtlInf", skip_serializing_if = "Option::is_none")]
3919 pub addtl_inf: Option<Max350Text>,
3920}
3921#[derive(
3922 Debug,
3923 Default,
3924 Clone,
3925 PartialEq,
3926 ::serde::Serialize,
3927 ::serde::Deserialize,
3928 ::derive_builder::Builder,
3929 ::validator::Validate,
3930)]
3931pub struct GenericIdentification183 {
3932 #[validate]
3933 #[serde(rename = "Id")]
3934 pub id: Max35Text,
3935 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
3936 pub tp: Option<PartyType17Code>,
3937 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
3938 pub othr_tp: Option<Max35Text>,
3939 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
3940 pub assgnr: Option<PartyType18Code>,
3941 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
3942 pub ctry: Option<IsoMax3ACountryCode>,
3943 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
3944 pub shrt_nm: Option<Max35Text>,
3945}
3946#[derive(
3947 Debug,
3948 Default,
3949 Clone,
3950 PartialEq,
3951 ::serde::Serialize,
3952 ::serde::Deserialize,
3953 ::derive_builder::Builder,
3954 ::validator::Validate,
3955)]
3956pub struct AdditionalRiskData1 {
3957 #[validate]
3958 #[serde(rename = "Tp")]
3959 pub tp: Max35Text,
3960 #[validate]
3961 #[serde(rename = "Val")]
3962 pub val: Max10KText,
3963}
3964#[derive(
3965 Debug,
3966 Default,
3967 Clone,
3968 PartialEq,
3969 ::serde::Serialize,
3970 ::serde::Deserialize,
3971 ::derive_builder::Builder,
3972 ::validator::Validate,
3973)]
3974pub struct Max1000Text {
3975 #[validate(length(min = 1, max = 1000,))]
3976 #[serde(rename = "$text")]
3977 pub value: String,
3978}
3979#[derive(
3980 Debug,
3981 Default,
3982 Clone,
3983 PartialEq,
3984 ::serde::Serialize,
3985 ::serde::Deserialize,
3986 ::derive_builder::Builder,
3987 ::validator::Validate,
3988)]
3989pub struct Exact3NumericText {
3990 #[validate(regex = "EXACT_3_NUMERIC_TEXT_REGEX")]
3991 #[serde(rename = "$text")]
3992 pub value: String,
3993}
3994#[derive(
3995 Debug,
3996 Default,
3997 Clone,
3998 PartialEq,
3999 ::serde::Serialize,
4000 ::serde::Deserialize,
4001 ::derive_builder::Builder,
4002 ::validator::Validate,
4003)]
4004pub struct ProcessingResult16 {
4005 #[serde(rename = "RspnSrc", skip_serializing_if = "Option::is_none")]
4006 pub rspn_src: Option<ApprovalEntity2>,
4007 #[serde(rename = "RsltData", skip_serializing_if = "Option::is_none")]
4008 pub rslt_data: Option<ResultData7>,
4009 #[serde(rename = "ApprvlCd", skip_serializing_if = "Option::is_none")]
4010 pub apprvl_cd: Option<Exact6AlphaNumericText>,
4011 #[serde(rename = "OrgnlRsltData", skip_serializing_if = "Option::is_none")]
4012 pub orgnl_rslt_data: Option<ResultData7>,
4013 #[serde(rename = "ActnReqrd", skip_serializing_if = "Option::is_none")]
4014 pub actn_reqrd: Option<YesNoIndicator>,
4015 #[validate(length(min = 0,))]
4016 #[serde(rename = "Actn", default)]
4017 pub actn: Vec<Action13>,
4018 #[validate(length(min = 0,))]
4019 #[serde(rename = "AddtlActn", default)]
4020 pub addtl_actn: Vec<AdditionalAction1>,
4021 #[validate(length(min = 0,))]
4022 #[serde(rename = "AddtlInf", default)]
4023 pub addtl_inf: Vec<AdditionalInformation29>,
4024}
4025#[derive(
4026 Debug,
4027 Default,
4028 Clone,
4029 PartialEq,
4030 ::serde::Serialize,
4031 ::serde::Deserialize,
4032 ::derive_builder::Builder,
4033 ::validator::Validate,
4034)]
4035pub struct AddendumData3 {
4036 #[serde(rename = "PurchsIdrTp", skip_serializing_if = "Option::is_none")]
4037 pub purchs_idr_tp: Option<PurchaseIdentifierType1Code>,
4038 #[serde(rename = "OthrPurchsIdrTp", skip_serializing_if = "Option::is_none")]
4039 pub othr_purchs_idr_tp: Option<Max35Text>,
4040 #[serde(rename = "PurchsIdr", skip_serializing_if = "Option::is_none")]
4041 pub purchs_idr: Option<Max99Text>,
4042 #[serde(rename = "AddtlAccptrData", skip_serializing_if = "Option::is_none")]
4043 pub addtl_accptr_data: Option<AdditionalAcceptorData1>,
4044 #[serde(rename = "Cstmr", skip_serializing_if = "Option::is_none")]
4045 pub cstmr: Option<Customer4>,
4046 #[serde(rename = "Sale", skip_serializing_if = "Option::is_none")]
4047 pub sale: Option<Sale2>,
4048 #[serde(rename = "Fleet", skip_serializing_if = "Option::is_none")]
4049 pub fleet: Option<FleetData4>,
4050 #[serde(rename = "Invc", skip_serializing_if = "Option::is_none")]
4051 pub invc: Option<Invoice2>,
4052 #[validate(length(min = 0,))]
4053 #[serde(rename = "TrvlAgcy", default)]
4054 pub trvl_agcy: Vec<TravelAgency3>,
4055 #[serde(rename = "PssngrTrnsprt", skip_serializing_if = "Option::is_none")]
4056 pub pssngr_trnsprt: Option<PassengerTransport2>,
4057 #[validate(length(min = 0,))]
4058 #[serde(rename = "VhclRntl", default)]
4059 pub vhcl_rntl: Vec<VehicleRentalService2>,
4060 #[validate(length(min = 0,))]
4061 #[serde(rename = "Ldgg", default)]
4062 pub ldgg: Vec<Lodging3>,
4063 #[serde(rename = "ShppgData", skip_serializing_if = "Option::is_none")]
4064 pub shppg_data: Option<ShippingData2>,
4065 #[serde(rename = "TelecomSvcs", skip_serializing_if = "Option::is_none")]
4066 pub telecom_svcs: Option<TelecomServices2>,
4067 #[validate(length(min = 0,))]
4068 #[serde(rename = "TempSvcs", default)]
4069 pub temp_svcs: Vec<TemporaryServices2>,
4070 #[serde(rename = "Instlmt", skip_serializing_if = "Option::is_none")]
4071 pub instlmt: Option<Instalment4>,
4072 #[validate(length(min = 0,))]
4073 #[serde(rename = "AddtlData", default)]
4074 pub addtl_data: Vec<AdditionalData1>,
4075}
4076#[derive(
4077 Debug,
4078 Default,
4079 Clone,
4080 PartialEq,
4081 ::serde::Serialize,
4082 ::serde::Deserialize,
4083 ::derive_builder::Builder,
4084 ::validator::Validate,
4085)]
4086pub struct EncryptedData1ChoiceEnum {
4087 #[serde(rename = "HexBinryVal", skip_serializing_if = "Option::is_none")]
4088 pub hex_binry_val: Option<Max9999HexBinaryText>,
4089 #[serde(rename = "BinryData", skip_serializing_if = "Option::is_none")]
4090 pub binry_data: Option<Max100KBinary>,
4091}
4092#[derive(
4093 Debug,
4094 Default,
4095 Clone,
4096 PartialEq,
4097 ::serde::Serialize,
4098 ::serde::Deserialize,
4099 ::derive_builder::Builder,
4100 ::validator::Validate,
4101)]
4102pub struct EncryptedData1Choice {
4103 #[serde(flatten)]
4104 pub value: EncryptedData1ChoiceEnum,
4105}
4106#[derive(
4107 Debug,
4108 Default,
4109 Clone,
4110 PartialEq,
4111 ::serde::Serialize,
4112 ::serde::Deserialize,
4113 ::derive_builder::Builder,
4114 ::validator::Validate,
4115)]
4116pub struct BatchManagementInformation1 {
4117 #[serde(rename = "ColltnId", skip_serializing_if = "Option::is_none")]
4118 pub colltn_id: Option<Max35Text>,
4119 #[validate]
4120 #[serde(rename = "BtchId")]
4121 pub btch_id: Max35Text,
4122 #[serde(rename = "MsgSeqNb", skip_serializing_if = "Option::is_none")]
4123 pub msg_seq_nb: Option<Max15NumericText>,
4124 #[serde(rename = "MsgChcksmInptVal", skip_serializing_if = "Option::is_none")]
4125 pub msg_chcksm_inpt_val: Option<Max140Binary>,
4126}
4127#[derive(
4128 Debug,
4129 Default,
4130 Clone,
4131 PartialEq,
4132 ::serde::Serialize,
4133 ::serde::Deserialize,
4134 ::derive_builder::Builder,
4135 ::validator::Validate,
4136)]
4137pub struct AlgorithmIdentification20 {
4138 #[serde(rename = "Algo")]
4139 pub algo: Algorithm19Code,
4140 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
4141 pub param: Option<Parameter11>,
4142}
4143#[derive(
4144 Debug,
4145 Default,
4146 Clone,
4147 PartialEq,
4148 ::serde::Serialize,
4149 ::serde::Deserialize,
4150 ::derive_builder::Builder,
4151 ::validator::Validate,
4152)]
4153pub struct ExchangeRateDetail1 {
4154 #[serde(rename = "EndPt", skip_serializing_if = "Option::is_none")]
4155 pub end_pt: Option<Endpoint1Code>,
4156 #[serde(rename = "OthrEndPt", skip_serializing_if = "Option::is_none")]
4157 pub othr_end_pt: Option<Max35Text>,
4158 #[serde(rename = "CntrCcyCd", skip_serializing_if = "Option::is_none")]
4159 pub cntr_ccy_cd: Option<Iso3NumericCurrencyCode>,
4160 #[serde(rename = "BaseCcyCd", skip_serializing_if = "Option::is_none")]
4161 pub base_ccy_cd: Option<Iso3NumericCurrencyCode>,
4162 #[serde(rename = "Rate", skip_serializing_if = "Option::is_none")]
4163 pub rate: Option<BaseOne25Rate>,
4164 #[serde(rename = "RateTp", skip_serializing_if = "Option::is_none")]
4165 pub rate_tp: Option<ExchangeRateType2Code>,
4166 #[serde(rename = "OthrRateTp", skip_serializing_if = "Option::is_none")]
4167 pub othr_rate_tp: Option<Max35Text>,
4168 #[serde(rename = "AgrmtTp", skip_serializing_if = "Option::is_none")]
4169 pub agrmt_tp: Option<ExchangeRateAgreementType1Code>,
4170 #[serde(rename = "OthrAgrmtTp", skip_serializing_if = "Option::is_none")]
4171 pub othr_agrmt_tp: Option<Max35Text>,
4172}
4173#[derive(
4174 Debug,
4175 Default,
4176 Clone,
4177 PartialEq,
4178 ::serde::Serialize,
4179 ::serde::Deserialize,
4180 ::derive_builder::Builder,
4181 ::validator::Validate,
4182)]
4183pub struct CommunicationCharacteristics3 {
4184 #[serde(rename = "ComTp")]
4185 pub com_tp: PoiCommunicationType2Code,
4186 #[validate(length(min = 1,))]
4187 #[serde(rename = "RmotPty", default)]
4188 pub rmot_pty: Vec<PartyType7Code>,
4189 #[validate]
4190 #[serde(rename = "Actv")]
4191 pub actv: TrueFalseIndicator,
4192}
4193#[derive(
4194 Debug,
4195 Default,
4196 Clone,
4197 PartialEq,
4198 ::serde::Serialize,
4199 ::serde::Deserialize,
4200 ::derive_builder::Builder,
4201 ::validator::Validate,
4202)]
4203pub struct LoyaltyMember2 {
4204 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
4205 pub nm: Option<CardholderName3>,
4206 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
4207 pub adr: Option<Address2>,
4208 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
4209 pub id: Option<Max35Text>,
4210 #[serde(rename = "MmbSts", skip_serializing_if = "Option::is_none")]
4211 pub mmb_sts: Option<Max35Text>,
4212 #[serde(rename = "XprtnDt", skip_serializing_if = "Option::is_none")]
4213 pub xprtn_dt: Option<IsoDate>,
4214 #[serde(rename = "LltyVal", skip_serializing_if = "Option::is_none")]
4215 pub llty_val: Option<Max10NumericText>,
4216 #[serde(rename = "LltyValTp", skip_serializing_if = "Option::is_none")]
4217 pub llty_val_tp: Option<LoyaltyValueType1Code>,
4218 #[serde(rename = "OthrLltyValTp", skip_serializing_if = "Option::is_none")]
4219 pub othr_llty_val_tp: Option<Max35Text>,
4220 #[serde(rename = "ValToCdt", skip_serializing_if = "Option::is_none")]
4221 pub val_to_cdt: Option<Max10NumericText>,
4222 #[serde(rename = "ValToDbt", skip_serializing_if = "Option::is_none")]
4223 pub val_to_dbt: Option<Max10NumericText>,
4224 #[serde(rename = "Bal", skip_serializing_if = "Option::is_none")]
4225 pub bal: Option<Max10NumericText>,
4226}
4227#[derive(
4228 Debug,
4229 Default,
4230 Clone,
4231 PartialEq,
4232 ::serde::Serialize,
4233 ::serde::Deserialize,
4234 ::derive_builder::Builder,
4235 ::validator::Validate,
4236)]
4237pub struct TemporaryServicesJob1 {
4238 #[serde(rename = "JobCd", skip_serializing_if = "Option::is_none")]
4239 pub job_cd: Option<Max35Text>,
4240 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
4241 pub desc: Option<Max256Text>,
4242 #[serde(rename = "StartDt", skip_serializing_if = "Option::is_none")]
4243 pub start_dt: Option<IsoDate>,
4244 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
4245 pub drtn: Option<Max5NumericText>,
4246 #[serde(rename = "EndDt", skip_serializing_if = "Option::is_none")]
4247 pub end_dt: Option<IsoDate>,
4248}
4249#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
4250pub enum CarRentalServiceType2Code {
4251 #[serde(rename = "ADJM")]
4252 Adjm,
4253 #[serde(rename = "AUTH")]
4254 Auth,
4255 #[serde(rename = "BAST")]
4256 Bast,
4257 #[serde(rename = "CLEA")]
4258 Clea,
4259 #[serde(rename = "DMGS")]
4260 Dmgs,
4261 #[serde(rename = "DLVR")]
4262 Dlvr,
4263 #[serde(rename = "DPOF")]
4264 Dpof,
4265 #[serde(rename = "ENTE")]
4266 Ente,
4267 #[serde(rename = "EXTC")]
4268 Extc,
4269 #[serde(rename = "EXDY")]
4270 Exdy,
4271 #[serde(rename = "EXDI")]
4272 Exdi,
4273 #[serde(rename = "EXHR")]
4274 Exhr,
4275 #[serde(rename = "FINE")]
4276 Fine,
4277 #[serde(rename = "FUEL")]
4278 Fuel,
4279 #[serde(rename = "GARA")]
4280 Gara,
4281 #[serde(rename = "GPSY")]
4282 Gpsy,
4283 #[serde(rename = "INSU")]
4284 Insu,
4285 #[serde(rename = "LATE")]
4286 Late,
4287 #[serde(rename = "LIIN")]
4288 Liin,
4289 #[serde(rename = "LDIN")]
4290 Ldin,
4291 #[serde(rename = "MISC")]
4292 Misc,
4293 #[serde(rename = "NAVI")]
4294 Navi,
4295 #[serde(rename = "NOSH")]
4296 Nosh,
4297 #[serde(rename = "ONEW")]
4298 Onew,
4299 #[serde(rename = "OTHN")]
4300 Othn,
4301 #[serde(rename = "OTHP")]
4302 Othp,
4303 #[serde(rename = "PARK")]
4304 Park,
4305 #[serde(rename = "PRIN")]
4306 Prin,
4307 #[serde(rename = "PFIN")]
4308 Pfin,
4309 #[serde(rename = "PHON")]
4310 Phon,
4311 #[serde(rename = "REGD")]
4312 Regd,
4313 #[serde(rename = "SMOK")]
4314 Smok,
4315 #[serde(rename = "TOLL")]
4316 Toll,
4317 #[serde(rename = "TOWI")]
4318 Towi,
4319 #[default]
4320 Unknown,
4321}
4322#[derive(
4323 Debug,
4324 Default,
4325 Clone,
4326 PartialEq,
4327 ::serde::Serialize,
4328 ::serde::Deserialize,
4329 ::derive_builder::Builder,
4330 ::validator::Validate,
4331)]
4332pub struct PointOfServiceContext3 {
4333 #[serde(rename = "CardPres", skip_serializing_if = "Option::is_none")]
4334 pub card_pres: Option<TrueFalseIndicator>,
4335 #[serde(rename = "CrdhldrPres", skip_serializing_if = "Option::is_none")]
4336 pub crdhldr_pres: Option<TrueFalseIndicator>,
4337 #[serde(rename = "CrdhldrActvtd", skip_serializing_if = "Option::is_none")]
4338 pub crdhldr_actvtd: Option<TrueFalseIndicator>,
4339 #[serde(rename = "TrnspndrInittd", skip_serializing_if = "Option::is_none")]
4340 pub trnspndr_inittd: Option<TrueFalseIndicator>,
4341 #[serde(rename = "AttnddInd", skip_serializing_if = "Option::is_none")]
4342 pub attndd_ind: Option<TrueFalseIndicator>,
4343 #[serde(rename = "UattnddLvlCtgy", skip_serializing_if = "Option::is_none")]
4344 pub uattndd_lvl_ctgy: Option<Max35NumericText>,
4345 #[serde(rename = "EComrcInd", skip_serializing_if = "Option::is_none")]
4346 pub e_comrc_ind: Option<TrueFalseIndicator>,
4347 #[validate(length(min = 0,))]
4348 #[serde(rename = "EComrcData", default)]
4349 pub e_comrc_data: Vec<ECommerceData1>,
4350 #[serde(rename = "MOTOCd", skip_serializing_if = "Option::is_none")]
4351 pub moto_cd: Option<Moto1Code>,
4352 #[serde(rename = "TrnstInd", skip_serializing_if = "Option::is_none")]
4353 pub trnst_ind: Option<TrueFalseIndicator>,
4354 #[serde(rename = "PrtlApprvlSpprtd", skip_serializing_if = "Option::is_none")]
4355 pub prtl_apprvl_spprtd: Option<TrueFalseIndicator>,
4356 #[serde(rename = "DelydAuthstnInd", skip_serializing_if = "Option::is_none")]
4357 pub delyd_authstn_ind: Option<TrueFalseIndicator>,
4358 #[validate(length(min = 0,))]
4359 #[serde(rename = "SctyChrtcs", default)]
4360 pub scty_chrtcs: Vec<SecurityCharacteristics1Code>,
4361 #[serde(rename = "OthrSctyChrtcs", skip_serializing_if = "Option::is_none")]
4362 pub othr_scty_chrtcs: Option<Max35Text>,
4363 #[serde(rename = "CardDataNtryMd")]
4364 pub card_data_ntry_md: CardDataReading10Code,
4365 #[serde(rename = "OthrCardDataNtryMd", skip_serializing_if = "Option::is_none")]
4366 pub othr_card_data_ntry_md: Option<Max35Text>,
4367 #[serde(rename = "QRCdPresntmntMd", skip_serializing_if = "Option::is_none")]
4368 pub qr_cd_presntmnt_md: Option<QrCodePresentmentMode1Code>,
4369 #[serde(
4370 rename = "OthrQRCdPresntmntMd",
4371 skip_serializing_if = "Option::is_none"
4372 )]
4373 pub othr_qr_cd_presntmnt_md: Option<Max35Text>,
4374 #[serde(
4375 rename = "TempScrCardDataReusd",
4376 skip_serializing_if = "Option::is_none"
4377 )]
4378 pub temp_scr_card_data_reusd: Option<TrueFalseIndicator>,
4379 #[serde(rename = "StorgLctn", skip_serializing_if = "Option::is_none")]
4380 pub storg_lctn: Option<Max35Text>,
4381 #[validate(length(min = 0,))]
4382 #[serde(rename = "SpclConds", default)]
4383 pub spcl_conds: Vec<SpecialConditions1>,
4384 #[validate(length(min = 0,))]
4385 #[serde(rename = "AddtlData", default)]
4386 pub addtl_data: Vec<AdditionalData1>,
4387}
4388#[derive(
4389 Debug,
4390 Default,
4391 Clone,
4392 PartialEq,
4393 ::serde::Serialize,
4394 ::serde::Deserialize,
4395 ::derive_builder::Builder,
4396 ::validator::Validate,
4397)]
4398pub struct Max4NumericText {
4399 #[validate(regex = "MAX_4_NUMERIC_TEXT_REGEX")]
4400 #[serde(rename = "$text")]
4401 pub value: String,
4402}
4403#[derive(
4404 Debug,
4405 Default,
4406 Clone,
4407 PartialEq,
4408 ::serde::Serialize,
4409 ::serde::Deserialize,
4410 ::derive_builder::Builder,
4411 ::validator::Validate,
4412)]
4413pub struct RentalDetails2 {
4414 #[serde(rename = "RntlId", skip_serializing_if = "Option::is_none")]
4415 pub rntl_id: Option<Max70Text>,
4416 #[serde(rename = "RntlDtTm", skip_serializing_if = "Option::is_none")]
4417 pub rntl_dt_tm: Option<IsoDateTime>,
4418 #[serde(rename = "RntlStart", skip_serializing_if = "Option::is_none")]
4419 pub rntl_start: Option<ServiceStartEnd2>,
4420 #[serde(rename = "RntlRtr", skip_serializing_if = "Option::is_none")]
4421 pub rntl_rtr: Option<ServiceStartEnd2>,
4422 #[validate(length(min = 0,))]
4423 #[serde(rename = "RntlTmPrd", default)]
4424 pub rntl_tm_prd: Vec<PeriodUnit2Code>,
4425 #[serde(rename = "TmPrdUnit", skip_serializing_if = "Option::is_none")]
4426 pub tm_prd_unit: Option<Max4NumericText>,
4427 #[serde(rename = "TmPrdRate", skip_serializing_if = "Option::is_none")]
4428 pub tm_prd_rate: Option<ImpliedCurrencyAndAmount>,
4429 #[serde(rename = "Ccy", skip_serializing_if = "Option::is_none")]
4430 pub ccy: Option<Iso3NumericCurrencyCode>,
4431}
4432#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
4433pub enum PoiCommunicationType2Code {
4434 #[serde(rename = "BLTH")]
4435 Blth,
4436 #[serde(rename = "ETHR")]
4437 Ethr,
4438 #[serde(rename = "GPRS")]
4439 Gprs,
4440 #[serde(rename = "GSMF")]
4441 Gsmf,
4442 #[serde(rename = "PSTN")]
4443 Pstn,
4444 #[serde(rename = "RS23")]
4445 Rs23,
4446 #[serde(rename = "USBD")]
4447 Usbd,
4448 #[serde(rename = "USBH")]
4449 Usbh,
4450 #[serde(rename = "WIFI")]
4451 Wifi,
4452 #[serde(rename = "WT2G")]
4453 Wt2G,
4454 #[serde(rename = "WT3G")]
4455 Wt3G,
4456 #[serde(rename = "WT4G")]
4457 Wt4G,
4458 #[serde(rename = "WT5G")]
4459 Wt5G,
4460 #[default]
4461 Unknown,
4462}
4463#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
4464pub enum Priority3Code {
4465 #[serde(rename = "URGT")]
4466 Urgt,
4467 #[serde(rename = "HIGH")]
4468 High,
4469 #[serde(rename = "NORM")]
4470 Norm,
4471 #[default]
4472 Unknown,
4473}
4474#[derive(
4475 Debug,
4476 Default,
4477 Clone,
4478 PartialEq,
4479 ::serde::Serialize,
4480 ::serde::Deserialize,
4481 ::derive_builder::Builder,
4482 ::validator::Validate,
4483)]
4484pub struct TransactionLifeCycleIdentification1 {
4485 #[validate]
4486 #[serde(rename = "Id")]
4487 pub id: Exact15Text,
4488 #[serde(rename = "AuthstnSeqNb", skip_serializing_if = "Option::is_none")]
4489 pub authstn_seq_nb: Option<Exact2NumericText>,
4490 #[serde(rename = "PresntmntSeqNb", skip_serializing_if = "Option::is_none")]
4491 pub presntmnt_seq_nb: Option<Exact2NumericText>,
4492 #[serde(rename = "PresntmntSeqCnt", skip_serializing_if = "Option::is_none")]
4493 pub presntmnt_seq_cnt: Option<Exact2NumericText>,
4494 #[serde(rename = "AuthntcnTkn", skip_serializing_if = "Option::is_none")]
4495 pub authntcn_tkn: Option<Max35Text>,
4496}
4497#[derive(
4498 Debug,
4499 Default,
4500 Clone,
4501 PartialEq,
4502 ::serde::Serialize,
4503 ::serde::Deserialize,
4504 ::derive_builder::Builder,
4505 ::validator::Validate,
4506)]
4507pub struct EnvelopedData6 {
4508 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
4509 pub vrsn: Option<Number>,
4510 #[validate(length(min = 1,))]
4511 #[serde(rename = "Rcpt", default)]
4512 pub rcpt: Vec<Recipient7Choice>,
4513 #[serde(rename = "NcrptdCntt", skip_serializing_if = "Option::is_none")]
4514 pub ncrptd_cntt: Option<EncryptedContent5>,
4515}
4516#[derive(
4517 Debug,
4518 Default,
4519 Clone,
4520 PartialEq,
4521 ::serde::Serialize,
4522 ::serde::Deserialize,
4523 ::derive_builder::Builder,
4524 ::validator::Validate,
4525)]
4526pub struct Max50Text {
4527 #[validate(length(min = 1, max = 50,))]
4528 #[serde(rename = "$text")]
4529 pub value: String,
4530}
4531#[derive(
4532 Debug,
4533 Default,
4534 Clone,
4535 PartialEq,
4536 ::serde::Serialize,
4537 ::serde::Deserialize,
4538 ::derive_builder::Builder,
4539 ::validator::Validate,
4540)]
4541pub struct KekIdentifier2 {
4542 #[validate]
4543 #[serde(rename = "KeyId")]
4544 pub key_id: Max140Text,
4545 #[validate]
4546 #[serde(rename = "KeyVrsn")]
4547 pub key_vrsn: Max140Text,
4548 #[serde(rename = "SeqNb", skip_serializing_if = "Option::is_none")]
4549 pub seq_nb: Option<Number>,
4550 #[serde(rename = "DerivtnId", skip_serializing_if = "Option::is_none")]
4551 pub derivtn_id: Option<Min5Max16Binary>,
4552}
4553#[derive(
4554 Debug,
4555 Default,
4556 Clone,
4557 PartialEq,
4558 ::serde::Serialize,
4559 ::serde::Deserialize,
4560 ::derive_builder::Builder,
4561 ::validator::Validate,
4562)]
4563pub struct EncapsulatedContent3 {
4564 #[serde(rename = "CnttTp")]
4565 pub cntt_tp: ContentType2Code,
4566 #[serde(rename = "Cntt", skip_serializing_if = "Option::is_none")]
4567 pub cntt: Option<Max100KBinary>,
4568}
4569#[derive(
4570 Debug,
4571 Default,
4572 Clone,
4573 PartialEq,
4574 ::serde::Serialize,
4575 ::serde::Deserialize,
4576 ::derive_builder::Builder,
4577 ::validator::Validate,
4578)]
4579pub struct Product7 {
4580 #[serde(rename = "PdctCd", skip_serializing_if = "Option::is_none")]
4581 pub pdct_cd: Option<Max70Text>,
4582 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
4583 pub summry_cmmdty_id: Option<Max35Text>,
4584}
4585#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
4586pub enum Algorithm19Code {
4587 #[serde(rename = "ERS2")]
4588 Ers2,
4589 #[serde(rename = "ERS1")]
4590 Ers1,
4591 #[serde(rename = "RPSS")]
4592 Rpss,
4593 #[serde(rename = "ECC5")]
4594 Ecc5,
4595 #[serde(rename = "ECC1")]
4596 Ecc1,
4597 #[serde(rename = "ECC4")]
4598 Ecc4,
4599 #[serde(rename = "ECC2")]
4600 Ecc2,
4601 #[serde(rename = "ECC3")]
4602 Ecc3,
4603 #[serde(rename = "ERS3")]
4604 Ers3,
4605 #[serde(rename = "ECP2")]
4606 Ecp2,
4607 #[serde(rename = "ECP3")]
4608 Ecp3,
4609 #[serde(rename = "ECP5")]
4610 Ecp5,
4611 #[default]
4612 Unknown,
4613}
4614#[derive(
4615 Debug,
4616 Default,
4617 Clone,
4618 PartialEq,
4619 ::serde::Serialize,
4620 ::serde::Deserialize,
4621 ::derive_builder::Builder,
4622 ::validator::Validate,
4623)]
4624pub struct Amount20 {
4625 #[serde(rename = "TpOfChrg", skip_serializing_if = "Option::is_none")]
4626 pub tp_of_chrg: Option<TypeOfAmount19Code>,
4627 #[serde(rename = "OthrTpOfChrg", skip_serializing_if = "Option::is_none")]
4628 pub othr_tp_of_chrg: Option<Max35Text>,
4629 #[validate]
4630 #[serde(rename = "Amt")]
4631 pub amt: ImpliedCurrencyAndAmount,
4632 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
4633 pub cdt_dbt: Option<CreditDebit3Code>,
4634}
4635#[derive(
4636 Debug,
4637 Default,
4638 Clone,
4639 PartialEq,
4640 ::serde::Serialize,
4641 ::serde::Deserialize,
4642 ::derive_builder::Builder,
4643 ::validator::Validate,
4644)]
4645pub struct Authority1 {
4646 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
4647 pub ctry: Option<Iso3NumericCountryCode>,
4648 #[serde(rename = "CtrySubDvsnMjr", skip_serializing_if = "Option::is_none")]
4649 pub ctry_sub_dvsn_mjr: Option<IsoCountrySubDivisionCode>,
4650 #[serde(rename = "CtrySubDvsnMnr", skip_serializing_if = "Option::is_none")]
4651 pub ctry_sub_dvsn_mnr: Option<IsoCountrySubDivisionCode>,
4652 #[serde(rename = "CtrySubDvsnMjrNm", skip_serializing_if = "Option::is_none")]
4653 pub ctry_sub_dvsn_mjr_nm: Option<Max50Text>,
4654 #[serde(rename = "CtrySubDvsnMnrNm", skip_serializing_if = "Option::is_none")]
4655 pub ctry_sub_dvsn_mnr_nm: Option<Max50Text>,
4656 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
4657 pub nm: Option<Max50Text>,
4658}
4659#[derive(
4660 Debug,
4661 Default,
4662 Clone,
4663 PartialEq,
4664 ::serde::Serialize,
4665 ::serde::Deserialize,
4666 ::derive_builder::Builder,
4667 ::validator::Validate,
4668)]
4669pub struct Max10NumberFraction2 {
4670 #[serde(rename = "$text")]
4671 pub value: f64,
4672}
4673#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
4674pub enum CardholderVerificationCapability5Code {
4675 #[serde(rename = "APKI")]
4676 Apki,
4677 #[serde(rename = "NOVF")]
4678 Novf,
4679 #[serde(rename = "FBIG")]
4680 Fbig,
4681 #[serde(rename = "FBIO")]
4682 Fbio,
4683 #[serde(rename = "FDSG")]
4684 Fdsg,
4685 #[serde(rename = "FCPN")]
4686 Fcpn,
4687 #[serde(rename = "FEPN")]
4688 Fepn,
4689 #[serde(rename = "NBIO")]
4690 Nbio,
4691 #[serde(rename = "NPIN")]
4692 Npin,
4693 #[serde(rename = "OTHN")]
4694 Othn,
4695 #[serde(rename = "OTHP")]
4696 Othp,
4697 #[serde(rename = "SIGN")]
4698 Sign,
4699 #[serde(rename = "UNSP")]
4700 Unsp,
4701 #[serde(rename = "VORN")]
4702 Vorn,
4703 #[serde(rename = "PKIS")]
4704 Pkis,
4705 #[serde(rename = "NOPN")]
4706 Nopn,
4707 #[serde(rename = "NOOP")]
4708 Noop,
4709 #[default]
4710 Unknown,
4711}
4712#[derive(
4713 Debug,
4714 Default,
4715 Clone,
4716 PartialEq,
4717 ::serde::Serialize,
4718 ::serde::Deserialize,
4719 ::derive_builder::Builder,
4720 ::validator::Validate,
4721)]
4722pub struct TemporaryServices2 {
4723 #[serde(rename = "CtrctgCpny", skip_serializing_if = "Option::is_none")]
4724 pub ctrctg_cpny: Option<TemporaryServicesCompany2>,
4725 #[serde(rename = "TempMplyee", skip_serializing_if = "Option::is_none")]
4726 pub temp_mplyee: Option<PartyIdentification210>,
4727 #[serde(rename = "Job", skip_serializing_if = "Option::is_none")]
4728 pub job: Option<TemporaryServicesJob1>,
4729 #[serde(rename = "FlatRateInd", skip_serializing_if = "Option::is_none")]
4730 pub flat_rate_ind: Option<TrueFalseIndicator>,
4731 #[serde(rename = "DscntAmt", skip_serializing_if = "Option::is_none")]
4732 pub dscnt_amt: Option<ImpliedCurrencyAndAmount>,
4733 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
4734 pub summry_cmmdty_id: Option<Max35Text>,
4735 #[serde(rename = "Labr", skip_serializing_if = "Option::is_none")]
4736 pub labr: Option<TemporaryServicesLabor1>,
4737 #[validate(length(min = 0,))]
4738 #[serde(rename = "MiscExpnss", default)]
4739 pub misc_expnss: Vec<Amount13>,
4740 #[serde(rename = "SbttlAmt", skip_serializing_if = "Option::is_none")]
4741 pub sbttl_amt: Option<ImpliedCurrencyAndAmount>,
4742 #[validate(length(min = 0,))]
4743 #[serde(rename = "Tax", default)]
4744 pub tax: Vec<Tax39>,
4745 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
4746 pub addtl_data: Option<Max350Text>,
4747}
4748#[derive(
4749 Debug,
4750 Default,
4751 Clone,
4752 PartialEq,
4753 ::serde::Serialize,
4754 ::serde::Deserialize,
4755 ::derive_builder::Builder,
4756 ::validator::Validate,
4757)]
4758pub struct TemporaryServicesLabor1 {
4759 #[serde(rename = "TmSheetNb", skip_serializing_if = "Option::is_none")]
4760 pub tm_sheet_nb: Option<Max35Text>,
4761 #[serde(rename = "WkEndg", skip_serializing_if = "Option::is_none")]
4762 pub wk_endg: Option<Max10NumericText>,
4763 #[validate(length(min = 0,))]
4764 #[serde(rename = "Chrg", default)]
4765 pub chrg: Vec<Amount12>,
4766}
4767#[derive(
4768 Debug,
4769 Default,
4770 Clone,
4771 PartialEq,
4772 ::serde::Serialize,
4773 ::serde::Deserialize,
4774 ::derive_builder::Builder,
4775 ::validator::Validate,
4776)]
4777pub struct Context12 {
4778 #[serde(rename = "PtOfSvcCntxt", skip_serializing_if = "Option::is_none")]
4779 pub pt_of_svc_cntxt: Option<PointOfServiceContext3>,
4780 #[validate]
4781 #[serde(rename = "TxCntxt")]
4782 pub tx_cntxt: TransactionContext7,
4783 #[validate(length(min = 0,))]
4784 #[serde(rename = "Vrfctn", default)]
4785 pub vrfctn: Vec<Verification4>,
4786 #[serde(rename = "RskCntxt", skip_serializing_if = "Option::is_none")]
4787 pub rsk_cntxt: Option<RiskContext2>,
4788 #[serde(rename = "SaleCntxt", skip_serializing_if = "Option::is_none")]
4789 pub sale_cntxt: Option<SaleContext8>,
4790}
4791#[derive(
4792 Debug,
4793 Default,
4794 Clone,
4795 PartialEq,
4796 ::serde::Serialize,
4797 ::serde::Deserialize,
4798 ::derive_builder::Builder,
4799 ::validator::Validate,
4800)]
4801pub struct AdditionalIdentification1 {
4802 #[serde(rename = "Tp")]
4803 pub tp: AdditionalIdentificationType1Code,
4804 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
4805 pub othr_tp: Option<Max35Text>,
4806 #[validate]
4807 #[serde(rename = "Val")]
4808 pub val: Max35Text,
4809}
4810#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
4811pub enum CardDepositType1Code {
4812 #[serde(rename = "OTHP")]
4813 Othp,
4814 #[serde(rename = "OTHN")]
4815 Othn,
4816 #[serde(rename = "ENVL")]
4817 Envl,
4818 #[serde(rename = "CHEC")]
4819 Chec,
4820 #[serde(rename = "CASH")]
4821 Cash,
4822 #[default]
4823 Unknown,
4824}
4825#[derive(
4826 Debug,
4827 Default,
4828 Clone,
4829 PartialEq,
4830 ::serde::Serialize,
4831 ::serde::Deserialize,
4832 ::derive_builder::Builder,
4833 ::validator::Validate,
4834)]
4835pub struct Iso8583AmountTypeCode {
4836 #[validate(regex = "ISO_8583_AMOUNT_TYPE_CODE_REGEX")]
4837 #[serde(rename = "$text")]
4838 pub value: String,
4839}
4840#[derive(
4841 Debug,
4842 Default,
4843 Clone,
4844 PartialEq,
4845 ::serde::Serialize,
4846 ::serde::Deserialize,
4847 ::derive_builder::Builder,
4848 ::validator::Validate,
4849)]
4850pub struct Kek6 {
4851 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
4852 pub vrsn: Option<Number>,
4853 #[validate]
4854 #[serde(rename = "KEKId")]
4855 pub kek_id: KekIdentifier6,
4856 #[validate]
4857 #[serde(rename = "KeyNcrptnAlgo")]
4858 pub key_ncrptn_algo: AlgorithmIdentification28,
4859 #[serde(rename = "NcrptdKey", skip_serializing_if = "Option::is_none")]
4860 pub ncrptd_key: Option<Max500Binary>,
4861}
4862#[derive(
4863 Debug,
4864 Default,
4865 Clone,
4866 PartialEq,
4867 ::serde::Serialize,
4868 ::serde::Deserialize,
4869 ::derive_builder::Builder,
4870 ::validator::Validate,
4871)]
4872pub struct LodgingProperty2 {
4873 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
4874 pub tp: Option<LodgingActivity1Code>,
4875 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
4876 pub othr_tp: Option<Max35Text>,
4877 #[serde(rename = "PrstgsPrprty", skip_serializing_if = "Option::is_none")]
4878 pub prstgs_prprty: Option<Max35Text>,
4879 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
4880 pub nm: Option<Max35Text>,
4881 #[validate]
4882 #[serde(rename = "Id")]
4883 pub id: PartyIdentification258,
4884 #[serde(rename = "Lctn", skip_serializing_if = "Option::is_none")]
4885 pub lctn: Option<Location4>,
4886 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
4887 pub assgnr: Option<CompanyAssigner2Code>,
4888 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
4889 pub ctct: Option<Contact3>,
4890 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
4891 pub ctry: Option<IsoMax3ACountryCode>,
4892 #[serde(rename = "FireSftyActInd", skip_serializing_if = "Option::is_none")]
4893 pub fire_sfty_act_ind: Option<TrueFalseIndicator>,
4894}
4895#[derive(
4896 Debug,
4897 Default,
4898 Clone,
4899 PartialEq,
4900 ::serde::Serialize,
4901 ::serde::Deserialize,
4902 ::derive_builder::Builder,
4903 ::validator::Validate,
4904)]
4905pub struct CardProgramme2 {
4906 #[validate(length(min = 0,))]
4907 #[serde(rename = "CardPrgrmmPropsd", default)]
4908 pub card_prgrmm_propsd: Vec<CardProgrammeMode2>,
4909 #[serde(rename = "CardPrgrmmApld", skip_serializing_if = "Option::is_none")]
4910 pub card_prgrmm_apld: Option<CardProgrammeMode3>,
4911}
4912#[derive(
4913 Debug,
4914 Default,
4915 Clone,
4916 PartialEq,
4917 ::serde::Serialize,
4918 ::serde::Deserialize,
4919 ::derive_builder::Builder,
4920 ::validator::Validate,
4921)]
4922pub struct Max10Text {
4923 #[validate(length(min = 1, max = 10,))]
4924 #[serde(rename = "$text")]
4925 pub value: String,
4926}
4927#[derive(
4928 Debug,
4929 Default,
4930 Clone,
4931 PartialEq,
4932 ::serde::Serialize,
4933 ::serde::Deserialize,
4934 ::derive_builder::Builder,
4935 ::validator::Validate,
4936)]
4937pub struct ContentInformationType19 {
4938 #[serde(rename = "CnttTp")]
4939 pub cntt_tp: ContentType2Code,
4940 #[serde(rename = "EnvlpdData", skip_serializing_if = "Option::is_none")]
4941 pub envlpd_data: Option<EnvelopedData5>,
4942 #[serde(rename = "AuthntcdData", skip_serializing_if = "Option::is_none")]
4943 pub authntcd_data: Option<AuthenticatedData5>,
4944 #[serde(rename = "SgndData", skip_serializing_if = "Option::is_none")]
4945 pub sgnd_data: Option<SignedData5>,
4946 #[serde(rename = "DgstdData", skip_serializing_if = "Option::is_none")]
4947 pub dgstd_data: Option<DigestedData5>,
4948}
4949#[derive(
4950 Debug,
4951 Default,
4952 Clone,
4953 PartialEq,
4954 ::serde::Serialize,
4955 ::serde::Deserialize,
4956 ::derive_builder::Builder,
4957 ::validator::Validate,
4958)]
4959pub struct DetailedAmount22 {
4960 #[serde(rename = "Tp")]
4961 pub tp: Iso8583AmountTypeCode,
4962 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
4963 pub othr_tp: Option<Max35Text>,
4964 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
4965 pub cdt_dbt: Option<CreditDebit3Code>,
4966 #[validate]
4967 #[serde(rename = "Amt")]
4968 pub amt: ImpliedCurrencyAndAmount,
4969 #[serde(rename = "CrdhldrBllgAmt", skip_serializing_if = "Option::is_none")]
4970 pub crdhldr_bllg_amt: Option<ImpliedCurrencyAndAmount>,
4971 #[serde(rename = "RcncltnAmt", skip_serializing_if = "Option::is_none")]
4972 pub rcncltn_amt: Option<ImpliedCurrencyAndAmount>,
4973 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
4974 pub desc: Option<Max70Text>,
4975}
4976#[derive(
4977 Debug,
4978 Default,
4979 Clone,
4980 PartialEq,
4981 ::serde::Serialize,
4982 ::serde::Deserialize,
4983 ::derive_builder::Builder,
4984 ::validator::Validate,
4985)]
4986pub struct ResultData7 {
4987 #[serde(rename = "Rslt", skip_serializing_if = "Option::is_none")]
4988 pub rslt: Option<Response8Code>,
4989 #[serde(rename = "OthrRslt", skip_serializing_if = "Option::is_none")]
4990 pub othr_rslt: Option<Max35Text>,
4991 #[serde(rename = "RsltDtls")]
4992 pub rslt_dtls: Iso8583ResponseCode,
4993 #[serde(rename = "OthrRsltDtls", skip_serializing_if = "Option::is_none")]
4994 pub othr_rslt_dtls: Option<Max35Text>,
4995 #[serde(
4996 rename = "TempScrCardDataReusePrtd",
4997 skip_serializing_if = "Option::is_none"
4998 )]
4999 pub temp_scr_card_data_reuse_prtd: Option<TrueFalseIndicator>,
5000 #[validate(length(min = 0,))]
5001 #[serde(rename = "AddtlRsltInf", default)]
5002 pub addtl_rslt_inf: Vec<AdditionalData1>,
5003}
5004#[derive(
5005 Debug,
5006 Default,
5007 Clone,
5008 PartialEq,
5009 ::serde::Serialize,
5010 ::serde::Deserialize,
5011 ::derive_builder::Builder,
5012 ::validator::Validate,
5013)]
5014pub struct ClaimInformation1 {
5015 #[serde(rename = "ClmCrdntls", skip_serializing_if = "Option::is_none")]
5016 pub clm_crdntls: Option<Max500Text>,
5017 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
5018 pub assgnr: Option<Max35Text>,
5019}
5020#[derive(
5021 Debug,
5022 Default,
5023 Clone,
5024 PartialEq,
5025 ::serde::Serialize,
5026 ::serde::Deserialize,
5027 ::derive_builder::Builder,
5028 ::validator::Validate,
5029)]
5030pub struct CryptographicKey13 {
5031 #[validate]
5032 #[serde(rename = "Id")]
5033 pub id: Max140Text,
5034 #[serde(rename = "AddtlId", skip_serializing_if = "Option::is_none")]
5035 pub addtl_id: Option<Max35Binary>,
5036 #[validate]
5037 #[serde(rename = "Vrsn")]
5038 pub vrsn: Max256Text,
5039 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
5040 pub tp: Option<CryptographicKeyType3Code>,
5041 #[validate(length(min = 0,))]
5042 #[serde(rename = "Fctn", default)]
5043 pub fctn: Vec<KeyUsage1Code>,
5044 #[serde(rename = "ActvtnDt", skip_serializing_if = "Option::is_none")]
5045 pub actvtn_dt: Option<IsoDateTime>,
5046 #[serde(rename = "DeactvtnDt", skip_serializing_if = "Option::is_none")]
5047 pub deactvtn_dt: Option<IsoDateTime>,
5048 #[serde(rename = "KeyVal", skip_serializing_if = "Option::is_none")]
5049 pub key_val: Option<ContentInformationType19>,
5050 #[serde(rename = "KeyChckVal", skip_serializing_if = "Option::is_none")]
5051 pub key_chck_val: Option<Max35Binary>,
5052 #[validate(length(min = 0,))]
5053 #[serde(rename = "AddtlMgmtInf", default)]
5054 pub addtl_mgmt_inf: Vec<GenericInformation1>,
5055}
5056#[derive(
5057 Debug,
5058 Default,
5059 Clone,
5060 PartialEq,
5061 ::serde::Serialize,
5062 ::serde::Deserialize,
5063 ::derive_builder::Builder,
5064 ::validator::Validate,
5065)]
5066pub struct PartyIdentification263 {
5067 #[validate]
5068 #[serde(rename = "Id")]
5069 pub id: Max11NumericText,
5070 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
5071 pub assgnr: Option<Max35Text>,
5072 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
5073 pub ctry: Option<Iso3NumericCountryCode>,
5074 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
5075 pub shrt_nm: Option<Max35Text>,
5076 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
5077 pub lgl_corp_nm: Option<Max99Text>,
5078 #[serde(rename = "AddtlId", skip_serializing_if = "Option::is_none")]
5079 pub addtl_id: Option<AdditionalData1>,
5080 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
5081 pub lcl_data: Option<LocalData1>,
5082}
5083#[derive(
5084 Debug,
5085 Default,
5086 Clone,
5087 PartialEq,
5088 ::serde::Serialize,
5089 ::serde::Deserialize,
5090 ::derive_builder::Builder,
5091 ::validator::Validate,
5092)]
5093pub struct Max99Text {
5094 #[validate(length(min = 1, max = 99,))]
5095 #[serde(rename = "$text")]
5096 pub value: String,
5097}
5098#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5099pub enum TemporaryServicesCharge1Code {
5100 #[serde(rename = "WKND")]
5101 Wknd,
5102 #[serde(rename = "REGL")]
5103 Regl,
5104 #[serde(rename = "OVRT")]
5105 Ovrt,
5106 #[serde(rename = "OTHP")]
5107 Othp,
5108 #[serde(rename = "OTHN")]
5109 Othn,
5110 #[serde(rename = "ONCL")]
5111 Oncl,
5112 #[serde(rename = "NITE")]
5113 Nite,
5114 #[serde(rename = "HOLI")]
5115 Holi,
5116 #[serde(rename = "HAZD")]
5117 Hazd,
5118 #[default]
5119 Unknown,
5120}
5121#[derive(
5122 Debug,
5123 Default,
5124 Clone,
5125 PartialEq,
5126 ::serde::Serialize,
5127 ::serde::Deserialize,
5128 ::derive_builder::Builder,
5129 ::validator::Validate,
5130)]
5131pub struct Amount13 {
5132 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
5133 pub tp: Option<Max35Text>,
5134 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
5135 pub desc: Option<Max35Text>,
5136 #[validate]
5137 #[serde(rename = "Amt")]
5138 pub amt: ImpliedCurrencyAndAmount,
5139}
5140#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5141pub enum UserInterface6Code {
5142 #[serde(rename = "CDSP")]
5143 Cdsp,
5144 #[serde(rename = "CRCP")]
5145 Crcp,
5146 #[serde(rename = "MDSP")]
5147 Mdsp,
5148 #[serde(rename = "MRCP")]
5149 Mrcp,
5150 #[serde(rename = "CRDO")]
5151 Crdo,
5152 #[serde(rename = "FILE")]
5153 File,
5154 #[serde(rename = "CHAP")]
5155 Chap,
5156 #[serde(rename = "MRAP")]
5157 Mrap,
5158 #[serde(rename = "MRIN")]
5159 Mrin,
5160 #[default]
5161 Unknown,
5162}
5163#[derive(
5164 Debug,
5165 Default,
5166 Clone,
5167 PartialEq,
5168 ::serde::Serialize,
5169 ::serde::Deserialize,
5170 ::derive_builder::Builder,
5171 ::validator::Validate,
5172)]
5173pub struct IsoYearMonth {
5174 #[validate(regex = "ISO_YEAR_MONTH_REGEX")]
5175 #[serde(rename = "$text")]
5176 pub value: String,
5177}
5178#[derive(
5179 Debug,
5180 Default,
5181 Clone,
5182 PartialEq,
5183 ::serde::Serialize,
5184 ::serde::Deserialize,
5185 ::derive_builder::Builder,
5186 ::validator::Validate,
5187)]
5188pub struct Max6NumericText {
5189 #[validate(regex = "MAX_6_NUMERIC_TEXT_REGEX")]
5190 #[serde(rename = "$text")]
5191 pub value: String,
5192}
5193#[derive(
5194 Debug,
5195 Default,
5196 Clone,
5197 PartialEq,
5198 ::serde::Serialize,
5199 ::serde::Deserialize,
5200 ::derive_builder::Builder,
5201 ::validator::Validate,
5202)]
5203pub struct Adjustment9 {
5204 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
5205 pub tp: Option<Max35Text>,
5206 #[serde(rename = "AddtlTp", skip_serializing_if = "Option::is_none")]
5207 pub addtl_tp: Option<Max35Text>,
5208 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
5209 pub desc: Option<Max70Text>,
5210 #[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
5211 pub rsn: Option<Max35Text>,
5212 #[serde(rename = "PrmtnCd", skip_serializing_if = "Option::is_none")]
5213 pub prmtn_cd: Option<Max35Text>,
5214 #[serde(rename = "Pctg", skip_serializing_if = "Option::is_none")]
5215 pub pctg: Option<PercentageRate>,
5216 #[serde(rename = "AdjstmntAmt", skip_serializing_if = "Option::is_none")]
5217 pub adjstmnt_amt: Option<ImpliedCurrencyAndAmount>,
5218 #[serde(rename = "TaxClctdOnOrgnlAmt", skip_serializing_if = "Option::is_none")]
5219 pub tax_clctd_on_orgnl_amt: Option<TrueFalseIndicator>,
5220}
5221#[derive(
5222 Debug,
5223 Default,
5224 Clone,
5225 PartialEq,
5226 ::serde::Serialize,
5227 ::serde::Deserialize,
5228 ::derive_builder::Builder,
5229 ::validator::Validate,
5230)]
5231pub struct Content1 {
5232 #[validate]
5233 #[serde(rename = "Val")]
5234 pub val: Max20KText,
5235 #[serde(rename = "Sgntr", skip_serializing_if = "Option::is_none")]
5236 pub sgntr: Option<Max140Binary>,
5237 #[serde(rename = "CertId", skip_serializing_if = "Option::is_none")]
5238 pub cert_id: Option<Max70Text>,
5239}
5240#[derive(
5241 Debug,
5242 Default,
5243 Clone,
5244 PartialEq,
5245 ::serde::Serialize,
5246 ::serde::Deserialize,
5247 ::derive_builder::Builder,
5248 ::validator::Validate,
5249)]
5250pub struct Iso3NumericCountryCode {
5251 #[validate(regex = "ISO_3_NUMERIC_COUNTRY_CODE_REGEX")]
5252 #[serde(rename = "$text")]
5253 pub value: String,
5254}
5255#[derive(
5256 Debug,
5257 Default,
5258 Clone,
5259 PartialEq,
5260 ::serde::Serialize,
5261 ::serde::Deserialize,
5262 ::derive_builder::Builder,
5263 ::validator::Validate,
5264)]
5265pub struct Max19NumericText {
5266 #[validate(regex = "MAX_19_NUMERIC_TEXT_REGEX")]
5267 #[serde(rename = "$text")]
5268 pub value: String,
5269}
5270#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5271pub enum GoodAndServiceDeliveryChannel1Code {
5272 #[serde(rename = "EDEL")]
5273 Edel,
5274 #[serde(rename = "PULC")]
5275 Pulc,
5276 #[serde(rename = "NDEL")]
5277 Ndel,
5278 #[serde(rename = "OTHN")]
5279 Othn,
5280 #[serde(rename = "OTHP")]
5281 Othp,
5282 #[serde(rename = "SCBA")]
5283 Scba,
5284 #[serde(rename = "SCSA")]
5285 Scsa,
5286 #[default]
5287 Unknown,
5288}
5289#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5290pub enum GracePeriodUnitType1Code {
5291 #[serde(rename = "WEKS")]
5292 Weks,
5293 #[serde(rename = "PMTS")]
5294 Pmts,
5295 #[serde(rename = "OTHP")]
5296 Othp,
5297 #[serde(rename = "OTHN")]
5298 Othn,
5299 #[serde(rename = "MNTH")]
5300 Mnth,
5301 #[serde(rename = "DAYS")]
5302 Days,
5303 #[default]
5304 Unknown,
5305}
5306#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5307pub enum Algorithm13Code {
5308 #[serde(rename = "EA2C")]
5309 Ea2C,
5310 #[serde(rename = "E3DC")]
5311 E3Dc,
5312 #[serde(rename = "DKP9")]
5313 Dkp9,
5314 #[serde(rename = "UKPT")]
5315 Ukpt,
5316 #[serde(rename = "UKA1")]
5317 Uka1,
5318 #[serde(rename = "EA9C")]
5319 Ea9C,
5320 #[serde(rename = "EA5C")]
5321 Ea5C,
5322 #[default]
5323 Unknown,
5324}
5325#[derive(
5326 Debug,
5327 Default,
5328 Clone,
5329 PartialEq,
5330 ::serde::Serialize,
5331 ::serde::Deserialize,
5332 ::derive_builder::Builder,
5333 ::validator::Validate,
5334)]
5335pub struct TrueFalseIndicator {
5336 #[serde(rename = "$text")]
5337 pub value: bool,
5338}
5339#[derive(
5340 Debug,
5341 Default,
5342 Clone,
5343 PartialEq,
5344 ::serde::Serialize,
5345 ::serde::Deserialize,
5346 ::derive_builder::Builder,
5347 ::validator::Validate,
5348)]
5349pub struct Exact12Text {
5350 #[serde(rename = "$text")]
5351 pub value: String,
5352}
5353#[derive(
5354 Debug,
5355 Default,
5356 Clone,
5357 PartialEq,
5358 ::serde::Serialize,
5359 ::serde::Deserialize,
5360 ::derive_builder::Builder,
5361 ::validator::Validate,
5362)]
5363pub struct TransactionLifeCycleIdentification2 {
5364 #[validate]
5365 #[serde(rename = "Id")]
5366 pub id: Exact15Text,
5367}
5368#[derive(
5369 Debug,
5370 Default,
5371 Clone,
5372 PartialEq,
5373 ::serde::Serialize,
5374 ::serde::Deserialize,
5375 ::derive_builder::Builder,
5376 ::validator::Validate,
5377)]
5378pub struct Terminal5 {
5379 #[serde(rename = "TermnlId", skip_serializing_if = "Option::is_none")]
5380 pub termnl_id: Option<TerminalIdentification3>,
5381 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
5382 pub tp: Option<TerminalType1Code>,
5383 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
5384 pub othr_tp: Option<Max35Text>,
5385 #[serde(rename = "Cpblties", skip_serializing_if = "Option::is_none")]
5386 pub cpblties: Option<Capabilities2>,
5387 #[serde(rename = "TermnlIntgtn", skip_serializing_if = "Option::is_none")]
5388 pub termnl_intgtn: Option<TerminalIntegrationCategory1Code>,
5389 #[serde(rename = "GeogcLctn", skip_serializing_if = "Option::is_none")]
5390 pub geogc_lctn: Option<GeographicPointInDecimalDegrees>,
5391 #[serde(rename = "OutdrInd", skip_serializing_if = "Option::is_none")]
5392 pub outdr_ind: Option<TrueFalseIndicator>,
5393 #[serde(rename = "OffPrmissInd", skip_serializing_if = "Option::is_none")]
5394 pub off_prmiss_ind: Option<TrueFalseIndicator>,
5395 #[serde(rename = "OnBrdInd", skip_serializing_if = "Option::is_none")]
5396 pub on_brd_ind: Option<TrueFalseIndicator>,
5397 #[validate(length(min = 0,))]
5398 #[serde(rename = "POICmpnt", default)]
5399 pub poi_cmpnt: Vec<PointOfInteractionComponent13>,
5400}
5401#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5402pub enum CardDataWriting1Code {
5403 #[serde(rename = "ICPY")]
5404 Icpy,
5405 #[serde(rename = "MGST")]
5406 Mgst,
5407 #[serde(rename = "ICCY")]
5408 Iccy,
5409 #[serde(rename = "MSIP")]
5410 Msip,
5411 #[serde(rename = "OTHN")]
5412 Othn,
5413 #[serde(rename = "UNSP")]
5414 Unsp,
5415 #[serde(rename = "OTHP")]
5416 Othp,
5417 #[default]
5418 Unknown,
5419}
5420#[derive(
5421 Debug,
5422 Default,
5423 Clone,
5424 PartialEq,
5425 ::serde::Serialize,
5426 ::serde::Deserialize,
5427 ::derive_builder::Builder,
5428 ::validator::Validate,
5429)]
5430pub struct Max100Text {
5431 #[validate(length(min = 1, max = 100,))]
5432 #[serde(rename = "$text")]
5433 pub value: String,
5434}
5435#[derive(
5436 Debug,
5437 Default,
5438 Clone,
5439 PartialEq,
5440 ::serde::Serialize,
5441 ::serde::Deserialize,
5442 ::derive_builder::Builder,
5443 ::validator::Validate,
5444)]
5445pub struct EncryptedData1 {
5446 #[serde(rename = "Ctrl", skip_serializing_if = "Option::is_none")]
5447 pub ctrl: Option<Exact1HexBinaryText>,
5448 #[serde(rename = "KeySetIdr", skip_serializing_if = "Option::is_none")]
5449 pub key_set_idr: Option<Max8NumericText>,
5450 #[serde(rename = "DrvdInf", skip_serializing_if = "Option::is_none")]
5451 pub drvd_inf: Option<Max32HexBinaryText>,
5452 #[serde(rename = "Algo", skip_serializing_if = "Option::is_none")]
5453 pub algo: Option<Max2NumericText>,
5454 #[serde(rename = "KeyLngth", skip_serializing_if = "Option::is_none")]
5455 pub key_lngth: Option<Max4NumericText>,
5456 #[serde(rename = "KeyPrtcn", skip_serializing_if = "Option::is_none")]
5457 pub key_prtcn: Option<Max2NumericText>,
5458 #[serde(rename = "KeyIndx", skip_serializing_if = "Option::is_none")]
5459 pub key_indx: Option<Max5NumericText>,
5460 #[serde(rename = "PddgMtd", skip_serializing_if = "Option::is_none")]
5461 pub pddg_mtd: Option<Max2NumericText>,
5462 #[serde(rename = "NcrptdDataFrmt", skip_serializing_if = "Option::is_none")]
5463 pub ncrptd_data_frmt: Option<Max2NumericText>,
5464 #[validate(length(min = 1,))]
5465 #[serde(rename = "NcrptdDataElmt", default)]
5466 pub ncrptd_data_elmt: Vec<EncryptedDataElement1>,
5467}
5468#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5469pub enum OutputFormat4Code {
5470 #[serde(rename = "FLNM")]
5471 Flnm,
5472 #[serde(rename = "MREF")]
5473 Mref,
5474 #[serde(rename = "OTHN")]
5475 Othn,
5476 #[serde(rename = "OTHP")]
5477 Othp,
5478 #[serde(rename = "SMSI")]
5479 Smsi,
5480 #[serde(rename = "TEXT")]
5481 Text,
5482 #[serde(rename = "URLI")]
5483 Urli,
5484 #[serde(rename = "HTML")]
5485 Html,
5486 #[default]
5487 Unknown,
5488}
5489#[derive(
5490 Debug,
5491 Default,
5492 Clone,
5493 PartialEq,
5494 ::serde::Serialize,
5495 ::serde::Deserialize,
5496 ::derive_builder::Builder,
5497 ::validator::Validate,
5498)]
5499pub struct Max10KHexBinaryText {
5500 #[validate(regex = "MAX_10_K_HEX_BINARY_TEXT_REGEX")]
5501 #[serde(rename = "$text")]
5502 pub value: String,
5503}
5504#[derive(
5505 Debug,
5506 Default,
5507 Clone,
5508 PartialEq,
5509 ::serde::Serialize,
5510 ::serde::Deserialize,
5511 ::derive_builder::Builder,
5512 ::validator::Validate,
5513)]
5514pub struct SettlementServiceDate2 {
5515 #[serde(rename = "ReqdSttlmDt", skip_serializing_if = "Option::is_none")]
5516 pub reqd_sttlm_dt: Option<IsoDate>,
5517 #[serde(rename = "DfrrdSttlmInd", skip_serializing_if = "Option::is_none")]
5518 pub dfrrd_sttlm_ind: Option<TrueFalseIndicator>,
5519 #[serde(rename = "SttlmDt", skip_serializing_if = "Option::is_none")]
5520 pub sttlm_dt: Option<IsoDate>,
5521 #[serde(rename = "SttlmTm", skip_serializing_if = "Option::is_none")]
5522 pub sttlm_tm: Option<IsoTime>,
5523 #[serde(rename = "SttlmPrd", skip_serializing_if = "Option::is_none")]
5524 pub sttlm_prd: Option<Max35Text>,
5525 #[serde(rename = "SttlmCutOffTm", skip_serializing_if = "Option::is_none")]
5526 pub sttlm_cut_off_tm: Option<IsoDateTime>,
5527}
5528#[derive(
5529 Debug,
5530 Default,
5531 Clone,
5532 PartialEq,
5533 ::serde::Serialize,
5534 ::serde::Deserialize,
5535 ::derive_builder::Builder,
5536 ::validator::Validate,
5537)]
5538pub struct OnBoardDiagnostics1 {
5539 #[serde(rename = "NgnIdleTm", skip_serializing_if = "Option::is_none")]
5540 pub ngn_idle_tm: Option<Max10NumberFraction2>,
5541 #[serde(rename = "NgnTtlIdleTm", skip_serializing_if = "Option::is_none")]
5542 pub ngn_ttl_idle_tm: Option<Max10NumberFraction2>,
5543 #[serde(rename = "NgnHrs", skip_serializing_if = "Option::is_none")]
5544 pub ngn_hrs: Option<Max10NumberFraction2>,
5545 #[serde(rename = "NgnTtlTm", skip_serializing_if = "Option::is_none")]
5546 pub ngn_ttl_tm: Option<Max6NumberFraction2>,
5547 #[serde(rename = "NgnLd", skip_serializing_if = "Option::is_none")]
5548 pub ngn_ld: Option<Max12NumericText>,
5549 #[serde(rename = "NgnRPM", skip_serializing_if = "Option::is_none")]
5550 pub ngn_rpm: Option<Max5NumericText>,
5551 #[serde(rename = "NgnOilTmprtr", skip_serializing_if = "Option::is_none")]
5552 pub ngn_oil_tmprtr: Option<Max6NumberFraction2>,
5553 #[serde(rename = "NgnOilPrssr", skip_serializing_if = "Option::is_none")]
5554 pub ngn_oil_prssr: Option<Max3NumericText>,
5555 #[serde(rename = "NgnOilLifeRmng", skip_serializing_if = "Option::is_none")]
5556 pub ngn_oil_life_rmng: Option<Max3NumericText>,
5557 #[serde(rename = "ChckNgnWrngSts", skip_serializing_if = "Option::is_none")]
5558 pub chck_ngn_wrng_sts: Option<Max35Text>,
5559 #[serde(rename = "FuelTankLvlStart", skip_serializing_if = "Option::is_none")]
5560 pub fuel_tank_lvl_start: Option<Max4NumericText>,
5561 #[serde(rename = "FuelGaugeLvl", skip_serializing_if = "Option::is_none")]
5562 pub fuel_gauge_lvl: Option<Max4NumericText>,
5563 #[serde(rename = "FuelEcnmy", skip_serializing_if = "Option::is_none")]
5564 pub fuel_ecnmy: Option<Max6NumberFraction2>,
5565 #[serde(rename = "RfrgrtnHrs", skip_serializing_if = "Option::is_none")]
5566 pub rfrgrtn_hrs: Option<Max10NumberFraction2>,
5567 #[serde(rename = "RfrgrtnTmprtr", skip_serializing_if = "Option::is_none")]
5568 pub rfrgrtn_tmprtr: Option<Max6NumberFraction2>,
5569 #[serde(rename = "CoolntTmprtr", skip_serializing_if = "Option::is_none")]
5570 pub coolnt_tmprtr: Option<Max6NumberFraction2>,
5571 #[serde(rename = "BttryVltg", skip_serializing_if = "Option::is_none")]
5572 pub bttry_vltg: Option<Max4NumericText>,
5573 #[serde(rename = "HardBrakg", skip_serializing_if = "Option::is_none")]
5574 pub hard_brakg: Option<Max4NumericText>,
5575 #[serde(rename = "HardAcclrtn", skip_serializing_if = "Option::is_none")]
5576 pub hard_acclrtn: Option<Max4NumericText>,
5577}
5578#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5579pub enum GoodsAndServices1Code {
5580 #[serde(rename = "ELEC")]
5581 Elec,
5582 #[serde(rename = "PHYS")]
5583 Phys,
5584 #[serde(rename = "ELPH")]
5585 Elph,
5586 #[default]
5587 Unknown,
5588}
5589#[derive(
5590 Debug,
5591 Default,
5592 Clone,
5593 PartialEq,
5594 ::serde::Serialize,
5595 ::serde::Deserialize,
5596 ::derive_builder::Builder,
5597 ::validator::Validate,
5598)]
5599pub struct Vehicle2 {
5600 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
5601 pub tp: Option<Max35Text>,
5602 #[serde(rename = "NtryMd", skip_serializing_if = "Option::is_none")]
5603 pub ntry_md: Option<CardDataReading5Code>,
5604 #[validate]
5605 #[serde(rename = "Data")]
5606 pub data: Max35Text,
5607}
5608#[derive(
5609 Debug,
5610 Default,
5611 Clone,
5612 PartialEq,
5613 ::serde::Serialize,
5614 ::serde::Deserialize,
5615 ::derive_builder::Builder,
5616 ::validator::Validate,
5617)]
5618pub struct Lodging3 {
5619 #[serde(rename = "Summry", skip_serializing_if = "Option::is_none")]
5620 pub summry: Option<LodgingSummary2>,
5621 #[validate(length(min = 0,))]
5622 #[serde(rename = "LineItm", default)]
5623 pub line_itm: Vec<LodgingLineItem2>,
5624}
5625#[derive(
5626 Debug,
5627 Default,
5628 Clone,
5629 PartialEq,
5630 ::serde::Serialize,
5631 ::serde::Deserialize,
5632 ::derive_builder::Builder,
5633 ::validator::Validate,
5634)]
5635pub struct Max40KText {
5636 #[validate(length(min = 1, max = 40000,))]
5637 #[serde(rename = "$text")]
5638 pub value: String,
5639}
5640#[derive(
5641 Debug,
5642 Default,
5643 Clone,
5644 PartialEq,
5645 ::serde::Serialize,
5646 ::serde::Deserialize,
5647 ::derive_builder::Builder,
5648 ::validator::Validate,
5649)]
5650pub struct PointOfInteractionComponent13 {
5651 #[serde(rename = "Tp")]
5652 pub tp: PoiComponentType5Code,
5653 #[validate]
5654 #[serde(rename = "Id")]
5655 pub id: PointOfInteractionComponentIdentification3,
5656 #[serde(rename = "Sts", skip_serializing_if = "Option::is_none")]
5657 pub sts: Option<PointOfInteractionComponentStatus3>,
5658 #[validate(length(min = 0,))]
5659 #[serde(rename = "StdCmplc", default)]
5660 pub std_cmplc: Vec<GenericIdentification48>,
5661 #[serde(rename = "Chrtcs", skip_serializing_if = "Option::is_none")]
5662 pub chrtcs: Option<PointOfInteractionComponentCharacteristics4>,
5663 #[validate(length(min = 0,))]
5664 #[serde(rename = "Assmnt", default)]
5665 pub assmnt: Vec<PointOfInteractionComponentIdentification3>,
5666}
5667#[derive(
5668 Debug,
5669 Default,
5670 Clone,
5671 PartialEq,
5672 ::serde::Serialize,
5673 ::serde::Deserialize,
5674 ::derive_builder::Builder,
5675 ::validator::Validate,
5676)]
5677pub struct DepositDetails2 {
5678 #[serde(rename = "Tp")]
5679 pub tp: CardDepositType1Code,
5680 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
5681 pub othr_tp: Option<Max35Text>,
5682 #[serde(rename = "Amt", skip_serializing_if = "Option::is_none")]
5683 pub amt: Option<Amount16>,
5684}
5685#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5686pub enum PoiComponentStatus1Code {
5687 #[serde(rename = "WAIT")]
5688 Wait,
5689 #[serde(rename = "OUTD")]
5690 Outd,
5691 #[serde(rename = "OPER")]
5692 Oper,
5693 #[serde(rename = "DACT")]
5694 Dact,
5695 #[default]
5696 Unknown,
5697}
5698#[derive(
5699 Debug,
5700 Default,
5701 Clone,
5702 PartialEq,
5703 ::serde::Serialize,
5704 ::serde::Deserialize,
5705 ::derive_builder::Builder,
5706 ::validator::Validate,
5707)]
5708pub struct IsoDateTime {
5709 #[serde(rename = "$text")]
5710 pub value: ::chrono::DateTime<::chrono::Utc>,
5711}
5712#[derive(
5713 Debug,
5714 Default,
5715 Clone,
5716 PartialEq,
5717 ::serde::Serialize,
5718 ::serde::Deserialize,
5719 ::derive_builder::Builder,
5720 ::validator::Validate,
5721)]
5722pub struct PassengerTransportSummary2 {
5723 #[serde(rename = "DocNb", skip_serializing_if = "Option::is_none")]
5724 pub doc_nb: Option<Max35Text>,
5725 #[serde(rename = "Rsvatn", skip_serializing_if = "Option::is_none")]
5726 pub rsvatn: Option<ReservationDetails3>,
5727 #[serde(rename = "TrvlAuthstnCd", skip_serializing_if = "Option::is_none")]
5728 pub trvl_authstn_cd: Option<Max70Text>,
5729 #[serde(rename = "TcktIssr", skip_serializing_if = "Option::is_none")]
5730 pub tckt_issr: Option<Max35Text>,
5731 #[serde(rename = "OpnTcktInd", skip_serializing_if = "Option::is_none")]
5732 pub opn_tckt_ind: Option<TrueFalseIndicator>,
5733 #[validate(length(min = 0,))]
5734 #[serde(rename = "CstmrRef", default)]
5735 pub cstmr_ref: Vec<CustomerReference1>,
5736 #[validate(length(min = 0,))]
5737 #[serde(rename = "Pssngr", default)]
5738 pub pssngr: Vec<Customer8>,
5739 #[serde(rename = "Dprture", skip_serializing_if = "Option::is_none")]
5740 pub dprture: Option<DepartureOrArrival1>,
5741 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
5742 pub drtn: Option<Max4NumericText>,
5743 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
5744 pub insrnc_ind: Option<TrueFalseIndicator>,
5745 #[validate(length(min = 0,))]
5746 #[serde(rename = "TtlAmt", default)]
5747 pub ttl_amt: Vec<AmountDetails2>,
5748 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
5749 pub summry_cmmdty_id: Option<Max35Text>,
5750 #[serde(rename = "LltyPrgrmm", skip_serializing_if = "Option::is_none")]
5751 pub llty_prgrmm: Option<LoyaltyProgramme2>,
5752 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
5753 pub addtl_data: Option<Max350Text>,
5754}
5755#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5756pub enum StorageLocation1Code {
5757 #[serde(rename = "CAWL")]
5758 Cawl,
5759 #[serde(rename = "DVCE")]
5760 Dvce,
5761 #[serde(rename = "ISWL")]
5762 Iswl,
5763 #[serde(rename = "ONFL")]
5764 Onfl,
5765 #[serde(rename = "OTHN")]
5766 Othn,
5767 #[serde(rename = "OTHP")]
5768 Othp,
5769 #[serde(rename = "TPWL")]
5770 Tpwl,
5771 #[default]
5772 Unknown,
5773}
5774#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
5775pub enum InstalmentPeriod1Code {
5776 #[serde(rename = "MNTH")]
5777 Mnth,
5778 #[serde(rename = "ANNU")]
5779 Annu,
5780 #[default]
5781 Unknown,
5782}
5783#[derive(
5784 Debug,
5785 Default,
5786 Clone,
5787 PartialEq,
5788 ::serde::Serialize,
5789 ::serde::Deserialize,
5790 ::derive_builder::Builder,
5791 ::validator::Validate,
5792)]
5793pub struct LocalData5 {
5794 #[serde(rename = "Lang")]
5795 pub lang: IsoMax3ALanguageCode,
5796 #[serde(rename = "CmonNm", skip_serializing_if = "Option::is_none")]
5797 pub cmon_nm: Option<Max280Text>,
5798 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
5799 pub lgl_corp_nm: Option<Max210Text>,
5800 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
5801 pub adr: Option<Address3>,
5802 #[serde(rename = "AddtlAdrInf", skip_serializing_if = "Option::is_none")]
5803 pub addtl_adr_inf: Option<Max512Text>,
5804 #[validate(length(min = 0,))]
5805 #[serde(rename = "AddtlData", default)]
5806 pub addtl_data: Vec<AdditionalData1>,
5807}
5808#[derive(
5809 Debug,
5810 Default,
5811 Clone,
5812 PartialEq,
5813 ::serde::Serialize,
5814 ::serde::Deserialize,
5815 ::derive_builder::Builder,
5816 ::validator::Validate,
5817)]
5818pub struct Token2 {
5819 #[serde(rename = "PmtTkn", skip_serializing_if = "Option::is_none")]
5820 pub pmt_tkn: Option<Max19NumericText>,
5821 #[serde(rename = "TknXpryDt", skip_serializing_if = "Option::is_none")]
5822 pub tkn_xpry_dt: Option<IsoYearMonth>,
5823 #[serde(rename = "TknRqstrId", skip_serializing_if = "Option::is_none")]
5824 pub tkn_rqstr_id: Option<Max11NumericText>,
5825 #[serde(rename = "TknAssrncData", skip_serializing_if = "Option::is_none")]
5826 pub tkn_assrnc_data: Option<Max140Text>,
5827 #[serde(rename = "TknAssrncMtd", skip_serializing_if = "Option::is_none")]
5828 pub tkn_assrnc_mtd: Option<Max2NumericText>,
5829 #[serde(rename = "TknInittdInd", skip_serializing_if = "Option::is_none")]
5830 pub tkn_inittd_ind: Option<TrueFalseIndicator>,
5831 #[serde(rename = "StorgLctn", skip_serializing_if = "Option::is_none")]
5832 pub storg_lctn: Option<StorageLocation1Code>,
5833 #[serde(rename = "OthrStorgLctn", skip_serializing_if = "Option::is_none")]
5834 pub othr_storg_lctn: Option<Max35Text>,
5835 #[serde(rename = "PrtcnMtd", skip_serializing_if = "Option::is_none")]
5836 pub prtcn_mtd: Option<ProtectionMethod1Code>,
5837 #[serde(rename = "OthrPrtcnMtd", skip_serializing_if = "Option::is_none")]
5838 pub othr_prtcn_mtd: Option<Max35Text>,
5839 #[validate(length(min = 0,))]
5840 #[serde(rename = "AddtlData", default)]
5841 pub addtl_data: Vec<AdditionalData1>,
5842}
5843#[derive(
5844 Debug,
5845 Default,
5846 Clone,
5847 PartialEq,
5848 ::serde::Serialize,
5849 ::serde::Deserialize,
5850 ::derive_builder::Builder,
5851 ::validator::Validate,
5852)]
5853pub struct FleetDiscountTotals1 {
5854 #[serde(rename = "TtlAmt", skip_serializing_if = "Option::is_none")]
5855 pub ttl_amt: Option<ImpliedCurrencyAndAmount>,
5856 #[serde(rename = "FuelAmt", skip_serializing_if = "Option::is_none")]
5857 pub fuel_amt: Option<ImpliedCurrencyAndAmount>,
5858 #[serde(rename = "NonFuelAmt", skip_serializing_if = "Option::is_none")]
5859 pub non_fuel_amt: Option<ImpliedCurrencyAndAmount>,
5860}
5861#[derive(
5862 Debug,
5863 Default,
5864 Clone,
5865 PartialEq,
5866 ::serde::Serialize,
5867 ::serde::Deserialize,
5868 ::derive_builder::Builder,
5869 ::validator::Validate,
5870)]
5871pub struct Distance1 {
5872 #[serde(rename = "UnitOfMeasr", skip_serializing_if = "Option::is_none")]
5873 pub unit_of_measr: Option<UnitOfMeasure10Code>,
5874 #[serde(rename = "OdmtrStart", skip_serializing_if = "Option::is_none")]
5875 pub odmtr_start: Option<Max10NumericText>,
5876 #[serde(rename = "OdmtrRtr", skip_serializing_if = "Option::is_none")]
5877 pub odmtr_rtr: Option<Max10NumericText>,
5878 #[serde(rename = "TtlDstnc", skip_serializing_if = "Option::is_none")]
5879 pub ttl_dstnc: Option<Max10NumericText>,
5880 #[serde(rename = "FreeDstnc", skip_serializing_if = "Option::is_none")]
5881 pub free_dstnc: Option<Max10NumericText>,
5882 #[serde(rename = "Rate", skip_serializing_if = "Option::is_none")]
5883 pub rate: Option<ImpliedCurrencyAndAmount>,
5884}
5885#[derive(
5886 Debug,
5887 Default,
5888 Clone,
5889 PartialEq,
5890 ::serde::Serialize,
5891 ::serde::Deserialize,
5892 ::derive_builder::Builder,
5893 ::validator::Validate,
5894)]
5895pub struct Max6Text {
5896 #[validate(length(min = 1, max = 6,))]
5897 #[serde(rename = "$text")]
5898 pub value: String,
5899}
5900#[derive(
5901 Debug,
5902 Default,
5903 Clone,
5904 PartialEq,
5905 ::serde::Serialize,
5906 ::serde::Deserialize,
5907 ::derive_builder::Builder,
5908 ::validator::Validate,
5909)]
5910pub struct AdditionalCharacteristicDetails1 {
5911 #[validate]
5912 #[serde(rename = "Tp")]
5913 pub tp: Max35Text,
5914 #[serde(rename = "PrvddBy", skip_serializing_if = "Option::is_none")]
5915 pub prvdd_by: Option<Max35Text>,
5916}
5917#[derive(
5918 Debug,
5919 Default,
5920 Clone,
5921 PartialEq,
5922 ::serde::Serialize,
5923 ::serde::Deserialize,
5924 ::derive_builder::Builder,
5925 ::validator::Validate,
5926)]
5927pub struct PartyIdentification261 {
5928 #[serde(rename = "Cd", skip_serializing_if = "Option::is_none")]
5929 pub cd: Option<Max35Text>,
5930 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
5931 pub assgnr: Option<Max35Text>,
5932 #[serde(rename = "IATACd", skip_serializing_if = "Option::is_none")]
5933 pub iata_cd: Option<Max35Text>,
5934 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
5935 pub nm: Option<Max70Text>,
5936 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
5937 pub shrt_nm: Option<Max35Text>,
5938 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
5939 pub adr: Option<Address2>,
5940 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
5941 pub ctct: Option<Contact6>,
5942}
5943#[derive(
5944 Debug,
5945 Default,
5946 Clone,
5947 PartialEq,
5948 ::serde::Serialize,
5949 ::serde::Deserialize,
5950 ::derive_builder::Builder,
5951 ::validator::Validate,
5952)]
5953pub struct InvoiceSummary2 {
5954 #[serde(rename = "InvcNb", skip_serializing_if = "Option::is_none")]
5955 pub invc_nb: Option<Max70Text>,
5956 #[serde(rename = "Sellr", skip_serializing_if = "Option::is_none")]
5957 pub sellr: Option<PartyIdentification259>,
5958 #[serde(rename = "Buyr", skip_serializing_if = "Option::is_none")]
5959 pub buyr: Option<PartyIdentification259>,
5960 #[serde(rename = "InvcDt", skip_serializing_if = "Option::is_none")]
5961 pub invc_dt: Option<IsoDate>,
5962 #[serde(rename = "InvcCreDtTm", skip_serializing_if = "Option::is_none")]
5963 pub invc_cre_dt_tm: Option<IsoDateTime>,
5964 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
5965 pub summry_cmmdty_id: Option<Max35Text>,
5966 #[serde(rename = "FrghtAmt", skip_serializing_if = "Option::is_none")]
5967 pub frght_amt: Option<ImpliedCurrencyAndAmount>,
5968 #[validate(length(min = 0,))]
5969 #[serde(rename = "TaxTtl", default)]
5970 pub tax_ttl: Vec<Tax39>,
5971 #[serde(rename = "TaxRclmMtd", skip_serializing_if = "Option::is_none")]
5972 pub tax_rclm_mtd: Option<TaxReclaimMethod1Code>,
5973 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
5974 pub addtl_data: Option<Max350Text>,
5975}
5976#[derive(
5977 Debug,
5978 Default,
5979 Clone,
5980 PartialEq,
5981 ::serde::Serialize,
5982 ::serde::Deserialize,
5983 ::derive_builder::Builder,
5984 ::validator::Validate,
5985)]
5986pub struct HiredVehicle2 {
5987 #[serde(rename = "CpnyTp", skip_serializing_if = "Option::is_none")]
5988 pub cpny_tp: Option<Max35Text>,
5989 #[serde(rename = "CpnyNm", skip_serializing_if = "Option::is_none")]
5990 pub cpny_nm: Option<Max70Text>,
5991 #[serde(rename = "TpOfVhcl", skip_serializing_if = "Option::is_none")]
5992 pub tp_of_vhcl: Option<Max35Text>,
5993 #[serde(rename = "VhclId", skip_serializing_if = "Option::is_none")]
5994 pub vhcl_id: Option<Max35Text>,
5995 #[serde(rename = "DrvrId", skip_serializing_if = "Option::is_none")]
5996 pub drvr_id: Option<Max35Text>,
5997 #[serde(rename = "DrvrTaxId", skip_serializing_if = "Option::is_none")]
5998 pub drvr_tax_id: Option<Max35Text>,
5999 #[serde(rename = "Dstn", skip_serializing_if = "Option::is_none")]
6000 pub dstn: Option<Destination3>,
6001}
6002#[derive(
6003 Debug,
6004 Default,
6005 Clone,
6006 PartialEq,
6007 ::serde::Serialize,
6008 ::serde::Deserialize,
6009 ::derive_builder::Builder,
6010 ::validator::Validate,
6011)]
6012pub struct PartyIdentification200 {
6013 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
6014 pub id: Option<Max35Text>,
6015 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6016 pub tp: Option<PartyType28Code>,
6017 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
6018 pub othr_tp: Option<Max35Text>,
6019 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
6020 pub assgnr: Option<PartyType18Code>,
6021 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
6022 pub ctry: Option<Iso3NumericCountryCode>,
6023 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
6024 pub shrt_nm: Option<Max35Text>,
6025}
6026#[derive(
6027 Debug,
6028 Default,
6029 Clone,
6030 PartialEq,
6031 ::serde::Serialize,
6032 ::serde::Deserialize,
6033 ::derive_builder::Builder,
6034 ::validator::Validate,
6035)]
6036pub struct AdditionalInformation29 {
6037 #[serde(rename = "Rcpt", skip_serializing_if = "Option::is_none")]
6038 pub rcpt: Option<PartyType22Code>,
6039 #[serde(rename = "OthrRcpt", skip_serializing_if = "Option::is_none")]
6040 pub othr_rcpt: Option<Max35Text>,
6041 #[validate(length(min = 0,))]
6042 #[serde(rename = "Trgt", default)]
6043 pub trgt: Vec<UserInterface6Code>,
6044 #[serde(rename = "OthrTrgt", skip_serializing_if = "Option::is_none")]
6045 pub othr_trgt: Option<Max35Text>,
6046 #[serde(rename = "Frmt", skip_serializing_if = "Option::is_none")]
6047 pub frmt: Option<OutputFormat4Code>,
6048 #[serde(rename = "OthrFrmt", skip_serializing_if = "Option::is_none")]
6049 pub othr_frmt: Option<Max35Text>,
6050 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6051 pub tp: Option<Max35Text>,
6052 #[serde(rename = "Lang")]
6053 pub lang: IsoMax3ALanguageCode,
6054 #[validate]
6055 #[serde(rename = "Val")]
6056 pub val: Max20KText,
6057}
6058#[derive(
6059 Debug,
6060 Default,
6061 Clone,
6062 PartialEq,
6063 ::serde::Serialize,
6064 ::serde::Deserialize,
6065 ::derive_builder::Builder,
6066 ::validator::Validate,
6067)]
6068pub struct TripInformation1 {
6069 #[serde(rename = "TripNb", skip_serializing_if = "Option::is_none")]
6070 pub trip_nb: Option<Max35Text>,
6071 #[serde(rename = "JobNb", skip_serializing_if = "Option::is_none")]
6072 pub job_nb: Option<Max10Text>,
6073 #[serde(rename = "WorkOrdr", skip_serializing_if = "Option::is_none")]
6074 pub work_ordr: Option<Max70Text>,
6075 #[serde(rename = "InvcNb", skip_serializing_if = "Option::is_none")]
6076 pub invc_nb: Option<Max70Text>,
6077 #[serde(rename = "BllgId", skip_serializing_if = "Option::is_none")]
6078 pub bllg_id: Option<Max70Text>,
6079 #[serde(rename = "CtrlNb", skip_serializing_if = "Option::is_none")]
6080 pub ctrl_nb: Option<Max35Text>,
6081 #[serde(rename = "DlvryTcktNb", skip_serializing_if = "Option::is_none")]
6082 pub dlvry_tckt_nb: Option<Max35Text>,
6083}
6084#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6085pub enum ProtectionMethod1Code {
6086 #[serde(rename = "OTHN")]
6087 Othn,
6088 #[serde(rename = "OTHP")]
6089 Othp,
6090 #[serde(rename = "SELM")]
6091 Selm,
6092 #[serde(rename = "SNCL")]
6093 Sncl,
6094 #[serde(rename = "SOFT")]
6095 Soft,
6096 #[serde(rename = "TEEN")]
6097 Teen,
6098 #[default]
6099 Unknown,
6100}
6101#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6102pub enum PeriodUnit3Code {
6103 #[serde(rename = "OTHP")]
6104 Othp,
6105 #[serde(rename = "OTHN")]
6106 Othn,
6107 #[serde(rename = "MNTH")]
6108 Mnth,
6109 #[serde(rename = "WEEK")]
6110 Week,
6111 #[serde(rename = "YEAR")]
6112 Year,
6113 #[serde(rename = "DAYS")]
6114 Days,
6115 #[serde(rename = "EXDY")]
6116 Exdy,
6117 #[default]
6118 Unknown,
6119}
6120#[derive(
6121 Debug,
6122 Default,
6123 Clone,
6124 PartialEq,
6125 ::serde::Serialize,
6126 ::serde::Deserialize,
6127 ::derive_builder::Builder,
6128 ::validator::Validate,
6129)]
6130pub struct AdditionalAction1 {
6131 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6132 pub tp: Option<ActionType10Code>,
6133 #[serde(rename = "Dstn", skip_serializing_if = "Option::is_none")]
6134 pub dstn: Option<PartyType21Code>,
6135 #[serde(rename = "OthrDstn", skip_serializing_if = "Option::is_none")]
6136 pub othr_dstn: Option<Max35Text>,
6137 #[serde(rename = "DstnTp", skip_serializing_if = "Option::is_none")]
6138 pub dstn_tp: Option<ActionDestination1Code>,
6139 #[serde(rename = "OthrDstnTp", skip_serializing_if = "Option::is_none")]
6140 pub othr_dstn_tp: Option<Max35Text>,
6141 #[serde(rename = "DstnAdr", skip_serializing_if = "Option::is_none")]
6142 pub dstn_adr: Option<Max70Text>,
6143 #[serde(rename = "Frmt", skip_serializing_if = "Option::is_none")]
6144 pub frmt: Option<OutputFormat4Code>,
6145 #[serde(rename = "OthrFrmt", skip_serializing_if = "Option::is_none")]
6146 pub othr_frmt: Option<Max35Text>,
6147 #[serde(rename = "Cntt", skip_serializing_if = "Option::is_none")]
6148 pub cntt: Option<Content1>,
6149}
6150#[derive(
6151 Debug,
6152 Default,
6153 Clone,
6154 PartialEq,
6155 ::serde::Serialize,
6156 ::serde::Deserialize,
6157 ::derive_builder::Builder,
6158 ::validator::Validate,
6159)]
6160pub struct CardProgrammeMode3 {
6161 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6162 pub tp: Option<Max35Text>,
6163 #[validate]
6164 #[serde(rename = "Id")]
6165 pub id: Max35Text,
6166 #[validate(length(min = 0,))]
6167 #[serde(rename = "AddtlId", default)]
6168 pub addtl_id: Vec<AdditionalData1>,
6169}
6170#[derive(
6171 Debug,
6172 Default,
6173 Clone,
6174 PartialEq,
6175 ::serde::Serialize,
6176 ::serde::Deserialize,
6177 ::derive_builder::Builder,
6178 ::validator::Validate,
6179)]
6180pub struct IsoMax3ACountryCode {
6181 #[validate(regex = "ISO_MAX_3_A_COUNTRY_CODE_REGEX")]
6182 #[serde(rename = "$text")]
6183 pub value: String,
6184}
6185#[derive(
6186 Debug,
6187 Default,
6188 Clone,
6189 PartialEq,
6190 ::serde::Serialize,
6191 ::serde::Deserialize,
6192 ::derive_builder::Builder,
6193 ::validator::Validate,
6194)]
6195pub struct Amount17 {
6196 #[validate]
6197 #[serde(rename = "Amt")]
6198 pub amt: ImpliedCurrencyAndAmount,
6199 #[serde(rename = "Ccy", skip_serializing_if = "Option::is_none")]
6200 pub ccy: Option<Iso3NumericCurrencyCode>,
6201 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
6202 pub cdt_dbt: Option<CreditDebit3Code>,
6203}
6204#[derive(
6205 Debug,
6206 Default,
6207 Clone,
6208 PartialEq,
6209 ::serde::Serialize,
6210 ::serde::Deserialize,
6211 ::derive_builder::Builder,
6212 ::validator::Validate,
6213)]
6214pub struct Contact1 {
6215 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
6216 pub nm: Option<Max70Text>,
6217 #[serde(rename = "HomePhneNb", skip_serializing_if = "Option::is_none")]
6218 pub home_phne_nb: Option<PhoneNumber>,
6219 #[serde(rename = "BizPhneNb", skip_serializing_if = "Option::is_none")]
6220 pub biz_phne_nb: Option<PhoneNumber>,
6221 #[serde(rename = "MobPhneNb", skip_serializing_if = "Option::is_none")]
6222 pub mob_phne_nb: Option<PhoneNumber>,
6223 #[serde(rename = "OthrPhneNb", skip_serializing_if = "Option::is_none")]
6224 pub othr_phne_nb: Option<PhoneNumber>,
6225 #[serde(rename = "PrsnlEmailAdr", skip_serializing_if = "Option::is_none")]
6226 pub prsnl_email_adr: Option<Max256Text>,
6227 #[serde(rename = "BizEmailAdr", skip_serializing_if = "Option::is_none")]
6228 pub biz_email_adr: Option<Max256Text>,
6229 #[serde(rename = "OthrEmailAdr", skip_serializing_if = "Option::is_none")]
6230 pub othr_email_adr: Option<Max256Text>,
6231 #[serde(rename = "Lang", skip_serializing_if = "Option::is_none")]
6232 pub lang: Option<Iso2ALanguageCode>,
6233}
6234#[derive(
6235 Debug,
6236 Default,
6237 Clone,
6238 PartialEq,
6239 ::serde::Serialize,
6240 ::serde::Deserialize,
6241 ::derive_builder::Builder,
6242 ::validator::Validate,
6243)]
6244pub struct LoyaltyProgramme2 {
6245 #[serde(rename = "PrgrmmTp", skip_serializing_if = "Option::is_none")]
6246 pub prgrmm_tp: Option<Max35Text>,
6247 #[serde(rename = "PrgmId", skip_serializing_if = "Option::is_none")]
6248 pub prgm_id: Option<Max70Text>,
6249 #[serde(rename = "PtcptId", skip_serializing_if = "Option::is_none")]
6250 pub ptcpt_id: Option<Max70Text>,
6251}
6252#[derive(
6253 Debug,
6254 Default,
6255 Clone,
6256 PartialEq,
6257 ::serde::Serialize,
6258 ::serde::Deserialize,
6259 ::derive_builder::Builder,
6260 ::validator::Validate,
6261)]
6262pub struct PartyIdentification208 {
6263 #[validate]
6264 #[serde(rename = "Tp")]
6265 pub tp: Max4Text,
6266 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
6267 pub othr_tp: Option<Max35Text>,
6268 #[validate]
6269 #[serde(rename = "Id")]
6270 pub id: Max70Text,
6271 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
6272 pub assgnr: Option<Max35Text>,
6273}
6274#[derive(
6275 Debug,
6276 Default,
6277 Clone,
6278 PartialEq,
6279 ::serde::Serialize,
6280 ::serde::Deserialize,
6281 ::derive_builder::Builder,
6282 ::validator::Validate,
6283)]
6284pub struct TransferService2 {
6285 #[serde(rename = "SvcPrvdr", skip_serializing_if = "Option::is_none")]
6286 pub svc_prvdr: Option<Max35Text>,
6287 #[serde(rename = "SvcNm", skip_serializing_if = "Option::is_none")]
6288 pub svc_nm: Option<Max35Text>,
6289 #[serde(rename = "Ref", skip_serializing_if = "Option::is_none")]
6290 pub r#ref: Option<Max35Text>,
6291 #[serde(rename = "BizPurp", skip_serializing_if = "Option::is_none")]
6292 pub biz_purp: Option<Max500Text>,
6293 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
6294 pub desc: Option<Max256Text>,
6295}
6296#[derive(
6297 Debug,
6298 Default,
6299 Clone,
6300 PartialEq,
6301 ::serde::Serialize,
6302 ::serde::Deserialize,
6303 ::derive_builder::Builder,
6304 ::validator::Validate,
6305)]
6306pub struct Iso8583TransactionTypeCode {
6307 #[validate(regex = "ISO_8583_TRANSACTION_TYPE_CODE_REGEX")]
6308 #[serde(rename = "$text")]
6309 pub value: String,
6310}
6311#[derive(
6312 Debug,
6313 Default,
6314 Clone,
6315 PartialEq,
6316 ::serde::Serialize,
6317 ::serde::Deserialize,
6318 ::derive_builder::Builder,
6319 ::validator::Validate,
6320)]
6321pub struct DigestedData5 {
6322 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
6323 pub vrsn: Option<Number>,
6324 #[validate]
6325 #[serde(rename = "DgstAlgo")]
6326 pub dgst_algo: AlgorithmIdentification21,
6327 #[validate]
6328 #[serde(rename = "NcpsltdCntt")]
6329 pub ncpsltd_cntt: EncapsulatedContent3,
6330 #[validate]
6331 #[serde(rename = "Dgst")]
6332 pub dgst: Max140Binary,
6333}
6334#[derive(
6335 Debug,
6336 Default,
6337 Clone,
6338 PartialEq,
6339 ::serde::Serialize,
6340 ::serde::Deserialize,
6341 ::derive_builder::Builder,
6342 ::validator::Validate,
6343)]
6344pub struct AdditionalData1 {
6345 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6346 pub tp: Option<Max35Text>,
6347 #[serde(rename = "Val", skip_serializing_if = "Option::is_none")]
6348 pub val: Option<Max2048Text>,
6349}
6350#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6351pub enum Frequency12Code {
6352 #[serde(rename = "YEAR")]
6353 Year,
6354 #[serde(rename = "DAIL")]
6355 Dail,
6356 #[serde(rename = "FRTN")]
6357 Frtn,
6358 #[serde(rename = "MNTH")]
6359 Mnth,
6360 #[serde(rename = "QURT")]
6361 Qurt,
6362 #[serde(rename = "MIAN")]
6363 Mian,
6364 #[serde(rename = "TEND")]
6365 Tend,
6366 #[serde(rename = "WEEK")]
6367 Week,
6368 #[default]
6369 Unknown,
6370}
6371#[derive(
6372 Debug,
6373 Default,
6374 Clone,
6375 PartialEq,
6376 ::serde::Serialize,
6377 ::serde::Deserialize,
6378 ::derive_builder::Builder,
6379 ::validator::Validate,
6380)]
6381pub struct Customer4 {
6382 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6383 pub tp: Option<CustomerType2Code>,
6384 #[serde(rename = "RefNb", skip_serializing_if = "Option::is_none")]
6385 pub ref_nb: Option<Max35Text>,
6386 #[validate(length(min = 0,))]
6387 #[serde(rename = "TaxRegnId", default)]
6388 pub tax_regn_id: Vec<Max70Text>,
6389 #[serde(rename = "AuthrsdCtctCpny", skip_serializing_if = "Option::is_none")]
6390 pub authrsd_ctct_cpny: Option<Max70Text>,
6391 #[serde(rename = "AuthrsdCtctNm", skip_serializing_if = "Option::is_none")]
6392 pub authrsd_ctct_nm: Option<Max70Text>,
6393 #[serde(rename = "AuthrsdCtctPhneNb", skip_serializing_if = "Option::is_none")]
6394 pub authrsd_ctct_phne_nb: Option<PhoneNumber>,
6395 #[serde(rename = "VIPInd", skip_serializing_if = "Option::is_none")]
6396 pub vip_ind: Option<TrueFalseIndicator>,
6397 #[serde(rename = "CstmrRltsh", skip_serializing_if = "Option::is_none")]
6398 pub cstmr_rltsh: Option<Max35Text>,
6399}
6400#[derive(
6401 Debug,
6402 Default,
6403 Clone,
6404 PartialEq,
6405 ::serde::Serialize,
6406 ::serde::Deserialize,
6407 ::derive_builder::Builder,
6408 ::validator::Validate,
6409)]
6410pub struct Max210Text {
6411 #[validate(length(min = 1, max = 210,))]
6412 #[serde(rename = "$text")]
6413 pub value: String,
6414}
6415#[derive(
6416 Debug,
6417 Default,
6418 Clone,
6419 PartialEq,
6420 ::serde::Serialize,
6421 ::serde::Deserialize,
6422 ::derive_builder::Builder,
6423 ::validator::Validate,
6424)]
6425pub struct Iso3NumericCurrencyCode {
6426 #[validate(regex = "ISO_3_NUMERIC_CURRENCY_CODE_REGEX")]
6427 #[serde(rename = "$text")]
6428 pub value: String,
6429}
6430#[derive(
6431 Debug,
6432 Default,
6433 Clone,
6434 PartialEq,
6435 ::serde::Serialize,
6436 ::serde::Deserialize,
6437 ::derive_builder::Builder,
6438 ::validator::Validate,
6439)]
6440pub struct LocalAmenity1 {
6441 #[serde(rename = "Tp")]
6442 pub tp: LocationAmenity1Code,
6443 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
6444 pub othr_tp: Option<Max35Text>,
6445 #[serde(rename = "AvlblInd", skip_serializing_if = "Option::is_none")]
6446 pub avlbl_ind: Option<TrueFalseIndicator>,
6447}
6448#[derive(
6449 Debug,
6450 Default,
6451 Clone,
6452 PartialEq,
6453 ::serde::Serialize,
6454 ::serde::Deserialize,
6455 ::derive_builder::Builder,
6456 ::validator::Validate,
6457)]
6458pub struct ExternalEncryptedElementIdentification1Code {
6459 #[validate(regex = "EXTERNAL_ENCRYPTED_ELEMENT_IDENTIFICATION_1_CODE_REGEX")]
6460 #[serde(rename = "$text")]
6461 pub value: String,
6462}
6463#[derive(
6464 Debug,
6465 Default,
6466 Clone,
6467 PartialEq,
6468 ::serde::Serialize,
6469 ::serde::Deserialize,
6470 ::derive_builder::Builder,
6471 ::validator::Validate,
6472)]
6473pub struct PinData1 {
6474 #[serde(rename = "Ctrl", skip_serializing_if = "Option::is_none")]
6475 pub ctrl: Option<Exact1HexBinaryText>,
6476 #[serde(rename = "KeySetIdr", skip_serializing_if = "Option::is_none")]
6477 pub key_set_idr: Option<Max8NumericText>,
6478 #[serde(rename = "DrvdInf", skip_serializing_if = "Option::is_none")]
6479 pub drvd_inf: Option<Max32HexBinaryText>,
6480 #[serde(rename = "Algo", skip_serializing_if = "Option::is_none")]
6481 pub algo: Option<Max2NumericText>,
6482 #[serde(rename = "KeyLngth", skip_serializing_if = "Option::is_none")]
6483 pub key_lngth: Option<Max4NumericText>,
6484 #[serde(rename = "KeyPrtcn", skip_serializing_if = "Option::is_none")]
6485 pub key_prtcn: Option<Max2NumericText>,
6486 #[serde(rename = "KeyIndx", skip_serializing_if = "Option::is_none")]
6487 pub key_indx: Option<Max5NumericText>,
6488 #[validate]
6489 #[serde(rename = "PINBlckFrmt")]
6490 pub pin_blck_frmt: Max2NumericText,
6491 #[validate]
6492 #[serde(rename = "NcrptdPINBlck")]
6493 pub ncrptd_pin_blck: Max16HexBinaryText,
6494}
6495#[derive(
6496 Debug,
6497 Default,
6498 Clone,
6499 PartialEq,
6500 ::serde::Serialize,
6501 ::serde::Deserialize,
6502 ::derive_builder::Builder,
6503 ::validator::Validate,
6504)]
6505pub struct KeyTransport5 {
6506 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
6507 pub vrsn: Option<Number>,
6508 #[serde(rename = "RcptId")]
6509 pub rcpt_id: Recipient5Choice,
6510 #[validate]
6511 #[serde(rename = "KeyNcrptnAlgo")]
6512 pub key_ncrptn_algo: AlgorithmIdentification19,
6513 #[validate]
6514 #[serde(rename = "NcrptdKey")]
6515 pub ncrptd_key: Max5000Binary,
6516}
6517#[derive(
6518 Debug,
6519 Default,
6520 Clone,
6521 PartialEq,
6522 ::serde::Serialize,
6523 ::serde::Deserialize,
6524 ::derive_builder::Builder,
6525 ::validator::Validate,
6526)]
6527pub struct Max3NumericText {
6528 #[validate(regex = "MAX_3_NUMERIC_TEXT_REGEX")]
6529 #[serde(rename = "$text")]
6530 pub value: String,
6531}
6532#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6533pub enum FundingSourceType2Code {
6534 #[serde(rename = "LOYL")]
6535 Loyl,
6536 #[serde(rename = "OTHN")]
6537 Othn,
6538 #[serde(rename = "OTHP")]
6539 Othp,
6540 #[serde(rename = "SVNG")]
6541 Svng,
6542 #[serde(rename = "UVRL")]
6543 Uvrl,
6544 #[serde(rename = "CASH")]
6545 Cash,
6546 #[serde(rename = "CRDT")]
6547 Crdt,
6548 #[serde(rename = "CDBT")]
6549 Cdbt,
6550 #[serde(rename = "EPRS")]
6551 Eprs,
6552 #[serde(rename = "DBAC")]
6553 Dbac,
6554 #[serde(rename = "CURR")]
6555 Curr,
6556 #[serde(rename = "CHQE")]
6557 Chqe,
6558 #[serde(rename = "PRPD")]
6559 Prpd,
6560 #[serde(rename = "LCDT")]
6561 Lcdt,
6562 #[default]
6563 Unknown,
6564}
6565#[derive(
6566 Debug,
6567 Default,
6568 Clone,
6569 PartialEq,
6570 ::serde::Serialize,
6571 ::serde::Deserialize,
6572 ::derive_builder::Builder,
6573 ::validator::Validate,
6574)]
6575pub struct EncryptedDataElement1 {
6576 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
6577 pub id: Option<ExternalEncryptedElementIdentification1Code>,
6578 #[serde(rename = "OthrId", skip_serializing_if = "Option::is_none")]
6579 pub othr_id: Option<Max35Text>,
6580 #[serde(rename = "NcrptdData")]
6581 pub ncrptd_data: EncryptedData1Choice,
6582 #[serde(rename = "ClearTxtDataFrmt", skip_serializing_if = "Option::is_none")]
6583 pub clear_txt_data_frmt: Option<EncryptedDataFormat1Code>,
6584 #[serde(
6585 rename = "OthrClearTxtDataFrmt",
6586 skip_serializing_if = "Option::is_none"
6587 )]
6588 pub othr_clear_txt_data_frmt: Option<Max35Text>,
6589}
6590#[derive(
6591 Debug,
6592 Default,
6593 Clone,
6594 PartialEq,
6595 ::serde::Serialize,
6596 ::serde::Deserialize,
6597 ::derive_builder::Builder,
6598 ::validator::Validate,
6599)]
6600pub struct InterestRateDetails2 {
6601 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6602 pub tp: Option<InterestRate1Code>,
6603 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
6604 pub othr_tp: Option<Max35Text>,
6605 #[serde(rename = "Prd", skip_serializing_if = "Option::is_none")]
6606 pub prd: Option<InstalmentPeriod1Code>,
6607 #[validate]
6608 #[serde(rename = "Rate")]
6609 pub rate: BaseOneRate,
6610}
6611#[derive(
6612 Debug,
6613 Default,
6614 Clone,
6615 PartialEq,
6616 ::serde::Serialize,
6617 ::serde::Deserialize,
6618 ::derive_builder::Builder,
6619 ::validator::Validate,
6620)]
6621pub struct Instalment4 {
6622 #[serde(rename = "PmtSeqNb", skip_serializing_if = "Option::is_none")]
6623 pub pmt_seq_nb: Option<Number>,
6624 #[validate(length(min = 0,))]
6625 #[serde(rename = "Plan", default)]
6626 pub plan: Vec<Plan2>,
6627}
6628#[derive(
6629 Debug,
6630 Default,
6631 Clone,
6632 PartialEq,
6633 ::serde::Serialize,
6634 ::serde::Deserialize,
6635 ::derive_builder::Builder,
6636 ::validator::Validate,
6637)]
6638pub struct IssuerAndSerialNumber1 {
6639 #[validate]
6640 #[serde(rename = "Issr")]
6641 pub issr: CertificateIssuer1,
6642 #[validate]
6643 #[serde(rename = "SrlNb")]
6644 pub srl_nb: Max35Binary,
6645}
6646#[derive(
6647 Debug,
6648 Default,
6649 Clone,
6650 PartialEq,
6651 ::serde::Serialize,
6652 ::serde::Deserialize,
6653 ::derive_builder::Builder,
6654 ::validator::Validate,
6655)]
6656pub struct Parameter12 {
6657 #[serde(rename = "NcrptnFrmt", skip_serializing_if = "Option::is_none")]
6658 pub ncrptn_frmt: Option<EncryptionFormat2Code>,
6659 #[serde(rename = "InitlstnVctr", skip_serializing_if = "Option::is_none")]
6660 pub initlstn_vctr: Option<Max500Binary>,
6661 #[serde(rename = "BPddg", skip_serializing_if = "Option::is_none")]
6662 pub b_pddg: Option<BytePadding1Code>,
6663}
6664#[derive(
6665 Debug,
6666 Default,
6667 Clone,
6668 PartialEq,
6669 ::serde::Serialize,
6670 ::serde::Deserialize,
6671 ::derive_builder::Builder,
6672 ::validator::Validate,
6673)]
6674pub struct KeyTransport6 {
6675 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
6676 pub vrsn: Option<Number>,
6677 #[serde(rename = "RcptId")]
6678 pub rcpt_id: Recipient5Choice,
6679 #[validate]
6680 #[serde(rename = "KeyNcrptnAlgo")]
6681 pub key_ncrptn_algo: AlgorithmIdentification27,
6682 #[validate]
6683 #[serde(rename = "NcrptdKey")]
6684 pub ncrptd_key: Max5000Binary,
6685}
6686#[derive(
6687 Debug,
6688 Default,
6689 Clone,
6690 PartialEq,
6691 ::serde::Serialize,
6692 ::serde::Deserialize,
6693 ::derive_builder::Builder,
6694 ::validator::Validate,
6695)]
6696pub struct TelecomServicesSummary2 {
6697 #[serde(rename = "Cstmr", skip_serializing_if = "Option::is_none")]
6698 pub cstmr: Option<Customer6>,
6699 #[serde(rename = "BllgStmtPrdStart", skip_serializing_if = "Option::is_none")]
6700 pub bllg_stmt_prd_start: Option<IsoDate>,
6701 #[serde(rename = "BllgStmtPrdEnd", skip_serializing_if = "Option::is_none")]
6702 pub bllg_stmt_prd_end: Option<IsoDate>,
6703 #[validate(length(min = 0,))]
6704 #[serde(rename = "BllgEvt", default)]
6705 pub bllg_evt: Vec<Amount19>,
6706 #[validate(length(min = 0,))]
6707 #[serde(rename = "TtlTax", default)]
6708 pub ttl_tax: Vec<Tax39>,
6709 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
6710 pub addtl_data: Option<Max350Text>,
6711}
6712#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6713pub enum RiskAssessment1Code {
6714 #[serde(rename = "APPC")]
6715 Appc,
6716 #[serde(rename = "APPH")]
6717 Apph,
6718 #[serde(rename = "APPU")]
6719 Appu,
6720 #[serde(rename = "DONT")]
6721 Dont,
6722 #[default]
6723 Unknown,
6724}
6725#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6726pub enum TransactionAttribute2Code {
6727 #[serde(rename = "AGGR")]
6728 Aggr,
6729 #[serde(rename = "CADB")]
6730 Cadb,
6731 #[serde(rename = "CPLT")]
6732 Cplt,
6733 #[serde(rename = "DBRC")]
6734 Dbrc,
6735 #[serde(rename = "DBRP")]
6736 Dbrp,
6737 #[serde(rename = "DFRD")]
6738 Dfrd,
6739 #[serde(rename = "INCR")]
6740 Incr,
6741 #[serde(rename = "FRCP")]
6742 Frcp,
6743 #[serde(rename = "INST")]
6744 Inst,
6745 #[serde(rename = "OTHN")]
6746 Othn,
6747 #[serde(rename = "OTHP")]
6748 Othp,
6749 #[serde(rename = "PAUT")]
6750 Paut,
6751 #[serde(rename = "PACP")]
6752 Pacp,
6753 #[serde(rename = "PPYT")]
6754 Ppyt,
6755 #[serde(rename = "RCPT")]
6756 Rcpt,
6757 #[serde(rename = "SUBR")]
6758 Subr,
6759 #[serde(rename = "TPUP")]
6760 Tpup,
6761 #[serde(rename = "UCOF")]
6762 Ucof,
6763 #[default]
6764 Unknown,
6765}
6766#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6767pub enum LoyaltyValueType1Code {
6768 #[serde(rename = "MILE")]
6769 Mile,
6770 #[serde(rename = "MONE")]
6771 Mone,
6772 #[serde(rename = "OTHR")]
6773 Othr,
6774 #[serde(rename = "POIN")]
6775 Poin,
6776 #[serde(rename = "PRIV")]
6777 Priv,
6778 #[default]
6779 Unknown,
6780}
6781#[derive(
6782 Debug,
6783 Default,
6784 Clone,
6785 PartialEq,
6786 ::serde::Serialize,
6787 ::serde::Deserialize,
6788 ::derive_builder::Builder,
6789 ::validator::Validate,
6790)]
6791pub struct OriginalTransaction2 {
6792 #[serde(rename = "Envt", skip_serializing_if = "Option::is_none")]
6793 pub envt: Option<Environment20>,
6794 #[serde(rename = "Cntxt", skip_serializing_if = "Option::is_none")]
6795 pub cntxt: Option<Context12>,
6796 #[serde(rename = "Tx", skip_serializing_if = "Option::is_none")]
6797 pub tx: Option<Transaction147>,
6798 #[serde(rename = "PrcgRslt", skip_serializing_if = "Option::is_none")]
6799 pub prcg_rslt: Option<ProcessingResult10>,
6800}
6801#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6802pub enum CarRentalActivity1Code {
6803 #[serde(rename = "CARS")]
6804 Cars,
6805 #[serde(rename = "GLBL")]
6806 Glbl,
6807 #[serde(rename = "INDV")]
6808 Indv,
6809 #[serde(rename = "PETP")]
6810 Petp,
6811 #[serde(rename = "OTHP")]
6812 Othp,
6813 #[serde(rename = "OTHN")]
6814 Othn,
6815 #[serde(rename = "OTHR")]
6816 Othr,
6817 #[default]
6818 Unknown,
6819}
6820#[derive(
6821 Debug,
6822 Default,
6823 Clone,
6824 PartialEq,
6825 ::serde::Serialize,
6826 ::serde::Deserialize,
6827 ::derive_builder::Builder,
6828 ::validator::Validate,
6829)]
6830pub struct PartyIdentification257 {
6831 #[serde(rename = "FI", skip_serializing_if = "Option::is_none")]
6832 pub fi: Option<FinancialInstitution7>,
6833 #[serde(rename = "Cstmr", skip_serializing_if = "Option::is_none")]
6834 pub cstmr: Option<Customer7>,
6835}
6836#[derive(
6837 Debug,
6838 Default,
6839 Clone,
6840 PartialEq,
6841 ::serde::Serialize,
6842 ::serde::Deserialize,
6843 ::derive_builder::Builder,
6844 ::validator::Validate,
6845)]
6846pub struct Parameter7 {
6847 #[serde(rename = "InitlstnVctr", skip_serializing_if = "Option::is_none")]
6848 pub initlstn_vctr: Option<Max500Binary>,
6849 #[serde(rename = "BPddg", skip_serializing_if = "Option::is_none")]
6850 pub b_pddg: Option<BytePadding1Code>,
6851}
6852#[derive(
6853 Debug,
6854 Default,
6855 Clone,
6856 PartialEq,
6857 ::serde::Serialize,
6858 ::serde::Deserialize,
6859 ::derive_builder::Builder,
6860 ::validator::Validate,
6861)]
6862pub struct CardData7 {
6863 #[serde(rename = "PAN", skip_serializing_if = "Option::is_none")]
6864 pub pan: Option<Max19NumericText>,
6865 #[serde(rename = "PrtctdPANInd", skip_serializing_if = "Option::is_none")]
6866 pub prtctd_pan_ind: Option<TrueFalseIndicator>,
6867 #[serde(rename = "CardSeqNb", skip_serializing_if = "Option::is_none")]
6868 pub card_seq_nb: Option<Min2Max3NumericText>,
6869 #[serde(rename = "FctvDt", skip_serializing_if = "Option::is_none")]
6870 pub fctv_dt: Option<IsoYearMonth>,
6871 #[serde(rename = "XpryDt", skip_serializing_if = "Option::is_none")]
6872 pub xpry_dt: Option<IsoYearMonth>,
6873 #[serde(rename = "PmtAcctRef", skip_serializing_if = "Option::is_none")]
6874 pub pmt_acct_ref: Option<Max35Text>,
6875 #[serde(rename = "PANAcctRg", skip_serializing_if = "Option::is_none")]
6876 pub pan_acct_rg: Option<Max19NumericText>,
6877 #[serde(rename = "CardCtryCd", skip_serializing_if = "Option::is_none")]
6878 pub card_ctry_cd: Option<Iso3NumericCountryCode>,
6879 #[serde(rename = "CardPdctTp", skip_serializing_if = "Option::is_none")]
6880 pub card_pdct_tp: Option<Max35Text>,
6881 #[serde(rename = "CardPdctSubTp", skip_serializing_if = "Option::is_none")]
6882 pub card_pdct_sub_tp: Option<Max35Text>,
6883 #[serde(rename = "CardPrtflIdr", skip_serializing_if = "Option::is_none")]
6884 pub card_prtfl_idr: Option<Max35Text>,
6885 #[validate(length(min = 0,))]
6886 #[serde(rename = "AddtlCardData", default)]
6887 pub addtl_card_data: Vec<AdditionalData1>,
6888}
6889#[derive(
6890 Debug,
6891 Default,
6892 Clone,
6893 PartialEq,
6894 ::serde::Serialize,
6895 ::serde::Deserialize,
6896 ::derive_builder::Builder,
6897 ::validator::Validate,
6898)]
6899pub struct Contact2 {
6900 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
6901 pub nm: Option<Max70Text>,
6902 #[serde(rename = "HomePhneNb", skip_serializing_if = "Option::is_none")]
6903 pub home_phne_nb: Option<PhoneNumber>,
6904 #[serde(rename = "BizPhneNb", skip_serializing_if = "Option::is_none")]
6905 pub biz_phne_nb: Option<PhoneNumber>,
6906 #[serde(rename = "MobPhneNb", skip_serializing_if = "Option::is_none")]
6907 pub mob_phne_nb: Option<PhoneNumber>,
6908 #[serde(rename = "OthrPhneNb", skip_serializing_if = "Option::is_none")]
6909 pub othr_phne_nb: Option<PhoneNumber>,
6910 #[serde(rename = "PrsnlEmailAdr", skip_serializing_if = "Option::is_none")]
6911 pub prsnl_email_adr: Option<Max256Text>,
6912 #[serde(rename = "BizEmailAdr", skip_serializing_if = "Option::is_none")]
6913 pub biz_email_adr: Option<Max256Text>,
6914 #[serde(rename = "OthrEmailAdr", skip_serializing_if = "Option::is_none")]
6915 pub othr_email_adr: Option<Max256Text>,
6916 #[serde(rename = "HomeFaxNb", skip_serializing_if = "Option::is_none")]
6917 pub home_fax_nb: Option<PhoneNumber>,
6918 #[serde(rename = "BizFaxNb", skip_serializing_if = "Option::is_none")]
6919 pub biz_fax_nb: Option<PhoneNumber>,
6920 #[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
6921 pub url_adr: Option<Max256Text>,
6922 #[serde(rename = "Lang", skip_serializing_if = "Option::is_none")]
6923 pub lang: Option<Iso2ALanguageCode>,
6924}
6925#[derive(
6926 Debug,
6927 Default,
6928 Clone,
6929 PartialEq,
6930 ::serde::Serialize,
6931 ::serde::Deserialize,
6932 ::derive_builder::Builder,
6933 ::validator::Validate,
6934)]
6935pub struct SettlementServiceMode1 {
6936 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
6937 pub tp: Option<Max35Text>,
6938 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
6939 pub id: Option<Max35Text>,
6940 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
6941 pub shrt_nm: Option<Max35Text>,
6942 #[serde(rename = "SttlmPrty", skip_serializing_if = "Option::is_none")]
6943 pub sttlm_prty: Option<Priority3Code>,
6944}
6945#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
6946pub enum AddendumTaxType2Code {
6947 #[serde(rename = "TOTL")]
6948 Totl,
6949 #[serde(rename = "ALMI")]
6950 Almi,
6951 #[serde(rename = "ASNT")]
6952 Asnt,
6953 #[serde(rename = "BPTX")]
6954 Bptx,
6955 #[serde(rename = "KAPA")]
6956 Kapa,
6957 #[serde(rename = "NKAP")]
6958 Nkap,
6959 #[serde(rename = "CRTX")]
6960 Crtx,
6961 #[serde(rename = "CSTX")]
6962 Cstx,
6963 #[serde(rename = "CITX")]
6964 Citx,
6965 #[serde(rename = "COAX")]
6966 Coax,
6967 #[serde(rename = "CPST")]
6968 Cpst,
6969 #[serde(rename = "CORT")]
6970 Cort,
6971 #[serde(rename = "COTX")]
6972 Cotx,
6973 #[serde(rename = "CUST")]
6974 Cust,
6975 #[serde(rename = "DLTX")]
6976 Dltx,
6977 #[serde(rename = "DUTY")]
6978 Duty,
6979 #[serde(rename = "EMIT")]
6980 Emit,
6981 #[serde(rename = "EMUT")]
6982 Emut,
6983 #[serde(rename = "EMET")]
6984 Emet,
6985 #[serde(rename = "EMST")]
6986 Emst,
6987 #[serde(rename = "EMRT")]
6988 Emrt,
6989 #[serde(rename = "ENTX")]
6990 Entx,
6991 #[serde(rename = "ESET")]
6992 Eset,
6993 #[serde(rename = "ENVT")]
6994 Envt,
6995 #[serde(rename = "EQUL")]
6996 Equl,
6997 #[serde(rename = "EQTX")]
6998 Eqtx,
6999 #[serde(rename = "EUTR")]
7000 Eutr,
7001 #[serde(rename = "EXEC")]
7002 Exec,
7003 #[serde(rename = "FEXT")]
7004 Fext,
7005 #[serde(rename = "FNST")]
7006 Fnst,
7007 #[serde(rename = "FETX")]
7008 Fetx,
7009 #[serde(rename = "FVAT")]
7010 Fvat,
7011 #[serde(rename = "FVTS")]
7012 Fvts,
7013 #[serde(rename = "FIMT")]
7014 Fimt,
7015 #[serde(rename = "FSST")]
7016 Fsst,
7017 #[serde(rename = "FICA")]
7018 Fica,
7019 #[serde(rename = "FRTX")]
7020 Frtx,
7021 #[serde(rename = "FSTX")]
7022 Fstx,
7023 #[serde(rename = "FSFT")]
7024 Fsft,
7025 #[serde(rename = "FUVT")]
7026 Fuvt,
7027 #[serde(rename = "GIFT")]
7028 Gift,
7029 #[serde(rename = "GCAT")]
7030 Gcat,
7031 #[serde(rename = "GRTX")]
7032 Grtx,
7033 #[serde(rename = "HVAT")]
7034 Hvat,
7035 #[serde(rename = "HATX")]
7036 Hatx,
7037 #[serde(rename = "HSTX")]
7038 Hstx,
7039 #[serde(rename = "HWTX")]
7040 Hwtx,
7041 #[serde(rename = "INHT")]
7042 Inht,
7043 #[serde(rename = "INPO")]
7044 Inpo,
7045 #[serde(rename = "LTTX")]
7046 Lttx,
7047 #[serde(rename = "FLST")]
7048 Flst,
7049 #[serde(rename = "LITX")]
7050 Litx,
7051 #[serde(rename = "LOCO")]
7052 Loco,
7053 #[serde(rename = "LSTX")]
7054 Lstx,
7055 #[serde(rename = "LOCL")]
7056 Locl,
7057 #[serde(rename = "LUTX")]
7058 Lutx,
7059 #[serde(rename = "MATX")]
7060 Matx,
7061 #[serde(rename = "METX")]
7062 Metx,
7063 #[serde(rename = "MITX")]
7064 Mitx,
7065 #[serde(rename = "MUTX")]
7066 Mutx,
7067 #[serde(rename = "MUDE")]
7068 Mude,
7069 #[serde(rename = "COUN")]
7070 Coun,
7071 #[serde(rename = "NATI")]
7072 Nati,
7073 #[serde(rename = "OCTX")]
7074 Octx,
7075 #[serde(rename = "OPTX")]
7076 Optx,
7077 #[serde(rename = "OTHR")]
7078 Othr,
7079 #[serde(rename = "OTHN")]
7080 Othn,
7081 #[serde(rename = "OTHP")]
7082 Othp,
7083 #[serde(rename = "OTTX")]
7084 Ottx,
7085 #[serde(rename = "LEVY")]
7086 Levy,
7087 #[serde(rename = "POTX")]
7088 Potx,
7089 #[serde(rename = "PRTX")]
7090 Prtx,
7091 #[serde(rename = "PSTX")]
7092 Pstx,
7093 #[serde(rename = "PPTX")]
7094 Pptx,
7095 #[serde(rename = "PROV")]
7096 Prov,
7097 #[serde(rename = "PHET")]
7098 Phet,
7099 #[serde(rename = "QUST")]
7100 Qust,
7101 #[serde(rename = "ROCI")]
7102 Roci,
7103 #[serde(rename = "RCSB")]
7104 Rcsb,
7105 #[serde(rename = "RCSD")]
7106 Rcsd,
7107 #[serde(rename = "ROTX")]
7108 Rotx,
7109 #[serde(rename = "RVAT")]
7110 Rvat,
7111 #[serde(rename = "ROVI")]
7112 Rovi,
7113 #[serde(rename = "SAUT")]
7114 Saut,
7115 #[serde(rename = "SCTX")]
7116 Sctx,
7117 #[serde(rename = "SPTX")]
7118 Sptx,
7119 #[serde(rename = "STTA")]
7120 Stta,
7121 #[serde(rename = "STAM")]
7122 Stam,
7123 #[serde(rename = "SLST")]
7124 Slst,
7125 #[serde(rename = "SLTX")]
7126 Sltx,
7127 #[serde(rename = "SETX")]
7128 Setx,
7129 #[serde(rename = "STPT")]
7130 Stpt,
7131 #[serde(rename = "SPTS")]
7132 Spts,
7133 #[serde(rename = "SPFT")]
7134 Spft,
7135 #[serde(rename = "SPTG")]
7136 Sptg,
7137 #[serde(rename = "SRTX")]
7138 Srtx,
7139 #[serde(rename = "SSTX")]
7140 Sstx,
7141 #[serde(rename = "STAT")]
7142 Stat,
7143 #[serde(rename = "STSL")]
7144 Stsl,
7145 #[serde(rename = "STEX")]
7146 Stex,
7147 #[serde(rename = "SUTX")]
7148 Sutx,
7149 #[serde(rename = "CTAX")]
7150 Ctax,
7151 #[serde(rename = "TDDT")]
7152 Tddt,
7153 #[serde(rename = "TELT")]
7154 Telt,
7155 #[serde(rename = "THTX")]
7156 Thtx,
7157 #[serde(rename = "TRAX")]
7158 Trax,
7159 #[serde(rename = "TRAN")]
7160 Tran,
7161 #[serde(rename = "UNSP")]
7162 Unsp,
7163 #[serde(rename = "UUTX")]
7164 Uutx,
7165 #[serde(rename = "VATA")]
7166 Vata,
7167 #[serde(rename = "VATB")]
7168 Vatb,
7169 #[serde(rename = "WTAX")]
7170 Wtax,
7171 #[serde(rename = "WESV")]
7172 Wesv,
7173 #[serde(rename = "WITF")]
7174 Witf,
7175 #[serde(rename = "WITL")]
7176 Witl,
7177 #[serde(rename = "WITH")]
7178 With,
7179 #[serde(rename = "TNRT")]
7180 Tnrt,
7181 #[default]
7182 Unknown,
7183}
7184#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7185pub enum PartyType26Code {
7186 #[serde(rename = "ACCP")]
7187 Accp,
7188 #[serde(rename = "ACQR")]
7189 Acqr,
7190 #[serde(rename = "ICCA")]
7191 Icca,
7192 #[serde(rename = "CISS")]
7193 Ciss,
7194 #[serde(rename = "DLIS")]
7195 Dlis,
7196 #[serde(rename = "AGNT")]
7197 Agnt,
7198 #[serde(rename = "OTHN")]
7199 Othn,
7200 #[serde(rename = "OTHP")]
7201 Othp,
7202 #[default]
7203 Unknown,
7204}
7205#[derive(
7206 Debug,
7207 Default,
7208 Clone,
7209 PartialEq,
7210 ::serde::Serialize,
7211 ::serde::Deserialize,
7212 ::derive_builder::Builder,
7213 ::validator::Validate,
7214)]
7215pub struct YesNoIndicator {
7216 #[serde(rename = "$text")]
7217 pub value: bool,
7218}
7219#[derive(
7220 Debug,
7221 Default,
7222 Clone,
7223 PartialEq,
7224 ::serde::Serialize,
7225 ::serde::Deserialize,
7226 ::derive_builder::Builder,
7227 ::validator::Validate,
7228)]
7229pub struct Credentials2 {
7230 #[serde(rename = "IdCd")]
7231 pub id_cd: Identification3Code,
7232 #[serde(rename = "OthrIdCd", skip_serializing_if = "Option::is_none")]
7233 pub othr_id_cd: Option<Max35Text>,
7234 #[validate]
7235 #[serde(rename = "IdVal")]
7236 pub id_val: Max70Text,
7237 #[serde(rename = "IdXpryDt", skip_serializing_if = "Option::is_none")]
7238 pub id_xpry_dt: Option<IsoYearMonth>,
7239 #[serde(rename = "AssgnrAuthrty", skip_serializing_if = "Option::is_none")]
7240 pub assgnr_authrty: Option<Authority1>,
7241}
7242#[derive(
7243 Debug,
7244 Default,
7245 Clone,
7246 PartialEq,
7247 ::serde::Serialize,
7248 ::serde::Deserialize,
7249 ::derive_builder::Builder,
7250 ::validator::Validate,
7251)]
7252pub struct Max12NumericText {
7253 #[validate(regex = "MAX_12_NUMERIC_TEXT_REGEX")]
7254 #[serde(rename = "$text")]
7255 pub value: String,
7256}
7257#[derive(
7258 Debug,
7259 Default,
7260 Clone,
7261 PartialEq,
7262 ::serde::Serialize,
7263 ::serde::Deserialize,
7264 ::derive_builder::Builder,
7265 ::validator::Validate,
7266)]
7267pub struct Max19HexBinaryText {
7268 #[validate(regex = "MAX_19_HEX_BINARY_TEXT_REGEX")]
7269 #[serde(rename = "$text")]
7270 pub value: String,
7271}
7272#[derive(
7273 Debug,
7274 Default,
7275 Clone,
7276 PartialEq,
7277 ::serde::Serialize,
7278 ::serde::Deserialize,
7279 ::derive_builder::Builder,
7280 ::validator::Validate,
7281)]
7282pub struct Max5NumericText {
7283 #[validate(regex = "MAX_5_NUMERIC_TEXT_REGEX")]
7284 #[serde(rename = "$text")]
7285 pub value: String,
7286}
7287#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7288pub enum CardDataReading9Code {
7289 #[serde(rename = "UNKW")]
7290 Unkw,
7291 #[serde(rename = "OTHN")]
7292 Othn,
7293 #[serde(rename = "OTHP")]
7294 Othp,
7295 #[serde(rename = "CAMR")]
7296 Camr,
7297 #[serde(rename = "KEEN")]
7298 Keen,
7299 #[serde(rename = "ICPY")]
7300 Icpy,
7301 #[serde(rename = "OPTC")]
7302 Optc,
7303 #[serde(rename = "CDFL")]
7304 Cdfl,
7305 #[serde(rename = "MBNK")]
7306 Mbnk,
7307 #[serde(rename = "TOKN")]
7308 Tokn,
7309 #[serde(rename = "ICCY")]
7310 Iccy,
7311 #[default]
7312 Unknown,
7313}
7314#[derive(
7315 Debug,
7316 Default,
7317 Clone,
7318 PartialEq,
7319 ::serde::Serialize,
7320 ::serde::Deserialize,
7321 ::derive_builder::Builder,
7322 ::validator::Validate,
7323)]
7324pub struct AlgorithmIdentification19 {
7325 #[serde(rename = "Algo")]
7326 pub algo: Algorithm7Code,
7327 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
7328 pub param: Option<Parameter10>,
7329}
7330#[derive(
7331 Debug,
7332 Default,
7333 Clone,
7334 PartialEq,
7335 ::serde::Serialize,
7336 ::serde::Deserialize,
7337 ::derive_builder::Builder,
7338 ::validator::Validate,
7339)]
7340pub struct ErrorDetails2 {
7341 #[serde(rename = "MsgErrTp")]
7342 pub msg_err_tp: MessageError1Code,
7343 #[serde(rename = "OthrMsgErrTp", skip_serializing_if = "Option::is_none")]
7344 pub othr_msg_err_tp: Option<Max35Text>,
7345 #[serde(rename = "ErrCd", skip_serializing_if = "Option::is_none")]
7346 pub err_cd: Option<Max35Text>,
7347 #[serde(rename = "ErrDesc", skip_serializing_if = "Option::is_none")]
7348 pub err_desc: Option<Max500Text>,
7349 #[validate(length(min = 0,))]
7350 #[serde(rename = "DataElmtInErr", default)]
7351 pub data_elmt_in_err: Vec<Max4000Text>,
7352}
7353#[derive(
7354 Debug,
7355 Default,
7356 Clone,
7357 PartialEq,
7358 ::serde::Serialize,
7359 ::serde::Deserialize,
7360 ::derive_builder::Builder,
7361 ::validator::Validate,
7362)]
7363pub struct PassengerTransport2 {
7364 #[serde(rename = "Summry", skip_serializing_if = "Option::is_none")]
7365 pub summry: Option<PassengerTransportSummary2>,
7366 #[validate(length(min = 0,))]
7367 #[serde(rename = "TripLeg", default)]
7368 pub trip_leg: Vec<TripLeg2>,
7369 #[validate(length(min = 0,))]
7370 #[serde(rename = "AncllryPurchs", default)]
7371 pub ancllry_purchs: Vec<AncillaryPurchase2>,
7372 #[validate(length(min = 0,))]
7373 #[serde(rename = "HirdVhclDtls", default)]
7374 pub hird_vhcl_dtls: Vec<HiredVehicle2>,
7375}
7376#[derive(
7377 Debug,
7378 Default,
7379 Clone,
7380 PartialEq,
7381 ::serde::Serialize,
7382 ::serde::Deserialize,
7383 ::derive_builder::Builder,
7384 ::validator::Validate,
7385)]
7386pub struct Max6NumberFraction2 {
7387 #[serde(rename = "$text")]
7388 pub value: f64,
7389}
7390#[derive(
7391 Debug,
7392 Default,
7393 Clone,
7394 PartialEq,
7395 ::serde::Serialize,
7396 ::serde::Deserialize,
7397 ::derive_builder::Builder,
7398 ::validator::Validate,
7399)]
7400pub struct GenericInformation1 {
7401 #[validate]
7402 #[serde(rename = "Nm")]
7403 pub nm: Max70Text,
7404 #[serde(rename = "Val", skip_serializing_if = "Option::is_none")]
7405 pub val: Option<Max140Text>,
7406}
7407#[derive(
7408 Debug,
7409 Default,
7410 Clone,
7411 PartialEq,
7412 ::serde::Serialize,
7413 ::serde::Deserialize,
7414 ::derive_builder::Builder,
7415 ::validator::Validate,
7416)]
7417pub struct Max20KText {
7418 #[validate(length(min = 1, max = 20000,))]
7419 #[serde(rename = "$text")]
7420 pub value: String,
7421}
7422#[derive(
7423 Debug,
7424 Default,
7425 Clone,
7426 PartialEq,
7427 ::serde::Serialize,
7428 ::serde::Deserialize,
7429 ::derive_builder::Builder,
7430 ::validator::Validate,
7431)]
7432pub struct ProtectedData1 {
7433 #[serde(rename = "CnttTp")]
7434 pub cntt_tp: ContentType3Code,
7435 #[serde(rename = "EnvlpdData", skip_serializing_if = "Option::is_none")]
7436 pub envlpd_data: Option<EnvelopedData6>,
7437 #[serde(rename = "NcrptdData", skip_serializing_if = "Option::is_none")]
7438 pub ncrptd_data: Option<EncryptedData1>,
7439}
7440#[derive(
7441 Debug,
7442 Default,
7443 Clone,
7444 PartialEq,
7445 ::serde::Serialize,
7446 ::serde::Deserialize,
7447 ::derive_builder::Builder,
7448 ::validator::Validate,
7449)]
7450pub struct Max140Binary {
7451 #[validate(length(min = 1, max = 140,), regex = "MAX_140_BINARY_REGEX")]
7452 pub value: String,
7453}
7454#[derive(
7455 Debug,
7456 Default,
7457 Clone,
7458 PartialEq,
7459 ::serde::Serialize,
7460 ::serde::Deserialize,
7461 ::derive_builder::Builder,
7462 ::validator::Validate,
7463)]
7464pub struct Max4000Text {
7465 #[validate(length(min = 1, max = 4000,))]
7466 #[serde(rename = "$text")]
7467 pub value: String,
7468}
7469#[derive(
7470 Debug,
7471 Default,
7472 Clone,
7473 PartialEq,
7474 ::serde::Serialize,
7475 ::serde::Deserialize,
7476 ::derive_builder::Builder,
7477 ::validator::Validate,
7478)]
7479pub struct IsoCountrySubDivisionCode {
7480 #[validate(regex = "ISO_COUNTRY_SUB_DIVISION_CODE_REGEX")]
7481 #[serde(rename = "$text")]
7482 pub value: String,
7483}
7484#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7485pub enum Identification3Code {
7486 #[serde(rename = "DRID")]
7487 Drid,
7488 #[serde(rename = "NTID")]
7489 Ntid,
7490 #[serde(rename = "PASS")]
7491 Pass,
7492 #[serde(rename = "SSYN")]
7493 Ssyn,
7494 #[serde(rename = "ARNB")]
7495 Arnb,
7496 #[serde(rename = "OTHP")]
7497 Othp,
7498 #[serde(rename = "OTHN")]
7499 Othn,
7500 #[serde(rename = "EMAL")]
7501 Emal,
7502 #[serde(rename = "PHNB")]
7503 Phnb,
7504 #[serde(rename = "CUID")]
7505 Cuid,
7506 #[serde(rename = "TXID")]
7507 Txid,
7508 #[serde(rename = "PRXY")]
7509 Prxy,
7510 #[default]
7511 Unknown,
7512}
7513#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7514pub enum TelephonyCallType1Code {
7515 #[serde(rename = "VCML")]
7516 Vcml,
7517 #[serde(rename = "TFPC")]
7518 Tfpc,
7519 #[serde(rename = "PAGE")]
7520 Page,
7521 #[serde(rename = "OGPC")]
7522 Ogpc,
7523 #[serde(rename = "OTHP")]
7524 Othp,
7525 #[serde(rename = "OTHN")]
7526 Othn,
7527 #[serde(rename = "OTCL")]
7528 Otcl,
7529 #[serde(rename = "ICPC")]
7530 Icpc,
7531 #[default]
7532 Unknown,
7533}
7534#[derive(
7535 Debug,
7536 Default,
7537 Clone,
7538 PartialEq,
7539 ::serde::Serialize,
7540 ::serde::Deserialize,
7541 ::derive_builder::Builder,
7542 ::validator::Validate,
7543)]
7544pub struct Verification5 {
7545 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
7546 pub tp: Option<ExternalAuthenticationMethod1Code>,
7547 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
7548 pub othr_tp: Option<Max35Text>,
7549 #[serde(rename = "SubTp", skip_serializing_if = "Option::is_none")]
7550 pub sub_tp: Option<Max35Text>,
7551 #[validate(length(min = 0,))]
7552 #[serde(rename = "VrfctnInf", default)]
7553 pub vrfctn_inf: Vec<VerificationInformation1>,
7554 #[validate(length(min = 0,))]
7555 #[serde(rename = "VrfctnRslt", default)]
7556 pub vrfctn_rslt: Vec<VerificationResult2>,
7557}
7558#[derive(
7559 Debug,
7560 Default,
7561 Clone,
7562 PartialEq,
7563 ::serde::Serialize,
7564 ::serde::Deserialize,
7565 ::derive_builder::Builder,
7566 ::validator::Validate,
7567)]
7568pub struct AlgorithmIdentification12 {
7569 #[serde(rename = "Algo")]
7570 pub algo: Algorithm8Code,
7571 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
7572 pub param: Option<Parameter5>,
7573}
7574#[derive(
7575 Debug,
7576 Default,
7577 Clone,
7578 PartialEq,
7579 ::serde::Serialize,
7580 ::serde::Deserialize,
7581 ::derive_builder::Builder,
7582 ::validator::Validate,
7583)]
7584pub struct DisputeData3 {
7585 #[serde(rename = "PresntmntCycl", skip_serializing_if = "Option::is_none")]
7586 pub presntmnt_cycl: Option<Exact1NumericText>,
7587 #[serde(rename = "DsptCond", skip_serializing_if = "Option::is_none")]
7588 pub dspt_cond: Option<Max35Text>,
7589 #[serde(rename = "DsptSts", skip_serializing_if = "Option::is_none")]
7590 pub dspt_sts: Option<Max35Text>,
7591 #[serde(rename = "PrtlDspt", skip_serializing_if = "Option::is_none")]
7592 pub prtl_dspt: Option<YesNoIndicator>,
7593 #[validate(length(min = 0,))]
7594 #[serde(rename = "DsptRef", default)]
7595 pub dspt_ref: Vec<DisputeReference1>,
7596 #[serde(rename = "DcmnttnSts", skip_serializing_if = "Option::is_none")]
7597 pub dcmnttn_sts: Option<Max35Text>,
7598 #[serde(rename = "AddtlDsptData", skip_serializing_if = "Option::is_none")]
7599 pub addtl_dspt_data: Option<AdditionalData1>,
7600 #[validate(length(min = 0,))]
7601 #[serde(rename = "DsptRjctRsn", default)]
7602 pub dspt_rjct_rsn: Vec<Max35Text>,
7603 #[serde(rename = "ChrgbckElgblty", skip_serializing_if = "Option::is_none")]
7604 pub chrgbck_elgblty: Option<Max35Text>,
7605}
7606#[derive(
7607 Debug,
7608 Default,
7609 Clone,
7610 PartialEq,
7611 ::serde::Serialize,
7612 ::serde::Deserialize,
7613 ::derive_builder::Builder,
7614 ::validator::Validate,
7615)]
7616pub struct Terminal4 {
7617 #[validate]
7618 #[serde(rename = "TermnlId")]
7619 pub termnl_id: TerminalIdentification3,
7620 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
7621 pub tp: Option<TerminalType1Code>,
7622 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
7623 pub othr_tp: Option<Max35Text>,
7624 #[serde(rename = "Cpblties", skip_serializing_if = "Option::is_none")]
7625 pub cpblties: Option<Capabilities2>,
7626 #[serde(rename = "TermnlIntgtn", skip_serializing_if = "Option::is_none")]
7627 pub termnl_intgtn: Option<TerminalIntegrationCategory1Code>,
7628 #[serde(rename = "GeogcLctn", skip_serializing_if = "Option::is_none")]
7629 pub geogc_lctn: Option<GeographicPointInDecimalDegrees>,
7630 #[serde(rename = "OutdrInd", skip_serializing_if = "Option::is_none")]
7631 pub outdr_ind: Option<TrueFalseIndicator>,
7632 #[serde(rename = "OffPrmissInd", skip_serializing_if = "Option::is_none")]
7633 pub off_prmiss_ind: Option<TrueFalseIndicator>,
7634 #[serde(rename = "OnBrdInd", skip_serializing_if = "Option::is_none")]
7635 pub on_brd_ind: Option<TrueFalseIndicator>,
7636 #[validate(length(min = 0,))]
7637 #[serde(rename = "POICmpnt", default)]
7638 pub poi_cmpnt: Vec<PointOfInteractionComponent13>,
7639}
7640#[derive(
7641 Debug,
7642 Default,
7643 Clone,
7644 PartialEq,
7645 ::serde::Serialize,
7646 ::serde::Deserialize,
7647 ::derive_builder::Builder,
7648 ::validator::Validate,
7649)]
7650pub struct EncryptedContent4 {
7651 #[serde(rename = "CnttTp")]
7652 pub cntt_tp: ContentType2Code,
7653 #[serde(rename = "CnttNcrptnAlgo", skip_serializing_if = "Option::is_none")]
7654 pub cntt_ncrptn_algo: Option<AlgorithmIdentification24>,
7655 #[validate]
7656 #[serde(rename = "NcrptdData")]
7657 pub ncrptd_data: Max100KBinary,
7658}
7659#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7660pub enum ContentType2Code {
7661 #[serde(rename = "DATA")]
7662 Data,
7663 #[serde(rename = "SIGN")]
7664 Sign,
7665 #[serde(rename = "EVLP")]
7666 Evlp,
7667 #[serde(rename = "DGST")]
7668 Dgst,
7669 #[serde(rename = "AUTH")]
7670 Auth,
7671 #[default]
7672 Unknown,
7673}
7674#[derive(
7675 Debug,
7676 Default,
7677 Clone,
7678 PartialEq,
7679 ::serde::Serialize,
7680 ::serde::Deserialize,
7681 ::derive_builder::Builder,
7682 ::validator::Validate,
7683)]
7684pub struct Iso2ALanguageCode {
7685 #[validate(regex = "ISO_2_A_LANGUAGE_CODE_REGEX")]
7686 #[serde(rename = "$text")]
7687 pub value: String,
7688}
7689#[derive(
7690 Debug,
7691 Default,
7692 Clone,
7693 PartialEq,
7694 ::serde::Serialize,
7695 ::serde::Deserialize,
7696 ::derive_builder::Builder,
7697 ::validator::Validate,
7698)]
7699pub struct Parameter11 {
7700 #[serde(rename = "DgstAlgo")]
7701 pub dgst_algo: Algorithm16Code,
7702 #[validate]
7703 #[serde(rename = "MskGnrtrAlgo")]
7704 pub msk_gnrtr_algo: AlgorithmIdentification12,
7705 #[validate]
7706 #[serde(rename = "SaltLngth")]
7707 pub salt_lngth: Number,
7708 #[serde(rename = "TrlrFld", skip_serializing_if = "Option::is_none")]
7709 pub trlr_fld: Option<Number>,
7710}
7711#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7712pub enum AttributeType1Code {
7713 #[serde(rename = "CNAT")]
7714 Cnat,
7715 #[serde(rename = "LATT")]
7716 Latt,
7717 #[serde(rename = "OATT")]
7718 Oatt,
7719 #[serde(rename = "OUAT")]
7720 Ouat,
7721 #[serde(rename = "CATT")]
7722 Catt,
7723 #[default]
7724 Unknown,
7725}
7726#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7727pub enum InstalmentAmountDetailsType2Code {
7728 #[serde(rename = "AFCO")]
7729 Afco,
7730 #[serde(rename = "EXPN")]
7731 Expn,
7732 #[serde(rename = "FEES")]
7733 Fees,
7734 #[serde(rename = "FUNA")]
7735 Funa,
7736 #[serde(rename = "INSU")]
7737 Insu,
7738 #[serde(rename = "INTR")]
7739 Intr,
7740 #[serde(rename = "OTHC")]
7741 Othc,
7742 #[serde(rename = "OTHN")]
7743 Othn,
7744 #[serde(rename = "OTHP")]
7745 Othp,
7746 #[serde(rename = "PRNC")]
7747 Prnc,
7748 #[serde(rename = "RQST")]
7749 Rqst,
7750 #[serde(rename = "TAXX")]
7751 Taxx,
7752 #[default]
7753 Unknown,
7754}
7755#[derive(
7756 Debug,
7757 Default,
7758 Clone,
7759 PartialEq,
7760 ::serde::Serialize,
7761 ::serde::Deserialize,
7762 ::derive_builder::Builder,
7763 ::validator::Validate,
7764)]
7765pub struct CardWritingCapabilities1 {
7766 #[serde(rename = "Cpblty")]
7767 pub cpblty: CardDataWriting1Code,
7768 #[serde(rename = "OthrCpblty", skip_serializing_if = "Option::is_none")]
7769 pub othr_cpblty: Option<Max35Text>,
7770}
7771#[derive(
7772 Debug,
7773 Default,
7774 Clone,
7775 PartialEq,
7776 ::serde::Serialize,
7777 ::serde::Deserialize,
7778 ::derive_builder::Builder,
7779 ::validator::Validate,
7780)]
7781pub struct Amount12 {
7782 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
7783 pub tp: Option<TemporaryServicesCharge1Code>,
7784 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
7785 pub othr_tp: Option<Max35Text>,
7786 #[serde(rename = "Rate", skip_serializing_if = "Option::is_none")]
7787 pub rate: Option<ImpliedCurrencyAndAmount>,
7788 #[serde(rename = "Hrs", skip_serializing_if = "Option::is_none")]
7789 pub hrs: Option<Max6NumericText>,
7790}
7791#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7792pub enum TaxReclaimMethod1Code {
7793 #[serde(rename = "INPP")]
7794 Inpp,
7795 #[serde(rename = "INPS")]
7796 Inps,
7797 #[serde(rename = "INSU")]
7798 Insu,
7799 #[serde(rename = "OTHR")]
7800 Othr,
7801 #[default]
7802 Unknown,
7803}
7804#[derive(
7805 Debug,
7806 Default,
7807 Clone,
7808 PartialEq,
7809 ::serde::Serialize,
7810 ::serde::Deserialize,
7811 ::derive_builder::Builder,
7812 ::validator::Validate,
7813)]
7814pub struct ExternalAuthenticationMethod1Code {
7815 #[validate(length(min = 1, max = 4,))]
7816 #[serde(rename = "$text")]
7817 pub value: String,
7818}
7819#[derive(
7820 Debug,
7821 Default,
7822 Clone,
7823 PartialEq,
7824 ::serde::Serialize,
7825 ::serde::Deserialize,
7826 ::derive_builder::Builder,
7827 ::validator::Validate,
7828)]
7829pub struct DriverInParty2 {
7830 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
7831 pub nm: Option<Max70Text>,
7832 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
7833 pub adr: Option<Address2>,
7834 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
7835 pub ctct: Option<Contact6>,
7836 #[serde(rename = "DtOfBirth", skip_serializing_if = "Option::is_none")]
7837 pub dt_of_birth: Option<IsoDate>,
7838 #[serde(rename = "Age", skip_serializing_if = "Option::is_none")]
7839 pub age: Option<Max2NumericText>,
7840 #[validate(length(min = 0,))]
7841 #[serde(rename = "DrvrCrdntl", default)]
7842 pub drvr_crdntl: Vec<TravelDocument2>,
7843 #[serde(rename = "DrvgLic", skip_serializing_if = "Option::is_none")]
7844 pub drvg_lic: Option<DrivingLicense2>,
7845}
7846#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7847pub enum Algorithm23Code {
7848 #[serde(rename = "EA2C")]
7849 Ea2C,
7850 #[serde(rename = "E3DC")]
7851 E3Dc,
7852 #[serde(rename = "EA9C")]
7853 Ea9C,
7854 #[serde(rename = "EA5C")]
7855 Ea5C,
7856 #[serde(rename = "EA2R")]
7857 Ea2R,
7858 #[serde(rename = "EA9R")]
7859 Ea9R,
7860 #[serde(rename = "EA5R")]
7861 Ea5R,
7862 #[serde(rename = "E3DR")]
7863 E3Dr,
7864 #[serde(rename = "E36C")]
7865 E36C,
7866 #[serde(rename = "E36R")]
7867 E36R,
7868 #[serde(rename = "SD5C")]
7869 Sd5C,
7870 #[default]
7871 Unknown,
7872}
7873#[derive(
7874 Debug,
7875 Default,
7876 Clone,
7877 PartialEq,
7878 ::serde::Serialize,
7879 ::serde::Deserialize,
7880 ::derive_builder::Builder,
7881 ::validator::Validate,
7882)]
7883pub struct EnvelopedData5 {
7884 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
7885 pub vrsn: Option<Number>,
7886 #[serde(rename = "OrgtrInf", skip_serializing_if = "Option::is_none")]
7887 pub orgtr_inf: Option<OriginatorInformation1>,
7888 #[validate(length(min = 1,))]
7889 #[serde(rename = "Rcpt", default)]
7890 pub rcpt: Vec<Recipient6Choice>,
7891 #[serde(rename = "NcrptdCntt", skip_serializing_if = "Option::is_none")]
7892 pub ncrptd_cntt: Option<EncryptedContent4>,
7893}
7894#[derive(
7895 Debug,
7896 Default,
7897 Clone,
7898 PartialEq,
7899 ::serde::Serialize,
7900 ::serde::Deserialize,
7901 ::derive_builder::Builder,
7902 ::validator::Validate,
7903)]
7904pub struct Max256Text {
7905 #[validate(length(min = 1, max = 256,))]
7906 #[serde(rename = "$text")]
7907 pub value: String,
7908}
7909#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7910pub enum CustomerType2Code {
7911 #[serde(rename = "CSMR")]
7912 Csmr,
7913 #[serde(rename = "CPNY")]
7914 Cpny,
7915 #[default]
7916 Unknown,
7917}
7918#[derive(
7919 Debug,
7920 Default,
7921 Clone,
7922 PartialEq,
7923 ::serde::Serialize,
7924 ::serde::Deserialize,
7925 ::derive_builder::Builder,
7926 ::validator::Validate,
7927)]
7928pub struct Customer7 {
7929 #[serde(rename = "CstmrId", skip_serializing_if = "Option::is_none")]
7930 pub cstmr_id: Option<Max35Text>,
7931 #[serde(rename = "CstmrDsgnt", skip_serializing_if = "Option::is_none")]
7932 pub cstmr_dsgnt: Option<Max2NumericText>,
7933 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
7934 pub nm: Option<CardholderName3>,
7935 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
7936 pub adr: Option<Address2>,
7937 #[serde(rename = "CtctInf", skip_serializing_if = "Option::is_none")]
7938 pub ctct_inf: Option<Contact6>,
7939 #[validate(length(min = 0,))]
7940 #[serde(rename = "Crdntls", default)]
7941 pub crdntls: Vec<Credentials2>,
7942 #[serde(rename = "Ntlty", skip_serializing_if = "Option::is_none")]
7943 pub ntlty: Option<IsoMax3ACountryCode>,
7944 #[serde(rename = "CtryOfBirth", skip_serializing_if = "Option::is_none")]
7945 pub ctry_of_birth: Option<IsoMax3ACountryCode>,
7946 #[serde(rename = "DtOfBirth", skip_serializing_if = "Option::is_none")]
7947 pub dt_of_birth: Option<IsoDate>,
7948 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
7949 pub lcl_data: Option<LocalData3>,
7950 #[validate(length(min = 0,))]
7951 #[serde(rename = "AddtlData", default)]
7952 pub addtl_data: Vec<AdditionalData1>,
7953}
7954#[derive(
7955 Debug,
7956 Default,
7957 Clone,
7958 PartialEq,
7959 ::serde::Serialize,
7960 ::serde::Deserialize,
7961 ::derive_builder::Builder,
7962 ::validator::Validate,
7963)]
7964pub struct Invoice2 {
7965 #[serde(rename = "Summry", skip_serializing_if = "Option::is_none")]
7966 pub summry: Option<InvoiceSummary2>,
7967 #[validate(length(min = 0,))]
7968 #[serde(rename = "LineItm", default)]
7969 pub line_itm: Vec<InvoiceLineItem2>,
7970}
7971#[derive(
7972 Debug,
7973 Default,
7974 Clone,
7975 PartialEq,
7976 ::serde::Serialize,
7977 ::serde::Deserialize,
7978 ::derive_builder::Builder,
7979 ::validator::Validate,
7980)]
7981pub struct DeliveryInformation4 {
7982 #[serde(rename = "DlvryNoteNb", skip_serializing_if = "Option::is_none")]
7983 pub dlvry_note_nb: Option<Max35Text>,
7984 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
7985 pub adr: Option<Address2>,
7986 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
7987 pub ctct: Option<Contact6>,
7988 #[serde(rename = "Instrs", skip_serializing_if = "Option::is_none")]
7989 pub instrs: Option<Max350Text>,
7990 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
7991 pub dt: Option<IsoDate>,
7992 #[serde(rename = "Tm", skip_serializing_if = "Option::is_none")]
7993 pub tm: Option<IsoTime>,
7994}
7995#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
7996pub enum PeriodUnit2Code {
7997 #[serde(rename = "HOUR")]
7998 Hour,
7999 #[serde(rename = "HFDA")]
8000 Hfda,
8001 #[serde(rename = "DAYS")]
8002 Days,
8003 #[serde(rename = "WEEK")]
8004 Week,
8005 #[serde(rename = "MNTH")]
8006 Mnth,
8007 #[serde(rename = "YEAR")]
8008 Year,
8009 #[serde(rename = "MINU")]
8010 Minu,
8011 #[serde(rename = "OTHR")]
8012 Othr,
8013 #[default]
8014 Unknown,
8015}
8016#[derive(
8017 Debug,
8018 Default,
8019 Clone,
8020 PartialEq,
8021 ::serde::Serialize,
8022 ::serde::Deserialize,
8023 ::derive_builder::Builder,
8024 ::validator::Validate,
8025)]
8026pub struct GeographicPointInDecimalDegrees {
8027 #[validate(length(max = 27,), regex = "GEOGRAPHIC_POINT_IN_DECIMAL_DEGREES_REGEX")]
8028 #[serde(rename = "$text")]
8029 pub value: String,
8030}
8031#[derive(
8032 Debug,
8033 Default,
8034 Clone,
8035 PartialEq,
8036 ::serde::Serialize,
8037 ::serde::Deserialize,
8038 ::derive_builder::Builder,
8039 ::validator::Validate,
8040)]
8041pub struct IsoTime {
8042 #[serde(rename = "$value")]
8043 pub value: ::chrono::naive::NaiveTime,
8044}
8045#[derive(
8046 Debug,
8047 Default,
8048 Clone,
8049 PartialEq,
8050 ::serde::Serialize,
8051 ::serde::Deserialize,
8052 ::derive_builder::Builder,
8053 ::validator::Validate,
8054)]
8055pub struct RiskInputData1 {
8056 #[serde(rename = "Ntty", skip_serializing_if = "Option::is_none")]
8057 pub ntty: Option<RiskAssessmentDataEntityProvider1>,
8058 #[validate]
8059 #[serde(rename = "Tp")]
8060 pub tp: Max35Text,
8061 #[validate]
8062 #[serde(rename = "Val")]
8063 pub val: Max10KText,
8064}
8065#[derive(
8066 Debug,
8067 Default,
8068 Clone,
8069 PartialEq,
8070 ::serde::Serialize,
8071 ::serde::Deserialize,
8072 ::derive_builder::Builder,
8073 ::validator::Validate,
8074)]
8075pub struct Capabilities2 {
8076 #[validate(length(min = 0,))]
8077 #[serde(rename = "CardRdngCpblty", default)]
8078 pub card_rdng_cpblty: Vec<CardReadingCapabilities1>,
8079 #[validate(length(min = 0,))]
8080 #[serde(rename = "CardWrtgCpblty", default)]
8081 pub card_wrtg_cpblty: Vec<CardWritingCapabilities1>,
8082 #[serde(rename = "PINLngthCpblty", skip_serializing_if = "Option::is_none")]
8083 pub pin_lngth_cpblty: Option<Number>,
8084 #[serde(rename = "PINNtrySctyChrtc", skip_serializing_if = "Option::is_none")]
8085 pub pin_ntry_scty_chrtc: Option<PinEntrySecurityCharacteristic1Code>,
8086 #[serde(
8087 rename = "OthrPINNtrySctyChrtc",
8088 skip_serializing_if = "Option::is_none"
8089 )]
8090 pub othr_pin_ntry_scty_chrtc: Option<Max35Text>,
8091 #[serde(rename = "ApprvlCdLngth", skip_serializing_if = "Option::is_none")]
8092 pub apprvl_cd_lngth: Option<Number>,
8093 #[serde(rename = "MxScrptLngth", skip_serializing_if = "Option::is_none")]
8094 pub mx_scrpt_lngth: Option<Number>,
8095 #[serde(rename = "CardCaptrCpbl", skip_serializing_if = "Option::is_none")]
8096 pub card_captr_cpbl: Option<TrueFalseIndicator>,
8097 #[serde(rename = "OnLineCpblty", skip_serializing_if = "Option::is_none")]
8098 pub on_line_cpblty: Option<OnLineCapability2Code>,
8099 #[validate(length(min = 0,))]
8100 #[serde(rename = "MsgCpblty", default)]
8101 pub msg_cpblty: Vec<DisplayCapabilities6>,
8102 #[validate(length(min = 0,))]
8103 #[serde(rename = "CrdhldrVrfctnCpblty", default)]
8104 pub crdhldr_vrfctn_cpblty: Vec<CardholderVerificationCapabilities1>,
8105 #[serde(
8106 rename = "TempScrCardDataStorg",
8107 skip_serializing_if = "Option::is_none"
8108 )]
8109 pub temp_scr_card_data_storg: Option<TrueFalseIndicator>,
8110}
8111#[derive(
8112 Debug,
8113 Default,
8114 Clone,
8115 PartialEq,
8116 ::serde::Serialize,
8117 ::serde::Deserialize,
8118 ::derive_builder::Builder,
8119 ::validator::Validate,
8120)]
8121pub struct Parameter13 {
8122 #[serde(rename = "DgstAlgo", skip_serializing_if = "Option::is_none")]
8123 pub dgst_algo: Option<Algorithm20Code>,
8124 #[serde(rename = "MskGnrtrAlgo", skip_serializing_if = "Option::is_none")]
8125 pub msk_gnrtr_algo: Option<AlgorithmIdentification26>,
8126}
8127#[derive(
8128 Debug,
8129 Default,
8130 Clone,
8131 PartialEq,
8132 ::serde::Serialize,
8133 ::serde::Deserialize,
8134 ::derive_builder::Builder,
8135 ::validator::Validate,
8136)]
8137pub struct PlainCardData21 {
8138 #[serde(rename = "DrvrOrVhclId", skip_serializing_if = "Option::is_none")]
8139 pub drvr_or_vhcl_id: Option<Max20Text>,
8140 #[validate(length(min = 0,))]
8141 #[serde(rename = "AddtlCardData", default)]
8142 pub addtl_card_data: Vec<AdditionalData1>,
8143}
8144#[derive(
8145 Debug,
8146 Default,
8147 Clone,
8148 PartialEq,
8149 ::serde::Serialize,
8150 ::serde::Deserialize,
8151 ::derive_builder::Builder,
8152 ::validator::Validate,
8153)]
8154pub struct LanguageCode {
8155 #[serde(rename = "$text")]
8156 pub value: String,
8157}
8158#[derive(
8159 Debug,
8160 Default,
8161 Clone,
8162 PartialEq,
8163 ::serde::Serialize,
8164 ::serde::Deserialize,
8165 ::derive_builder::Builder,
8166 ::validator::Validate,
8167)]
8168pub struct RelativeDistinguishedName1 {
8169 #[serde(rename = "AttrTp")]
8170 pub attr_tp: AttributeType1Code,
8171 #[validate]
8172 #[serde(rename = "AttrVal")]
8173 pub attr_val: Max140Text,
8174}
8175#[derive(
8176 Debug,
8177 Default,
8178 Clone,
8179 PartialEq,
8180 ::serde::Serialize,
8181 ::serde::Deserialize,
8182 ::derive_builder::Builder,
8183 ::validator::Validate,
8184)]
8185pub struct Reconciliation3 {
8186 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
8187 pub id: Option<Max35Text>,
8188 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
8189 pub dt: Option<IsoDate>,
8190 #[serde(rename = "ChckptRef", skip_serializing_if = "Option::is_none")]
8191 pub chckpt_ref: Option<Max35Text>,
8192}
8193#[derive(
8194 Debug,
8195 Default,
8196 Clone,
8197 PartialEq,
8198 ::serde::Serialize,
8199 ::serde::Deserialize,
8200 ::derive_builder::Builder,
8201 ::validator::Validate,
8202)]
8203pub struct ExchangeRateInformation2 {
8204 #[serde(rename = "Prvdr", skip_serializing_if = "Option::is_none")]
8205 pub prvdr: Option<Max70Text>,
8206 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
8207 pub id: Option<Max70Text>,
8208 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
8209 pub dt: Option<IsoDate>,
8210 #[serde(rename = "Tm", skip_serializing_if = "Option::is_none")]
8211 pub tm: Option<IsoTime>,
8212 #[serde(rename = "XchgRateDtl", skip_serializing_if = "Option::is_none")]
8213 pub xchg_rate_dtl: Option<ExchangeRateDetail1>,
8214 #[serde(rename = "RateLck", skip_serializing_if = "Option::is_none")]
8215 pub rate_lck: Option<RateLock1>,
8216}
8217#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8218pub enum PartyType22Code {
8219 #[serde(rename = "CRDH")]
8220 Crdh,
8221 #[serde(rename = "MERC")]
8222 Merc,
8223 #[serde(rename = "OTHN")]
8224 Othn,
8225 #[serde(rename = "OTHP")]
8226 Othp,
8227 #[serde(rename = "AGNT")]
8228 Agnt,
8229 #[default]
8230 Unknown,
8231}
8232#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8233pub enum ContentType3Code {
8234 #[serde(rename = "EVLP")]
8235 Evlp,
8236 #[serde(rename = "IFSE")]
8237 Ifse,
8238 #[default]
8239 Unknown,
8240}
8241#[derive(
8242 Debug,
8243 Default,
8244 Clone,
8245 PartialEq,
8246 ::serde::Serialize,
8247 ::serde::Deserialize,
8248 ::derive_builder::Builder,
8249 ::validator::Validate,
8250)]
8251pub struct AlgorithmIdentification26 {
8252 #[serde(rename = "Algo")]
8253 pub algo: Algorithm8Code,
8254 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
8255 pub param: Option<Algorithm5Code>,
8256}
8257#[derive(
8258 Debug,
8259 Default,
8260 Clone,
8261 PartialEq,
8262 ::serde::Serialize,
8263 ::serde::Deserialize,
8264 ::derive_builder::Builder,
8265 ::validator::Validate,
8266)]
8267pub struct RentalRate1 {
8268 #[serde(rename = "Prd", skip_serializing_if = "Option::is_none")]
8269 pub prd: Option<PeriodUnit3Code>,
8270 #[serde(rename = "OthrPrd", skip_serializing_if = "Option::is_none")]
8271 pub othr_prd: Option<Max35Text>,
8272 #[serde(rename = "Rate", skip_serializing_if = "Option::is_none")]
8273 pub rate: Option<ImpliedCurrencyAndAmount>,
8274 #[serde(rename = "PrdCnt", skip_serializing_if = "Option::is_none")]
8275 pub prd_cnt: Option<Max4NumericText>,
8276}
8277#[derive(
8278 Debug,
8279 Default,
8280 Clone,
8281 PartialEq,
8282 ::serde::Serialize,
8283 ::serde::Deserialize,
8284 ::derive_builder::Builder,
8285 ::validator::Validate,
8286)]
8287pub struct IsoMax3ALanguageCode {
8288 #[validate(regex = "ISO_MAX_3_A_LANGUAGE_CODE_REGEX")]
8289 #[serde(rename = "$text")]
8290 pub value: String,
8291}
8292#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8293pub enum CreditDebit3Code {
8294 #[serde(rename = "CRDT")]
8295 Crdt,
8296 #[serde(rename = "DBIT")]
8297 Dbit,
8298 #[default]
8299 Unknown,
8300}
8301#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8302pub enum Algorithm18Code {
8303 #[serde(rename = "EA2C")]
8304 Ea2C,
8305 #[serde(rename = "E3DC")]
8306 E3Dc,
8307 #[serde(rename = "DKP9")]
8308 Dkp9,
8309 #[serde(rename = "UKPT")]
8310 Ukpt,
8311 #[serde(rename = "UKA1")]
8312 Uka1,
8313 #[serde(rename = "EA9C")]
8314 Ea9C,
8315 #[serde(rename = "EA5C")]
8316 Ea5C,
8317 #[serde(rename = "DA12")]
8318 Da12,
8319 #[serde(rename = "DA19")]
8320 Da19,
8321 #[serde(rename = "DA25")]
8322 Da25,
8323 #[serde(rename = "N108")]
8324 N108,
8325 #[serde(rename = "EA5R")]
8326 Ea5R,
8327 #[serde(rename = "EA9R")]
8328 Ea9R,
8329 #[serde(rename = "EA2R")]
8330 Ea2R,
8331 #[serde(rename = "E3DR")]
8332 E3Dr,
8333 #[serde(rename = "E36C")]
8334 E36C,
8335 #[serde(rename = "E36R")]
8336 E36R,
8337 #[serde(rename = "SD5C")]
8338 Sd5C,
8339 #[default]
8340 Unknown,
8341}
8342#[derive(
8343 Debug,
8344 Default,
8345 Clone,
8346 PartialEq,
8347 ::serde::Serialize,
8348 ::serde::Deserialize,
8349 ::derive_builder::Builder,
8350 ::validator::Validate,
8351)]
8352pub struct SpecialConditions1 {
8353 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
8354 pub id: Option<Max35Text>,
8355 #[serde(rename = "Val", skip_serializing_if = "Option::is_none")]
8356 pub val: Option<Max35Text>,
8357}
8358#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8359pub enum AdditionalServiceType2Code {
8360 #[serde(rename = "CACT")]
8361 Cact,
8362 #[serde(rename = "CSHB")]
8363 Cshb,
8364 #[serde(rename = "DCCV")]
8365 Dccv,
8366 #[serde(rename = "INTP")]
8367 Intp,
8368 #[serde(rename = "INTT")]
8369 Intt,
8370 #[serde(rename = "LOYT")]
8371 Loyt,
8372 #[serde(rename = "OTHN")]
8373 Othn,
8374 #[serde(rename = "OTHP")]
8375 Othp,
8376 #[serde(rename = "PRST")]
8377 Prst,
8378 #[serde(rename = "BALC")]
8379 Balc,
8380 #[default]
8381 Unknown,
8382}
8383#[derive(
8384 Debug,
8385 Default,
8386 Clone,
8387 PartialEq,
8388 ::serde::Serialize,
8389 ::serde::Deserialize,
8390 ::derive_builder::Builder,
8391 ::validator::Validate,
8392)]
8393pub struct SponsoredMerchant2 {
8394 #[validate]
8395 #[serde(rename = "Id")]
8396 pub id: PartyIdentification262,
8397 #[serde(rename = "CmonNm", skip_serializing_if = "Option::is_none")]
8398 pub cmon_nm: Option<Max140Text>,
8399 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
8400 pub lgl_corp_nm: Option<Max99Text>,
8401 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
8402 pub adr: Option<Address2>,
8403 #[serde(rename = "AddtlAdrInf", skip_serializing_if = "Option::is_none")]
8404 pub addtl_adr_inf: Option<Max256Text>,
8405 #[serde(rename = "GeogcLctn", skip_serializing_if = "Option::is_none")]
8406 pub geogc_lctn: Option<GeographicPointInDecimalDegrees>,
8407 #[validate(length(min = 0,))]
8408 #[serde(rename = "AddtlData", default)]
8409 pub addtl_data: Vec<AdditionalData1>,
8410 #[serde(rename = "LclData", skip_serializing_if = "Option::is_none")]
8411 pub lcl_data: Option<LocalData5>,
8412}
8413#[derive(
8414 Debug,
8415 Default,
8416 Clone,
8417 PartialEq,
8418 ::serde::Serialize,
8419 ::serde::Deserialize,
8420 ::derive_builder::Builder,
8421 ::validator::Validate,
8422)]
8423pub struct Action13 {
8424 #[serde(rename = "Dstn", skip_serializing_if = "Option::is_none")]
8425 pub dstn: Option<PartyType20Code>,
8426 #[serde(rename = "ActnTp", skip_serializing_if = "Option::is_none")]
8427 pub actn_tp: Option<ActionType11Code>,
8428 #[serde(rename = "OthrActnTp", skip_serializing_if = "Option::is_none")]
8429 pub othr_actn_tp: Option<Max35Text>,
8430 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
8431 pub ctct: Option<Contact6>,
8432 #[validate(length(min = 0,))]
8433 #[serde(rename = "AddtlData", default)]
8434 pub addtl_data: Vec<AdditionalData1>,
8435}
8436#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8437pub enum CustomerDeviceType2Code {
8438 #[serde(rename = "MOBL")]
8439 Mobl,
8440 #[serde(rename = "OTHN")]
8441 Othn,
8442 #[serde(rename = "OTHP")]
8443 Othp,
8444 #[serde(rename = "PECR")]
8445 Pecr,
8446 #[serde(rename = "TBLT")]
8447 Tblt,
8448 #[serde(rename = "NSCR")]
8449 Nscr,
8450 #[serde(rename = "SECR")]
8451 Secr,
8452 #[serde(rename = "EMBD")]
8453 Embd,
8454 #[serde(rename = "VHCL")]
8455 Vhcl,
8456 #[serde(rename = "WRBL")]
8457 Wrbl,
8458 #[serde(rename = "WATC")]
8459 Watc,
8460 #[serde(rename = "GAMB")]
8461 Gamb,
8462 #[serde(rename = "JEWL")]
8463 Jewl,
8464 #[serde(rename = "KFOB")]
8465 Kfob,
8466 #[serde(rename = "STIC")]
8467 Stic,
8468 #[serde(rename = "UNKW")]
8469 Unkw,
8470 #[default]
8471 Unknown,
8472}
8473#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8474pub enum CardDataReading5Code {
8475 #[serde(rename = "TAGC")]
8476 Tagc,
8477 #[serde(rename = "PHYS")]
8478 Phys,
8479 #[serde(rename = "BRCD")]
8480 Brcd,
8481 #[serde(rename = "MGST")]
8482 Mgst,
8483 #[serde(rename = "CICC")]
8484 Cicc,
8485 #[serde(rename = "DFLE")]
8486 Dfle,
8487 #[serde(rename = "CTLS")]
8488 Ctls,
8489 #[serde(rename = "ECTL")]
8490 Ectl,
8491 #[serde(rename = "CDFL")]
8492 Cdfl,
8493 #[default]
8494 Unknown,
8495}
8496#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8497pub enum GoodAndServiceDeliverySchedule1Code {
8498 #[serde(rename = "OTHN")]
8499 Othn,
8500 #[serde(rename = "OTHP")]
8501 Othp,
8502 #[serde(rename = "ONDL")]
8503 Ondl,
8504 #[serde(rename = "SDDL")]
8505 Sddl,
8506 #[serde(rename = "TDDL")]
8507 Tddl,
8508 #[default]
8509 Unknown,
8510}
8511#[derive(
8512 Debug,
8513 Default,
8514 Clone,
8515 PartialEq,
8516 ::serde::Serialize,
8517 ::serde::Deserialize,
8518 ::derive_builder::Builder,
8519 ::validator::Validate,
8520)]
8521pub struct MacData1 {
8522 #[validate]
8523 #[serde(rename = "Ctrl")]
8524 pub ctrl: Exact1HexBinaryText,
8525 #[validate]
8526 #[serde(rename = "KeySetIdr")]
8527 pub key_set_idr: Max8NumericText,
8528 #[serde(rename = "DrvdInf", skip_serializing_if = "Option::is_none")]
8529 pub drvd_inf: Option<Max32HexBinaryText>,
8530 #[validate]
8531 #[serde(rename = "Algo")]
8532 pub algo: Max2NumericText,
8533 #[serde(rename = "KeyLngth", skip_serializing_if = "Option::is_none")]
8534 pub key_lngth: Option<Max4NumericText>,
8535 #[serde(rename = "KeyPrtcn", skip_serializing_if = "Option::is_none")]
8536 pub key_prtcn: Option<Max2NumericText>,
8537 #[serde(rename = "KeyIndx", skip_serializing_if = "Option::is_none")]
8538 pub key_indx: Option<Max5NumericText>,
8539 #[serde(rename = "PddgMtd", skip_serializing_if = "Option::is_none")]
8540 pub pddg_mtd: Option<Max2NumericText>,
8541 #[serde(rename = "InitlstnVctr", skip_serializing_if = "Option::is_none")]
8542 pub initlstn_vctr: Option<Max32HexBinaryText>,
8543}
8544#[derive(
8545 Debug,
8546 Default,
8547 Clone,
8548 PartialEq,
8549 ::serde::Serialize,
8550 ::serde::Deserialize,
8551 ::derive_builder::Builder,
8552 ::validator::Validate,
8553)]
8554pub struct SpecialProgrammeQualification1 {
8555 #[serde(rename = "Prgrmm", skip_serializing_if = "Option::is_none")]
8556 pub prgrmm: Option<Max35Text>,
8557 #[validate(length(min = 0,))]
8558 #[serde(rename = "Dtl", default)]
8559 pub dtl: Vec<SpecialProgrammeDetails1>,
8560}
8561#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8562pub enum TransactionInitiator1Code {
8563 #[serde(rename = "MERC")]
8564 Merc,
8565 #[serde(rename = "CUST")]
8566 Cust,
8567 #[default]
8568 Unknown,
8569}
8570#[derive(
8571 Debug,
8572 Default,
8573 Clone,
8574 PartialEq,
8575 ::serde::Serialize,
8576 ::serde::Deserialize,
8577 ::derive_builder::Builder,
8578 ::validator::Validate,
8579)]
8580pub struct IsoDate {
8581 #[serde(rename = "$text")]
8582 pub value: ::chrono::NaiveDate,
8583}
8584#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8585pub enum JourneyType1Code {
8586 #[serde(rename = "COAC")]
8587 Coac,
8588 #[serde(rename = "EARL")]
8589 Earl,
8590 #[serde(rename = "FLGT")]
8591 Flgt,
8592 #[serde(rename = "LATE")]
8593 Late,
8594 #[serde(rename = "ONTM")]
8595 Ontm,
8596 #[serde(rename = "OTHR")]
8597 Othr,
8598 #[serde(rename = "TRAN")]
8599 Tran,
8600 #[serde(rename = "VESS")]
8601 Vess,
8602 #[default]
8603 Unknown,
8604}
8605#[derive(
8606 Debug,
8607 Default,
8608 Clone,
8609 PartialEq,
8610 ::serde::Serialize,
8611 ::serde::Deserialize,
8612 ::derive_builder::Builder,
8613 ::validator::Validate,
8614)]
8615pub struct Exact6AlphaNumericText {
8616 #[validate(regex = "EXACT_6_ALPHA_NUMERIC_TEXT_REGEX")]
8617 #[serde(rename = "$text")]
8618 pub value: String,
8619}
8620#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8621pub enum Algorithm7Code {
8622 #[serde(rename = "ERSA")]
8623 Ersa,
8624 #[serde(rename = "RSAO")]
8625 Rsao,
8626 #[default]
8627 Unknown,
8628}
8629#[derive(
8630 Debug,
8631 Default,
8632 Clone,
8633 PartialEq,
8634 ::serde::Serialize,
8635 ::serde::Deserialize,
8636 ::derive_builder::Builder,
8637 ::validator::Validate,
8638)]
8639pub struct Max3000Binary {
8640 #[validate(length(min = 1, max = 3000,), regex = "MAX_3000_BINARY_REGEX")]
8641 pub value: String,
8642}
8643#[derive(
8644 Debug,
8645 Default,
8646 Clone,
8647 PartialEq,
8648 ::serde::Serialize,
8649 ::serde::Deserialize,
8650 ::derive_builder::Builder,
8651 ::validator::Validate,
8652)]
8653pub struct Parameter5 {
8654 #[serde(rename = "DgstAlgo", skip_serializing_if = "Option::is_none")]
8655 pub dgst_algo: Option<Algorithm11Code>,
8656}
8657#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8658pub enum TypeOfAmount21Code {
8659 #[serde(rename = "INTC")]
8660 Intc,
8661 #[serde(rename = "FEEP")]
8662 Feep,
8663 #[serde(rename = "OTHN")]
8664 Othn,
8665 #[serde(rename = "OTHP")]
8666 Othp,
8667 #[serde(rename = "FEEA")]
8668 Feea,
8669 #[serde(rename = "CSIF")]
8670 Csif,
8671 #[serde(rename = "MXIF")]
8672 Mxif,
8673 #[serde(rename = "MNIF")]
8674 Mnif,
8675 #[default]
8676 Unknown,
8677}
8678#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8679pub enum CustomerAssigner1Code {
8680 #[serde(rename = "AUTH")]
8681 Auth,
8682 #[serde(rename = "CRCY")]
8683 Crcy,
8684 #[serde(rename = "CUST")]
8685 Cust,
8686 #[serde(rename = "ONFL")]
8687 Onfl,
8688 #[serde(rename = "OTHR")]
8689 Othr,
8690 #[serde(rename = "TRAY")]
8691 Tray,
8692 #[default]
8693 Unknown,
8694}
8695#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8696pub enum PartyType28Code {
8697 #[serde(rename = "ACCP")]
8698 Accp,
8699 #[serde(rename = "ACQR")]
8700 Acqr,
8701 #[serde(rename = "AGNT")]
8702 Agnt,
8703 #[serde(rename = "OTHN")]
8704 Othn,
8705 #[serde(rename = "OTHP")]
8706 Othp,
8707 #[serde(rename = "WLPR")]
8708 Wlpr,
8709 #[serde(rename = "ISUR")]
8710 Isur,
8711 #[default]
8712 Unknown,
8713}
8714#[derive(
8715 Debug,
8716 Default,
8717 Clone,
8718 PartialEq,
8719 ::serde::Serialize,
8720 ::serde::Deserialize,
8721 ::derive_builder::Builder,
8722 ::validator::Validate,
8723)]
8724pub struct Transaction147 {
8725 #[serde(rename = "TxTp", skip_serializing_if = "Option::is_none")]
8726 pub tx_tp: Option<Iso8583TransactionTypeCode>,
8727 #[serde(rename = "TxSubTp", skip_serializing_if = "Option::is_none")]
8728 pub tx_sub_tp: Option<Max35Text>,
8729 #[serde(rename = "TxAttr", skip_serializing_if = "Option::is_none")]
8730 pub tx_attr: Option<TransactionAttribute2Code>,
8731 #[serde(rename = "OthrTxAttr", skip_serializing_if = "Option::is_none")]
8732 pub othr_tx_attr: Option<Max35Text>,
8733 #[validate(length(min = 0,))]
8734 #[serde(rename = "MsgRsn", default)]
8735 pub msg_rsn: Vec<Iso8583MessageReasonCode>,
8736 #[validate(length(min = 0,))]
8737 #[serde(rename = "AltrnMsgRsn", default)]
8738 pub altrn_msg_rsn: Vec<Max35Text>,
8739 #[serde(rename = "PreAuthstnTmLmt", skip_serializing_if = "Option::is_none")]
8740 pub pre_authstn_tm_lmt: Option<Max6NumericText>,
8741 #[validate(length(min = 0,))]
8742 #[serde(rename = "AddtlSvc", default)]
8743 pub addtl_svc: Vec<AdditionalService2>,
8744 #[serde(rename = "AssoctdDataRef", skip_serializing_if = "Option::is_none")]
8745 pub assoctd_data_ref: Option<Max70Text>,
8746 #[validate(length(min = 0,))]
8747 #[serde(rename = "SpclPrgrmmQlfctn", default)]
8748 pub spcl_prgrmm_qlfctn: Vec<SpecialProgrammeQualification1>,
8749 #[serde(rename = "TxId", skip_serializing_if = "Option::is_none")]
8750 pub tx_id: Option<TransactionIdentification18>,
8751 #[validate(length(min = 0,))]
8752 #[serde(rename = "DsptData", default)]
8753 pub dspt_data: Vec<DisputeData3>,
8754 #[serde(rename = "TxAmts", skip_serializing_if = "Option::is_none")]
8755 pub tx_amts: Option<TransactionAmounts2>,
8756 #[validate(length(min = 0,))]
8757 #[serde(rename = "AddtlAmt", default)]
8758 pub addtl_amt: Vec<AdditionalAmounts3>,
8759 #[validate(length(min = 0,))]
8760 #[serde(rename = "AddtlFee", default)]
8761 pub addtl_fee: Vec<AdditionalFee2>,
8762 #[validate(length(min = 0,))]
8763 #[serde(rename = "OrgnlAddtlFee", default)]
8764 pub orgnl_addtl_fee: Vec<AdditionalFee2>,
8765 #[validate(length(min = 0,))]
8766 #[serde(rename = "DpstDtls", default)]
8767 pub dpst_dtls: Vec<DepositDetails2>,
8768 #[serde(rename = "FndsSvcs", skip_serializing_if = "Option::is_none")]
8769 pub fnds_svcs: Option<FundingService2>,
8770 #[serde(rename = "AcctFr", skip_serializing_if = "Option::is_none")]
8771 pub acct_fr: Option<AccountDetails3>,
8772 #[serde(rename = "AcctTo", skip_serializing_if = "Option::is_none")]
8773 pub acct_to: Option<AccountDetails3>,
8774 #[serde(rename = "TxDesc", skip_serializing_if = "Option::is_none")]
8775 pub tx_desc: Option<Max1000Text>,
8776 #[validate(length(min = 0,))]
8777 #[serde(rename = "AddtlData", default)]
8778 pub addtl_data: Vec<AdditionalData1>,
8779}
8780#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8781pub enum ProductCodeType1Code {
8782 #[serde(rename = "EA13")]
8783 Ea13,
8784 #[serde(rename = "EAN8")]
8785 Ean8,
8786 #[serde(rename = "GTIN")]
8787 Gtin,
8788 #[serde(rename = "OTHR")]
8789 Othr,
8790 #[serde(rename = "PLUP")]
8791 Plup,
8792 #[serde(rename = "RS14")]
8793 Rs14,
8794 #[serde(rename = "UPCA")]
8795 Upca,
8796 #[serde(rename = "UPCE")]
8797 Upce,
8798 #[default]
8799 Unknown,
8800}
8801#[derive(
8802 Debug,
8803 Default,
8804 Clone,
8805 PartialEq,
8806 ::serde::Serialize,
8807 ::serde::Deserialize,
8808 ::derive_builder::Builder,
8809 ::validator::Validate,
8810)]
8811pub struct Iso18245MerchantCategoryCode {
8812 #[validate(regex = "ISO_18245_MERCHANT_CATEGORY_CODE_REGEX")]
8813 #[serde(rename = "$text")]
8814 pub value: String,
8815}
8816#[derive(
8817 Debug,
8818 Default,
8819 Clone,
8820 PartialEq,
8821 ::serde::Serialize,
8822 ::serde::Deserialize,
8823 ::derive_builder::Builder,
8824 ::validator::Validate,
8825)]
8826pub struct TravelAgency3 {
8827 #[serde(rename = "Cpny", skip_serializing_if = "Option::is_none")]
8828 pub cpny: Option<PartyIdentification261>,
8829 #[validate(length(min = 0,))]
8830 #[serde(rename = "TrvlPackg", default)]
8831 pub trvl_packg: Vec<TravelAgencyPackage1>,
8832 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
8833 pub addtl_data: Option<Max350Text>,
8834}
8835#[derive(
8836 Debug,
8837 Default,
8838 Clone,
8839 PartialEq,
8840 ::serde::Serialize,
8841 ::serde::Deserialize,
8842 ::derive_builder::Builder,
8843 ::validator::Validate,
8844)]
8845pub struct Max32HexBinaryText {
8846 #[validate(regex = "MAX_32_HEX_BINARY_TEXT_REGEX")]
8847 #[serde(rename = "$text")]
8848 pub value: String,
8849}
8850#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8851pub enum PinEntrySecurityCharacteristic1Code {
8852 #[serde(rename = "OTHN")]
8853 Othn,
8854 #[serde(rename = "OTHP")]
8855 Othp,
8856 #[serde(rename = "SECS")]
8857 Secs,
8858 #[serde(rename = "SECH")]
8859 Sech,
8860 #[default]
8861 Unknown,
8862}
8863#[derive(
8864 Debug,
8865 Default,
8866 Clone,
8867 PartialEq,
8868 ::serde::Serialize,
8869 ::serde::Deserialize,
8870 ::derive_builder::Builder,
8871 ::validator::Validate,
8872)]
8873pub struct Device2 {
8874 #[serde(rename = "Manfctr", skip_serializing_if = "Option::is_none")]
8875 pub manfctr: Option<Max70Text>,
8876 #[serde(rename = "ManfctrMdlId", skip_serializing_if = "Option::is_none")]
8877 pub manfctr_mdl_id: Option<Max70Text>,
8878 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
8879 pub tp: Option<CustomerDeviceType2Code>,
8880 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
8881 pub othr_tp: Option<Max35Text>,
8882 #[serde(rename = "Lang", skip_serializing_if = "Option::is_none")]
8883 pub lang: Option<LanguageCode>,
8884 #[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
8885 pub phne_nb: Option<PhoneNumber>,
8886 #[serde(rename = "GeogcLctn", skip_serializing_if = "Option::is_none")]
8887 pub geogc_lctn: Option<GeographicPointInDecimalDegrees>,
8888 #[serde(rename = "LctnCtryCd", skip_serializing_if = "Option::is_none")]
8889 pub lctn_ctry_cd: Option<Iso3NumericCountryCode>,
8890 #[serde(rename = "IPAdr", skip_serializing_if = "Option::is_none")]
8891 pub ip_adr: Option<Max70Text>,
8892 #[serde(rename = "Email", skip_serializing_if = "Option::is_none")]
8893 pub email: Option<Max256Text>,
8894 #[serde(rename = "DvcNm", skip_serializing_if = "Option::is_none")]
8895 pub dvc_nm: Option<Max100Text>,
8896 #[serde(rename = "DvcNmNrmlzd", skip_serializing_if = "Option::is_none")]
8897 pub dvc_nm_nrmlzd: Option<Max100Text>,
8898}
8899#[derive(
8900 Debug,
8901 Default,
8902 Clone,
8903 PartialEq,
8904 ::serde::Serialize,
8905 ::serde::Deserialize,
8906 ::derive_builder::Builder,
8907 ::validator::Validate,
8908)]
8909pub struct RiskAssessment2 {
8910 #[serde(rename = "RskAssmntNtty", skip_serializing_if = "Option::is_none")]
8911 pub rsk_assmnt_ntty: Option<PartyIdentification200>,
8912 #[serde(rename = "RskAssmntTp", skip_serializing_if = "Option::is_none")]
8913 pub rsk_assmnt_tp: Option<Max35Text>,
8914 #[serde(rename = "HghRskTx", skip_serializing_if = "Option::is_none")]
8915 pub hgh_rsk_tx: Option<TrueFalseIndicator>,
8916 #[validate(length(min = 0,))]
8917 #[serde(rename = "Rsn", default)]
8918 pub rsn: Vec<Max35Text>,
8919 #[serde(rename = "Rslt", skip_serializing_if = "Option::is_none")]
8920 pub rslt: Option<Max35Text>,
8921 #[validate(length(min = 0,))]
8922 #[serde(rename = "RskCond", default)]
8923 pub rsk_cond: Vec<AdditionalData1>,
8924 #[validate(length(min = 0,))]
8925 #[serde(rename = "AddtlRskData", default)]
8926 pub addtl_rsk_data: Vec<AdditionalRiskData1>,
8927 #[validate(length(min = 0,))]
8928 #[serde(rename = "RcmmnddActn", default)]
8929 pub rcmmndd_actn: Vec<ActionType8Code>,
8930 #[serde(rename = "OthrRcmmnddActn", skip_serializing_if = "Option::is_none")]
8931 pub othr_rcmmndd_actn: Option<Max35Text>,
8932 #[serde(rename = "RcmmnddActnDtls", skip_serializing_if = "Option::is_none")]
8933 pub rcmmndd_actn_dtls: Option<Max256Text>,
8934}
8935#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8936pub enum IccFallbackReason1Code {
8937 #[serde(rename = "CIIA")]
8938 Ciia,
8939 #[serde(rename = "EDIP")]
8940 Edip,
8941 #[serde(rename = "OTHN")]
8942 Othn,
8943 #[serde(rename = "OTHP")]
8944 Othp,
8945 #[serde(rename = "TERI")]
8946 Teri,
8947 #[default]
8948 Unknown,
8949}
8950#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
8951pub enum PartyType18Code {
8952 #[serde(rename = "ACQR")]
8953 Acqr,
8954 #[serde(rename = "CISS")]
8955 Ciss,
8956 #[serde(rename = "CSCH")]
8957 Csch,
8958 #[serde(rename = "AGNT")]
8959 Agnt,
8960 #[default]
8961 Unknown,
8962}
8963#[derive(
8964 Debug,
8965 Default,
8966 Clone,
8967 PartialEq,
8968 ::serde::Serialize,
8969 ::serde::Deserialize,
8970 ::derive_builder::Builder,
8971 ::validator::Validate,
8972)]
8973pub struct TerminalIdentification3 {
8974 #[validate]
8975 #[serde(rename = "Id")]
8976 pub id: Max16Text,
8977 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
8978 pub assgnr: Option<Max35Text>,
8979 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
8980 pub ctry: Option<IsoMax3ACountryCode>,
8981 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
8982 pub shrt_nm: Option<Max35Text>,
8983}
8984#[derive(
8985 Debug,
8986 Default,
8987 Clone,
8988 PartialEq,
8989 ::serde::Serialize,
8990 ::serde::Deserialize,
8991 ::derive_builder::Builder,
8992 ::validator::Validate,
8993)]
8994pub struct TelecomServicesLineItem2 {
8995 #[serde(rename = "StartDtTm", skip_serializing_if = "Option::is_none")]
8996 pub start_dt_tm: Option<IsoDate>,
8997 #[serde(rename = "TmPrd", skip_serializing_if = "Option::is_none")]
8998 pub tm_prd: Option<Max35Text>,
8999 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
9000 pub drtn: Option<IsoTime>,
9001 #[serde(rename = "CallFr", skip_serializing_if = "Option::is_none")]
9002 pub call_fr: Option<TelecomCallDetails2>,
9003 #[serde(rename = "CallTo", skip_serializing_if = "Option::is_none")]
9004 pub call_to: Option<TelecomCallDetails2>,
9005 #[validate(length(min = 0,))]
9006 #[serde(rename = "Chrg", default)]
9007 pub chrg: Vec<Amount20>,
9008 #[validate(length(min = 0,))]
9009 #[serde(rename = "TtlTax", default)]
9010 pub ttl_tax: Vec<Tax39>,
9011 #[serde(rename = "TtlAmt", skip_serializing_if = "Option::is_none")]
9012 pub ttl_amt: Option<ImpliedCurrencyAndAmount>,
9013 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
9014 pub desc: Option<Max256Text>,
9015 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
9016 pub addtl_data: Option<Max350Text>,
9017}
9018#[derive(
9019 Debug,
9020 Default,
9021 Clone,
9022 PartialEq,
9023 ::serde::Serialize,
9024 ::serde::Deserialize,
9025 ::derive_builder::Builder,
9026 ::validator::Validate,
9027)]
9028pub struct AlgorithmIdentification21 {
9029 #[serde(rename = "Algo")]
9030 pub algo: Algorithm16Code,
9031}
9032#[derive(
9033 Debug,
9034 Default,
9035 Clone,
9036 PartialEq,
9037 ::serde::Serialize,
9038 ::serde::Deserialize,
9039 ::derive_builder::Builder,
9040 ::validator::Validate,
9041)]
9042pub struct Max2048Text {
9043 #[validate(length(min = 1, max = 2048,))]
9044 #[serde(rename = "$text")]
9045 pub value: String,
9046}
9047#[derive(
9048 Debug,
9049 Default,
9050 Clone,
9051 PartialEq,
9052 ::serde::Serialize,
9053 ::serde::Deserialize,
9054 ::derive_builder::Builder,
9055 ::validator::Validate,
9056)]
9057pub struct DeviceOperatingSystem1 {
9058 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
9059 pub id: Option<Max70Text>,
9060 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
9061 pub tp: Option<DeviceOperatingSystemType1Code>,
9062 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
9063 pub othr_tp: Option<Max35Text>,
9064 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
9065 pub vrsn: Option<Max35Text>,
9066 #[serde(rename = "Bld", skip_serializing_if = "Option::is_none")]
9067 pub bld: Option<Max70Text>,
9068}
9069#[derive(
9070 Debug,
9071 Default,
9072 Clone,
9073 PartialEq,
9074 ::serde::Serialize,
9075 ::serde::Deserialize,
9076 ::derive_builder::Builder,
9077 ::validator::Validate,
9078)]
9079pub struct Max140Text {
9080 #[validate(length(min = 1, max = 140,))]
9081 #[serde(rename = "$text")]
9082 pub value: String,
9083}
9084#[derive(
9085 Debug,
9086 Default,
9087 Clone,
9088 PartialEq,
9089 ::serde::Serialize,
9090 ::serde::Deserialize,
9091 ::derive_builder::Builder,
9092 ::validator::Validate,
9093)]
9094pub struct Max37Text {
9095 #[validate(length(min = 1, max = 37,))]
9096 #[serde(rename = "$text")]
9097 pub value: String,
9098}
9099#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9100pub enum LegalStructure1Code {
9101 #[serde(rename = "STAE")]
9102 Stae,
9103 #[serde(rename = "PVIN")]
9104 Pvin,
9105 #[serde(rename = "MUNI")]
9106 Muni,
9107 #[serde(rename = "CNTY")]
9108 Cnty,
9109 #[serde(rename = "NATI")]
9110 Nati,
9111 #[default]
9112 Unknown,
9113}
9114#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9115pub enum ActionType11Code {
9116 #[serde(rename = "CNTI")]
9117 Cnti,
9118 #[serde(rename = "CNIS")]
9119 Cnis,
9120 #[serde(rename = "CNTA")]
9121 Cnta,
9122 #[serde(rename = "CNAS")]
9123 Cnas,
9124 #[serde(rename = "CPTR")]
9125 Cptr,
9126 #[serde(rename = "CHDV")]
9127 Chdv,
9128 #[serde(rename = "VIPM")]
9129 Vipm,
9130 #[serde(rename = "TRCK")]
9131 Trck,
9132 #[serde(rename = "TRXR")]
9133 Trxr,
9134 #[serde(rename = "OTHN")]
9135 Othn,
9136 #[serde(rename = "OTHP")]
9137 Othp,
9138 #[serde(rename = "SIGN")]
9139 Sign,
9140 #[default]
9141 Unknown,
9142}
9143#[derive(
9144 Debug,
9145 Default,
9146 Clone,
9147 PartialEq,
9148 ::serde::Serialize,
9149 ::serde::Deserialize,
9150 ::derive_builder::Builder,
9151 ::validator::Validate,
9152)]
9153pub struct DepartureOrArrival1 {
9154 #[serde(rename = "Lctn", skip_serializing_if = "Option::is_none")]
9155 pub lctn: Option<Max70Text>,
9156 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
9157 pub desc: Option<Max256Text>,
9158 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
9159 pub dt: Option<IsoDate>,
9160 #[serde(rename = "Tm", skip_serializing_if = "Option::is_none")]
9161 pub tm: Option<IsoTime>,
9162}
9163#[derive(
9164 Debug,
9165 Default,
9166 Clone,
9167 PartialEq,
9168 ::serde::Serialize,
9169 ::serde::Deserialize,
9170 ::derive_builder::Builder,
9171 ::validator::Validate,
9172)]
9173pub struct Max10KText {
9174 #[validate(length(min = 1, max = 10000,))]
9175 #[serde(rename = "$text")]
9176 pub value: String,
9177}
9178#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9179pub enum TerminalType1Code {
9180 #[serde(rename = "ATMT")]
9181 Atmt,
9182 #[serde(rename = "MPOS")]
9183 Mpos,
9184 #[serde(rename = "OTHN")]
9185 Othn,
9186 #[serde(rename = "OTHP")]
9187 Othp,
9188 #[serde(rename = "POST")]
9189 Post,
9190 #[default]
9191 Unknown,
9192}
9193#[derive(
9194 Debug,
9195 Default,
9196 Clone,
9197 PartialEq,
9198 ::serde::Serialize,
9199 ::serde::Deserialize,
9200 ::derive_builder::Builder,
9201 ::validator::Validate,
9202)]
9203pub struct AuthenticatedData5 {
9204 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
9205 pub vrsn: Option<Number>,
9206 #[validate(length(min = 1,))]
9207 #[serde(rename = "Rcpt", default)]
9208 pub rcpt: Vec<Recipient6Choice>,
9209 #[validate]
9210 #[serde(rename = "MACAlgo")]
9211 pub mac_algo: AlgorithmIdentification22,
9212 #[validate]
9213 #[serde(rename = "NcpsltdCntt")]
9214 pub ncpsltd_cntt: EncapsulatedContent3,
9215 #[validate]
9216 #[serde(rename = "MAC")]
9217 pub mac: Max140Binary,
9218}
9219#[derive(
9220 Debug,
9221 Default,
9222 Clone,
9223 PartialEq,
9224 ::serde::Serialize,
9225 ::serde::Deserialize,
9226 ::derive_builder::Builder,
9227 ::validator::Validate,
9228)]
9229pub struct Traceability9 {
9230 #[validate]
9231 #[serde(rename = "RlayId")]
9232 pub rlay_id: GenericIdentification183,
9233 #[serde(rename = "TracDtTmIn", skip_serializing_if = "Option::is_none")]
9234 pub trac_dt_tm_in: Option<IsoDateTime>,
9235 #[serde(rename = "TracDtTmOut", skip_serializing_if = "Option::is_none")]
9236 pub trac_dt_tm_out: Option<IsoDateTime>,
9237}
9238#[derive(
9239 Debug,
9240 Default,
9241 Clone,
9242 PartialEq,
9243 ::serde::Serialize,
9244 ::serde::Deserialize,
9245 ::derive_builder::Builder,
9246 ::validator::Validate,
9247)]
9248pub struct SpecialProgrammeDetails1 {
9249 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
9250 pub nm: Option<Max35Text>,
9251 #[serde(rename = "Val", skip_serializing_if = "Option::is_none")]
9252 pub val: Option<Max35Text>,
9253}
9254#[derive(
9255 Debug,
9256 Default,
9257 Clone,
9258 PartialEq,
9259 ::serde::Serialize,
9260 ::serde::Deserialize,
9261 ::derive_builder::Builder,
9262 ::validator::Validate,
9263)]
9264pub struct TransactionContext7 {
9265 #[serde(rename = "MrchntCtgyCd")]
9266 pub mrchnt_ctgy_cd: Iso18245MerchantCategoryCode,
9267 #[serde(
9268 rename = "MrchntCtgySpcfcData",
9269 skip_serializing_if = "Option::is_none"
9270 )]
9271 pub mrchnt_ctgy_spcfc_data: Option<Max35Text>,
9272 #[serde(rename = "CstmrCnsnt", skip_serializing_if = "Option::is_none")]
9273 pub cstmr_cnsnt: Option<TrueFalseIndicator>,
9274 #[serde(rename = "PINPadInprtv", skip_serializing_if = "Option::is_none")]
9275 pub pin_pad_inprtv: Option<TrueFalseIndicator>,
9276 #[serde(rename = "PINNtryBpssInd", skip_serializing_if = "Option::is_none")]
9277 pub pin_ntry_bpss_ind: Option<TrueFalseIndicator>,
9278 #[serde(rename = "ICCFllbckInd", skip_serializing_if = "Option::is_none")]
9279 pub icc_fllbck_ind: Option<TrueFalseIndicator>,
9280 #[serde(rename = "ICCFllbckRsnCd", skip_serializing_if = "Option::is_none")]
9281 pub icc_fllbck_rsn_cd: Option<IccFallbackReason1Code>,
9282 #[serde(rename = "OthrICCFllbckRsnCd", skip_serializing_if = "Option::is_none")]
9283 pub othr_icc_fllbck_rsn_cd: Option<Max35Text>,
9284 #[serde(rename = "MgntcStrpFllbckInd", skip_serializing_if = "Option::is_none")]
9285 pub mgntc_strp_fllbck_ind: Option<TrueFalseIndicator>,
9286 #[serde(rename = "LatePresntmntInd", skip_serializing_if = "Option::is_none")]
9287 pub late_presntmnt_ind: Option<TrueFalseIndicator>,
9288 #[serde(rename = "FnlAuthstnInd", skip_serializing_if = "Option::is_none")]
9289 pub fnl_authstn_ind: Option<TrueFalseIndicator>,
9290 #[serde(rename = "DfrrdDlvryInd", skip_serializing_if = "Option::is_none")]
9291 pub dfrrd_dlvry_ind: Option<TrueFalseIndicator>,
9292 #[serde(rename = "PrtlShipmntInd", skip_serializing_if = "Option::is_none")]
9293 pub prtl_shipmnt_ind: Option<TrueFalseIndicator>,
9294 #[serde(rename = "DelydChrgsInd", skip_serializing_if = "Option::is_none")]
9295 pub delyd_chrgs_ind: Option<TrueFalseIndicator>,
9296 #[serde(rename = "NoShowInd", skip_serializing_if = "Option::is_none")]
9297 pub no_show_ind: Option<TrueFalseIndicator>,
9298 #[serde(rename = "ReauthstnInd", skip_serializing_if = "Option::is_none")]
9299 pub reauthstn_ind: Option<TrueFalseIndicator>,
9300 #[serde(rename = "ReSubmissnInd", skip_serializing_if = "Option::is_none")]
9301 pub re_submissn_ind: Option<TrueFalseIndicator>,
9302 #[serde(rename = "TxInitr", skip_serializing_if = "Option::is_none")]
9303 pub tx_initr: Option<TransactionInitiator1Code>,
9304 #[serde(rename = "AuthntcnOutgInd", skip_serializing_if = "Option::is_none")]
9305 pub authntcn_outg_ind: Option<TrueFalseIndicator>,
9306 #[serde(rename = "CardPrgrmm", skip_serializing_if = "Option::is_none")]
9307 pub card_prgrmm: Option<CardProgramme2>,
9308 #[serde(rename = "Jursdctn", skip_serializing_if = "Option::is_none")]
9309 pub jursdctn: Option<Jurisdiction2>,
9310 #[serde(rename = "SttlmSvc", skip_serializing_if = "Option::is_none")]
9311 pub sttlm_svc: Option<SettlementService3>,
9312 #[serde(rename = "Rcncltn", skip_serializing_if = "Option::is_none")]
9313 pub rcncltn: Option<Reconciliation3>,
9314 #[validate(length(min = 0,))]
9315 #[serde(rename = "XchgRateInf", default)]
9316 pub xchg_rate_inf: Vec<ExchangeRateInformation2>,
9317 #[serde(rename = "CaptrDt", skip_serializing_if = "Option::is_none")]
9318 pub captr_dt: Option<IsoDate>,
9319 #[serde(rename = "DtAntcptd", skip_serializing_if = "Option::is_none")]
9320 pub dt_antcptd: Option<IsoDate>,
9321 #[validate(length(min = 0,))]
9322 #[serde(rename = "AddtlData", default)]
9323 pub addtl_data: Vec<AdditionalData1>,
9324}
9325#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9326pub enum CompanyAssigner2Code {
9327 #[serde(rename = "ASSO")]
9328 Asso,
9329 #[serde(rename = "AUTH")]
9330 Auth,
9331 #[serde(rename = "CPNY")]
9332 Cpny,
9333 #[serde(rename = "LEII")]
9334 Leii,
9335 #[serde(rename = "TRAG")]
9336 Trag,
9337 #[serde(rename = "OTHP")]
9338 Othp,
9339 #[serde(rename = "OTHN")]
9340 Othn,
9341 #[default]
9342 Unknown,
9343}
9344#[derive(
9345 Debug,
9346 Default,
9347 Clone,
9348 PartialEq,
9349 ::serde::Serialize,
9350 ::serde::Deserialize,
9351 ::derive_builder::Builder,
9352 ::validator::Validate,
9353)]
9354pub struct FleetSummary2 {
9355 #[serde(rename = "Drvr", skip_serializing_if = "Option::is_none")]
9356 pub drvr: Option<Driver2>,
9357 #[serde(rename = "Vhcl", skip_serializing_if = "Option::is_none")]
9358 pub vhcl: Option<Vehicle5>,
9359 #[serde(rename = "DrvrOrVhclCard", skip_serializing_if = "Option::is_none")]
9360 pub drvr_or_vhcl_card: Option<PlainCardData21>,
9361 #[serde(rename = "CardFuelPrmptCd", skip_serializing_if = "Option::is_none")]
9362 pub card_fuel_prmpt_cd: Option<Max1Number>,
9363 #[serde(rename = "AgtFuelPrmptCd", skip_serializing_if = "Option::is_none")]
9364 pub agt_fuel_prmpt_cd: Option<Max35Text>,
9365 #[serde(rename = "TripInf", skip_serializing_if = "Option::is_none")]
9366 pub trip_inf: Option<TripInformation1>,
9367 #[validate(length(min = 0,))]
9368 #[serde(rename = "LclAmnty", default)]
9369 pub lcl_amnty: Vec<LocalAmenity1>,
9370 #[validate(length(min = 0,))]
9371 #[serde(rename = "TxRltdData", default)]
9372 pub tx_rltd_data: Vec<PaymentTransaction141>,
9373 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
9374 pub addtl_data: Option<AdditionalInformation19>,
9375}
9376#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9377pub enum KeyUsage1Code {
9378 #[serde(rename = "ENCR")]
9379 Encr,
9380 #[serde(rename = "DCPT")]
9381 Dcpt,
9382 #[serde(rename = "DENC")]
9383 Denc,
9384 #[serde(rename = "DDEC")]
9385 Ddec,
9386 #[serde(rename = "TRNI")]
9387 Trni,
9388 #[serde(rename = "TRNX")]
9389 Trnx,
9390 #[serde(rename = "MACG")]
9391 Macg,
9392 #[serde(rename = "MACV")]
9393 Macv,
9394 #[serde(rename = "SIGG")]
9395 Sigg,
9396 #[serde(rename = "SUGV")]
9397 Sugv,
9398 #[serde(rename = "PINE")]
9399 Pine,
9400 #[serde(rename = "PIND")]
9401 Pind,
9402 #[serde(rename = "PINV")]
9403 Pinv,
9404 #[serde(rename = "KEYG")]
9405 Keyg,
9406 #[serde(rename = "KEYI")]
9407 Keyi,
9408 #[serde(rename = "KEYX")]
9409 Keyx,
9410 #[serde(rename = "KEYD")]
9411 Keyd,
9412 #[default]
9413 Unknown,
9414}
9415#[derive(
9416 Debug,
9417 Default,
9418 Clone,
9419 PartialEq,
9420 ::serde::Serialize,
9421 ::serde::Deserialize,
9422 ::derive_builder::Builder,
9423 ::validator::Validate,
9424)]
9425pub struct DisplayCapabilities6 {
9426 #[serde(rename = "Dstn")]
9427 pub dstn: UserInterface1Code,
9428 #[validate(length(min = 0,))]
9429 #[serde(rename = "AvlblFrmt", default)]
9430 pub avlbl_frmt: Vec<OutputFormat1Code>,
9431 #[serde(rename = "NbOfLines", skip_serializing_if = "Option::is_none")]
9432 pub nb_of_lines: Option<Number>,
9433 #[serde(rename = "LineWidth", skip_serializing_if = "Option::is_none")]
9434 pub line_width: Option<Number>,
9435 #[validate(length(min = 0,))]
9436 #[serde(rename = "AvlblLang", default)]
9437 pub avlbl_lang: Vec<LanguageCode>,
9438}
9439#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9440pub enum Endpoint1Code {
9441 #[serde(rename = "DEST")]
9442 Dest,
9443 #[serde(rename = "ORIG")]
9444 Orig,
9445 #[serde(rename = "OTHP")]
9446 Othp,
9447 #[serde(rename = "OTHN")]
9448 Othn,
9449 #[default]
9450 Unknown,
9451}
9452#[derive(
9453 Debug,
9454 Default,
9455 Clone,
9456 PartialEq,
9457 ::serde::Serialize,
9458 ::serde::Deserialize,
9459 ::derive_builder::Builder,
9460 ::validator::Validate,
9461)]
9462pub struct Max11NumericText {
9463 #[validate(regex = "MAX_11_NUMERIC_TEXT_REGEX")]
9464 #[serde(rename = "$text")]
9465 pub value: String,
9466}
9467#[derive(
9468 Debug,
9469 Default,
9470 Clone,
9471 PartialEq,
9472 ::serde::Serialize,
9473 ::serde::Deserialize,
9474 ::derive_builder::Builder,
9475 ::validator::Validate,
9476)]
9477pub struct Max15NumericText {
9478 #[validate(regex = "MAX_15_NUMERIC_TEXT_REGEX")]
9479 #[serde(rename = "$text")]
9480 pub value: String,
9481}
9482#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9483pub enum BytePadding1Code {
9484 #[serde(rename = "LNGT")]
9485 Lngt,
9486 #[serde(rename = "NUL8")]
9487 Nul8,
9488 #[serde(rename = "NULG")]
9489 Nulg,
9490 #[serde(rename = "NULL")]
9491 Null,
9492 #[serde(rename = "RAND")]
9493 Rand,
9494 #[default]
9495 Unknown,
9496}
9497#[derive(
9498 Debug,
9499 Default,
9500 Clone,
9501 PartialEq,
9502 ::serde::Serialize,
9503 ::serde::Deserialize,
9504 ::derive_builder::Builder,
9505 ::validator::Validate,
9506)]
9507pub struct MemoryCharacteristics1 {
9508 #[validate]
9509 #[serde(rename = "Id")]
9510 pub id: Max35Text,
9511 #[validate]
9512 #[serde(rename = "TtlSz")]
9513 pub ttl_sz: DecimalNumber,
9514 #[validate]
9515 #[serde(rename = "FreeSz")]
9516 pub free_sz: DecimalNumber,
9517 #[serde(rename = "Unit")]
9518 pub unit: MemoryUnit1Code,
9519}
9520#[derive(
9521 Debug,
9522 Default,
9523 Clone,
9524 PartialEq,
9525 ::serde::Serialize,
9526 ::serde::Deserialize,
9527 ::derive_builder::Builder,
9528 ::validator::Validate,
9529)]
9530pub struct Max40Text {
9531 #[validate(length(min = 1, max = 40,))]
9532 #[serde(rename = "$text")]
9533 pub value: String,
9534}
9535#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9536pub enum Algorithm16Code {
9537 #[serde(rename = "HS25")]
9538 Hs25,
9539 #[serde(rename = "HS38")]
9540 Hs38,
9541 #[serde(rename = "HS51")]
9542 Hs51,
9543 #[serde(rename = "HS01")]
9544 Hs01,
9545 #[serde(rename = "SH31")]
9546 Sh31,
9547 #[serde(rename = "SH32")]
9548 Sh32,
9549 #[serde(rename = "SH33")]
9550 Sh33,
9551 #[serde(rename = "SH35")]
9552 Sh35,
9553 #[serde(rename = "SHK1")]
9554 Shk1,
9555 #[serde(rename = "SHK2")]
9556 Shk2,
9557 #[default]
9558 Unknown,
9559}
9560#[derive(
9561 Debug,
9562 Default,
9563 Clone,
9564 PartialEq,
9565 ::serde::Serialize,
9566 ::serde::Deserialize,
9567 ::derive_builder::Builder,
9568 ::validator::Validate,
9569)]
9570pub struct Contact3 {
9571 #[serde(rename = "CntrlPhneNb", skip_serializing_if = "Option::is_none")]
9572 pub cntrl_phne_nb: Option<PhoneNumber>,
9573 #[serde(rename = "PrprtyPhneNb", skip_serializing_if = "Option::is_none")]
9574 pub prprty_phne_nb: Option<PhoneNumber>,
9575 #[serde(rename = "TollFreePhneNb", skip_serializing_if = "Option::is_none")]
9576 pub toll_free_phne_nb: Option<PhoneNumber>,
9577 #[serde(rename = "Email", skip_serializing_if = "Option::is_none")]
9578 pub email: Option<Max256Text>,
9579 #[serde(rename = "FaxNb", skip_serializing_if = "Option::is_none")]
9580 pub fax_nb: Option<PhoneNumber>,
9581 #[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
9582 pub url_adr: Option<Max256Text>,
9583 #[serde(rename = "Lang", skip_serializing_if = "Option::is_none")]
9584 pub lang: Option<LanguageCode>,
9585}
9586#[derive(
9587 Debug,
9588 Default,
9589 Clone,
9590 PartialEq,
9591 ::serde::Serialize,
9592 ::serde::Deserialize,
9593 ::derive_builder::Builder,
9594 ::validator::Validate,
9595)]
9596pub struct InvoiceLineItem2 {
9597 #[serde(rename = "Dt", skip_serializing_if = "Option::is_none")]
9598 pub dt: Option<IsoDate>,
9599 #[serde(rename = "OrdrDt", skip_serializing_if = "Option::is_none")]
9600 pub ordr_dt: Option<IsoDate>,
9601 #[serde(rename = "CtrctNb", skip_serializing_if = "Option::is_none")]
9602 pub ctrct_nb: Option<Max70Text>,
9603 #[serde(rename = "ShppgDt", skip_serializing_if = "Option::is_none")]
9604 pub shppg_dt: Option<IsoDate>,
9605 #[serde(rename = "RbllgInd", skip_serializing_if = "Option::is_none")]
9606 pub rbllg_ind: Option<TrueFalseIndicator>,
9607 #[serde(rename = "MdclSvcsInd", skip_serializing_if = "Option::is_none")]
9608 pub mdcl_svcs_ind: Option<TrueFalseIndicator>,
9609 #[serde(rename = "ShipToIndstryCd", skip_serializing_if = "Option::is_none")]
9610 pub ship_to_indstry_cd: Option<Max50Text>,
9611 #[serde(rename = "PdctCd", skip_serializing_if = "Option::is_none")]
9612 pub pdct_cd: Option<Max70Text>,
9613 #[serde(rename = "PdctQlfr", skip_serializing_if = "Option::is_none")]
9614 pub pdct_qlfr: Option<Max35Text>,
9615 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
9616 pub desc: Option<Max256Text>,
9617 #[serde(rename = "TpOfSpply", skip_serializing_if = "Option::is_none")]
9618 pub tp_of_spply: Option<Max10Text>,
9619 #[serde(rename = "UnitOfMeasr", skip_serializing_if = "Option::is_none")]
9620 pub unit_of_measr: Option<UnitOfMeasure1Code>,
9621 #[serde(rename = "OthrUnitOfMeasr", skip_serializing_if = "Option::is_none")]
9622 pub othr_unit_of_measr: Option<Max35Text>,
9623 #[serde(rename = "UnitPric", skip_serializing_if = "Option::is_none")]
9624 pub unit_pric: Option<ImpliedCurrencyAndAmount>,
9625 #[serde(rename = "PdctQty", skip_serializing_if = "Option::is_none")]
9626 pub pdct_qty: Option<DecimalNumber>,
9627 #[serde(rename = "Adjstmnt", skip_serializing_if = "Option::is_none")]
9628 pub adjstmnt: Option<Adjustment12>,
9629 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
9630 pub insrnc_ind: Option<TrueFalseIndicator>,
9631 #[serde(rename = "InsrncAmt", skip_serializing_if = "Option::is_none")]
9632 pub insrnc_amt: Option<ImpliedCurrencyAndAmount>,
9633 #[validate(length(min = 0,))]
9634 #[serde(rename = "Tax", default)]
9635 pub tax: Vec<Tax39>,
9636 #[serde(rename = "UnqVATInvcRef", skip_serializing_if = "Option::is_none")]
9637 pub unq_vat_invc_ref: Option<Max35Text>,
9638 #[serde(rename = "TtlAmt", skip_serializing_if = "Option::is_none")]
9639 pub ttl_amt: Option<ImpliedCurrencyAndAmount>,
9640 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
9641 pub cdt_dbt: Option<CreditDebit3Code>,
9642 #[serde(rename = "ZeroCostToCstmrInd", skip_serializing_if = "Option::is_none")]
9643 pub zero_cost_to_cstmr_ind: Option<TrueFalseIndicator>,
9644 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
9645 pub addtl_data: Option<Max350Text>,
9646}
9647#[derive(
9648 Debug,
9649 Default,
9650 Clone,
9651 PartialEq,
9652 ::serde::Serialize,
9653 ::serde::Deserialize,
9654 ::derive_builder::Builder,
9655 ::validator::Validate,
9656)]
9657pub struct PartyIdentification210 {
9658 #[serde(rename = "PrsnlId", skip_serializing_if = "Option::is_none")]
9659 pub prsnl_id: Option<Max35Text>,
9660 #[serde(rename = "MplyeeId", skip_serializing_if = "Option::is_none")]
9661 pub mplyee_id: Option<PhoneNumber>,
9662 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
9663 pub nm: Option<Max70Text>,
9664 #[serde(rename = "PrfssnlLvl", skip_serializing_if = "Option::is_none")]
9665 pub prfssnl_lvl: Option<Max35Text>,
9666}
9667#[derive(
9668 Debug,
9669 Default,
9670 Clone,
9671 PartialEq,
9672 ::serde::Serialize,
9673 ::serde::Deserialize,
9674 ::derive_builder::Builder,
9675 ::validator::Validate,
9676)]
9677pub struct TravelAgencyPackage1 {
9678 #[serde(rename = "RsvatnNb", skip_serializing_if = "Option::is_none")]
9679 pub rsvatn_nb: Option<Max35Text>,
9680 #[serde(rename = "TrvlPackgTp", skip_serializing_if = "Option::is_none")]
9681 pub trvl_packg_tp: Option<Max70Text>,
9682 #[serde(rename = "NbInPty", skip_serializing_if = "Option::is_none")]
9683 pub nb_in_pty: Option<Max10NumericText>,
9684 #[validate(length(min = 0,))]
9685 #[serde(rename = "CstmrRef", default)]
9686 pub cstmr_ref: Vec<CustomerReference1>,
9687 #[serde(rename = "DataSrc", skip_serializing_if = "Option::is_none")]
9688 pub data_src: Option<Max35Text>,
9689 #[serde(rename = "DlvryOrdrNb", skip_serializing_if = "Option::is_none")]
9690 pub dlvry_ordr_nb: Option<Max35Text>,
9691 #[serde(rename = "CdtCardSlipNb", skip_serializing_if = "Option::is_none")]
9692 pub cdt_card_slip_nb: Option<Max35Text>,
9693 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
9694 pub insrnc_ind: Option<TrueFalseIndicator>,
9695 #[serde(rename = "InsrncAmt", skip_serializing_if = "Option::is_none")]
9696 pub insrnc_amt: Option<ImpliedCurrencyAndAmount>,
9697 #[serde(rename = "Fee", skip_serializing_if = "Option::is_none")]
9698 pub fee: Option<ImpliedCurrencyAndAmount>,
9699}
9700#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9701pub enum TypeOfAmount20Code {
9702 #[serde(rename = "AMTH")]
9703 Amth,
9704 #[serde(rename = "BAGG")]
9705 Bagg,
9706 #[serde(rename = "CARG")]
9707 Carg,
9708 #[serde(rename = "CHTC")]
9709 Chtc,
9710 #[serde(rename = "CLUB")]
9711 Club,
9712 #[serde(rename = "DUTY")]
9713 Duty,
9714 #[serde(rename = "EXTK")]
9715 Extk,
9716 #[serde(rename = "EXTF")]
9717 Extf,
9718 #[serde(rename = "EXTR")]
9719 Extr,
9720 #[serde(rename = "FARE")]
9721 Fare,
9722 #[serde(rename = "FDBV")]
9723 Fdbv,
9724 #[serde(rename = "INSU")]
9725 Insu,
9726 #[serde(rename = "MISC")]
9727 Misc,
9728 #[serde(rename = "OTHN")]
9729 Othn,
9730 #[serde(rename = "OTHP")]
9731 Othp,
9732 #[serde(rename = "PETC")]
9733 Petc,
9734 #[serde(rename = "PHNE")]
9735 Phne,
9736 #[serde(rename = "PRPY")]
9737 Prpy,
9738 #[serde(rename = "TOTL")]
9739 Totl,
9740 #[serde(rename = "TOUR")]
9741 Tour,
9742 #[serde(rename = "UPGD")]
9743 Upgd,
9744 #[serde(rename = "TKDL")]
9745 Tkdl,
9746 #[default]
9747 Unknown,
9748}
9749#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
9750pub enum Algorithm11Code {
9751 #[serde(rename = "HS25")]
9752 Hs25,
9753 #[serde(rename = "HS38")]
9754 Hs38,
9755 #[serde(rename = "HS51")]
9756 Hs51,
9757 #[serde(rename = "HS01")]
9758 Hs01,
9759 #[default]
9760 Unknown,
9761}
9762#[derive(
9763 Debug,
9764 Default,
9765 Clone,
9766 PartialEq,
9767 ::serde::Serialize,
9768 ::serde::Deserialize,
9769 ::derive_builder::Builder,
9770 ::validator::Validate,
9771)]
9772pub struct Max20Text {
9773 #[validate(length(min = 1, max = 20,))]
9774 #[serde(rename = "$text")]
9775 pub value: String,
9776}
9777#[derive(
9778 Debug,
9779 Default,
9780 Clone,
9781 PartialEq,
9782 ::serde::Serialize,
9783 ::serde::Deserialize,
9784 ::derive_builder::Builder,
9785 ::validator::Validate,
9786)]
9787pub struct Kek5 {
9788 #[serde(rename = "Vrsn", skip_serializing_if = "Option::is_none")]
9789 pub vrsn: Option<Number>,
9790 #[validate]
9791 #[serde(rename = "KEKId")]
9792 pub kek_id: KekIdentifier2,
9793 #[validate]
9794 #[serde(rename = "KeyNcrptnAlgo")]
9795 pub key_ncrptn_algo: AlgorithmIdentification23,
9796 #[validate]
9797 #[serde(rename = "NcrptdKey")]
9798 pub ncrptd_key: Max500Binary,
9799}
9800#[derive(
9801 Debug,
9802 Default,
9803 Clone,
9804 PartialEq,
9805 ::serde::Serialize,
9806 ::serde::Deserialize,
9807 ::derive_builder::Builder,
9808 ::validator::Validate,
9809)]
9810pub struct Wallet2 {
9811 #[serde(rename = "Prvdr", skip_serializing_if = "Option::is_none")]
9812 pub prvdr: Option<PartyIdentification258>,
9813 #[serde(rename = "PANAge", skip_serializing_if = "Option::is_none")]
9814 pub pan_age: Option<Max5PositiveNumber>,
9815 #[serde(rename = "UsrAcctAge", skip_serializing_if = "Option::is_none")]
9816 pub usr_acct_age: Option<Max5PositiveNumber>,
9817 #[serde(rename = "WlltAcctAge", skip_serializing_if = "Option::is_none")]
9818 pub wllt_acct_age: Option<Max5PositiveNumber>,
9819 #[serde(rename = "DaysSncLastActvty", skip_serializing_if = "Option::is_none")]
9820 pub days_snc_last_actvty: Option<Max5PositiveNumber>,
9821 #[serde(rename = "Actvty", skip_serializing_if = "Option::is_none")]
9822 pub actvty: Option<Max10PositiveNumber>,
9823 #[serde(rename = "ActvtyIntrvl", skip_serializing_if = "Option::is_none")]
9824 pub actvty_intrvl: Option<Frequency12Code>,
9825 #[serde(rename = "LastWlltChng", skip_serializing_if = "Option::is_none")]
9826 pub last_wllt_chng: Option<Max5PositiveNumber>,
9827 #[serde(rename = "SspdCrds", skip_serializing_if = "Option::is_none")]
9828 pub sspd_crds: Option<Max5PositiveNumber>,
9829 #[serde(rename = "WlltAcctCtry", skip_serializing_if = "Option::is_none")]
9830 pub wllt_acct_ctry: Option<IsoMax3ACountryCode>,
9831 #[serde(rename = "CardDataNtryMd", skip_serializing_if = "Option::is_none")]
9832 pub card_data_ntry_md: Option<CardDataReading9Code>,
9833 #[serde(rename = "OthrCardDataNtryMd", skip_serializing_if = "Option::is_none")]
9834 pub othr_card_data_ntry_md: Option<Max35Text>,
9835 #[serde(rename = "WlltAcctEmailAge", skip_serializing_if = "Option::is_none")]
9836 pub wllt_acct_email_age: Option<Max5PositiveNumber>,
9837 #[serde(rename = "WlltPrvdrRskAssmnt", skip_serializing_if = "Option::is_none")]
9838 pub wllt_prvdr_rsk_assmnt: Option<RiskAssessment1Code>,
9839 #[serde(
9840 rename = "WlltPrvdrRskAssmntMdlVrsn",
9841 skip_serializing_if = "Option::is_none"
9842 )]
9843 pub wllt_prvdr_rsk_assmnt_mdl_vrsn: Option<Max35Text>,
9844 #[serde(rename = "WlltPrvdrPhneScore", skip_serializing_if = "Option::is_none")]
9845 pub wllt_prvdr_phne_score: Option<Max5PositiveNumber>,
9846 #[serde(rename = "WlltPrvdrDvcScore", skip_serializing_if = "Option::is_none")]
9847 pub wllt_prvdr_dvc_score: Option<Max5PositiveNumber>,
9848 #[serde(rename = "WlltPrvdrAcctScore", skip_serializing_if = "Option::is_none")]
9849 pub wllt_prvdr_acct_score: Option<Max5PositiveNumber>,
9850 #[validate(length(min = 0,))]
9851 #[serde(rename = "AddtlData", default)]
9852 pub addtl_data: Vec<AdditionalData1>,
9853}
9854#[derive(
9855 Debug,
9856 Default,
9857 Clone,
9858 PartialEq,
9859 ::serde::Serialize,
9860 ::serde::Deserialize,
9861 ::derive_builder::Builder,
9862 ::validator::Validate,
9863)]
9864pub struct Address2 {
9865 #[serde(rename = "AdrLine1", skip_serializing_if = "Option::is_none")]
9866 pub adr_line_1: Option<Max99Text>,
9867 #[serde(rename = "AdrLine2", skip_serializing_if = "Option::is_none")]
9868 pub adr_line_2: Option<Max99Text>,
9869 #[serde(rename = "StrtNm", skip_serializing_if = "Option::is_none")]
9870 pub strt_nm: Option<Max99Text>,
9871 #[serde(rename = "BldgNb", skip_serializing_if = "Option::is_none")]
9872 pub bldg_nb: Option<Max16Text>,
9873 #[serde(rename = "PstlCd", skip_serializing_if = "Option::is_none")]
9874 pub pstl_cd: Option<Max16Text>,
9875 #[serde(rename = "TwnNm", skip_serializing_if = "Option::is_none")]
9876 pub twn_nm: Option<Max50Text>,
9877 #[serde(rename = "CtrySubDvsnMnr", skip_serializing_if = "Option::is_none")]
9878 pub ctry_sub_dvsn_mnr: Option<IsoCountrySubDivisionCode>,
9879 #[serde(rename = "CtrySubDvsnMjr", skip_serializing_if = "Option::is_none")]
9880 pub ctry_sub_dvsn_mjr: Option<IsoCountrySubDivisionCode>,
9881 #[serde(rename = "CtrySubDvsnMjrNm", skip_serializing_if = "Option::is_none")]
9882 pub ctry_sub_dvsn_mjr_nm: Option<Max50Text>,
9883 #[serde(rename = "CtrySubDvsnMnrNm", skip_serializing_if = "Option::is_none")]
9884 pub ctry_sub_dvsn_mnr_nm: Option<Max50Text>,
9885 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
9886 pub ctry: Option<IsoMax3ACountryCode>,
9887}
9888#[derive(
9889 Debug,
9890 Default,
9891 Clone,
9892 PartialEq,
9893 ::serde::Serialize,
9894 ::serde::Deserialize,
9895 ::derive_builder::Builder,
9896 ::validator::Validate,
9897)]
9898pub struct LodgingSummary2 {
9899 #[serde(rename = "FolioNb", skip_serializing_if = "Option::is_none")]
9900 pub folio_nb: Option<Max35Text>,
9901 #[serde(rename = "Prprty", skip_serializing_if = "Option::is_none")]
9902 pub prprty: Option<LodgingProperty2>,
9903 #[serde(rename = "Cstmr", skip_serializing_if = "Option::is_none")]
9904 pub cstmr: Option<Customer8>,
9905 #[serde(rename = "NbOfRooms", skip_serializing_if = "Option::is_none")]
9906 pub nb_of_rooms: Option<Max4NumericText>,
9907 #[validate(length(min = 0,))]
9908 #[serde(rename = "Room", default)]
9909 pub room: Vec<LodgingRoom1>,
9910 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
9911 pub drtn: Option<Max4NumericText>,
9912 #[serde(rename = "Arrvl", skip_serializing_if = "Option::is_none")]
9913 pub arrvl: Option<DepartureOrArrival2>,
9914 #[serde(rename = "Dprture", skip_serializing_if = "Option::is_none")]
9915 pub dprture: Option<DepartureOrArrival1>,
9916 #[serde(rename = "NoShowInd", skip_serializing_if = "Option::is_none")]
9917 pub no_show_ind: Option<TrueFalseIndicator>,
9918 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
9919 pub insrnc_ind: Option<TrueFalseIndicator>,
9920 #[serde(rename = "InsrncAmt", skip_serializing_if = "Option::is_none")]
9921 pub insrnc_amt: Option<ImpliedCurrencyAndAmount>,
9922 #[validate(length(min = 0,))]
9923 #[serde(rename = "TtlTax", default)]
9924 pub ttl_tax: Vec<Tax39>,
9925 #[serde(rename = "TtlAmt", skip_serializing_if = "Option::is_none")]
9926 pub ttl_amt: Option<ImpliedCurrencyAndAmount>,
9927 #[validate(length(min = 0,))]
9928 #[serde(rename = "AuthrsdAmt", default)]
9929 pub authrsd_amt: Vec<AuthorisedAmount1>,
9930 #[serde(rename = "SummryCmmdtyId", skip_serializing_if = "Option::is_none")]
9931 pub summry_cmmdty_id: Option<Max35Text>,
9932 #[validate(length(min = 0,))]
9933 #[serde(rename = "LltyPrgrmm", default)]
9934 pub llty_prgrmm: Vec<LoyaltyProgramme2>,
9935 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
9936 pub addtl_data: Option<Max350Text>,
9937}
9938#[derive(
9939 Debug,
9940 Default,
9941 Clone,
9942 PartialEq,
9943 ::serde::Serialize,
9944 ::serde::Deserialize,
9945 ::derive_builder::Builder,
9946 ::validator::Validate,
9947)]
9948pub struct AccountDetails3 {
9949 #[serde(rename = "AcctNm", skip_serializing_if = "Option::is_none")]
9950 pub acct_nm: Option<Max70Text>,
9951 #[serde(rename = "AcctTp", skip_serializing_if = "Option::is_none")]
9952 pub acct_tp: Option<Iso8583AccountTypeCode>,
9953 #[serde(rename = "AcctId", skip_serializing_if = "Option::is_none")]
9954 pub acct_id: Option<Max70Text>,
9955}
9956#[derive(
9957 Debug,
9958 Default,
9959 Clone,
9960 PartialEq,
9961 ::serde::Serialize,
9962 ::serde::Deserialize,
9963 ::derive_builder::Builder,
9964 ::validator::Validate,
9965)]
9966pub struct Ticket2 {
9967 #[serde(rename = "TcktNb", skip_serializing_if = "Option::is_none")]
9968 pub tckt_nb: Option<Max35Text>,
9969 #[serde(rename = "TcktIssr", skip_serializing_if = "Option::is_none")]
9970 pub tckt_issr: Option<PartyIdentification258>,
9971 #[serde(rename = "TcktIsseDt", skip_serializing_if = "Option::is_none")]
9972 pub tckt_isse_dt: Option<IsoDate>,
9973 #[serde(rename = "TcktIsseLctn", skip_serializing_if = "Option::is_none")]
9974 pub tckt_isse_lctn: Option<Max140Text>,
9975 #[serde(rename = "CnjnctnTcktNb", skip_serializing_if = "Option::is_none")]
9976 pub cnjnctn_tckt_nb: Option<Max35Text>,
9977 #[serde(rename = "RstrctdTcktInd", skip_serializing_if = "Option::is_none")]
9978 pub rstrctd_tckt_ind: Option<TrueFalseIndicator>,
9979 #[serde(rename = "OpnTcktInd", skip_serializing_if = "Option::is_none")]
9980 pub opn_tckt_ind: Option<TrueFalseIndicator>,
9981 #[serde(rename = "Rstrctns", skip_serializing_if = "Option::is_none")]
9982 pub rstrctns: Option<Max70Text>,
9983 #[serde(rename = "XchgdTcktInd", skip_serializing_if = "Option::is_none")]
9984 pub xchgd_tckt_ind: Option<TrueFalseIndicator>,
9985 #[serde(rename = "XchgdTcktNb", skip_serializing_if = "Option::is_none")]
9986 pub xchgd_tckt_nb: Option<Max35Text>,
9987 #[serde(rename = "RcrdLctrNb", skip_serializing_if = "Option::is_none")]
9988 pub rcrd_lctr_nb: Option<Max35Text>,
9989 #[serde(rename = "Rsvatn", skip_serializing_if = "Option::is_none")]
9990 pub rsvatn: Option<ReservationDetails3>,
9991}
9992#[derive(
9993 Debug,
9994 Default,
9995 Clone,
9996 PartialEq,
9997 ::serde::Serialize,
9998 ::serde::Deserialize,
9999 ::derive_builder::Builder,
10000 ::validator::Validate,
10001)]
10002pub struct AdministrativeInitiation1<
10003 A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
10004> {
10005 #[validate]
10006 #[serde(rename = "Envt")]
10007 pub envt: Environment34,
10008 #[serde(rename = "Cntxt", skip_serializing_if = "Option::is_none")]
10009 pub cntxt: Option<Context18>,
10010 #[validate]
10011 #[serde(rename = "Tx")]
10012 pub tx: Transaction144,
10013 #[validate(length(min = 0,))]
10014 #[serde(rename = "OrgnlTx", default)]
10015 pub orgnl_tx: Vec<OriginalTransaction2>,
10016 #[serde(rename = "AdddmData", skip_serializing_if = "Option::is_none")]
10017 pub adddm_data: Option<AddendumData3>,
10018 #[validate(length(min = 0,))]
10019 #[serde(rename = "AddtlData", default)]
10020 pub addtl_data: Vec<AdditionalData2>,
10021 #[serde(rename = "PrcgRslt", skip_serializing_if = "Option::is_none")]
10022 pub prcg_rslt: Option<ProcessingResult16>,
10023 #[serde(rename = "ICCRltdData", skip_serializing_if = "Option::is_none")]
10024 pub icc_rltd_data: Option<Max10KHexBinaryText>,
10025 #[validate(length(min = 0,))]
10026 #[serde(rename = "PrtctdData", default)]
10027 pub prtctd_data: Vec<ProtectedData1>,
10028 #[validate(length(min = 0,))]
10029 #[serde(rename = "SplmtryData", default)]
10030 pub splmtry_data: Vec<SupplementaryData1<A>>,
10031}
10032#[derive(
10033 Debug,
10034 Default,
10035 Clone,
10036 PartialEq,
10037 ::serde::Serialize,
10038 ::serde::Deserialize,
10039 ::derive_builder::Builder,
10040 ::validator::Validate,
10041)]
10042pub struct ApprovalEntity2 {
10043 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
10044 pub id: Option<Max35Text>,
10045 #[serde(rename = "Tp")]
10046 pub tp: PartyType26Code,
10047 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
10048 pub othr_tp: Option<Max35Text>,
10049 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
10050 pub assgnr: Option<PartyType9Code>,
10051 #[serde(rename = "Ctry", skip_serializing_if = "Option::is_none")]
10052 pub ctry: Option<IsoMax3ACountryCode>,
10053 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
10054 pub shrt_nm: Option<Max35Text>,
10055}
10056#[derive(
10057 Debug,
10058 Default,
10059 Clone,
10060 PartialEq,
10061 ::serde::Serialize,
10062 ::serde::Deserialize,
10063 ::derive_builder::Builder,
10064 ::validator::Validate,
10065)]
10066pub struct Max16Text {
10067 #[validate(length(min = 1, max = 16,))]
10068 #[serde(rename = "$text")]
10069 pub value: String,
10070}
10071#[derive(
10072 Debug,
10073 Default,
10074 Clone,
10075 PartialEq,
10076 ::serde::Serialize,
10077 ::serde::Deserialize,
10078 ::derive_builder::Builder,
10079 ::validator::Validate,
10080)]
10081pub struct Min2Max3NumericText {
10082 #[validate(regex = "MIN_2_MAX_3_NUMERIC_TEXT_REGEX")]
10083 #[serde(rename = "$text")]
10084 pub value: String,
10085}
10086#[derive(
10087 Debug,
10088 Default,
10089 Clone,
10090 PartialEq,
10091 ::serde::Serialize,
10092 ::serde::Deserialize,
10093 ::derive_builder::Builder,
10094 ::validator::Validate,
10095)]
10096pub struct Max9999HexBinaryText {
10097 #[validate(regex = "MAX_9999_HEX_BINARY_TEXT_REGEX")]
10098 #[serde(rename = "$text")]
10099 pub value: String,
10100}
10101#[derive(
10102 Debug,
10103 Default,
10104 Clone,
10105 PartialEq,
10106 ::serde::Serialize,
10107 ::serde::Deserialize,
10108 ::derive_builder::Builder,
10109 ::validator::Validate,
10110)]
10111pub struct Amount19 {
10112 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
10113 pub desc: Option<Max35Text>,
10114 #[validate]
10115 #[serde(rename = "Amt")]
10116 pub amt: ImpliedCurrencyAndAmount,
10117 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
10118 pub cdt_dbt: Option<CreditDebit3Code>,
10119 #[validate(length(min = 0,))]
10120 #[serde(rename = "Tax", default)]
10121 pub tax: Vec<Tax39>,
10122}
10123#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10124pub enum Verification3Code {
10125 #[serde(rename = "FAIL")]
10126 Fail,
10127 #[serde(rename = "FUTA")]
10128 Futa,
10129 #[serde(rename = "MISS")]
10130 Miss,
10131 #[serde(rename = "NOSP")]
10132 Nosp,
10133 #[serde(rename = "NOVF")]
10134 Novf,
10135 #[serde(rename = "OTHN")]
10136 Othn,
10137 #[serde(rename = "OTHP")]
10138 Othp,
10139 #[serde(rename = "PART")]
10140 Part,
10141 #[serde(rename = "SUCC")]
10142 Succ,
10143 #[serde(rename = "ERRR")]
10144 Errr,
10145 #[default]
10146 Unknown,
10147}
10148#[derive(
10149 Debug,
10150 Default,
10151 Clone,
10152 PartialEq,
10153 ::serde::Serialize,
10154 ::serde::Deserialize,
10155 ::derive_builder::Builder,
10156 ::validator::Validate,
10157)]
10158pub struct PartyIdentification260 {
10159 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
10160 pub nm: Option<Max70Text>,
10161 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
10162 pub id: Option<PartyIdentification258>,
10163 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
10164 pub adr: Option<Address2>,
10165 #[serde(rename = "Ctct", skip_serializing_if = "Option::is_none")]
10166 pub ctct: Option<Contact6>,
10167 #[serde(rename = "Instrs", skip_serializing_if = "Option::is_none")]
10168 pub instrs: Option<Max350Text>,
10169}
10170#[derive(
10171 Debug,
10172 Default,
10173 Clone,
10174 PartialEq,
10175 ::serde::Serialize,
10176 ::serde::Deserialize,
10177 ::derive_builder::Builder,
10178 ::validator::Validate,
10179)]
10180pub struct TripLeg2 {
10181 #[serde(rename = "SeqNb", skip_serializing_if = "Option::is_none")]
10182 pub seq_nb: Option<Max35NumericText>,
10183 #[serde(rename = "Tckt", skip_serializing_if = "Option::is_none")]
10184 pub tckt: Option<Ticket2>,
10185 #[validate(length(min = 0,))]
10186 #[serde(rename = "Doc", default)]
10187 pub doc: Vec<DocumentReference1>,
10188 #[serde(rename = "PrcdrRef", skip_serializing_if = "Option::is_none")]
10189 pub prcdr_ref: Option<Max35Text>,
10190 #[serde(rename = "TrnsprtTp", skip_serializing_if = "Option::is_none")]
10191 pub trnsprt_tp: Option<TransportType1Code>,
10192 #[serde(rename = "OthrTrnsprtTp", skip_serializing_if = "Option::is_none")]
10193 pub othr_trnsprt_tp: Option<Max35Text>,
10194 #[serde(rename = "CmmdtyCd", skip_serializing_if = "Option::is_none")]
10195 pub cmmdty_cd: Option<Max4Text>,
10196 #[serde(rename = "Crrier", skip_serializing_if = "Option::is_none")]
10197 pub crrier: Option<CarrierIdentification1>,
10198 #[serde(rename = "RouteNb", skip_serializing_if = "Option::is_none")]
10199 pub route_nb: Option<Max35Text>,
10200 #[serde(rename = "SvcClss", skip_serializing_if = "Option::is_none")]
10201 pub svc_clss: Option<Max35Text>,
10202 #[serde(rename = "Dprture", skip_serializing_if = "Option::is_none")]
10203 pub dprture: Option<DepartureOrArrival1>,
10204 #[serde(rename = "Arrvl", skip_serializing_if = "Option::is_none")]
10205 pub arrvl: Option<DepartureOrArrival1>,
10206 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
10207 pub drtn: Option<Max4NumericText>,
10208 #[serde(rename = "StopOverInd", skip_serializing_if = "Option::is_none")]
10209 pub stop_over_ind: Option<TrueFalseIndicator>,
10210 #[serde(rename = "NonDrctRouteCd", skip_serializing_if = "Option::is_none")]
10211 pub non_drct_route_cd: Option<Max35Text>,
10212 #[serde(rename = "FairBsisCd", skip_serializing_if = "Option::is_none")]
10213 pub fair_bsis_cd: Option<Max35Text>,
10214 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
10215 pub insrnc_ind: Option<TrueFalseIndicator>,
10216 #[validate(length(min = 0,))]
10217 #[serde(rename = "TripLegAmt", default)]
10218 pub trip_leg_amt: Vec<AmountDetails2>,
10219 #[serde(rename = "CdtRsnCd", skip_serializing_if = "Option::is_none")]
10220 pub cdt_rsn_cd: Option<Max35Text>,
10221 #[serde(rename = "PrcdrId", skip_serializing_if = "Option::is_none")]
10222 pub prcdr_id: Option<Max35Text>,
10223 #[serde(rename = "LltyPrgrmm", skip_serializing_if = "Option::is_none")]
10224 pub llty_prgrmm: Option<LoyaltyProgramme2>,
10225 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
10226 pub addtl_data: Option<Max350Text>,
10227}
10228#[derive(
10229 Debug,
10230 Default,
10231 Clone,
10232 PartialEq,
10233 ::serde::Serialize,
10234 ::serde::Deserialize,
10235 ::derive_builder::Builder,
10236 ::validator::Validate,
10237)]
10238pub struct CertificateIssuer1 {
10239 #[validate(length(min = 1,))]
10240 #[serde(rename = "RltvDstngshdNm", default)]
10241 pub rltv_dstngshd_nm: Vec<RelativeDistinguishedName1>,
10242}
10243#[derive(
10244 Debug,
10245 Default,
10246 Clone,
10247 PartialEq,
10248 ::serde::Serialize,
10249 ::serde::Deserialize,
10250 ::derive_builder::Builder,
10251 ::validator::Validate,
10252)]
10253pub struct FleetLineItem4 {
10254 #[validate]
10255 #[serde(rename = "FuelInd")]
10256 pub fuel_ind: TrueFalseIndicator,
10257 #[serde(rename = "SvcTp", skip_serializing_if = "Option::is_none")]
10258 pub svc_tp: Option<FleetServiceType1Code>,
10259 #[serde(rename = "FuelBrndCd", skip_serializing_if = "Option::is_none")]
10260 pub fuel_brnd_cd: Option<Max4Text>,
10261 #[serde(rename = "FleetPdctCd", skip_serializing_if = "Option::is_none")]
10262 pub fleet_pdct_cd: Option<Max4Text>,
10263 #[serde(rename = "FleetPdctCtgy", skip_serializing_if = "Option::is_none")]
10264 pub fleet_pdct_ctgy: Option<Max35Text>,
10265 #[serde(rename = "FleetPdctQlfr", skip_serializing_if = "Option::is_none")]
10266 pub fleet_pdct_qlfr: Option<Max6Text>,
10267 #[serde(rename = "FleetPdctCdAssgnr", skip_serializing_if = "Option::is_none")]
10268 pub fleet_pdct_cd_assgnr: Option<Max35Text>,
10269 #[serde(rename = "UnitPricTaxInd", skip_serializing_if = "Option::is_none")]
10270 pub unit_pric_tax_ind: Option<TrueFalseIndicator>,
10271 #[serde(rename = "UnitPric", skip_serializing_if = "Option::is_none")]
10272 pub unit_pric: Option<ImpliedCurrencyAndAmount>,
10273 #[serde(rename = "UnitOfMeasr", skip_serializing_if = "Option::is_none")]
10274 pub unit_of_measr: Option<UnitOfMeasure1Code>,
10275 #[serde(rename = "OthrUnitOfMeasr", skip_serializing_if = "Option::is_none")]
10276 pub othr_unit_of_measr: Option<Max35Text>,
10277 #[serde(rename = "PdctQty", skip_serializing_if = "Option::is_none")]
10278 pub pdct_qty: Option<DecimalNumber>,
10279 #[serde(rename = "DscntAmt", skip_serializing_if = "Option::is_none")]
10280 pub dscnt_amt: Option<ImpliedCurrencyAndAmount>,
10281 #[serde(rename = "NonTaxblInd", skip_serializing_if = "Option::is_none")]
10282 pub non_taxbl_ind: Option<TrueFalseIndicator>,
10283 #[validate(length(min = 0,))]
10284 #[serde(rename = "Tax", default)]
10285 pub tax: Vec<Tax39>,
10286 #[serde(rename = "TtlAmtExclgTax", skip_serializing_if = "Option::is_none")]
10287 pub ttl_amt_exclg_tax: Option<ImpliedCurrencyAndAmount>,
10288 #[serde(rename = "TtlAmtInclgTax", skip_serializing_if = "Option::is_none")]
10289 pub ttl_amt_inclg_tax: Option<ImpliedCurrencyAndAmount>,
10290}
10291#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10292pub enum UnitOfMeasure10Code {
10293 #[serde(rename = "KMET")]
10294 Kmet,
10295 #[serde(rename = "MILE")]
10296 Mile,
10297 #[default]
10298 Unknown,
10299}
10300#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10301pub enum Algorithm8Code {
10302 #[serde(rename = "MGF1")]
10303 Mgf1,
10304 #[default]
10305 Unknown,
10306}
10307#[derive(
10308 Debug,
10309 Default,
10310 Clone,
10311 PartialEq,
10312 ::serde::Serialize,
10313 ::serde::Deserialize,
10314 ::derive_builder::Builder,
10315 ::validator::Validate,
10316)]
10317pub struct FundingService2 {
10318 #[serde(rename = "FndgSvc", skip_serializing_if = "Option::is_none")]
10319 pub fndg_svc: Option<TransferService2>,
10320 #[validate(length(min = 0,))]
10321 #[serde(rename = "FndgSrc", default)]
10322 pub fndg_src: Vec<FundingSource2>,
10323 #[serde(rename = "ClmInf", skip_serializing_if = "Option::is_none")]
10324 pub clm_inf: Option<ClaimInformation1>,
10325}
10326#[derive(
10327 Debug,
10328 Default,
10329 Clone,
10330 PartialEq,
10331 ::serde::Serialize,
10332 ::serde::Deserialize,
10333 ::derive_builder::Builder,
10334 ::validator::Validate,
10335)]
10336pub struct Max35Text {
10337 #[validate(length(min = 1, max = 35,))]
10338 #[serde(rename = "$text")]
10339 pub value: String,
10340}
10341#[derive(
10342 Debug,
10343 Default,
10344 Clone,
10345 PartialEq,
10346 ::serde::Serialize,
10347 ::serde::Deserialize,
10348 ::derive_builder::Builder,
10349 ::validator::Validate,
10350)]
10351pub struct Recipient6ChoiceEnum {
10352 #[serde(rename = "KeyTrnsprt", skip_serializing_if = "Option::is_none")]
10353 pub key_trnsprt: Option<KeyTransport5>,
10354 #[serde(rename = "KEK", skip_serializing_if = "Option::is_none")]
10355 pub kek: Option<Kek5>,
10356 #[serde(rename = "KeyIdr", skip_serializing_if = "Option::is_none")]
10357 pub key_idr: Option<KekIdentifier2>,
10358}
10359#[derive(
10360 Debug,
10361 Default,
10362 Clone,
10363 PartialEq,
10364 ::serde::Serialize,
10365 ::serde::Deserialize,
10366 ::derive_builder::Builder,
10367 ::validator::Validate,
10368)]
10369pub struct Recipient6Choice {
10370 #[serde(flatten)]
10371 pub value: Recipient6ChoiceEnum,
10372}
10373#[derive(
10374 Debug,
10375 Default,
10376 Clone,
10377 PartialEq,
10378 ::serde::Serialize,
10379 ::serde::Deserialize,
10380 ::derive_builder::Builder,
10381 ::validator::Validate,
10382)]
10383pub struct Contact6 {
10384 #[serde(rename = "HomePhneNb", skip_serializing_if = "Option::is_none")]
10385 pub home_phne_nb: Option<PhoneNumber>,
10386 #[serde(rename = "BizPhneNb", skip_serializing_if = "Option::is_none")]
10387 pub biz_phne_nb: Option<PhoneNumber>,
10388 #[serde(rename = "MobPhneNb", skip_serializing_if = "Option::is_none")]
10389 pub mob_phne_nb: Option<PhoneNumber>,
10390 #[serde(rename = "OthrPhneNb", skip_serializing_if = "Option::is_none")]
10391 pub othr_phne_nb: Option<PhoneNumber>,
10392 #[serde(rename = "PrsnlEmailAdr", skip_serializing_if = "Option::is_none")]
10393 pub prsnl_email_adr: Option<Max256Text>,
10394 #[serde(rename = "BizEmailAdr", skip_serializing_if = "Option::is_none")]
10395 pub biz_email_adr: Option<Max256Text>,
10396 #[serde(rename = "OthrEmailAdr", skip_serializing_if = "Option::is_none")]
10397 pub othr_email_adr: Option<Max256Text>,
10398 #[serde(rename = "HomeFaxNb", skip_serializing_if = "Option::is_none")]
10399 pub home_fax_nb: Option<PhoneNumber>,
10400 #[serde(rename = "BizFaxNb", skip_serializing_if = "Option::is_none")]
10401 pub biz_fax_nb: Option<PhoneNumber>,
10402 #[serde(rename = "URLAdr", skip_serializing_if = "Option::is_none")]
10403 pub url_adr: Option<Max256Text>,
10404 #[serde(rename = "Lang", skip_serializing_if = "Option::is_none")]
10405 pub lang: Option<LanguageCode>,
10406}
10407#[derive(
10408 Debug,
10409 Default,
10410 Clone,
10411 PartialEq,
10412 ::serde::Serialize,
10413 ::serde::Deserialize,
10414 ::derive_builder::Builder,
10415 ::validator::Validate,
10416)]
10417pub struct LocalData4 {
10418 #[serde(rename = "Lang")]
10419 pub lang: IsoMax3ALanguageCode,
10420 #[serde(rename = "ShrtNm", skip_serializing_if = "Option::is_none")]
10421 pub shrt_nm: Option<Max70Text>,
10422 #[serde(rename = "LglCorpNm", skip_serializing_if = "Option::is_none")]
10423 pub lgl_corp_nm: Option<Max210Text>,
10424 #[serde(rename = "NmAndLctn", skip_serializing_if = "Option::is_none")]
10425 pub nm_and_lctn: Option<Max200Text>,
10426 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
10427 pub adr: Option<Address3>,
10428 #[serde(rename = "AddtlAdrInf", skip_serializing_if = "Option::is_none")]
10429 pub addtl_adr_inf: Option<Max512Text>,
10430 #[serde(rename = "AddtlCtctInf", skip_serializing_if = "Option::is_none")]
10431 pub addtl_ctct_inf: Option<Max512Text>,
10432 #[validate(length(min = 0,))]
10433 #[serde(rename = "AddtlData", default)]
10434 pub addtl_data: Vec<AdditionalData1>,
10435}
10436#[derive(
10437 Debug,
10438 Default,
10439 Clone,
10440 PartialEq,
10441 ::serde::Serialize,
10442 ::serde::Deserialize,
10443 ::derive_builder::Builder,
10444 ::validator::Validate,
10445)]
10446pub struct Max104Text {
10447 #[validate(length(min = 1, max = 104,))]
10448 #[serde(rename = "$text")]
10449 pub value: String,
10450}
10451#[derive(
10452 Debug,
10453 Default,
10454 Clone,
10455 PartialEq,
10456 ::serde::Serialize,
10457 ::serde::Deserialize,
10458 ::derive_builder::Builder,
10459 ::validator::Validate,
10460)]
10461pub struct Recipient7ChoiceEnum {
10462 #[serde(rename = "KeyTrnsprt", skip_serializing_if = "Option::is_none")]
10463 pub key_trnsprt: Option<KeyTransport6>,
10464 #[serde(rename = "KEK", skip_serializing_if = "Option::is_none")]
10465 pub kek: Option<Kek6>,
10466 #[serde(rename = "KeyIdr", skip_serializing_if = "Option::is_none")]
10467 pub key_idr: Option<KekIdentifier6>,
10468}
10469#[derive(
10470 Debug,
10471 Default,
10472 Clone,
10473 PartialEq,
10474 ::serde::Serialize,
10475 ::serde::Deserialize,
10476 ::derive_builder::Builder,
10477 ::validator::Validate,
10478)]
10479pub struct Recipient7Choice {
10480 #[serde(flatten)]
10481 pub value: Recipient7ChoiceEnum,
10482}
10483#[derive(
10484 Debug,
10485 Default,
10486 Clone,
10487 PartialEq,
10488 ::serde::Serialize,
10489 ::serde::Deserialize,
10490 ::derive_builder::Builder,
10491 ::validator::Validate,
10492)]
10493pub struct SettlementReportingEntity1 {
10494 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
10495 pub tp: Option<Max35Text>,
10496 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
10497 pub id: Option<Max35Text>,
10498}
10499#[derive(
10500 Debug,
10501 Default,
10502 Clone,
10503 PartialEq,
10504 ::serde::Serialize,
10505 ::serde::Deserialize,
10506 ::derive_builder::Builder,
10507 ::validator::Validate,
10508)]
10509pub struct CustomerDevice4 {
10510 #[serde(rename = "Dvc", skip_serializing_if = "Option::is_none")]
10511 pub dvc: Option<Device2>,
10512 #[serde(rename = "DvcId", skip_serializing_if = "Option::is_none")]
10513 pub dvc_id: Option<DeviceIdentification1>,
10514 #[serde(rename = "OprgSys", skip_serializing_if = "Option::is_none")]
10515 pub oprg_sys: Option<DeviceOperatingSystem1>,
10516 #[serde(rename = "Prvdr", skip_serializing_if = "Option::is_none")]
10517 pub prvdr: Option<Max35Text>,
10518 #[validate(length(min = 0,))]
10519 #[serde(rename = "AddtlData", default)]
10520 pub addtl_data: Vec<AdditionalData1>,
10521}
10522#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10523pub enum CorporateTaxType1Code {
10524 #[serde(rename = "SMBS")]
10525 Smbs,
10526 #[serde(rename = "OTHR")]
10527 Othr,
10528 #[serde(rename = "CORP")]
10529 Corp,
10530 #[default]
10531 Unknown,
10532}
10533#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10534pub enum PartyType32Code {
10535 #[serde(rename = "ACQR")]
10536 Acqr,
10537 #[serde(rename = "AGNT")]
10538 Agnt,
10539 #[serde(rename = "ISUR")]
10540 Isur,
10541 #[serde(rename = "OTHN")]
10542 Othn,
10543 #[serde(rename = "OTHP")]
10544 Othp,
10545 #[default]
10546 Unknown,
10547}
10548#[derive(
10549 Debug,
10550 Default,
10551 Clone,
10552 PartialEq,
10553 ::serde::Serialize,
10554 ::serde::Deserialize,
10555 ::derive_builder::Builder,
10556 ::validator::Validate,
10557)]
10558pub struct Exact1NumericText {
10559 #[validate(regex = "EXACT_1_NUMERIC_TEXT_REGEX")]
10560 #[serde(rename = "$text")]
10561 pub value: String,
10562}
10563#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10564pub enum Algorithm17Code {
10565 #[serde(rename = "MACC")]
10566 Macc,
10567 #[serde(rename = "MCCS")]
10568 Mccs,
10569 #[serde(rename = "CMA1")]
10570 Cma1,
10571 #[serde(rename = "MCC1")]
10572 Mcc1,
10573 #[serde(rename = "CMA9")]
10574 Cma9,
10575 #[serde(rename = "CMA5")]
10576 Cma5,
10577 #[serde(rename = "CMA2")]
10578 Cma2,
10579 #[serde(rename = "CM31")]
10580 Cm31,
10581 #[serde(rename = "CM32")]
10582 Cm32,
10583 #[serde(rename = "CM33")]
10584 Cm33,
10585 #[serde(rename = "MCS3")]
10586 Mcs3,
10587 #[serde(rename = "CCA1")]
10588 Cca1,
10589 #[serde(rename = "CCA2")]
10590 Cca2,
10591 #[serde(rename = "CCA3")]
10592 Cca3,
10593 #[default]
10594 Unknown,
10595}
10596#[derive(
10597 Debug,
10598 Default,
10599 Clone,
10600 PartialEq,
10601 ::serde::Serialize,
10602 ::serde::Deserialize,
10603 ::derive_builder::Builder,
10604 ::validator::Validate,
10605)]
10606pub struct GracePeriod2 {
10607 #[serde(rename = "Tm", skip_serializing_if = "Option::is_none")]
10608 pub tm: Option<Max3NumericText>,
10609 #[serde(rename = "UnitTp", skip_serializing_if = "Option::is_none")]
10610 pub unit_tp: Option<GracePeriodUnitType1Code>,
10611 #[serde(rename = "OthrUnitTp", skip_serializing_if = "Option::is_none")]
10612 pub othr_unit_tp: Option<Max35Text>,
10613 #[serde(
10614 rename = "CstmrSelctdGracePrd",
10615 skip_serializing_if = "Option::is_none"
10616 )]
10617 pub cstmr_selctd_grace_prd: Option<bool>,
10618}
10619#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10620pub enum PresentationMedium2Code {
10621 #[serde(rename = "BIOM")]
10622 Biom,
10623 #[serde(rename = "ELEC")]
10624 Elec,
10625 #[serde(rename = "PAPR")]
10626 Papr,
10627 #[serde(rename = "BOTH")]
10628 Both,
10629 #[default]
10630 Unknown,
10631}
10632#[derive(
10633 Debug,
10634 Default,
10635 Clone,
10636 PartialEq,
10637 ::serde::Serialize,
10638 ::serde::Deserialize,
10639 ::derive_builder::Builder,
10640 ::validator::Validate,
10641)]
10642pub struct FundingSource2 {
10643 #[serde(rename = "SrcTp", skip_serializing_if = "Option::is_none")]
10644 pub src_tp: Option<FundingSourceType2Code>,
10645 #[serde(rename = "OthrSrcTp", skip_serializing_if = "Option::is_none")]
10646 pub othr_src_tp: Option<Max35Text>,
10647 #[serde(rename = "Ref", skip_serializing_if = "Option::is_none")]
10648 pub r#ref: Option<Max35Text>,
10649}
10650#[derive(
10651 Debug,
10652 Default,
10653 Clone,
10654 PartialEq,
10655 ::serde::Serialize,
10656 ::serde::Deserialize,
10657 ::derive_builder::Builder,
10658 ::validator::Validate,
10659)]
10660pub struct Max5PositiveNumber {
10661 #[validate(range(min = 1,))]
10662 #[serde(rename = "$text")]
10663 pub value: f64,
10664}
10665#[derive(
10666 Debug,
10667 Default,
10668 Clone,
10669 PartialEq,
10670 ::serde::Serialize,
10671 ::serde::Deserialize,
10672 ::derive_builder::Builder,
10673 ::validator::Validate,
10674)]
10675pub struct ImpliedCurrencyAndAmount {
10676 #[validate(range(min = 0,))]
10677 #[serde(rename = "$text")]
10678 pub value: f64,
10679}
10680#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10681pub enum LodgingService1Code {
10682 #[serde(rename = "ACCO")]
10683 Acco,
10684 #[serde(rename = "AUDI")]
10685 Audi,
10686 #[serde(rename = "BANQ")]
10687 Banq,
10688 #[serde(rename = "BREK")]
10689 Brek,
10690 #[serde(rename = "BUSS")]
10691 Buss,
10692 #[serde(rename = "CONC")]
10693 Conc,
10694 #[serde(rename = "EARA")]
10695 Eara,
10696 #[serde(rename = "EARD")]
10697 Eard,
10698 #[serde(rename = "ENTR")]
10699 Entr,
10700 #[serde(rename = "FCAA")]
10701 Fcaa,
10702 #[serde(rename = "GAME")]
10703 Game,
10704 #[serde(rename = "GARA")]
10705 Gara,
10706 #[serde(rename = "GIFT")]
10707 Gift,
10708 #[serde(rename = "HEAL")]
10709 Heal,
10710 #[serde(rename = "INTE")]
10711 Inte,
10712 #[serde(rename = "LAUN")]
10713 Laun,
10714 #[serde(rename = "LONG")]
10715 Long,
10716 #[serde(rename = "MINI")]
10717 Mini,
10718 #[serde(rename = "NOSH")]
10719 Nosh,
10720 #[serde(rename = "OTHR")]
10721 Othr,
10722 #[serde(rename = "PARK")]
10723 Park,
10724 #[serde(rename = "PHON")]
10725 Phon,
10726 #[serde(rename = "REST")]
10727 Rest,
10728 #[serde(rename = "RMSE")]
10729 Rmse,
10730 #[serde(rename = "SPAS")]
10731 Spas,
10732 #[serde(rename = "THRD")]
10733 Thrd,
10734 #[serde(rename = "TRAN")]
10735 Tran,
10736 #[serde(rename = "VODS")]
10737 Vods,
10738 #[default]
10739 Unknown,
10740}
10741#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10742pub enum AdministrativeType1Code {
10743 #[serde(rename = "OTHN")]
10744 Othn,
10745 #[serde(rename = "OTHP")]
10746 Othp,
10747 #[serde(rename = "TEXT")]
10748 Text,
10749 #[default]
10750 Unknown,
10751}
10752#[derive(
10753 Debug,
10754 Default,
10755 Clone,
10756 PartialEq,
10757 ::serde::Serialize,
10758 ::serde::Deserialize,
10759 ::derive_builder::Builder,
10760 ::validator::Validate,
10761)]
10762pub struct Discount3 {
10763 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
10764 pub tp: Option<Max35Text>,
10765 #[validate]
10766 #[serde(rename = "Val")]
10767 pub val: Max35Text,
10768}
10769#[derive(
10770 Debug,
10771 Default,
10772 Clone,
10773 PartialEq,
10774 ::serde::Serialize,
10775 ::serde::Deserialize,
10776 ::derive_builder::Builder,
10777 ::validator::Validate,
10778)]
10779pub struct CardholderVerificationCapabilities1 {
10780 #[serde(rename = "Cpblty")]
10781 pub cpblty: CardholderVerificationCapability5Code,
10782 #[serde(rename = "OthrCpblty", skip_serializing_if = "Option::is_none")]
10783 pub othr_cpblty: Option<Max35Text>,
10784}
10785#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10786pub enum SecurityCharacteristics1Code {
10787 #[serde(rename = "CETE")]
10788 Cete,
10789 #[serde(rename = "CPTE")]
10790 Cpte,
10791 #[serde(rename = "CENC")]
10792 Cenc,
10793 #[serde(rename = "CMAC")]
10794 Cmac,
10795 #[serde(rename = "ETEE")]
10796 Etee,
10797 #[serde(rename = "METE")]
10798 Mete,
10799 #[serde(rename = "MPTE")]
10800 Mpte,
10801 #[serde(rename = "OPNN")]
10802 Opnn,
10803 #[serde(rename = "PMAC")]
10804 Pmac,
10805 #[serde(rename = "PKIE")]
10806 Pkie,
10807 #[serde(rename = "PRAE")]
10808 Prae,
10809 #[serde(rename = "PRAM")]
10810 Pram,
10811 #[serde(rename = "PRVN")]
10812 Prvn,
10813 #[serde(rename = "STAM")]
10814 Stam,
10815 #[serde(rename = "APTE")]
10816 Apte,
10817 #[serde(rename = "AETE")]
10818 Aete,
10819 #[serde(rename = "OTHN")]
10820 Othn,
10821 #[serde(rename = "OTHP")]
10822 Othp,
10823 #[default]
10824 Unknown,
10825}
10826#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10827pub enum PurchaseIdentifierType1Code {
10828 #[serde(rename = "CONU")]
10829 Conu,
10830 #[serde(rename = "CUOR")]
10831 Cuor,
10832 #[serde(rename = "CUPO")]
10833 Cupo,
10834 #[serde(rename = "FONU")]
10835 Fonu,
10836 #[serde(rename = "INNU")]
10837 Innu,
10838 #[serde(rename = "ORNU")]
10839 Ornu,
10840 #[serde(rename = "OTHN")]
10841 Othn,
10842 #[serde(rename = "OTHP")]
10843 Othp,
10844 #[serde(rename = "PRNU")]
10845 Prnu,
10846 #[serde(rename = "PUID")]
10847 Puid,
10848 #[serde(rename = "RELO")]
10849 Relo,
10850 #[serde(rename = "REAG")]
10851 Reag,
10852 #[serde(rename = "RENU")]
10853 Renu,
10854 #[serde(rename = "RSNU")]
10855 Rsnu,
10856 #[serde(rename = "SUOR")]
10857 Suor,
10858 #[serde(rename = "TINU")]
10859 Tinu,
10860 #[serde(rename = "TRNU")]
10861 Trnu,
10862 #[serde(rename = "SUIN")]
10863 Suin,
10864 #[serde(rename = "TNID")]
10865 Tnid,
10866 #[default]
10867 Unknown,
10868}
10869#[derive(
10870 Debug,
10871 Default,
10872 Clone,
10873 PartialEq,
10874 ::serde::Serialize,
10875 ::serde::Deserialize,
10876 ::derive_builder::Builder,
10877 ::validator::Validate,
10878)]
10879pub struct Max8HexBinaryText {
10880 #[validate(regex = "MAX_8_HEX_BINARY_TEXT_REGEX")]
10881 #[serde(rename = "$text")]
10882 pub value: String,
10883}
10884#[derive(
10885 Debug,
10886 Default,
10887 Clone,
10888 PartialEq,
10889 ::serde::Serialize,
10890 ::serde::Deserialize,
10891 ::derive_builder::Builder,
10892 ::validator::Validate,
10893)]
10894pub struct RateLock1 {
10895 #[serde(rename = "ReqdInd", skip_serializing_if = "Option::is_none")]
10896 pub reqd_ind: Option<TrueFalseIndicator>,
10897 #[serde(rename = "ElgblInd", skip_serializing_if = "Option::is_none")]
10898 pub elgbl_ind: Option<TrueFalseIndicator>,
10899 #[serde(rename = "ApldInd", skip_serializing_if = "Option::is_none")]
10900 pub apld_ind: Option<TrueFalseIndicator>,
10901}
10902#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10903pub enum UserInterface1Code {
10904 #[serde(rename = "CDSP")]
10905 Cdsp,
10906 #[serde(rename = "CRCP")]
10907 Crcp,
10908 #[serde(rename = "MDSP")]
10909 Mdsp,
10910 #[serde(rename = "MRCP")]
10911 Mrcp,
10912 #[default]
10913 Unknown,
10914}
10915#[derive(
10916 Debug,
10917 Default,
10918 Clone,
10919 PartialEq,
10920 ::serde::Serialize,
10921 ::serde::Deserialize,
10922 ::derive_builder::Builder,
10923 ::validator::Validate,
10924)]
10925pub struct VehicleRentalAgreement2 {
10926 #[serde(rename = "AgrmtNb", skip_serializing_if = "Option::is_none")]
10927 pub agrmt_nb: Option<Max35Text>,
10928 #[serde(rename = "AdjstdInd", skip_serializing_if = "Option::is_none")]
10929 pub adjstd_ind: Option<TrueFalseIndicator>,
10930 #[serde(rename = "RntlLctn", skip_serializing_if = "Option::is_none")]
10931 pub rntl_lctn: Option<Address2>,
10932 #[validate(length(min = 0,))]
10933 #[serde(rename = "PckpLctn", default)]
10934 pub pckp_lctn: Vec<Address2>,
10935 #[serde(rename = "ChckOutDt", skip_serializing_if = "Option::is_none")]
10936 pub chck_out_dt: Option<IsoDate>,
10937 #[serde(rename = "ChckOutTm", skip_serializing_if = "Option::is_none")]
10938 pub chck_out_tm: Option<IsoTime>,
10939 #[serde(rename = "RtrLctn", skip_serializing_if = "Option::is_none")]
10940 pub rtr_lctn: Option<Address2>,
10941 #[serde(rename = "ChckInDt", skip_serializing_if = "Option::is_none")]
10942 pub chck_in_dt: Option<IsoDate>,
10943 #[serde(rename = "ChckInTm", skip_serializing_if = "Option::is_none")]
10944 pub chck_in_tm: Option<IsoTime>,
10945 #[serde(rename = "Drtn", skip_serializing_if = "Option::is_none")]
10946 pub drtn: Option<Max4NumericText>,
10947 #[serde(rename = "VhclClssDtls", skip_serializing_if = "Option::is_none")]
10948 pub vhcl_clss_dtls: Option<Vehicle4>,
10949 #[serde(rename = "TrvlDstnc", skip_serializing_if = "Option::is_none")]
10950 pub trvl_dstnc: Option<Distance1>,
10951 #[validate(length(min = 0,))]
10952 #[serde(rename = "RntlRate", default)]
10953 pub rntl_rate: Vec<RentalRate1>,
10954 #[serde(rename = "RntlDtls", skip_serializing_if = "Option::is_none")]
10955 pub rntl_dtls: Option<RentalDetails2>,
10956 #[serde(rename = "VhclRegnNb", skip_serializing_if = "Option::is_none")]
10957 pub vhcl_regn_nb: Option<Max70Text>,
10958 #[serde(rename = "InsrncInd", skip_serializing_if = "Option::is_none")]
10959 pub insrnc_ind: Option<TrueFalseIndicator>,
10960 #[validate(length(min = 0,))]
10961 #[serde(rename = "AddtlAmt", default)]
10962 pub addtl_amt: Vec<Amount18>,
10963 #[validate(length(min = 0,))]
10964 #[serde(rename = "EstmtdTax", default)]
10965 pub estmtd_tax: Vec<Tax39>,
10966 #[validate(length(min = 0,))]
10967 #[serde(rename = "DscntPrgrmm", default)]
10968 pub dscnt_prgrmm: Vec<Discount3>,
10969 #[validate(length(min = 0,))]
10970 #[serde(rename = "LltyPrgrmm", default)]
10971 pub llty_prgrmm: Vec<LoyaltyProgramme3>,
10972}
10973#[derive(
10974 Debug,
10975 Default,
10976 Clone,
10977 PartialEq,
10978 ::serde::Serialize,
10979 ::serde::Deserialize,
10980 ::derive_builder::Builder,
10981 ::validator::Validate,
10982)]
10983pub struct SettlementService3 {
10984 #[serde(rename = "SttlmSvcPropsd", skip_serializing_if = "Option::is_none")]
10985 pub sttlm_svc_propsd: Option<SettlementServiceMode1>,
10986 #[serde(rename = "SttlmSvcApld", skip_serializing_if = "Option::is_none")]
10987 pub sttlm_svc_apld: Option<SettlementServiceMode1>,
10988 #[serde(rename = "SttlmSvcDts", skip_serializing_if = "Option::is_none")]
10989 pub sttlm_svc_dts: Option<SettlementServiceDate2>,
10990 #[serde(rename = "SttlmRptgNtty", skip_serializing_if = "Option::is_none")]
10991 pub sttlm_rptg_ntty: Option<SettlementReportingEntity1>,
10992 #[validate(length(min = 0,))]
10993 #[serde(rename = "AddtlSttlmInf", default)]
10994 pub addtl_sttlm_inf: Vec<AdditionalData1>,
10995}
10996#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
10997pub enum VerificationEntity2Code {
10998 #[serde(rename = "MERC")]
10999 Merc,
11000 #[serde(rename = "ACQR")]
11001 Acqr,
11002 #[serde(rename = "AGNT")]
11003 Agnt,
11004 #[serde(rename = "ISSR")]
11005 Issr,
11006 #[serde(rename = "OTHN")]
11007 Othn,
11008 #[serde(rename = "OTHP")]
11009 Othp,
11010 #[serde(rename = "CDAD")]
11011 Cdad,
11012 #[serde(rename = "ICCA")]
11013 Icca,
11014 #[default]
11015 Unknown,
11016}
11017#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11018pub enum AdditionalIdentificationType1Code {
11019 #[serde(rename = "OTHP")]
11020 Othp,
11021 #[serde(rename = "OTHN")]
11022 Othn,
11023 #[serde(rename = "ICSN")]
11024 Icsn,
11025 #[serde(rename = "ATNU")]
11026 Atnu,
11027 #[default]
11028 Unknown,
11029}
11030#[derive(
11031 Debug,
11032 Default,
11033 Clone,
11034 PartialEq,
11035 ::serde::Serialize,
11036 ::serde::Deserialize,
11037 ::derive_builder::Builder,
11038 ::validator::Validate,
11039)]
11040pub struct Min5Max16Binary {
11041 #[validate(length(min = 5, max = 16,), regex = "MIN_5_MAX_16_BINARY_REGEX")]
11042 pub value: String,
11043}
11044#[derive(
11045 Debug,
11046 Default,
11047 Clone,
11048 PartialEq,
11049 ::serde::Serialize,
11050 ::serde::Deserialize,
11051 ::derive_builder::Builder,
11052 ::validator::Validate,
11053)]
11054pub struct ProcessingResult10 {
11055 #[serde(rename = "RspnSrc", skip_serializing_if = "Option::is_none")]
11056 pub rspn_src: Option<ApprovalEntity2>,
11057 #[validate]
11058 #[serde(rename = "RsltData")]
11059 pub rslt_data: ResultData7,
11060 #[serde(rename = "ApprvlCd", skip_serializing_if = "Option::is_none")]
11061 pub apprvl_cd: Option<Exact6AlphaNumericText>,
11062 #[serde(rename = "ErrDtl", skip_serializing_if = "Option::is_none")]
11063 pub err_dtl: Option<ErrorDetails2>,
11064 #[serde(rename = "OrgnlRsltData", skip_serializing_if = "Option::is_none")]
11065 pub orgnl_rslt_data: Option<ResultData7>,
11066 #[serde(rename = "ActnReqrd", skip_serializing_if = "Option::is_none")]
11067 pub actn_reqrd: Option<YesNoIndicator>,
11068 #[validate(length(min = 0,))]
11069 #[serde(rename = "Actn", default)]
11070 pub actn: Vec<Action13>,
11071 #[validate(length(min = 0,))]
11072 #[serde(rename = "AddtlActn", default)]
11073 pub addtl_actn: Vec<AdditionalAction1>,
11074 #[validate(length(min = 0,))]
11075 #[serde(rename = "AddtlInf", default)]
11076 pub addtl_inf: Vec<AdditionalInformation29>,
11077}
11078#[derive(
11079 Debug,
11080 Default,
11081 Clone,
11082 PartialEq,
11083 ::serde::Serialize,
11084 ::serde::Deserialize,
11085 ::derive_builder::Builder,
11086 ::validator::Validate,
11087)]
11088pub struct InstalmentAmountDetails2 {
11089 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
11090 pub tp: Option<InstalmentAmountDetailsType2Code>,
11091 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
11092 pub othr_tp: Option<Max35Text>,
11093 #[serde(rename = "SubTp", skip_serializing_if = "Option::is_none")]
11094 pub sub_tp: Option<Max35Text>,
11095 #[serde(rename = "Amt", skip_serializing_if = "Option::is_none")]
11096 pub amt: Option<Amount16>,
11097 #[serde(rename = "Pctg", skip_serializing_if = "Option::is_none")]
11098 pub pctg: Option<PercentageRate>,
11099}
11100#[derive(
11101 Debug,
11102 Default,
11103 Clone,
11104 PartialEq,
11105 ::serde::Serialize,
11106 ::serde::Deserialize,
11107 ::derive_builder::Builder,
11108 ::validator::Validate,
11109)]
11110pub struct TransactionIdentification18 {
11111 #[serde(rename = "LclDt", skip_serializing_if = "Option::is_none")]
11112 pub lcl_dt: Option<IsoDate>,
11113 #[serde(rename = "LclTm", skip_serializing_if = "Option::is_none")]
11114 pub lcl_tm: Option<IsoTime>,
11115 #[serde(rename = "TmZone", skip_serializing_if = "Option::is_none")]
11116 pub tm_zone: Option<Max70Text>,
11117 #[serde(rename = "TxRef", skip_serializing_if = "Option::is_none")]
11118 pub tx_ref: Option<Max35Text>,
11119 #[serde(rename = "TrnsmssnDtTm", skip_serializing_if = "Option::is_none")]
11120 pub trnsmssn_dt_tm: Option<IsoDateTime>,
11121 #[validate]
11122 #[serde(rename = "SysTracAudtNb")]
11123 pub sys_trac_audt_nb: Max12NumericText,
11124 #[validate]
11125 #[serde(rename = "RtrvlRefNb")]
11126 pub rtrvl_ref_nb: Exact12Text,
11127 #[serde(rename = "LifeCyclSpprtInd", skip_serializing_if = "Option::is_none")]
11128 pub life_cycl_spprt_ind: Option<Exact2NumericText>,
11129 #[serde(rename = "LifeCyclTracIdData", skip_serializing_if = "Option::is_none")]
11130 pub life_cycl_trac_id_data: Option<TransactionLifeCycleIdentification1>,
11131 #[serde(
11132 rename = "LifeCyclTracIdMssng",
11133 skip_serializing_if = "Option::is_none"
11134 )]
11135 pub life_cycl_trac_id_mssng: Option<Max70Text>,
11136 #[serde(rename = "AcqrrRefData", skip_serializing_if = "Option::is_none")]
11137 pub acqrr_ref_data: Option<Max140Text>,
11138 #[serde(rename = "AcqrrRefNb", skip_serializing_if = "Option::is_none")]
11139 pub acqrr_ref_nb: Option<Max23NumericText>,
11140 #[serde(rename = "CardIssrRefData", skip_serializing_if = "Option::is_none")]
11141 pub card_issr_ref_data: Option<Max1000Text>,
11142}
11143#[derive(
11144 Debug,
11145 Default,
11146 Clone,
11147 PartialEq,
11148 ::serde::Serialize,
11149 ::serde::Deserialize,
11150 ::derive_builder::Builder,
11151 ::validator::Validate,
11152)]
11153pub struct DeviceIdentification1 {
11154 #[serde(rename = "Tp", skip_serializing_if = "Option::is_none")]
11155 pub tp: Option<DeviceIdentificationType1Code>,
11156 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
11157 pub othr_tp: Option<Max35Text>,
11158 #[serde(rename = "Id", skip_serializing_if = "Option::is_none")]
11159 pub id: Option<Max70Text>,
11160 #[serde(rename = "Assgnr", skip_serializing_if = "Option::is_none")]
11161 pub assgnr: Option<Max70Text>,
11162}
11163#[derive(
11164 Debug,
11165 Default,
11166 Clone,
11167 PartialEq,
11168 ::serde::Serialize,
11169 ::serde::Deserialize,
11170 ::derive_builder::Builder,
11171 ::validator::Validate,
11172)]
11173pub struct Adjustment12 {
11174 #[validate]
11175 #[serde(rename = "Amt")]
11176 pub amt: ImpliedCurrencyAndAmount,
11177 #[serde(rename = "CdtDbt", skip_serializing_if = "Option::is_none")]
11178 pub cdt_dbt: Option<CreditDebit3Code>,
11179 #[serde(rename = "Rsn", skip_serializing_if = "Option::is_none")]
11180 pub rsn: Option<Max35Text>,
11181}
11182#[derive(
11183 Debug,
11184 Default,
11185 Clone,
11186 PartialEq,
11187 ::serde::Serialize,
11188 ::serde::Deserialize,
11189 ::derive_builder::Builder,
11190 ::validator::Validate,
11191)]
11192pub struct Location4 {
11193 #[serde(rename = "LctnCd", skip_serializing_if = "Option::is_none")]
11194 pub lctn_cd: Option<Max35Text>,
11195 #[serde(rename = "LctnNm", skip_serializing_if = "Option::is_none")]
11196 pub lctn_nm: Option<Max35Text>,
11197 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
11198 pub desc: Option<Max256Text>,
11199 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
11200 pub adr: Option<Address2>,
11201 #[serde(rename = "LclTmZone", skip_serializing_if = "Option::is_none")]
11202 pub lcl_tm_zone: Option<Max70Text>,
11203 #[serde(rename = "LclCcy", skip_serializing_if = "Option::is_none")]
11204 pub lcl_ccy: Option<Iso3NumericCurrencyCode>,
11205}
11206#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11207pub enum FleetPurchaseType1Code {
11208 #[serde(rename = "FUEL")]
11209 Fuel,
11210 #[serde(rename = "NONF")]
11211 Nonf,
11212 #[serde(rename = "FANF")]
11213 Fanf,
11214 #[default]
11215 Unknown,
11216}
11217#[derive(
11218 Debug,
11219 Default,
11220 Clone,
11221 PartialEq,
11222 ::serde::Serialize,
11223 ::serde::Deserialize,
11224 ::derive_builder::Builder,
11225 ::validator::Validate,
11226)]
11227pub struct Exact2NumericText {
11228 #[validate(regex = "EXACT_2_NUMERIC_TEXT_REGEX")]
11229 #[serde(rename = "$text")]
11230 pub value: String,
11231}
11232#[derive(
11233 Debug,
11234 Default,
11235 Clone,
11236 PartialEq,
11237 ::serde::Serialize,
11238 ::serde::Deserialize,
11239 ::derive_builder::Builder,
11240 ::validator::Validate,
11241)]
11242pub struct Max512Text {
11243 #[validate(length(min = 1, max = 512,))]
11244 #[serde(rename = "$text")]
11245 pub value: String,
11246}
11247#[derive(
11248 Debug,
11249 Default,
11250 Clone,
11251 PartialEq,
11252 ::serde::Serialize,
11253 ::serde::Deserialize,
11254 ::derive_builder::Builder,
11255 ::validator::Validate,
11256)]
11257pub struct AdditionalService2 {
11258 #[serde(rename = "Tp")]
11259 pub tp: AdditionalServiceType2Code,
11260 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
11261 pub othr_tp: Option<Max35Text>,
11262 #[serde(rename = "Rslt", skip_serializing_if = "Option::is_none")]
11263 pub rslt: Option<AdditionalServiceResult1Code>,
11264 #[serde(rename = "OthrRslt", skip_serializing_if = "Option::is_none")]
11265 pub othr_rslt: Option<Max35Text>,
11266 #[validate(length(min = 0,))]
11267 #[serde(rename = "SvcDtl", default)]
11268 pub svc_dtl: Vec<AdditionalData1>,
11269}
11270#[derive(
11271 Debug,
11272 Default,
11273 Clone,
11274 PartialEq,
11275 ::serde::Serialize,
11276 ::serde::Deserialize,
11277 ::derive_builder::Builder,
11278 ::validator::Validate,
11279)]
11280pub struct AlgorithmIdentification25 {
11281 #[serde(rename = "Algo")]
11282 pub algo: Algorithm23Code,
11283 #[serde(rename = "Param", skip_serializing_if = "Option::is_none")]
11284 pub param: Option<Parameter7>,
11285}
11286#[derive(
11287 Debug,
11288 Default,
11289 Clone,
11290 PartialEq,
11291 ::serde::Serialize,
11292 ::serde::Deserialize,
11293 ::derive_builder::Builder,
11294 ::validator::Validate,
11295)]
11296pub struct Parameter14 {
11297 #[serde(rename = "NcrptnFrmt", skip_serializing_if = "Option::is_none")]
11298 pub ncrptn_frmt: Option<EncryptionFormat3Code>,
11299 #[serde(rename = "InitlstnVctr", skip_serializing_if = "Option::is_none")]
11300 pub initlstn_vctr: Option<Max500Binary>,
11301 #[serde(rename = "BPddg", skip_serializing_if = "Option::is_none")]
11302 pub b_pddg: Option<BytePadding1Code>,
11303}
11304#[derive(
11305 Debug,
11306 Default,
11307 Clone,
11308 PartialEq,
11309 ::serde::Serialize,
11310 ::serde::Deserialize,
11311 ::derive_builder::Builder,
11312 ::validator::Validate,
11313)]
11314pub struct LocalData7 {
11315 #[serde(rename = "Lang")]
11316 pub lang: IsoMax3ALanguageCode,
11317 #[serde(rename = "CrdhldrNm", skip_serializing_if = "Option::is_none")]
11318 pub crdhldr_nm: Option<CardholderName2>,
11319 #[serde(rename = "Adr", skip_serializing_if = "Option::is_none")]
11320 pub adr: Option<Address3>,
11321 #[validate(length(min = 0,))]
11322 #[serde(rename = "AddtlData", default)]
11323 pub addtl_data: Vec<AdditionalData1>,
11324}
11325#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11326pub enum TimeSegment1Code {
11327 #[serde(rename = "AMBN")]
11328 Ambn,
11329 #[serde(rename = "PMAN")]
11330 Pman,
11331 #[default]
11332 Unknown,
11333}
11334#[derive(
11335 Debug,
11336 Default,
11337 Clone,
11338 PartialEq,
11339 ::serde::Serialize,
11340 ::serde::Deserialize,
11341 ::derive_builder::Builder,
11342 ::validator::Validate,
11343)]
11344pub struct DisputeReference1 {
11345 #[serde(rename = "AssgnrNtty", skip_serializing_if = "Option::is_none")]
11346 pub assgnr_ntty: Option<PartyType32Code>,
11347 #[serde(rename = "OthrAssgnrNtty", skip_serializing_if = "Option::is_none")]
11348 pub othr_assgnr_ntty: Option<Max35Text>,
11349 #[validate(length(min = 1,))]
11350 #[serde(rename = "DsptId", default)]
11351 pub dspt_id: Vec<DisputeIdentification1>,
11352}
11353#[derive(
11354 Debug,
11355 Default,
11356 Clone,
11357 PartialEq,
11358 ::serde::Serialize,
11359 ::serde::Deserialize,
11360 ::derive_builder::Builder,
11361 ::validator::Validate,
11362)]
11363pub struct Parameter9 {
11364 #[serde(rename = "DgstAlgo", skip_serializing_if = "Option::is_none")]
11365 pub dgst_algo: Option<Algorithm16Code>,
11366}
11367#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11368pub enum Algorithm5Code {
11369 #[serde(rename = "HS25")]
11370 Hs25,
11371 #[serde(rename = "HS38")]
11372 Hs38,
11373 #[serde(rename = "HS51")]
11374 Hs51,
11375 #[default]
11376 Unknown,
11377}
11378#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11379pub enum ActionType10Code {
11380 #[serde(rename = "ACTV")]
11381 Actv,
11382 #[serde(rename = "DEAC")]
11383 Deac,
11384 #[serde(rename = "DISP")]
11385 Disp,
11386 #[serde(rename = "FUPD")]
11387 Fupd,
11388 #[serde(rename = "PRNT")]
11389 Prnt,
11390 #[serde(rename = "SNDM")]
11391 Sndm,
11392 #[default]
11393 Unknown,
11394}
11395#[derive(
11396 Debug,
11397 Default,
11398 Clone,
11399 PartialEq,
11400 ::serde::Serialize,
11401 ::serde::Deserialize,
11402 ::derive_builder::Builder,
11403 ::validator::Validate,
11404)]
11405pub struct AuthorisedAmount1 {
11406 #[serde(rename = "DtTm", skip_serializing_if = "Option::is_none")]
11407 pub dt_tm: Option<IsoDateTime>,
11408 #[validate]
11409 #[serde(rename = "Amt")]
11410 pub amt: ImpliedCurrencyAndAmount,
11411 #[serde(rename = "AddtlData", skip_serializing_if = "Option::is_none")]
11412 pub addtl_data: Option<Max350Text>,
11413}
11414#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11415pub enum ActionType8Code {
11416 #[serde(rename = "APPV")]
11417 Appv,
11418 #[serde(rename = "BLCK")]
11419 Blck,
11420 #[serde(rename = "CPTR")]
11421 Cptr,
11422 #[serde(rename = "DCLN")]
11423 Dcln,
11424 #[serde(rename = "RQID")]
11425 Rqid,
11426 #[serde(rename = "NDCL")]
11427 Ndcl,
11428 #[serde(rename = "RFRL")]
11429 Rfrl,
11430 #[serde(rename = "OTHN")]
11431 Othn,
11432 #[serde(rename = "OTHP")]
11433 Othp,
11434 #[serde(rename = "STUA")]
11435 Stua,
11436 #[default]
11437 Unknown,
11438}
11439#[derive(
11440 Debug,
11441 Default,
11442 Clone,
11443 PartialEq,
11444 ::serde::Serialize,
11445 ::serde::Deserialize,
11446 ::derive_builder::Builder,
11447 ::validator::Validate,
11448)]
11449pub struct EncryptedContent5 {
11450 #[serde(rename = "CnttTp")]
11451 pub cntt_tp: ContentType2Code,
11452 #[validate]
11453 #[serde(rename = "CnttNcrptnAlgo")]
11454 pub cntt_ncrptn_algo: AlgorithmIdentification25,
11455 #[validate(length(min = 1,))]
11456 #[serde(rename = "NcrptdDataElmt", default)]
11457 pub ncrptd_data_elmt: Vec<EncryptedDataElement1>,
11458}
11459#[derive(
11460 Debug,
11461 Default,
11462 Clone,
11463 PartialEq,
11464 ::serde::Serialize,
11465 ::serde::Deserialize,
11466 ::derive_builder::Builder,
11467 ::validator::Validate,
11468)]
11469pub struct AdditionalFee2 {
11470 #[serde(rename = "Tp")]
11471 pub tp: TypeOfAmount21Code,
11472 #[serde(rename = "OthrTp", skip_serializing_if = "Option::is_none")]
11473 pub othr_tp: Option<Max35Text>,
11474 #[serde(rename = "FeePrgm", skip_serializing_if = "Option::is_none")]
11475 pub fee_prgm: Option<Max35Text>,
11476 #[serde(rename = "FeeDscrptr", skip_serializing_if = "Option::is_none")]
11477 pub fee_dscrptr: Option<Max35Text>,
11478 #[validate]
11479 #[serde(rename = "FeeAmt")]
11480 pub fee_amt: FeeAmount3,
11481 #[serde(rename = "FeeRcncltnAmt", skip_serializing_if = "Option::is_none")]
11482 pub fee_rcncltn_amt: Option<FeeAmount3>,
11483 #[serde(rename = "Desc", skip_serializing_if = "Option::is_none")]
11484 pub desc: Option<Max140Text>,
11485 #[validate(length(min = 0,))]
11486 #[serde(rename = "AddtlData", default)]
11487 pub addtl_data: Vec<AdditionalData1>,
11488}
11489#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11490pub enum ActionDestination1Code {
11491 #[serde(rename = "FILE")]
11492 File,
11493 #[serde(rename = "MOBL")]
11494 Mobl,
11495 #[serde(rename = "OTHN")]
11496 Othn,
11497 #[serde(rename = "OTHP")]
11498 Othp,
11499 #[serde(rename = "PECR")]
11500 Pecr,
11501 #[serde(rename = "POFS")]
11502 Pofs,
11503 #[default]
11504 Unknown,
11505}
11506#[derive(
11507 Debug,
11508 Default,
11509 Clone,
11510 PartialEq,
11511 ::serde::Serialize,
11512 ::serde::Deserialize,
11513 ::derive_builder::Builder,
11514 ::validator::Validate,
11515)]
11516pub struct CardholderName3 {
11517 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
11518 pub nm: Option<Max70Text>,
11519 #[serde(rename = "GvnNm", skip_serializing_if = "Option::is_none")]
11520 pub gvn_nm: Option<Max35Text>,
11521 #[serde(rename = "MddlNm", skip_serializing_if = "Option::is_none")]
11522 pub mddl_nm: Option<Max35Text>,
11523 #[serde(rename = "LastNm", skip_serializing_if = "Option::is_none")]
11524 pub last_nm: Option<Max35Text>,
11525}
11526#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11527pub enum OutputFormat1Code {
11528 #[serde(rename = "MREF")]
11529 Mref,
11530 #[serde(rename = "TEXT")]
11531 Text,
11532 #[serde(rename = "HTML")]
11533 Html,
11534 #[default]
11535 Unknown,
11536}
11537#[derive(
11538 Debug,
11539 Default,
11540 Clone,
11541 PartialEq,
11542 ::serde::Serialize,
11543 ::serde::Deserialize,
11544 ::derive_builder::Builder,
11545 ::validator::Validate,
11546)]
11547pub struct JourneyInformation1 {
11548 #[serde(rename = "JrnyTp", skip_serializing_if = "Option::is_none")]
11549 pub jrny_tp: Option<JourneyType1Code>,
11550 #[serde(rename = "JrnyData", skip_serializing_if = "Option::is_none")]
11551 pub jrny_data: Option<Max35Text>,
11552 #[serde(rename = "DtAndTm", skip_serializing_if = "Option::is_none")]
11553 pub dt_and_tm: Option<IsoDateTime>,
11554}
11555#[derive(
11556 Debug,
11557 Default,
11558 Clone,
11559 PartialEq,
11560 ::serde::Serialize,
11561 ::serde::Deserialize,
11562 ::derive_builder::Builder,
11563 ::validator::Validate,
11564)]
11565pub struct VerificationValue1ChoiceEnum {
11566 #[serde(rename = "PINData", skip_serializing_if = "Option::is_none")]
11567 pub pin_data: Option<PinData1>,
11568 #[serde(rename = "HexBinryVal", skip_serializing_if = "Option::is_none")]
11569 pub hex_binry_val: Option<Max9999HexBinaryText>,
11570 #[serde(rename = "TxtVal", skip_serializing_if = "Option::is_none")]
11571 pub txt_val: Option<Max2048Text>,
11572 #[serde(rename = "BinryVal", skip_serializing_if = "Option::is_none")]
11573 pub binry_val: Option<Max5000Binary>,
11574}
11575#[derive(
11576 Debug,
11577 Default,
11578 Clone,
11579 PartialEq,
11580 ::serde::Serialize,
11581 ::serde::Deserialize,
11582 ::derive_builder::Builder,
11583 ::validator::Validate,
11584)]
11585pub struct VerificationValue1Choice {
11586 #[serde(flatten)]
11587 pub value: VerificationValue1ChoiceEnum,
11588}
11589#[derive(
11590 Debug,
11591 Default,
11592 Clone,
11593 PartialEq,
11594 ::serde::Serialize,
11595 ::serde::Deserialize,
11596 ::derive_builder::Builder,
11597 ::validator::Validate,
11598)]
11599#[serde(rename = "Document")]
11600pub struct Document<
11601 A: std::fmt::Debug + Default + Clone + PartialEq + ::serde::Serialize + ::validator::Validate,
11602> {
11603 #[validate]
11604 #[serde(rename = "AdmstvInitn")]
11605 pub admstv_initn: AdministrativeInitiationV01<A>,
11606 #[serde(rename = "@xmlns", default = "namespace")]
11607 pub xmlns: String,
11608}
11609#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11610pub enum GoodsAndServicesSubType1Code {
11611 #[serde(rename = "CRCU")]
11612 Crcu,
11613 #[serde(rename = "FORX")]
11614 Forx,
11615 #[serde(rename = "OTHN")]
11616 Othn,
11617 #[serde(rename = "OTHP")]
11618 Othp,
11619 #[serde(rename = "SECS")]
11620 Secs,
11621 #[default]
11622 Unknown,
11623}
11624#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11625pub enum AdditionalServiceResult1Code {
11626 #[serde(rename = "NOPF")]
11627 Nopf,
11628 #[serde(rename = "NOSP")]
11629 Nosp,
11630 #[serde(rename = "OTHN")]
11631 Othn,
11632 #[serde(rename = "OTHP")]
11633 Othp,
11634 #[serde(rename = "PERF")]
11635 Perf,
11636 #[default]
11637 Unknown,
11638}
11639#[derive(
11640 Debug,
11641 Default,
11642 Clone,
11643 PartialEq,
11644 ::serde::Serialize,
11645 ::serde::Deserialize,
11646 ::derive_builder::Builder,
11647 ::validator::Validate,
11648)]
11649pub struct Customer6 {
11650 #[serde(rename = "AcctNb", skip_serializing_if = "Option::is_none")]
11651 pub acct_nb: Option<Max35Text>,
11652 #[serde(rename = "Nm", skip_serializing_if = "Option::is_none")]
11653 pub nm: Option<Max70Text>,
11654 #[serde(rename = "PhneNb", skip_serializing_if = "Option::is_none")]
11655 pub phne_nb: Option<PhoneNumber>,
11656}
11657#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11658pub enum PartyType20Code {
11659 #[serde(rename = "ACCP")]
11660 Accp,
11661 #[serde(rename = "ACQR")]
11662 Acqr,
11663 #[serde(rename = "CRDH")]
11664 Crdh,
11665 #[serde(rename = "CISS")]
11666 Ciss,
11667 #[serde(rename = "AGNT")]
11668 Agnt,
11669 #[default]
11670 Unknown,
11671}
11672#[derive(Debug, Default, Clone, PartialEq, ::serde::Serialize, ::serde::Deserialize)]
11673pub enum TypeOfAmount22Code {
11674 #[serde(rename = "ACTL")]
11675 Actl,
11676 #[serde(rename = "DFLT")]
11677 Dflt,
11678 #[serde(rename = "DPST")]
11679 Dpst,
11680 #[serde(rename = "ESTM")]
11681 Estm,
11682 #[serde(rename = "MAXI")]
11683 Maxi,
11684 #[serde(rename = "PRXY")]
11685 Prxy,
11686 #[serde(rename = "RESD")]
11687 Resd,
11688 #[default]
11689 Unknown,
11690}