osdm_sys/models/
product_search_request.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ProductSearchRequest {
17 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
19 pub id: Option<String>,
20 #[serde(rename = "types", skip_serializing_if = "Option::is_none")]
21 pub types: Option<Vec<String>>,
22 #[serde(rename = "codes", skip_serializing_if = "Option::is_none")]
24 pub codes: Option<Vec<String>>,
25 #[serde(rename = "flexibilities", skip_serializing_if = "Option::is_none")]
26 pub flexibilities: Option<Vec<String>>,
27 #[serde(rename = "serviceClasses", skip_serializing_if = "Option::is_none")]
28 pub service_classes: Option<Vec<models::ServiceClass>>,
29 #[serde(rename = "travelClasses", skip_serializing_if = "Option::is_none")]
30 pub travel_classes: Option<Vec<String>>,
31 #[serde(rename = "fulfillmentOptions", skip_serializing_if = "Option::is_none")]
32 pub fulfillment_options: Option<Vec<models::FulfillmentOption>>,
33 #[serde(rename = "productTags", skip_serializing_if = "Option::is_none")]
35 pub product_tags: Option<Vec<String>>,
36}
37
38impl ProductSearchRequest {
39 pub fn new() -> ProductSearchRequest {
41 ProductSearchRequest {
42 id: None,
43 types: None,
44 codes: None,
45 flexibilities: None,
46 service_classes: None,
47 travel_classes: None,
48 fulfillment_options: None,
49 product_tags: None,
50 }
51 }
52}
53