diff --git a/Xero.NetStandard.OAuth2/Api/AccountingApi.cs b/Xero.NetStandard.OAuth2/Api/AccountingApi.cs index 1dd7e653..3872cd6f 100644 --- a/Xero.NetStandard.OAuth2/Api/AccountingApi.cs +++ b/Xero.NetStandard.OAuth2/Api/AccountingApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs b/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs index 357b7857..da2dce14 100644 --- a/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs +++ b/Xero.NetStandard.OAuth2/Api/AppStoreApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/AssetApi.cs b/Xero.NetStandard.OAuth2/Api/AssetApi.cs index a55e0cce..10cc963f 100644 --- a/Xero.NetStandard.OAuth2/Api/AssetApi.cs +++ b/Xero.NetStandard.OAuth2/Api/AssetApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs b/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs index 17cf99a3..39d06af6 100644 --- a/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs +++ b/Xero.NetStandard.OAuth2/Api/BankFeedsApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/FilesApi.cs b/Xero.NetStandard.OAuth2/Api/FilesApi.cs index 2688ed80..0258229b 100644 --- a/Xero.NetStandard.OAuth2/Api/FilesApi.cs +++ b/Xero.NetStandard.OAuth2/Api/FilesApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/FinanceApi.cs b/Xero.NetStandard.OAuth2/Api/FinanceApi.cs index 29a5dfdf..8a550ce8 100644 --- a/Xero.NetStandard.OAuth2/Api/FinanceApi.cs +++ b/Xero.NetStandard.OAuth2/Api/FinanceApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/IdentityApi.cs b/Xero.NetStandard.OAuth2/Api/IdentityApi.cs index fb7d9d2e..b3d0c721 100644 --- a/Xero.NetStandard.OAuth2/Api/IdentityApi.cs +++ b/Xero.NetStandard.OAuth2/Api/IdentityApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs b/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs index c7277f06..1cdab1ab 100644 --- a/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs +++ b/Xero.NetStandard.OAuth2/Api/PayrollAUApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs b/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs index 80cd0461..28801ae9 100644 --- a/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs +++ b/Xero.NetStandard.OAuth2/Api/PayrollUkApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Api/ProjectApi.cs b/Xero.NetStandard.OAuth2/Api/ProjectApi.cs index eac5175b..77c9d3d7 100644 --- a/Xero.NetStandard.OAuth2/Api/ProjectApi.cs +++ b/Xero.NetStandard.OAuth2/Api/ProjectApi.cs @@ -7,7 +7,7 @@ * Generated by: https://github.com/openapitools/openapi-generator.git */ -// The version of the OpenAPI document: 6.2.0 +// The version of the OpenAPI document: 6.3.0 using System; diff --git a/Xero.NetStandard.OAuth2/Client/Configuration.cs b/Xero.NetStandard.OAuth2/Client/Configuration.cs index 0c2f8068..5c52b1db 100644 --- a/Xero.NetStandard.OAuth2/Client/Configuration.cs +++ b/Xero.NetStandard.OAuth2/Client/Configuration.cs @@ -31,7 +31,7 @@ public class Configuration : IReadableConfiguration /// Version of the package. /// /// Version of the package. - public const string Version = "9.1.0"; + public const string Version = "9.2.0"; /// /// Identifier for ISO 8601 DateTime Format @@ -103,7 +103,7 @@ public class Configuration : IReadableConfiguration [System.Diagnostics.CodeAnalysis.SuppressMessage("ReSharper", "VirtualMemberCallInConstructor")] public Configuration() { - UserAgent = "xero-netstandard-9.1.0"; + UserAgent = "xero-netstandard-9.2.0"; BasePath = "https://api.xero.com/api.xro/2.0"; DefaultHeader = new ConcurrentDictionary(); ApiKey = new ConcurrentDictionary(); @@ -341,8 +341,8 @@ public static String ToDebugReport() { String report = "C# SDK (Xero.NetStandard.OAuth2) Debug Report:\n"; report += " OS: " + System.Runtime.InteropServices.RuntimeInformation.OSDescription + "\n"; - report += " Version of the API: 6.2.0\n"; - report += " SDK Package Version: 9.1.0\n"; + report += " Version of the API: 6.3.0\n"; + report += " SDK Package Version: 9.2.0\n"; return report; } diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs b/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs index 04994e4c..3424ce11 100644 --- a/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs +++ b/Xero.NetStandard.OAuth2/Model/Accounting/CreditNote.cs @@ -300,6 +300,13 @@ public enum StatusEnum [DataMember(Name="Warnings", EmitDefaultValue=false)] public List Warnings { get; set; } + /// + /// An array of addresses used to auto calculate sales tax + /// + /// An array of addresses used to auto calculate sales tax + [DataMember(Name="InvoiceAddresses", EmitDefaultValue=false)] + public List InvoiceAddresses { get; set; } + /// /// Returns the string presentation of the object /// @@ -338,6 +345,7 @@ public override string ToString() sb.Append(" HasErrors: ").Append(HasErrors).Append("\n"); sb.Append(" ValidationErrors: ").Append(ValidationErrors).Append("\n"); sb.Append(" Warnings: ").Append(Warnings).Append("\n"); + sb.Append(" InvoiceAddresses: ").Append(InvoiceAddresses).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -522,6 +530,12 @@ public bool Equals(CreditNote input) this.Warnings != null && input.Warnings != null && this.Warnings.SequenceEqual(input.Warnings) + ) && + ( + this.InvoiceAddresses == input.InvoiceAddresses || + this.InvoiceAddresses != null && + input.InvoiceAddresses != null && + this.InvoiceAddresses.SequenceEqual(input.InvoiceAddresses) ); } @@ -590,6 +604,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.ValidationErrors.GetHashCode(); if (this.Warnings != null) hashCode = hashCode * 59 + this.Warnings.GetHashCode(); + if (this.InvoiceAddresses != null) + hashCode = hashCode * 59 + this.InvoiceAddresses.GetHashCode(); return hashCode; } } diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs b/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs index 3bccbed9..a3ae7f37 100644 --- a/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs +++ b/Xero.NetStandard.OAuth2/Model/Accounting/Invoice.cs @@ -406,6 +406,13 @@ public enum StatusEnum [DataMember(Name="Warnings", EmitDefaultValue=false)] public List Warnings { get; set; } + /// + /// An array of addresses used to auto calculate sales tax + /// + /// An array of addresses used to auto calculate sales tax + [DataMember(Name="InvoiceAddresses", EmitDefaultValue=false)] + public List InvoiceAddresses { get; set; } + /// /// Returns the string presentation of the object /// @@ -454,6 +461,7 @@ public override string ToString() sb.Append(" StatusAttributeString: ").Append(StatusAttributeString).Append("\n"); sb.Append(" ValidationErrors: ").Append(ValidationErrors).Append("\n"); sb.Append(" Warnings: ").Append(Warnings).Append("\n"); + sb.Append(" InvoiceAddresses: ").Append(InvoiceAddresses).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -691,6 +699,12 @@ public bool Equals(Invoice input) this.Warnings != null && input.Warnings != null && this.Warnings.SequenceEqual(input.Warnings) + ) && + ( + this.InvoiceAddresses == input.InvoiceAddresses || + this.InvoiceAddresses != null && + input.InvoiceAddresses != null && + this.InvoiceAddresses.SequenceEqual(input.InvoiceAddresses) ); } @@ -779,6 +793,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.ValidationErrors.GetHashCode(); if (this.Warnings != null) hashCode = hashCode * 59 + this.Warnings.GetHashCode(); + if (this.InvoiceAddresses != null) + hashCode = hashCode * 59 + this.InvoiceAddresses.GetHashCode(); return hashCode; } } diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/InvoiceAddress.cs b/Xero.NetStandard.OAuth2/Model/Accounting/InvoiceAddress.cs new file mode 100644 index 00000000..dbcf3e25 --- /dev/null +++ b/Xero.NetStandard.OAuth2/Model/Accounting/InvoiceAddress.cs @@ -0,0 +1,255 @@ +/* + * Xero Accounting API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * Contact: api@xero.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Xero.NetStandard.OAuth2.Client.OpenAPIDateConverter; + +namespace Xero.NetStandard.OAuth2.Model.Accounting +{ + /// + /// InvoiceAddress + /// + [DataContract] + public partial class InvoiceAddress : IEquatable, IValidatableObject + { + /// + /// Indicates whether the address is defined as origin (FROM) or destination (TO) + /// + /// Indicates whether the address is defined as origin (FROM) or destination (TO) + [JsonConverter(typeof(Client.CustomStringEnumConverter))] + public enum InvoiceAddressTypeEnum + { + /// + /// Enum FROM for value: FROM + /// + [EnumMember(Value = "FROM")] + FROM = 1, + + /// + /// Enum TO for value: TO + /// + [EnumMember(Value = "TO")] + TO = 2 + + } + + /// + /// Indicates whether the address is defined as origin (FROM) or destination (TO) + /// + /// Indicates whether the address is defined as origin (FROM) or destination (TO) + [DataMember(Name="InvoiceAddressType", EmitDefaultValue=false)] + public InvoiceAddressTypeEnum InvoiceAddressType { get; set; } + + /// + /// First line of a physical address + /// + /// First line of a physical address + [DataMember(Name="AddressLine1", EmitDefaultValue=false)] + public string AddressLine1 { get; set; } + + /// + /// Second line of a physical address + /// + /// Second line of a physical address + [DataMember(Name="AddressLine2", EmitDefaultValue=false)] + public string AddressLine2 { get; set; } + + /// + /// Third line of a physical address + /// + /// Third line of a physical address + [DataMember(Name="AddressLine3", EmitDefaultValue=false)] + public string AddressLine3 { get; set; } + + /// + /// Fourth line of a physical address + /// + /// Fourth line of a physical address + [DataMember(Name="AddressLine4", EmitDefaultValue=false)] + public string AddressLine4 { get; set; } + + /// + /// City of a physical address + /// + /// City of a physical address + [DataMember(Name="City", EmitDefaultValue=false)] + public string City { get; set; } + + /// + /// Region or state of a physical address + /// + /// Region or state of a physical address + [DataMember(Name="Region", EmitDefaultValue=false)] + public string Region { get; set; } + + /// + /// Postal code of a physical address + /// + /// Postal code of a physical address + [DataMember(Name="PostalCode", EmitDefaultValue=false)] + public string PostalCode { get; set; } + + /// + /// Country of a physical address + /// + /// Country of a physical address + [DataMember(Name="Country", EmitDefaultValue=false)] + public string Country { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class InvoiceAddress {\n"); + sb.Append(" InvoiceAddressType: ").Append(InvoiceAddressType).Append("\n"); + sb.Append(" AddressLine1: ").Append(AddressLine1).Append("\n"); + sb.Append(" AddressLine2: ").Append(AddressLine2).Append("\n"); + sb.Append(" AddressLine3: ").Append(AddressLine3).Append("\n"); + sb.Append(" AddressLine4: ").Append(AddressLine4).Append("\n"); + sb.Append(" City: ").Append(City).Append("\n"); + sb.Append(" Region: ").Append(Region).Append("\n"); + sb.Append(" PostalCode: ").Append(PostalCode).Append("\n"); + sb.Append(" Country: ").Append(Country).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as InvoiceAddress); + } + + /// + /// Returns true if InvoiceAddress instances are equal + /// + /// Instance of InvoiceAddress to be compared + /// Boolean + public bool Equals(InvoiceAddress input) + { + if (input == null) + return false; + + return + ( + this.InvoiceAddressType == input.InvoiceAddressType || + this.InvoiceAddressType.Equals(input.InvoiceAddressType) + ) && + ( + this.AddressLine1 == input.AddressLine1 || + (this.AddressLine1 != null && + this.AddressLine1.Equals(input.AddressLine1)) + ) && + ( + this.AddressLine2 == input.AddressLine2 || + (this.AddressLine2 != null && + this.AddressLine2.Equals(input.AddressLine2)) + ) && + ( + this.AddressLine3 == input.AddressLine3 || + (this.AddressLine3 != null && + this.AddressLine3.Equals(input.AddressLine3)) + ) && + ( + this.AddressLine4 == input.AddressLine4 || + (this.AddressLine4 != null && + this.AddressLine4.Equals(input.AddressLine4)) + ) && + ( + this.City == input.City || + (this.City != null && + this.City.Equals(input.City)) + ) && + ( + this.Region == input.Region || + (this.Region != null && + this.Region.Equals(input.Region)) + ) && + ( + this.PostalCode == input.PostalCode || + (this.PostalCode != null && + this.PostalCode.Equals(input.PostalCode)) + ) && + ( + this.Country == input.Country || + (this.Country != null && + this.Country.Equals(input.Country)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + hashCode = hashCode * 59 + this.InvoiceAddressType.GetHashCode(); + if (this.AddressLine1 != null) + hashCode = hashCode * 59 + this.AddressLine1.GetHashCode(); + if (this.AddressLine2 != null) + hashCode = hashCode * 59 + this.AddressLine2.GetHashCode(); + if (this.AddressLine3 != null) + hashCode = hashCode * 59 + this.AddressLine3.GetHashCode(); + if (this.AddressLine4 != null) + hashCode = hashCode * 59 + this.AddressLine4.GetHashCode(); + if (this.City != null) + hashCode = hashCode * 59 + this.City.GetHashCode(); + if (this.Region != null) + hashCode = hashCode * 59 + this.Region.GetHashCode(); + if (this.PostalCode != null) + hashCode = hashCode * 59 + this.PostalCode.GetHashCode(); + if (this.Country != null) + hashCode = hashCode * 59 + this.Country.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs b/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs index 6c0e11e0..4669e781 100644 --- a/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs +++ b/Xero.NetStandard.OAuth2/Model/Accounting/LineItem.cs @@ -30,6 +30,51 @@ namespace Xero.NetStandard.OAuth2.Model.Accounting [DataContract] public partial class LineItem : IEquatable, IValidatableObject { + /// + /// The type of taxability + /// + /// The type of taxability + [JsonConverter(typeof(Client.CustomStringEnumConverter))] + public enum TaxabilityEnum + { + /// + /// Enum TAXABLE for value: TAXABLE + /// + [EnumMember(Value = "TAXABLE")] + TAXABLE = 1, + + /// + /// Enum NONTAXABLE for value: NON_TAXABLE + /// + [EnumMember(Value = "NON_TAXABLE")] + NONTAXABLE = 2, + + /// + /// Enum EXEMPT for value: EXEMPT + /// + [EnumMember(Value = "EXEMPT")] + EXEMPT = 3, + + /// + /// Enum PARTTAXABLE for value: PART_TAXABLE + /// + [EnumMember(Value = "PART_TAXABLE")] + PARTTAXABLE = 4, + + /// + /// Enum NOTAPPLICABLE for value: NOT_APPLICABLE + /// + [EnumMember(Value = "NOT_APPLICABLE")] + NOTAPPLICABLE = 5 + + } + + /// + /// The type of taxability + /// + /// The type of taxability + [DataMember(Name="Taxability", EmitDefaultValue=false)] + public TaxabilityEnum Taxability { get; set; } /// /// LineItem unique ID @@ -135,6 +180,20 @@ public partial class LineItem : IEquatable, IValidatableObject [DataMember(Name="RepeatingInvoiceID", EmitDefaultValue=false)] public Guid? RepeatingInvoiceID { get; set; } + /// + /// The ID of the sales tax code + /// + /// The ID of the sales tax code + [DataMember(Name="SalesTaxCodeId", EmitDefaultValue=false)] + public decimal? SalesTaxCodeId { get; set; } + + /// + /// An array of tax components defined for this line item + /// + /// An array of tax components defined for this line item + [DataMember(Name="TaxBreakdown", EmitDefaultValue=false)] + public List TaxBreakdown { get; set; } + /// /// Returns the string presentation of the object /// @@ -158,6 +217,9 @@ public override string ToString() sb.Append(" DiscountRate: ").Append(DiscountRate).Append("\n"); sb.Append(" DiscountAmount: ").Append(DiscountAmount).Append("\n"); sb.Append(" RepeatingInvoiceID: ").Append(RepeatingInvoiceID).Append("\n"); + sb.Append(" Taxability: ").Append(Taxability).Append("\n"); + sb.Append(" SalesTaxCodeId: ").Append(SalesTaxCodeId).Append("\n"); + sb.Append(" TaxBreakdown: ").Append(TaxBreakdown).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -267,6 +329,21 @@ public bool Equals(LineItem input) this.RepeatingInvoiceID == input.RepeatingInvoiceID || (this.RepeatingInvoiceID != null && this.RepeatingInvoiceID.Equals(input.RepeatingInvoiceID)) + ) && + ( + this.Taxability == input.Taxability || + this.Taxability.Equals(input.Taxability) + ) && + ( + this.SalesTaxCodeId == input.SalesTaxCodeId || + (this.SalesTaxCodeId != null && + this.SalesTaxCodeId.Equals(input.SalesTaxCodeId)) + ) && + ( + this.TaxBreakdown == input.TaxBreakdown || + this.TaxBreakdown != null && + input.TaxBreakdown != null && + this.TaxBreakdown.SequenceEqual(input.TaxBreakdown) ); } @@ -309,6 +386,11 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.DiscountAmount.GetHashCode(); if (this.RepeatingInvoiceID != null) hashCode = hashCode * 59 + this.RepeatingInvoiceID.GetHashCode(); + hashCode = hashCode * 59 + this.Taxability.GetHashCode(); + if (this.SalesTaxCodeId != null) + hashCode = hashCode * 59 + this.SalesTaxCodeId.GetHashCode(); + if (this.TaxBreakdown != null) + hashCode = hashCode * 59 + this.TaxBreakdown.GetHashCode(); return hashCode; } } diff --git a/Xero.NetStandard.OAuth2/Model/Accounting/TaxBreakdownComponent.cs b/Xero.NetStandard.OAuth2/Model/Accounting/TaxBreakdownComponent.cs new file mode 100644 index 00000000..5a9e8694 --- /dev/null +++ b/Xero.NetStandard.OAuth2/Model/Accounting/TaxBreakdownComponent.cs @@ -0,0 +1,288 @@ +/* + * Xero Accounting API + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * Contact: api@xero.com + * Generated by: https://github.com/openapitools/openapi-generator.git + */ + + +using System; +using System.Linq; +using System.IO; +using System.Text; +using System.Text.RegularExpressions; +using System.Collections; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Runtime.Serialization; +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.ComponentModel.DataAnnotations; +using OpenAPIDateConverter = Xero.NetStandard.OAuth2.Client.OpenAPIDateConverter; + +namespace Xero.NetStandard.OAuth2.Model.Accounting +{ + /// + /// TaxBreakdownComponent + /// + [DataContract] + public partial class TaxBreakdownComponent : IEquatable, IValidatableObject + { + /// + /// The type of the jurisdiction + /// + /// The type of the jurisdiction + [JsonConverter(typeof(Client.CustomStringEnumConverter))] + public enum TypeEnum + { + /// + /// Enum USCOUNTRY for value: SYSGST/USCOUNTRY + /// + [EnumMember(Value = "SYSGST/USCOUNTRY")] + USCOUNTRY = 1, + + /// + /// Enum USSTATE for value: SYSGST/USSTATE + /// + [EnumMember(Value = "SYSGST/USSTATE")] + USSTATE = 2, + + /// + /// Enum USCOUNTY for value: SYSGST/USCOUNTY + /// + [EnumMember(Value = "SYSGST/USCOUNTY")] + USCOUNTY = 3, + + /// + /// Enum USCITY for value: SYSGST/USCITY + /// + [EnumMember(Value = "SYSGST/USCITY")] + USCITY = 4, + + /// + /// Enum USSPECIAL for value: SYSGST/USSPECIAL + /// + [EnumMember(Value = "SYSGST/USSPECIAL")] + USSPECIAL = 5 + + } + + /// + /// The type of the jurisdiction + /// + /// The type of the jurisdiction + [DataMember(Name="Type", EmitDefaultValue=false)] + public TypeEnum Type { get; set; } + + /// + /// The unique ID number of this component + /// + /// The unique ID number of this component + [DataMember(Name="TaxComponentId", EmitDefaultValue=false)] + public Guid? TaxComponentId { get; set; } + + /// + /// The name of the jurisdiction + /// + /// The name of the jurisdiction + [DataMember(Name="Name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The percentage of the tax + /// + /// The percentage of the tax + [DataMember(Name="TaxPercentage", EmitDefaultValue=false)] + public decimal? TaxPercentage { get; set; } + + /// + /// The amount of the tax + /// + /// The amount of the tax + [DataMember(Name="TaxAmount", EmitDefaultValue=false)] + public decimal? TaxAmount { get; set; } + + /// + /// The amount that is taxable + /// + /// The amount that is taxable + [DataMember(Name="TaxableAmount", EmitDefaultValue=false)] + public decimal? TaxableAmount { get; set; } + + /// + /// The amount that is not taxable + /// + /// The amount that is not taxable + [DataMember(Name="NonTaxableAmount", EmitDefaultValue=false)] + public decimal? NonTaxableAmount { get; set; } + + /// + /// The amount that is exempt + /// + /// The amount that is exempt + [DataMember(Name="ExemptAmount", EmitDefaultValue=false)] + public decimal? ExemptAmount { get; set; } + + /// + /// The state assigned number of the jurisdiction + /// + /// The state assigned number of the jurisdiction + [DataMember(Name="StateAssignedNo", EmitDefaultValue=false)] + public string StateAssignedNo { get; set; } + + /// + /// Name identifying the region within the country + /// + /// Name identifying the region within the country + [DataMember(Name="JurisdictionRegion", EmitDefaultValue=false)] + public string JurisdictionRegion { get; set; } + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class TaxBreakdownComponent {\n"); + sb.Append(" TaxComponentId: ").Append(TaxComponentId).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" TaxPercentage: ").Append(TaxPercentage).Append("\n"); + sb.Append(" TaxAmount: ").Append(TaxAmount).Append("\n"); + sb.Append(" TaxableAmount: ").Append(TaxableAmount).Append("\n"); + sb.Append(" NonTaxableAmount: ").Append(NonTaxableAmount).Append("\n"); + sb.Append(" ExemptAmount: ").Append(ExemptAmount).Append("\n"); + sb.Append(" StateAssignedNo: ").Append(StateAssignedNo).Append("\n"); + sb.Append(" JurisdictionRegion: ").Append(JurisdictionRegion).Append("\n"); + sb.Append("}\n"); + return sb.ToString(); + } + + /// + /// Returns the JSON string presentation of the object + /// + /// JSON string presentation of the object + public virtual string ToJson() + { + return JsonConvert.SerializeObject(this, Formatting.Indented); + } + + /// + /// Returns true if objects are equal + /// + /// Object to be compared + /// Boolean + public override bool Equals(object input) + { + return this.Equals(input as TaxBreakdownComponent); + } + + /// + /// Returns true if TaxBreakdownComponent instances are equal + /// + /// Instance of TaxBreakdownComponent to be compared + /// Boolean + public bool Equals(TaxBreakdownComponent input) + { + if (input == null) + return false; + + return + ( + this.TaxComponentId == input.TaxComponentId || + (this.TaxComponentId != null && + this.TaxComponentId.Equals(input.TaxComponentId)) + ) && + ( + this.Type == input.Type || + this.Type.Equals(input.Type) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.TaxPercentage == input.TaxPercentage || + (this.TaxPercentage != null && + this.TaxPercentage.Equals(input.TaxPercentage)) + ) && + ( + this.TaxAmount == input.TaxAmount || + (this.TaxAmount != null && + this.TaxAmount.Equals(input.TaxAmount)) + ) && + ( + this.TaxableAmount == input.TaxableAmount || + (this.TaxableAmount != null && + this.TaxableAmount.Equals(input.TaxableAmount)) + ) && + ( + this.NonTaxableAmount == input.NonTaxableAmount || + (this.NonTaxableAmount != null && + this.NonTaxableAmount.Equals(input.NonTaxableAmount)) + ) && + ( + this.ExemptAmount == input.ExemptAmount || + (this.ExemptAmount != null && + this.ExemptAmount.Equals(input.ExemptAmount)) + ) && + ( + this.StateAssignedNo == input.StateAssignedNo || + (this.StateAssignedNo != null && + this.StateAssignedNo.Equals(input.StateAssignedNo)) + ) && + ( + this.JurisdictionRegion == input.JurisdictionRegion || + (this.JurisdictionRegion != null && + this.JurisdictionRegion.Equals(input.JurisdictionRegion)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.TaxComponentId != null) + hashCode = hashCode * 59 + this.TaxComponentId.GetHashCode(); + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.TaxPercentage != null) + hashCode = hashCode * 59 + this.TaxPercentage.GetHashCode(); + if (this.TaxAmount != null) + hashCode = hashCode * 59 + this.TaxAmount.GetHashCode(); + if (this.TaxableAmount != null) + hashCode = hashCode * 59 + this.TaxableAmount.GetHashCode(); + if (this.NonTaxableAmount != null) + hashCode = hashCode * 59 + this.NonTaxableAmount.GetHashCode(); + if (this.ExemptAmount != null) + hashCode = hashCode * 59 + this.ExemptAmount.GetHashCode(); + if (this.StateAssignedNo != null) + hashCode = hashCode * 59 + this.StateAssignedNo.GetHashCode(); + if (this.JurisdictionRegion != null) + hashCode = hashCode * 59 + this.JurisdictionRegion.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs b/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs index 5d19ecef..551e84eb 100644 --- a/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs +++ b/Xero.NetStandard.OAuth2/Model/PayrollUk/EmployeeLeaveType.cs @@ -112,6 +112,14 @@ public EmployeeLeaveType() [DataMember(Name="rateAccruedHourly", EmitDefaultValue=false)] public double? RateAccruedHourly { get; set; } + /// + /// The date when an employee becomes entitled to their accrual. Only applicable when scheduleOfAccrual is \"OnAnniversaryDate\" + /// + /// The date when an employee becomes entitled to their accrual. Only applicable when scheduleOfAccrual is \"OnAnniversaryDate\" + [DataMember(Name="scheduleOfAccrualDate", EmitDefaultValue=false)] + [JsonConverter(typeof(OpenAPIDateConverter))] + public DateTime? ScheduleOfAccrualDate { get; set; } + /// /// Returns the string presentation of the object /// @@ -126,6 +134,7 @@ public override string ToString() sb.Append(" MaximumToAccrue: ").Append(MaximumToAccrue).Append("\n"); sb.Append(" OpeningBalance: ").Append(OpeningBalance).Append("\n"); sb.Append(" RateAccruedHourly: ").Append(RateAccruedHourly).Append("\n"); + sb.Append(" ScheduleOfAccrualDate: ").Append(ScheduleOfAccrualDate).Append("\n"); sb.Append("}\n"); return sb.ToString(); } @@ -188,6 +197,11 @@ public bool Equals(EmployeeLeaveType input) this.RateAccruedHourly == input.RateAccruedHourly || (this.RateAccruedHourly != null && this.RateAccruedHourly.Equals(input.RateAccruedHourly)) + ) && + ( + this.ScheduleOfAccrualDate == input.ScheduleOfAccrualDate || + (this.ScheduleOfAccrualDate != null && + this.ScheduleOfAccrualDate.Equals(input.ScheduleOfAccrualDate)) ); } @@ -211,6 +225,8 @@ public override int GetHashCode() hashCode = hashCode * 59 + this.OpeningBalance.GetHashCode(); if (this.RateAccruedHourly != null) hashCode = hashCode * 59 + this.RateAccruedHourly.GetHashCode(); + if (this.ScheduleOfAccrualDate != null) + hashCode = hashCode * 59 + this.ScheduleOfAccrualDate.GetHashCode(); return hashCode; } } diff --git a/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj b/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj index e28708b2..35be262e 100644 --- a/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj +++ b/Xero.NetStandard.OAuth2/Xero.NetStandard.OAuth2.csproj @@ -16,7 +16,7 @@ true true Xero.NetStandard.OAuth2 - 9.1.0 + 9.2.0 bin\$(Configuration)\$(TargetFramework)\Xero.NetStandard.OAuth2.xml https://github.com/XeroAPI/Xero-NetStandard/ https://en.gravatar.com/userimage/180557955/74b3a957d886bc921b0d1455beed9dab.png diff --git a/docs/accounting/index.html b/docs/accounting/index.html index 9cea8979..da424f7d 100644 --- a/docs/accounting/index.html +++ b/docs/accounting/index.html @@ -2564,6 +2564,13 @@ "items" : { "$ref" : "#/components/schemas/ValidationError" } + }, + "InvoiceAddresses" : { + "type" : "array", + "description" : "An array of addresses used to auto calculate sales tax", + "items" : { + "$ref" : "#/components/schemas/InvoiceAddress" + } } }, "description" : "", @@ -3259,12 +3266,63 @@ "items" : { "$ref" : "#/components/schemas/ValidationError" } + }, + "InvoiceAddresses" : { + "type" : "array", + "description" : "An array of addresses used to auto calculate sales tax", + "items" : { + "$ref" : "#/components/schemas/InvoiceAddress" + } } }, "description" : "", "externalDocs" : { "url" : "http://developer.xero.com/documentation/api/invoices/" } +}; + defs["InvoiceAddress"] = { + "title" : "", + "type" : "object", + "properties" : { + "InvoiceAddressType" : { + "type" : "string", + "description" : "Indicates whether the address is defined as origin (FROM) or destination (TO)", + "enum" : [ "FROM", "TO" ] + }, + "AddressLine1" : { + "type" : "string", + "description" : "First line of a physical address" + }, + "AddressLine2" : { + "type" : "string", + "description" : "Second line of a physical address" + }, + "AddressLine3" : { + "type" : "string", + "description" : "Third line of a physical address" + }, + "AddressLine4" : { + "type" : "string", + "description" : "Fourth line of a physical address" + }, + "City" : { + "type" : "string", + "description" : "City of a physical address" + }, + "Region" : { + "type" : "string", + "description" : "Region or state of a physical address" + }, + "PostalCode" : { + "type" : "string", + "description" : "Postal code of a physical address" + }, + "Country" : { + "type" : "string", + "description" : "Country of a physical address" + } + }, + "description" : "" }; defs["InvoiceReminder"] = { "title" : "", @@ -3660,6 +3718,22 @@ "description" : "The Xero identifier for a Repeating Invoice", "format" : "uuid", "example" : "00000000-0000-0000-0000-000000000000" + }, + "Taxability" : { + "type" : "string", + "description" : "The type of taxability", + "enum" : [ "TAXABLE", "NON_TAXABLE", "EXEMPT", "PART_TAXABLE", "NOT_APPLICABLE" ] + }, + "SalesTaxCodeId" : { + "type" : "number", + "description" : "The ID of the sales tax code" + }, + "TaxBreakdown" : { + "type" : "array", + "description" : "An array of tax components defined for this line item", + "items" : { + "$ref" : "#/components/schemas/TaxBreakdownComponent" + } } }, "description" : "", @@ -5699,6 +5773,55 @@ "externalDocs" : { "url" : "https://developer.xero.com/documentation/api-guides/conversions" } +}; + defs["TaxBreakdownComponent"] = { + "title" : "", + "type" : "object", + "properties" : { + "TaxComponentId" : { + "type" : "string", + "description" : "The unique ID number of this component", + "format" : "uuid" + }, + "Type" : { + "type" : "string", + "description" : "The type of the jurisdiction", + "enum" : [ "SYSGST/USCOUNTRY", "SYSGST/USSTATE", "SYSGST/USCOUNTY", "SYSGST/USCITY", "SYSGST/USSPECIAL" ] + }, + "Name" : { + "type" : "string", + "description" : "The name of the jurisdiction" + }, + "TaxPercentage" : { + "type" : "number", + "description" : "The percentage of the tax" + }, + "TaxAmount" : { + "type" : "number", + "description" : "The amount of the tax" + }, + "TaxableAmount" : { + "type" : "number", + "description" : "The amount that is taxable" + }, + "NonTaxableAmount" : { + "type" : "number", + "description" : "The amount that is not taxable" + }, + "ExemptAmount" : { + "type" : "number", + "description" : "The amount that is exempt" + }, + "StateAssignedNo" : { + "type" : "string", + "description" : "The state assigned number of the jurisdiction" + }, + "JurisdictionRegion" : { + "type" : "string", + "description" : "Name identifying the region within the country" + } + }, + "description" : "" }; defs["TaxComponent"] = { "title" : "", @@ -6217,7 +6340,7 @@