amazon_spapi/models/sellers/
account.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Account {
17 #[serde(rename = "marketplaceParticipationList")]
19 pub marketplace_participation_list: Vec<models::sellers::MarketplaceParticipation>,
20 #[serde(rename = "businessType")]
22 pub business_type: BusinessType,
23 #[serde(rename = "sellingPlan")]
25 pub selling_plan: SellingPlan,
26 #[serde(rename = "business", skip_serializing_if = "Option::is_none")]
27 pub business: Option<Box<models::sellers::Business>>,
28 #[serde(rename = "primaryContact", skip_serializing_if = "Option::is_none")]
29 pub primary_contact: Option<Box<models::sellers::PrimaryContact>>,
30}
31
32impl Account {
33 pub fn new(marketplace_participation_list: Vec<models::sellers::MarketplaceParticipation>, business_type: BusinessType, selling_plan: SellingPlan) -> Account {
35 Account {
36 marketplace_participation_list,
37 business_type,
38 selling_plan,
39 business: None,
40 primary_contact: None,
41 }
42 }
43}
44#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
46pub enum BusinessType {
47 #[serde(rename = "CHARITY")]
48 Charity,
49 #[serde(rename = "CRAFTSMAN")]
50 Craftsman,
51 #[serde(rename = "NATURAL_PERSON_COMPANY")]
52 NaturalPersonCompany,
53 #[serde(rename = "PUBLIC_LISTED")]
54 PublicListed,
55 #[serde(rename = "PRIVATE_LIMITED")]
56 PrivateLimited,
57 #[serde(rename = "SOLE_PROPRIETORSHIP")]
58 SoleProprietorship,
59 #[serde(rename = "STATE_OWNED")]
60 StateOwned,
61 #[serde(rename = "INDIVIDUAL")]
62 Individual,
63}
64
65impl Default for BusinessType {
66 fn default() -> BusinessType {
67 Self::Charity
68 }
69}
70#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
72pub enum SellingPlan {
73 #[serde(rename = "PROFESSIONAL")]
74 Professional,
75 #[serde(rename = "INDIVIDUAL")]
76 Individual,
77}
78
79impl Default for SellingPlan {
80 fn default() -> SellingPlan {
81 Self::Professional
82 }
83}
84