1#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
15pub struct ListProductsResponse200AllOfDataInner {
16 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
18 pub id: Option<i32>,
19 #[serde(rename = "deal_id", skip_serializing_if = "Option::is_none")]
21 pub deal_id: Option<i32>,
22 #[serde(rename = "order_nr", skip_serializing_if = "Option::is_none")]
24 pub order_nr: Option<i32>,
25 #[serde(rename = "product_id", skip_serializing_if = "Option::is_none")]
27 pub product_id: Option<i32>,
28 #[serde(rename = "product_variation_id", default, with = "::serde_with::rust::double_option", skip_serializing_if = "Option::is_none")]
30 pub product_variation_id: Option<Option<i32>>,
31 #[serde(rename = "item_price", skip_serializing_if = "Option::is_none")]
33 pub item_price: Option<i32>,
34 #[serde(rename = "discount", skip_serializing_if = "Option::is_none")]
36 pub discount: Option<f32>,
37 #[serde(rename = "discount_type", skip_serializing_if = "Option::is_none")]
39 pub discount_type: Option<DiscountType>,
40 #[serde(rename = "duration", skip_serializing_if = "Option::is_none")]
42 pub duration: Option<i32>,
43 #[serde(rename = "duration_unit", skip_serializing_if = "Option::is_none")]
45 pub duration_unit: Option<String>,
46 #[serde(rename = "sum", skip_serializing_if = "Option::is_none")]
48 pub sum: Option<f32>,
49 #[serde(rename = "currency", skip_serializing_if = "Option::is_none")]
51 pub currency: Option<String>,
52 #[serde(rename = "enabled_flag", skip_serializing_if = "Option::is_none")]
54 pub enabled_flag: Option<bool>,
55 #[serde(rename = "add_time", skip_serializing_if = "Option::is_none")]
57 pub add_time: Option<String>,
58 #[serde(rename = "last_edit", skip_serializing_if = "Option::is_none")]
60 pub last_edit: Option<String>,
61 #[serde(rename = "comments", skip_serializing_if = "Option::is_none")]
63 pub comments: Option<String>,
64 #[serde(rename = "active_flag", skip_serializing_if = "Option::is_none")]
66 pub active_flag: Option<bool>,
67 #[serde(rename = "tax", skip_serializing_if = "Option::is_none")]
69 pub tax: Option<f32>,
70 #[serde(rename = "tax_method", skip_serializing_if = "Option::is_none")]
72 pub tax_method: Option<TaxMethod>,
73 #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
75 pub name: Option<String>,
76 #[serde(rename = "sum_formatted", skip_serializing_if = "Option::is_none")]
78 pub sum_formatted: Option<String>,
79 #[serde(rename = "quantity_formatted", skip_serializing_if = "Option::is_none")]
81 pub quantity_formatted: Option<String>,
82 #[serde(rename = "quantity", skip_serializing_if = "Option::is_none")]
84 pub quantity: Option<i32>,
85 #[serde(rename = "product", skip_serializing_if = "Option::is_none")]
86 pub product: Option<Box<crate::models::ListProductsResponse200AllOfDataInnerProduct>>,
87}
88
89impl ListProductsResponse200AllOfDataInner {
90 pub fn new() -> ListProductsResponse200AllOfDataInner {
91 ListProductsResponse200AllOfDataInner {
92 id: None,
93 deal_id: None,
94 order_nr: None,
95 product_id: None,
96 product_variation_id: None,
97 item_price: None,
98 discount: None,
99 discount_type: None,
100 duration: None,
101 duration_unit: None,
102 sum: None,
103 currency: None,
104 enabled_flag: None,
105 add_time: None,
106 last_edit: None,
107 comments: None,
108 active_flag: None,
109 tax: None,
110 tax_method: None,
111 name: None,
112 sum_formatted: None,
113 quantity_formatted: None,
114 quantity: None,
115 product: None,
116 }
117 }
118}
119
120#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
122pub enum DiscountType {
123 #[serde(rename = "percentage")]
124 Percentage,
125 #[serde(rename = "amount")]
126 Amount,
127}
128
129impl Default for DiscountType {
130 fn default() -> DiscountType {
131 Self::Percentage
132 }
133}
134#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
136pub enum TaxMethod {
137 #[serde(rename = "exclusive")]
138 Exclusive,
139 #[serde(rename = "inclusive")]
140 Inclusive,
141 #[serde(rename = "none")]
142 None,
143}
144
145impl Default for TaxMethod {
146 fn default() -> TaxMethod {
147 Self::Exclusive
148 }
149}
150