diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/IncludedDataEnum.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/IncludedDataEnum.cs index 3f7aad95..2c32652d 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/IncludedDataEnum.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/IncludedDataEnum.cs @@ -62,6 +62,17 @@ public enum IncludedDataEnum [EnumMember(Value = "PACKAGES")] PACKAGES = 8, + /// + /// Information about tax + /// + [EnumMember(Value = "TAX")] + TAX = 9, + + /// + /// Information about payment + /// + [EnumMember(Value = "PAYMENT")] + PAYMENT = 10, } } diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItem.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItem.cs index 528304c2..667d0b5c 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItem.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItem.cs @@ -35,6 +35,7 @@ protected OrderItem() { } /// Details about any discounts, coupons, or promotional offers applied to this item. /// The cancellation information of the order item. /// Information about how the order item should be processed, packed, and shipped to the customer. + /// Tax information associated with this specific order item. public OrderItem(string orderItemId, int quantityOrdered, Measurement measurement, @@ -44,7 +45,8 @@ public OrderItem(string orderItemId, Expense expense, Promotion promotion, Cancellation cancellation, - OrderItemFulfillment fulfillment) + OrderItemFulfillment fulfillment, + OrderItemTax tax) { this.OrderItemId = orderItemId; this.QuantityOrdered = quantityOrdered; @@ -56,6 +58,7 @@ public OrderItem(string orderItemId, this.Promotion = promotion; this.Cancellation = cancellation; this.Fulfillment = fulfillment; + this.Tax = tax; } /// @@ -128,6 +131,14 @@ public OrderItem(string orderItemId, [DataMember(Name = "fulfillment", EmitDefaultValue = false)] public OrderItemFulfillment Fulfillment { get; set; } + /// + /// Tax information associated with this specific order item, + /// including the responsible party and the tax collection model. + /// + /// Tax information associated with this specific order item. + [DataMember(Name = "tax", EmitDefaultValue = false)] + public OrderItemTax Tax { get; set; } + /// /// Returns the string presentation of the object @@ -147,6 +158,7 @@ public override string ToString() sb.Append(" Promotion: ").Append(Promotion).Append("\n"); sb.Append(" Cancellation: ").Append(Cancellation).Append("\n"); sb.Append(" Fulfillment: ").Append(Fulfillment).Append("\n"); + sb.Append(" Tax: ").Append(Tax).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -230,6 +242,11 @@ public bool Equals(OrderItem input) this.Fulfillment == input.Fulfillment || (this.Fulfillment != null && this.Fulfillment.Equals(input.Fulfillment)) + ) && + ( + this.Tax == input.Tax || + (this.Tax != null && + this.Tax.Equals(input.Tax)) ); } @@ -262,6 +279,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.Cancellation.GetHashCode(); if (this.Fulfillment != null) hashCode = hashCode * 59 + this.Fulfillment.GetHashCode(); + if (this.Tax != null) + hashCode = hashCode * 59 + this.Tax.GetHashCode(); return hashCode; } } @@ -277,4 +296,4 @@ public override int GetHashCode() } } -} +} \ No newline at end of file diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTax.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTax.cs new file mode 100644 index 00000000..87569f0d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTax.cs @@ -0,0 +1,113 @@ +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.OrdersV20260101 +{ + /// + /// Represents tax information for an order item, containing a list of tax collections. + /// + [DataContract] + public partial class OrderItemTax : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + public OrderItemTax() + { + } + + /// + /// Initializes a new instance of the class. + /// + /// A list of tax collections associated with this order item. + public OrderItemTax(List orderItemTaxCollections) + { + this.TaxCollection = orderItemTaxCollections; + } + + /// + /// A list of tax collections for this order item. + /// Each entry contains details about the responsible party and the tax model (e.g. MARKETPLACE_FACILITATOR). + /// + [DataMember(Name = "taxCollections", EmitDefaultValue = false)] + public List TaxCollection { get; set; } + + /// + /// Returns the string representation of the object. + /// + /// String representation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class OrderItemTax {\n"); + sb.Append(" TaxCollection: ").Append(TaxCollection).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string representation of the object. + /// + /// JSON string representation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if the given object is equal to this instance. + /// + /// Object to be compared + /// Boolean + public override bool Equals(object obj) + { + return this.Equals(obj as OrderItemTax); + } + + /// + /// Returns true if the given instance is equal to this instance. + /// + /// Instance of to be compared + /// Boolean + public bool Equals(OrderItemTax input) + { + if (input == null) + return false; + + return + this.TaxCollection == input.TaxCollection || + (this.TaxCollection != null && + this.TaxCollection.SequenceEqual(input.TaxCollection)); + } + + /// + /// Returns the hash code for this instance. + /// + /// Hash code + public override int GetHashCode() + { + unchecked + { + int hashCode = 41; + if (this.TaxCollection != null) + hashCode = hashCode * 59 + this.TaxCollection.GetHashCode(); + return hashCode; + } + } + + /// + /// Validates all properties of the instance. + /// + /// Validation context + /// Validation results + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } +} \ No newline at end of file diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTaxCollection.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTaxCollection.cs new file mode 100644 index 00000000..1e8312df --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTaxCollection.cs @@ -0,0 +1,128 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.OrdersV20260101 +{ + /// + /// Represents a single tax collection entry for an order item, + /// containing the responsible party and the applied tax model. + /// + [DataContract] + public partial class OrderItemTaxCollection : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + public OrderItemTaxCollection() + { + } + + /// + /// Initializes a new instance of the class. + /// + /// The party responsible for collecting the tax (e.g. "Amazon EU S.a.r.L."). + /// The tax collection model applied to this order item. + public OrderItemTaxCollection(string responsibleParty, OrderItemTaxCollectionEnum? model = null) + { + this.ResponsibleParty = responsibleParty; + this.Model = model; + } + + /// + /// The party responsible for collecting the tax for this order item (e.g. "Amazon EU S.a.r.L."). + /// + [DataMember(Name = "responsibleParty", EmitDefaultValue = false)] + public string ResponsibleParty { get; set; } + + /// + /// The tax collection model applied to this order item. + /// + [DataMember(Name = "model", EmitDefaultValue = false)] + public OrderItemTaxCollectionEnum? Model { get; set; } + + /// + /// Returns the string representation of the object. + /// + /// String representation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class OrderItemTaxCollection {\n"); + sb.Append(" ResponsibleParty: ").Append(ResponsibleParty).Append("\n"); + sb.Append(" Model: ").Append(Model).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string representation of the object. + /// + /// JSON string representation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if the given object is equal to this instance. + /// + /// Object to be compared + /// Boolean + public override bool Equals(object obj) + { + return this.Equals(obj as OrderItemTaxCollection); + } + + /// + /// Returns true if the given instance is equal to this instance. + /// + /// Instance of to be compared + /// Boolean + public bool Equals(OrderItemTaxCollection input) + { + if (input == null) + return false; + + return + ( + this.ResponsibleParty == input.ResponsibleParty || + (this.ResponsibleParty != null && + this.ResponsibleParty.Equals(input.ResponsibleParty)) + ) && + ( + this.Model == input.Model + ); + } + + /// + /// Returns the hash code for this instance. + /// + /// Hash code + public override int GetHashCode() + { + unchecked + { + int hashCode = 41; + if (this.ResponsibleParty != null) + hashCode = hashCode * 59 + this.ResponsibleParty.GetHashCode(); + hashCode = hashCode * 59 + this.Model.GetHashCode(); + return hashCode; + } + } + + /// + /// Validates all properties of the instance. + /// + /// Validation context + /// Validation results + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } +} \ No newline at end of file diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTaxCollectionEnum.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTaxCollectionEnum.cs new file mode 100644 index 00000000..5b12a044 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/OrderItemTaxCollectionEnum.cs @@ -0,0 +1,22 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System; +using System.Collections.Generic; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.OrdersV20260101 +{ + /// + /// Specifies the tax collection model applied to this order item. + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum OrderItemTaxCollectionEnum + { + /// + /// Tax is collected by the marketplace facilitator. + /// + [EnumMember(Value = "MARKETPLACE_FACILITATOR")] + MARKETPLACE_FACILITATOR = 1 + } +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/PriceDesignationEnum.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/PriceDesignationEnum.cs index 0fe7071c..06e1f5dc 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/PriceDesignationEnum.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/PriceDesignationEnum.cs @@ -1,9 +1,7 @@ using Newtonsoft.Json; using Newtonsoft.Json.Converters; -using System; -using System.Collections.Generic; using System.Runtime.Serialization; -using System.Text; + namespace FikaAmazonAPI.AmazonSpApiSDK.Models.OrdersV20260101 { @@ -19,6 +17,12 @@ public enum PriceDesignationEnum /// [EnumMember(Value = "BUSINESS_PRICE")] BUSINESS_PRICE = 1, + + /// + /// Enum value for type QUANTITY_PRICE + /// + [EnumMember(Value = "QUANTITY_PRICE")] + QUANTITY_PRICE = 2 } } diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/ProgramEnum.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/ProgramEnum.cs index 052ceced..dfa199d1 100644 --- a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/ProgramEnum.cs +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/OrdersV20260101/ProgramEnum.cs @@ -73,6 +73,12 @@ public enum ProgramEnum /// [EnumMember(Value = "PRIME")] PRIME = 10, + + /// + /// Enum value for type INVOICE_BY_AMAZON + /// + [EnumMember(Value = "INVOICE_BY_AMAZON")] + INVOICE_BY_AMAZON = 11 } }