1use crate::utils::serde_utils::deserialize_string_or_int_to_i32;
2use serde::{Deserialize, Serialize};
3
4#[derive(Deserialize, Serialize, Debug)]
5pub struct Order {
6 #[serde(deserialize_with = "deserialize_string_or_int_to_i32")]
7 pub order_id: i32,
8 pub issuer_id: Option<String>,
9 pub user_id: Option<String>,
10 pub is_parent_order: Option<String>,
11 pub parent_order_id: Option<String>,
12 pub company_id: Option<String>,
13 pub timestamp: Option<String>,
14 pub firstname: Option<String>,
15 pub lastname: Option<String>,
16 pub email: Option<String>,
17 pub phone: Option<String>,
18 pub status: Option<String>,
19 pub total: Option<String>,
20 pub invoice_id: Option<String>,
21 pub credit_memo_id: Option<String>,
22 pub points: Option<String>,
23 #[serde(flatten)]
24 pub shipping_address: ShippingAddress,
25 #[serde(flatten)]
26 pub billing_address: BillingAddress,
27}
28
29#[derive(Deserialize, Serialize, Debug)]
30pub struct OrderDetails {
31 #[serde(flatten)]
32 pub order: Order,
33 #[serde(flatten)]
34 pub shipping_address: ShippingAddress,
35 #[serde(flatten)]
36 pub billing_address: BillingAddress,
37}
38
39#[derive(Serialize, Deserialize, Debug)]
40pub struct ShippingAddress {
41 pub s_address: Option<String>,
42 pub s_adddress_2: Option<String>,
43 pub s_city: Option<String>,
44 pub s_country: Option<String>,
45 pub s_country_descr: Option<String>,
46 pub s_firstname: Option<String>,
47 pub s_lastname: Option<String>,
48 pub s_phone: Option<String>,
49 pub s_state: Option<String>,
50 pub s_state_descr: Option<String>,
51 pub s_zipcode: Option<String>,
52}
53
54#[derive(Serialize, Deserialize, Debug)]
55pub struct BillingAddress {
56 pub b_address: Option<String>,
57 pub b_adddress_2: Option<String>,
58 pub b_city: Option<String>,
59 pub b_country: Option<String>,
60 pub b_country_descr: Option<String>,
61 pub b_firstname: Option<String>,
62 pub b_lastname: Option<String>,
63 pub b_phone: Option<String>,
64 pub b_state: Option<String>,
65 pub b_state_descr: Option<String>,
66 pub b_zipcode: Option<String>,
67}