rain_sdk/models/
shipping_groups.rs1use crate::models::common::Address;
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7#[derive(Debug, Clone, Serialize, Deserialize)]
9pub struct ShippingGroup {
10 pub id: Uuid,
11 #[serde(rename = "recipientFirstName")]
12 pub recipient_first_name: String,
13 #[serde(rename = "recipientLastName", skip_serializing_if = "Option::is_none")]
14 pub recipient_last_name: Option<String>,
15 #[serde(
16 rename = "recipientPhoneCountryCode",
17 skip_serializing_if = "Option::is_none"
18 )]
19 pub recipient_phone_country_code: Option<String>,
20 #[serde(
21 rename = "recipientPhoneNumber",
22 skip_serializing_if = "Option::is_none"
23 )]
24 pub recipient_phone_number: Option<String>,
25 pub address: Address,
26}
27
28#[derive(Debug, Clone, Serialize, Deserialize)]
30pub struct CreateShippingGroupRequest {
31 #[serde(rename = "recipientFirstName")]
32 pub recipient_first_name: String,
33 #[serde(rename = "recipientLastName", skip_serializing_if = "Option::is_none")]
34 pub recipient_last_name: Option<String>,
35 #[serde(
36 rename = "recipientPhoneCountryCode",
37 skip_serializing_if = "Option::is_none"
38 )]
39 pub recipient_phone_country_code: Option<String>,
40 #[serde(
41 rename = "recipientPhoneNumber",
42 skip_serializing_if = "Option::is_none"
43 )]
44 pub recipient_phone_number: Option<String>,
45 pub address: Address,
46}
47
48#[derive(Debug, Clone, Serialize, Deserialize)]
50pub struct ListShippingGroupsParams {
51 #[serde(skip_serializing_if = "Option::is_none")]
52 pub cursor: Option<String>,
53 #[serde(skip_serializing_if = "Option::is_none")]
54 pub limit: Option<u32>,
55}
56
57pub type ListShippingGroupsResponse = Vec<ShippingGroup>;