rain_sdk/models/
shipping_groups.rs

1//! Models for shipping group endpoints
2
3use crate::models::common::Address;
4use serde::{Deserialize, Serialize};
5use uuid::Uuid;
6
7/// Shipping group information
8#[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/// Request to create a shipping group
29#[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/// Query parameters for listing shipping groups
49#[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
57/// Response type for list of shipping groups
58pub type ListShippingGroupsResponse = Vec<ShippingGroup>;