use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct OfferDetail {
#[serde(rename = "MyOffer", skip_serializing_if = "Option::is_none")]
pub my_offer: Option<bool>,
#[serde(rename = "offerType", skip_serializing_if = "Option::is_none")]
pub offer_type: Option<models::product_pricing_v0::OfferCustomerType>,
#[serde(rename = "SubCondition")]
pub sub_condition: String,
#[serde(rename = "SellerId", skip_serializing_if = "Option::is_none")]
pub seller_id: Option<String>,
#[serde(rename = "ConditionNotes", skip_serializing_if = "Option::is_none")]
pub condition_notes: Option<String>,
#[serde(rename = "SellerFeedbackRating", skip_serializing_if = "Option::is_none")]
pub seller_feedback_rating: Option<Box<models::product_pricing_v0::SellerFeedbackType>>,
#[serde(rename = "ShippingTime")]
pub shipping_time: Box<models::product_pricing_v0::DetailedShippingTimeType>,
#[serde(rename = "ListingPrice")]
pub listing_price: Box<models::product_pricing_v0::MoneyType>,
#[serde(rename = "quantityDiscountPrices", skip_serializing_if = "Option::is_none")]
pub quantity_discount_prices: Option<Vec<models::product_pricing_v0::QuantityDiscountPriceType>>,
#[serde(rename = "Points", skip_serializing_if = "Option::is_none")]
pub points: Option<Box<models::product_pricing_v0::Points>>,
#[serde(rename = "Shipping")]
pub shipping: Box<models::product_pricing_v0::MoneyType>,
#[serde(rename = "ShipsFrom", skip_serializing_if = "Option::is_none")]
pub ships_from: Option<Box<models::product_pricing_v0::ShipsFromType>>,
#[serde(rename = "IsFulfilledByAmazon")]
pub is_fulfilled_by_amazon: bool,
#[serde(rename = "PrimeInformation", skip_serializing_if = "Option::is_none")]
pub prime_information: Option<Box<models::product_pricing_v0::PrimeInformationType>>,
#[serde(rename = "IsBuyBoxWinner", skip_serializing_if = "Option::is_none")]
pub is_buy_box_winner: Option<bool>,
#[serde(rename = "IsFeaturedMerchant", skip_serializing_if = "Option::is_none")]
pub is_featured_merchant: Option<bool>,
}
impl OfferDetail {
pub fn new(sub_condition: String, shipping_time: models::product_pricing_v0::DetailedShippingTimeType, listing_price: models::product_pricing_v0::MoneyType, shipping: models::product_pricing_v0::MoneyType, is_fulfilled_by_amazon: bool) -> OfferDetail {
OfferDetail {
my_offer: None,
offer_type: None,
sub_condition,
seller_id: None,
condition_notes: None,
seller_feedback_rating: None,
shipping_time: Box::new(shipping_time),
listing_price: Box::new(listing_price),
quantity_discount_prices: None,
points: None,
shipping: Box::new(shipping),
ships_from: None,
is_fulfilled_by_amazon,
prime_information: None,
is_buy_box_winner: None,
is_featured_merchant: None,
}
}
}