amazon_spapi/models/orders_v0/
substitution_preferences.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct SubstitutionPreferences {
17 #[serde(rename = "SubstitutionType")]
19 pub substitution_type: SubstitutionType,
20 #[serde(rename = "SubstitutionOptions", skip_serializing_if = "Option::is_none")]
22 pub substitution_options: Option<Vec<models::orders_v0::SubstitutionOption>>,
23}
24
25impl SubstitutionPreferences {
26 pub fn new(substitution_type: SubstitutionType) -> SubstitutionPreferences {
28 SubstitutionPreferences {
29 substitution_type,
30 substitution_options: None,
31 }
32 }
33}
34#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
36pub enum SubstitutionType {
37 #[serde(rename = "CUSTOMER_PREFERENCE")]
38 CustomerPreference,
39 #[serde(rename = "AMAZON_RECOMMENDED")]
40 AmazonRecommended,
41 #[serde(rename = "DO_NOT_SUBSTITUTE")]
42 DoNotSubstitute,
43}
44
45impl Default for SubstitutionType {
46 fn default() -> SubstitutionType {
47 Self::CustomerPreference
48 }
49}
50