From 97832bb70bb96ebf4bd0678651055efb0f9a247f Mon Sep 17 00:00:00 2001 From: Kevin Venclovas Date: Wed, 10 Jul 2024 09:47:16 +0200 Subject: [PATCH] added fulfillment inbound 20.03.2024 --- .../FulfillmentInboundv20240320/Address.cs | 387 ++++++++++++ .../AppointmentSlot.cs | 176 ++++++ .../AppointmentSlotTime.cs | 157 +++++ .../Models/FulfillmentInboundv20240320/Box.cs | 305 +++++++++ .../FulfillmentInboundv20240320/BoxContent.cs | 283 +++++++++ .../BoxContentInformationSource.cs | 46 ++ .../FulfillmentInboundv20240320/BoxInput.cs | 300 +++++++++ .../CancelInboundPlanResponse.cs | 153 +++++ .../CancelSelfShipAppointmentRequest.cs | 117 ++++ .../CancelSelfShipAppointmentResponse.cs | 150 +++++ .../FulfillmentInboundv20240320/Carrier.cs | 159 +++++ .../ComplianceDetail.cs | 204 ++++++ .../ConfirmPackingOptionResponse.cs | 151 +++++ .../ConfirmPlacementOptionResponse.cs | 151 +++++ .../ConfirmTransportationOptionsRequest.cs | 133 ++++ .../ConfirmTransportationOptionsResponse.cs | 151 +++++ .../ContactInformation.cs | 202 ++++++ .../CreateInboundPlanRequest.cs | 235 +++++++ .../CreateInboundPlanResponse.cs | 197 ++++++ .../FulfillmentInboundv20240320/Currency.cs | 169 +++++ .../CustomPlacementInput.cs | 170 +++++ .../FulfillmentInboundv20240320/Dates.cs | 133 ++++ .../FulfillmentInboundv20240320/Dimensions.cs | 242 +++++++ .../DocumentDownload.cs | 174 +++++ .../FulfillmentInboundv20240320/Error.cs | 210 ++++++ .../FulfillmentInboundv20240320/ErrorList.cs | 133 ++++ .../GeneratePackingOptionsResponse.cs | 151 +++++ .../GeneratePlacementOptionsRequest.cs | 119 ++++ .../GeneratePlacementOptionsResponse.cs | 152 +++++ ...GenerateSelfShipAppointmentSlotsRequest.cs | 135 ++++ ...enerateSelfShipAppointmentSlotsResponse.cs | 152 +++++ .../GenerateTransportationOptionsRequest.cs | 178 ++++++ .../GenerateTransportationOptionsResponse.cs | 152 +++++ .../GetDeliveryChallanDocumentResponse.cs | 130 ++++ .../GetSelfShipAppointmentSlotsResponse.cs | 148 +++++ .../InboundOperationStatus.cs | 242 +++++++ .../InboundPlan.cs | 401 ++++++++++++ .../InboundPlanSummary.cs | 338 ++++++++++ .../FulfillmentInboundv20240320/Incentive.cs | 242 +++++++ .../FulfillmentInboundv20240320/Item.cs | 372 +++++++++++ .../FulfillmentInboundv20240320/ItemInput.cs | 283 +++++++++ .../FulfillmentInboundv20240320/LabelOwner.cs | 40 ++ .../ListInboundPlanBoxesResponse.cs | 150 +++++ .../ListInboundPlanItemsResponse.cs | 151 +++++ .../ListInboundPlanPalletsResponse.cs | 149 +++++ .../ListInboundPlansResponse.cs | 140 ++++ .../ListItemComplianceDetailsResponse.cs | 123 ++++ .../ListPackingGroupItemsResponse.cs | 149 +++++ .../ListPackingOptionsResponse.cs | 149 +++++ .../ListPlacementOptionsResponse.cs | 149 +++++ .../ListTransportationOptionsResponse.cs | 150 +++++ .../LtlTrackingDetail.cs | 148 +++++ .../LtlTrackingDetailInput.cs | 162 +++++ .../OperationProblem.cs | 247 ++++++++ .../OperationStatus.cs | 46 ++ .../PackageGroupingInput.cs | 206 ++++++ .../PackingOption.cs | 351 +++++++++++ .../PackingOptionSummary.cs | 189 ++++++ .../FulfillmentInboundv20240320/Pagination.cs | 130 ++++ .../FulfillmentInboundv20240320/Pallet.cs | 229 +++++++ .../PalletInformation.cs | 178 ++++++ .../PalletInput.cs | 192 ++++++ .../PlacementOption.cs | 282 +++++++++ .../PlacementOptionSummary.cs | 189 ++++++ .../PrepInstruction.cs | 175 +++++ .../FulfillmentInboundv20240320/PrepOwner.cs | 40 ++ .../FulfillmentInboundv20240320/Quote.cs | 165 +++++ .../ReasonComment.cs | 82 +++ .../FulfillmentInboundv20240320/Region.cs | 188 ++++++ .../ScheduleSelfShipAppointmentRequest.cs | 117 ++++ .../ScheduleSelfShipAppointmentResponse.cs | 130 ++++ .../SelfShipAppointmentDetails.cs | 163 +++++ .../SelfShipAppointmentSlotsAvailability.cs | 136 ++++ .../SetPackingInformationRequest.cs | 119 ++++ .../SetPackingInformationResponse.cs | 152 +++++ .../FulfillmentInboundv20240320/Shipment.cs | 523 +++++++++++++++ .../ShipmentDestination.cs | 190 ++++++ .../ShipmentSource.cs | 160 +++++ .../ShipmentSummary.cs | 189 ++++++ .../ShipmentTransportationConfiguration.cs | 209 ++++++ .../ShippingConfiguration.cs | 159 +++++ .../SpdTrackingDetail.cs | 119 ++++ .../SpdTrackingDetailInput.cs | 133 ++++ .../SpdTrackingItem.cs | 188 ++++++ .../SpdTrackingItemInput.cs | 181 ++++++ .../Stackability.cs | 40 ++ .../FulfillmentInboundv20240320/TaxDetails.cs | 164 +++++ .../FulfillmentInboundv20240320/TaxRate.cs | 164 +++++ .../TrackingDetails.cs | 133 ++++ .../TrackingDetailsInput.cs | 133 ++++ .../TransportationOption.cs | 414 ++++++++++++ .../TransportationSelection.cs | 229 +++++++ .../UnitOfMeasurement.cs | 40 ++ .../UnitOfWeight.cs | 40 ++ .../UpdateItemComplianceDetailsRequest.cs | 168 +++++ .../UpdateItemComplianceDetailsResponse.cs | 152 +++++ .../UpdateShipmentDeliveryWindowRequest.cs | 132 ++++ .../UpdateShipmentDeliveryWindowResponse.cs | 151 +++++ .../UpdateShipmentTrackingDetailsRequest.cs | 131 ++++ .../UpdateShipmentTrackingDetailsResponse.cs | 151 +++++ .../FulfillmentInboundv20240320/Weight.cs | 168 +++++ .../FulfillmentInboundv20240320/Window.cs | 174 +++++ .../WindowInput.cs | 132 ++++ .../ParameterConfirmPackingOption.cs | 11 + .../v20240320/ParameterGetListInboundPlans.cs | 13 + .../v20240320/ParameterListInboundPlan.cs | 9 + .../ParameterListPackingGroupItems.cs | 13 + .../ParameterListTransportationOptions.cs | 10 + .../ParameterUpdateItemComplianceDetails.cs | 10 + .../ParematerListItemComplianceDetails.cs | 12 + Source/FikaAmazonAPI/Services/ApiUrls.cs | 44 ++ .../FulFillmentInboundServicev20240320.cs | 596 ++++++++++++++++++ Source/FikaAmazonAPI/Utils/Constants.cs | 24 + Source/FikaAmazonAPI/Utils/RateLimitType.cs | 30 + .../Utils/RateLimitsDefinitions.cs | 30 + 115 files changed, 19018 insertions(+) create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Address.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlot.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlotTime.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Box.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContent.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContentInformationSource.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelInboundPlanResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Carrier.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ComplianceDetail.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPackingOptionResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPlacementOptionResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ContactInformation.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Currency.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CustomPlacementInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dates.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dimensions.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/DocumentDownload.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Error.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ErrorList.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePackingOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetDeliveryChallanDocumentResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetSelfShipAppointmentSlotsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundOperationStatus.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlan.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlanSummary.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Incentive.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Item.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ItemInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LabelOwner.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanBoxesResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanItemsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanPalletsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlansResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListItemComplianceDetailsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingGroupItemsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPlacementOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListTransportationOptionsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetail.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetailInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationProblem.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationStatus.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackageGroupingInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOption.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOptionSummary.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pagination.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pallet.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInformation.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOption.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOptionSummary.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepInstruction.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepOwner.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Quote.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ReasonComment.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Region.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentDetails.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentSlotsAvailability.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Shipment.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentDestination.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSource.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSummary.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentTransportationConfiguration.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShippingConfiguration.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetail.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetailInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItem.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItemInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Stackability.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxDetails.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxRate.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetails.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetailsInput.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationOption.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationSelection.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfMeasurement.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfWeight.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsRequest.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsResponse.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Weight.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Window.cs create mode 100644 Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/WindowInput.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterConfirmPackingOption.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterGetListInboundPlans.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListInboundPlan.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListPackingGroupItems.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListTransportationOptions.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterUpdateItemComplianceDetails.cs create mode 100644 Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParematerListItemComplianceDetails.cs create mode 100644 Source/FikaAmazonAPI/Services/FulFillmentInboundServicev20240320.cs diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Address.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Address.cs new file mode 100644 index 00000000..253ef1d9 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Address.cs @@ -0,0 +1,387 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Specific details to identify a place. + /// + [DataContract] + public partial class Address : IEquatable
, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Address() { } + /// + /// Initializes a new instance of the class. + /// + /// Street address information. (required). + /// Additional street address information.. + /// The city. (required). + /// The name of the business.. + /// The country code in two-character ISO 3166-1 alpha-2 format. (required). + /// The name of the individual or business. (required). + /// The postal code. (required). + /// The state or province code.. + public Address(string addressLine1 = default(string), string addressLine2 = default(string), string city = default(string), string companyName = default(string), string countryCode = default(string), string name = default(string), string postalCode = default(string), string stateOrProvinceCode = default(string)) + { + // to ensure "addressLine1" is required (not null) + if (addressLine1 == null) + { + throw new InvalidDataException("addressLine1 is a required property for Address and cannot be null"); + } + else + { + this.AddressLine1 = addressLine1; + } + // to ensure "city" is required (not null) + if (city == null) + { + throw new InvalidDataException("city is a required property for Address and cannot be null"); + } + else + { + this.City = city; + } + // to ensure "countryCode" is required (not null) + if (countryCode == null) + { + throw new InvalidDataException("countryCode is a required property for Address and cannot be null"); + } + else + { + this.CountryCode = countryCode; + } + // to ensure "name" is required (not null) + if (name == null) + { + throw new InvalidDataException("name is a required property for Address and cannot be null"); + } + else + { + this.Name = name; + } + // to ensure "postalCode" is required (not null) + if (postalCode == null) + { + throw new InvalidDataException("postalCode is a required property for Address and cannot be null"); + } + else + { + this.PostalCode = postalCode; + } + this.AddressLine2 = addressLine2; + this.CompanyName = companyName; + this.StateOrProvinceCode = stateOrProvinceCode; + } + + /// + /// Street address information. + /// + /// Street address information. + [DataMember(Name="addressLine1", EmitDefaultValue=false)] + public string AddressLine1 { get; set; } + + /// + /// Additional street address information. + /// + /// Additional street address information. + [DataMember(Name="addressLine2", EmitDefaultValue=false)] + public string AddressLine2 { get; set; } + + /// + /// The city. + /// + /// The city. + [DataMember(Name="city", EmitDefaultValue=false)] + public string City { get; set; } + + /// + /// The name of the business. + /// + /// The name of the business. + [DataMember(Name="companyName", EmitDefaultValue=false)] + public string CompanyName { get; set; } + + /// + /// The country code in two-character ISO 3166-1 alpha-2 format. + /// + /// The country code in two-character ISO 3166-1 alpha-2 format. + [DataMember(Name="countryCode", EmitDefaultValue=false)] + public string CountryCode { get; set; } + + /// + /// The name of the individual or business. + /// + /// The name of the individual or business. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The postal code. + /// + /// The postal code. + [DataMember(Name="postalCode", EmitDefaultValue=false)] + public string PostalCode { get; set; } + + /// + /// The state or province code. + /// + /// The state or province code. + [DataMember(Name="stateOrProvinceCode", EmitDefaultValue=false)] + public string StateOrProvinceCode { 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 Address {\n"); + sb.Append(" AddressLine1: ").Append(AddressLine1).Append("\n"); + sb.Append(" AddressLine2: ").Append(AddressLine2).Append("\n"); + sb.Append(" City: ").Append(City).Append("\n"); + sb.Append(" CompanyName: ").Append(CompanyName).Append("\n"); + sb.Append(" CountryCode: ").Append(CountryCode).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" PostalCode: ").Append(PostalCode).Append("\n"); + sb.Append(" StateOrProvinceCode: ").Append(StateOrProvinceCode).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 Address); + } + + /// + /// Returns true if Address instances are equal + /// + /// Instance of Address to be compared + /// Boolean + public bool Equals(Address input) + { + if (input == null) + return false; + + return + ( + 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.City == input.City || + (this.City != null && + this.City.Equals(input.City)) + ) && + ( + this.CompanyName == input.CompanyName || + (this.CompanyName != null && + this.CompanyName.Equals(input.CompanyName)) + ) && + ( + this.CountryCode == input.CountryCode || + (this.CountryCode != null && + this.CountryCode.Equals(input.CountryCode)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.PostalCode == input.PostalCode || + (this.PostalCode != null && + this.PostalCode.Equals(input.PostalCode)) + ) && + ( + this.StateOrProvinceCode == input.StateOrProvinceCode || + (this.StateOrProvinceCode != null && + this.StateOrProvinceCode.Equals(input.StateOrProvinceCode)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.AddressLine1 != null) + hashCode = hashCode * 59 + this.AddressLine1.GetHashCode(); + if (this.AddressLine2 != null) + hashCode = hashCode * 59 + this.AddressLine2.GetHashCode(); + if (this.City != null) + hashCode = hashCode * 59 + this.City.GetHashCode(); + if (this.CompanyName != null) + hashCode = hashCode * 59 + this.CompanyName.GetHashCode(); + if (this.CountryCode != null) + hashCode = hashCode * 59 + this.CountryCode.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.PostalCode != null) + hashCode = hashCode * 59 + this.PostalCode.GetHashCode(); + if (this.StateOrProvinceCode != null) + hashCode = hashCode * 59 + this.StateOrProvinceCode.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // AddressLine1 (string) maxLength + if(this.AddressLine1 != null && this.AddressLine1.Length > 180) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AddressLine1, length must be less than 180.", new [] { "AddressLine1" }); + } + + // AddressLine1 (string) minLength + if(this.AddressLine1 != null && this.AddressLine1.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AddressLine1, length must be greater than 1.", new [] { "AddressLine1" }); + } + + // AddressLine2 (string) maxLength + if(this.AddressLine2 != null && this.AddressLine2.Length > 60) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AddressLine2, length must be less than 60.", new [] { "AddressLine2" }); + } + + // AddressLine2 (string) minLength + if(this.AddressLine2 != null && this.AddressLine2.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AddressLine2, length must be greater than 1.", new [] { "AddressLine2" }); + } + + // City (string) maxLength + if(this.City != null && this.City.Length > 30) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for City, length must be less than 30.", new [] { "City" }); + } + + // City (string) minLength + if(this.City != null && this.City.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for City, length must be greater than 1.", new [] { "City" }); + } + + // CompanyName (string) maxLength + if(this.CompanyName != null && this.CompanyName.Length > 50) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CompanyName, length must be less than 50.", new [] { "CompanyName" }); + } + + // CompanyName (string) minLength + if(this.CompanyName != null && this.CompanyName.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CompanyName, length must be greater than 1.", new [] { "CompanyName" }); + } + + // CountryCode (string) maxLength + if(this.CountryCode != null && this.CountryCode.Length > 2) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CountryCode, length must be less than 2.", new [] { "CountryCode" }); + } + + // CountryCode (string) minLength + if(this.CountryCode != null && this.CountryCode.Length < 2) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CountryCode, length must be greater than 2.", new [] { "CountryCode" }); + } + + // CountryCode (string) pattern + Regex regexCountryCode = new Regex(@"^[A-Z]{2}$", RegexOptions.CultureInvariant); + if (false == regexCountryCode.Match(this.CountryCode).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CountryCode, must match a pattern of " + regexCountryCode, new [] { "CountryCode" }); + } + + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 50) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 50.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // PostalCode (string) maxLength + if(this.PostalCode != null && this.PostalCode.Length > 32) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PostalCode, length must be less than 32.", new [] { "PostalCode" }); + } + + // PostalCode (string) minLength + if(this.PostalCode != null && this.PostalCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PostalCode, length must be greater than 1.", new [] { "PostalCode" }); + } + + // StateOrProvinceCode (string) maxLength + if(this.StateOrProvinceCode != null && this.StateOrProvinceCode.Length > 64) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StateOrProvinceCode, length must be less than 64.", new [] { "StateOrProvinceCode" }); + } + + // StateOrProvinceCode (string) minLength + if(this.StateOrProvinceCode != null && this.StateOrProvinceCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for StateOrProvinceCode, length must be greater than 1.", new [] { "StateOrProvinceCode" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlot.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlot.cs new file mode 100644 index 00000000..5fd7c01d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlot.cs @@ -0,0 +1,176 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The fulfillment center appointment slot for the transportation option. + /// + [DataContract] + public partial class AppointmentSlot : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected AppointmentSlot() { } + /// + /// Initializes a new instance of the class. + /// + /// An identifier to a self-ship appointment slot. (required). + /// slotTime (required). + public AppointmentSlot(string slotId = default(string), AppointmentSlotTime slotTime = default(AppointmentSlotTime)) + { + // to ensure "slotId" is required (not null) + if (slotId == null) + { + throw new InvalidDataException("slotId is a required property for AppointmentSlot and cannot be null"); + } + else + { + this.SlotId = slotId; + } + // to ensure "slotTime" is required (not null) + if (slotTime == null) + { + throw new InvalidDataException("slotTime is a required property for AppointmentSlot and cannot be null"); + } + else + { + this.SlotTime = slotTime; + } + } + + /// + /// An identifier to a self-ship appointment slot. + /// + /// An identifier to a self-ship appointment slot. + [DataMember(Name="slotId", EmitDefaultValue=false)] + public string SlotId { get; set; } + + /// + /// Gets or Sets SlotTime + /// + [DataMember(Name="slotTime", EmitDefaultValue=false)] + public AppointmentSlotTime SlotTime { 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 AppointmentSlot {\n"); + sb.Append(" SlotId: ").Append(SlotId).Append("\n"); + sb.Append(" SlotTime: ").Append(SlotTime).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 AppointmentSlot); + } + + /// + /// Returns true if AppointmentSlot instances are equal + /// + /// Instance of AppointmentSlot to be compared + /// Boolean + public bool Equals(AppointmentSlot input) + { + if (input == null) + return false; + + return + ( + this.SlotId == input.SlotId || + (this.SlotId != null && + this.SlotId.Equals(input.SlotId)) + ) && + ( + this.SlotTime == input.SlotTime || + (this.SlotTime != null && + this.SlotTime.Equals(input.SlotTime)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.SlotId != null) + hashCode = hashCode * 59 + this.SlotId.GetHashCode(); + if (this.SlotTime != null) + hashCode = hashCode * 59 + this.SlotTime.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // SlotId (string) maxLength + if(this.SlotId != null && this.SlotId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SlotId, length must be less than 38.", new [] { "SlotId" }); + } + + // SlotId (string) minLength + if(this.SlotId != null && this.SlotId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SlotId, length must be greater than 38.", new [] { "SlotId" }); + } + + // SlotId (string) pattern + Regex regexSlotId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexSlotId.Match(this.SlotId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SlotId, must match a pattern of " + regexSlotId, new [] { "SlotId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlotTime.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlotTime.cs new file mode 100644 index 00000000..ab5c1fa1 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/AppointmentSlotTime.cs @@ -0,0 +1,157 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// An appointment slot time with a start and end. + /// + [DataContract] + public partial class AppointmentSlotTime : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected AppointmentSlotTime() { } + /// + /// Initializes a new instance of the class. + /// + /// The end timestamp of the appointment in UTC. (required). + /// The start timestamp of the appointment in UTC. (required). + public AppointmentSlotTime(DateTime? endTime = default(DateTime?), DateTime? startTime = default(DateTime?)) + { + // to ensure "endTime" is required (not null) + if (endTime == null) + { + throw new InvalidDataException("endTime is a required property for AppointmentSlotTime and cannot be null"); + } + else + { + this.EndTime = endTime; + } + // to ensure "startTime" is required (not null) + if (startTime == null) + { + throw new InvalidDataException("startTime is a required property for AppointmentSlotTime and cannot be null"); + } + else + { + this.StartTime = startTime; + } + } + + /// + /// The end timestamp of the appointment in UTC. + /// + /// The end timestamp of the appointment in UTC. + [DataMember(Name="endTime", EmitDefaultValue=false)] + public DateTime? EndTime { get; set; } + + /// + /// The start timestamp of the appointment in UTC. + /// + /// The start timestamp of the appointment in UTC. + [DataMember(Name="startTime", EmitDefaultValue=false)] + public DateTime? StartTime { 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 AppointmentSlotTime {\n"); + sb.Append(" EndTime: ").Append(EndTime).Append("\n"); + sb.Append(" StartTime: ").Append(StartTime).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 AppointmentSlotTime); + } + + /// + /// Returns true if AppointmentSlotTime instances are equal + /// + /// Instance of AppointmentSlotTime to be compared + /// Boolean + public bool Equals(AppointmentSlotTime input) + { + if (input == null) + return false; + + return + ( + this.EndTime == input.EndTime || + (this.EndTime != null && + this.EndTime.Equals(input.EndTime)) + ) && + ( + this.StartTime == input.StartTime || + (this.StartTime != null && + this.StartTime.Equals(input.StartTime)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.EndTime != null) + hashCode = hashCode * 59 + this.EndTime.GetHashCode(); + if (this.StartTime != null) + hashCode = hashCode * 59 + this.StartTime.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Box.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Box.cs new file mode 100644 index 00000000..a9561116 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Box.cs @@ -0,0 +1,305 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains information about a box that is used in the inbound plan. The box may contain an item and metadata about the box itself. + /// + [DataContract] + public partial class Box : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Box() { } + /// + /// Initializes a new instance of the class. + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.. + /// destinationRegion. + /// dimensions. + /// Items contained within the box.. + /// Primary key to uniquely identify a Package (Box or Pallet). (required). + /// The number of containers where all other properties like weight or dimensions are identical.. + /// Template name of the box.. + /// weight. + public Box(string boxId = default(string), Region destinationRegion = default(Region), Dimensions dimensions = default(Dimensions), List items = default(List), string packageId = default(string), int? quantity = default(int?), string templateName = default(string), Weight weight = default(Weight)) + { + // to ensure "packageId" is required (not null) + if (packageId == null) + { + throw new InvalidDataException("packageId is a required property for Box and cannot be null"); + } + else + { + this.PackageId = packageId; + } + this.BoxId = boxId; + this.DestinationRegion = destinationRegion; + this.Dimensions = dimensions; + this.Items = items; + this.Quantity = quantity; + this.TemplateName = templateName; + this.Weight = weight; + } + + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + [DataMember(Name="boxId", EmitDefaultValue=false)] + public string BoxId { get; set; } + + /// + /// Gets or Sets DestinationRegion + /// + [DataMember(Name="destinationRegion", EmitDefaultValue=false)] + public Region DestinationRegion { get; set; } + + /// + /// Gets or Sets Dimensions + /// + [DataMember(Name="dimensions", EmitDefaultValue=false)] + public Dimensions Dimensions { get; set; } + + /// + /// Items contained within the box. + /// + /// Items contained within the box. + [DataMember(Name="items", EmitDefaultValue=false)] + public List Items { get; set; } + + /// + /// Primary key to uniquely identify a Package (Box or Pallet). + /// + /// Primary key to uniquely identify a Package (Box or Pallet). + [DataMember(Name="packageId", EmitDefaultValue=false)] + public string PackageId { get; set; } + + /// + /// The number of containers where all other properties like weight or dimensions are identical. + /// + /// The number of containers where all other properties like weight or dimensions are identical. + [DataMember(Name="quantity", EmitDefaultValue=false)] + public int? Quantity { get; set; } + + /// + /// Template name of the box. + /// + /// Template name of the box. + [DataMember(Name="templateName", EmitDefaultValue=false)] + public string TemplateName { get; set; } + + /// + /// Gets or Sets Weight + /// + [DataMember(Name="weight", EmitDefaultValue=false)] + public Weight Weight { 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 Box {\n"); + sb.Append(" BoxId: ").Append(BoxId).Append("\n"); + sb.Append(" DestinationRegion: ").Append(DestinationRegion).Append("\n"); + sb.Append(" Dimensions: ").Append(Dimensions).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" PackageId: ").Append(PackageId).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).Append("\n"); + sb.Append(" TemplateName: ").Append(TemplateName).Append("\n"); + sb.Append(" Weight: ").Append(Weight).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 Box); + } + + /// + /// Returns true if Box instances are equal + /// + /// Instance of Box to be compared + /// Boolean + public bool Equals(Box input) + { + if (input == null) + return false; + + return + ( + this.BoxId == input.BoxId || + (this.BoxId != null && + this.BoxId.Equals(input.BoxId)) + ) && + ( + this.DestinationRegion == input.DestinationRegion || + (this.DestinationRegion != null && + this.DestinationRegion.Equals(input.DestinationRegion)) + ) && + ( + this.Dimensions == input.Dimensions || + (this.Dimensions != null && + this.Dimensions.Equals(input.Dimensions)) + ) && + ( + this.Items == input.Items || + this.Items != null && + this.Items.SequenceEqual(input.Items) + ) && + ( + this.PackageId == input.PackageId || + (this.PackageId != null && + this.PackageId.Equals(input.PackageId)) + ) && + ( + this.Quantity == input.Quantity || + (this.Quantity != null && + this.Quantity.Equals(input.Quantity)) + ) && + ( + this.TemplateName == input.TemplateName || + (this.TemplateName != null && + this.TemplateName.Equals(input.TemplateName)) + ) && + ( + this.Weight == input.Weight || + (this.Weight != null && + this.Weight.Equals(input.Weight)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BoxId != null) + hashCode = hashCode * 59 + this.BoxId.GetHashCode(); + if (this.DestinationRegion != null) + hashCode = hashCode * 59 + this.DestinationRegion.GetHashCode(); + if (this.Dimensions != null) + hashCode = hashCode * 59 + this.Dimensions.GetHashCode(); + if (this.Items != null) + hashCode = hashCode * 59 + this.Items.GetHashCode(); + if (this.PackageId != null) + hashCode = hashCode * 59 + this.PackageId.GetHashCode(); + if (this.Quantity != null) + hashCode = hashCode * 59 + this.Quantity.GetHashCode(); + if (this.TemplateName != null) + hashCode = hashCode * 59 + this.TemplateName.GetHashCode(); + if (this.Weight != null) + hashCode = hashCode * 59 + this.Weight.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // BoxId (string) maxLength + if(this.BoxId != null && this.BoxId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be less than 1024.", new [] { "BoxId" }); + } + + // BoxId (string) minLength + if(this.BoxId != null && this.BoxId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be greater than 1.", new [] { "BoxId" }); + } + + // PackageId (string) maxLength + if(this.PackageId != null && this.PackageId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackageId, length must be less than 38.", new [] { "PackageId" }); + } + + // PackageId (string) minLength + if(this.PackageId != null && this.PackageId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackageId, length must be greater than 38.", new [] { "PackageId" }); + } + + // PackageId (string) pattern + Regex regexPackageId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPackageId.Match(this.PackageId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackageId, must match a pattern of " + regexPackageId, new [] { "PackageId" }); + } + + // Quantity (int?) maximum + if(this.Quantity > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value less than or equal to 10000.", new [] { "Quantity" }); + } + + // Quantity (int?) minimum + if(this.Quantity < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value greater than or equal to 1.", new [] { "Quantity" }); + } + + // TemplateName (string) maxLength + if(this.TemplateName != null && this.TemplateName.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TemplateName, length must be less than 1024.", new [] { "TemplateName" }); + } + + // TemplateName (string) minLength + if(this.TemplateName != null && this.TemplateName.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TemplateName, length must be greater than 1.", new [] { "TemplateName" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContent.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContent.cs new file mode 100644 index 00000000..1d8221c4 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContent.cs @@ -0,0 +1,283 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Specifies contents in a box. Each `BoxContent` minimally contains a mapping of an MSKU to the prep owner, label owner and its quantity in the box. It also contains the MSKU expiration date and manufacturing lot code if applicable. + /// + [DataContract] + public partial class BoxContent : IEquatable, IValidatableObject + { + /// + /// Gets or Sets LabelOwner + /// + [DataMember(Name="labelOwner", EmitDefaultValue=false)] + public LabelOwner LabelOwner { get; set; } + /// + /// Gets or Sets PrepOwner + /// + [DataMember(Name="prepOwner", EmitDefaultValue=false)] + public PrepOwner PrepOwner { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected BoxContent() { } + /// + /// Initializes a new instance of the class. + /// + /// The date in ISO 8601 format for when the MSKU expires.. + /// labelOwner (required). + /// The manufacturing lot code.. + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. (required). + /// prepOwner (required). + /// The number of units of the given MSKU in the box. (required). + public BoxContent(string expiration = default(string), LabelOwner labelOwner = default(LabelOwner), string manufacturingLotCode = default(string), string msku = default(string), PrepOwner prepOwner = default(PrepOwner), int? quantityInBox = default(int?)) + { + // to ensure "labelOwner" is required (not null) + if (labelOwner == null) + { + throw new InvalidDataException("labelOwner is a required property for BoxContent and cannot be null"); + } + else + { + this.LabelOwner = labelOwner; + } + // to ensure "msku" is required (not null) + if (msku == null) + { + throw new InvalidDataException("msku is a required property for BoxContent and cannot be null"); + } + else + { + this.Msku = msku; + } + // to ensure "prepOwner" is required (not null) + if (prepOwner == null) + { + throw new InvalidDataException("prepOwner is a required property for BoxContent and cannot be null"); + } + else + { + this.PrepOwner = prepOwner; + } + // to ensure "quantityInBox" is required (not null) + if (quantityInBox == null) + { + throw new InvalidDataException("quantityInBox is a required property for BoxContent and cannot be null"); + } + else + { + this.QuantityInBox = quantityInBox; + } + this.Expiration = expiration; + this.ManufacturingLotCode = manufacturingLotCode; + } + + /// + /// The date in ISO 8601 format for when the MSKU expires. + /// + /// The date in ISO 8601 format for when the MSKU expires. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public string Expiration { get; set; } + + + /// + /// The manufacturing lot code. + /// + /// The manufacturing lot code. + [DataMember(Name="manufacturingLotCode", EmitDefaultValue=false)] + public string ManufacturingLotCode { get; set; } + + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. + [DataMember(Name="msku", EmitDefaultValue=false)] + public string Msku { get; set; } + + + /// + /// The number of units of the given MSKU in the box. + /// + /// The number of units of the given MSKU in the box. + [DataMember(Name="quantityInBox", EmitDefaultValue=false)] + public int? QuantityInBox { 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 BoxContent {\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" LabelOwner: ").Append(LabelOwner).Append("\n"); + sb.Append(" ManufacturingLotCode: ").Append(ManufacturingLotCode).Append("\n"); + sb.Append(" Msku: ").Append(Msku).Append("\n"); + sb.Append(" PrepOwner: ").Append(PrepOwner).Append("\n"); + sb.Append(" QuantityInBox: ").Append(QuantityInBox).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 BoxContent); + } + + /// + /// Returns true if BoxContent instances are equal + /// + /// Instance of BoxContent to be compared + /// Boolean + public bool Equals(BoxContent input) + { + if (input == null) + return false; + + return + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.LabelOwner == input.LabelOwner || + (this.LabelOwner != null && + this.LabelOwner.Equals(input.LabelOwner)) + ) && + ( + this.ManufacturingLotCode == input.ManufacturingLotCode || + (this.ManufacturingLotCode != null && + this.ManufacturingLotCode.Equals(input.ManufacturingLotCode)) + ) && + ( + this.Msku == input.Msku || + (this.Msku != null && + this.Msku.Equals(input.Msku)) + ) && + ( + this.PrepOwner == input.PrepOwner || + (this.PrepOwner != null && + this.PrepOwner.Equals(input.PrepOwner)) + ) && + ( + this.QuantityInBox == input.QuantityInBox || + (this.QuantityInBox != null && + this.QuantityInBox.Equals(input.QuantityInBox)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.LabelOwner != null) + hashCode = hashCode * 59 + this.LabelOwner.GetHashCode(); + if (this.ManufacturingLotCode != null) + hashCode = hashCode * 59 + this.ManufacturingLotCode.GetHashCode(); + if (this.Msku != null) + hashCode = hashCode * 59 + this.Msku.GetHashCode(); + if (this.PrepOwner != null) + hashCode = hashCode * 59 + this.PrepOwner.GetHashCode(); + if (this.QuantityInBox != null) + hashCode = hashCode * 59 + this.QuantityInBox.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Expiration (string) pattern + Regex regexExpiration = new Regex(@"^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", RegexOptions.CultureInvariant); + if (false == regexExpiration.Match(this.Expiration).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Expiration, must match a pattern of " + regexExpiration, new [] { "Expiration" }); + } + + // ManufacturingLotCode (string) maxLength + if(this.ManufacturingLotCode != null && this.ManufacturingLotCode.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ManufacturingLotCode, length must be less than 256.", new [] { "ManufacturingLotCode" }); + } + + // ManufacturingLotCode (string) minLength + if(this.ManufacturingLotCode != null && this.ManufacturingLotCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ManufacturingLotCode, length must be greater than 1.", new [] { "ManufacturingLotCode" }); + } + + // Msku (string) maxLength + if(this.Msku != null && this.Msku.Length > 40) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be less than 40.", new [] { "Msku" }); + } + + // Msku (string) minLength + if(this.Msku != null && this.Msku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be greater than 1.", new [] { "Msku" }); + } + + // QuantityInBox (int?) maximum + if(this.QuantityInBox > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for QuantityInBox, must be a value less than or equal to 10000.", new [] { "QuantityInBox" }); + } + + // QuantityInBox (int?) minimum + if(this.QuantityInBox < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for QuantityInBox, must be a value greater than or equal to 1.", new [] { "QuantityInBox" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContentInformationSource.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContentInformationSource.cs new file mode 100644 index 00000000..865dfa71 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxContentInformationSource.cs @@ -0,0 +1,46 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Indication of how box content is meant to be provided. + /// + /// Indication of how box content is meant to be provided. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum BoxContentInformationSource + { + + /// + /// Enum BOXCONTENTPROVIDED for value: BOX_CONTENT_PROVIDED + /// + [EnumMember(Value = "BOX_CONTENT_PROVIDED")] + BOXCONTENTPROVIDED = 1, + + /// + /// Enum MANUALPROCESS for value: MANUAL_PROCESS + /// + [EnumMember(Value = "MANUAL_PROCESS")] + MANUALPROCESS = 2, + + /// + /// Enum BARCODE2D for value: BARCODE_2D + /// + [EnumMember(Value = "BARCODE_2D")] + BARCODE2D = 3 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxInput.cs new file mode 100644 index 00000000..61fe9e28 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/BoxInput.cs @@ -0,0 +1,300 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Input information for a given box. + /// + [DataContract] + public partial class BoxInput : IEquatable, IValidatableObject + { + /// + /// Gets or Sets ContentInformationSource + /// + [DataMember(Name="contentInformationSource", EmitDefaultValue=false)] + public BoxContentInformationSource ContentInformationSource { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected BoxInput() { } + /// + /// Initializes a new instance of the class. + /// + /// The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.. + /// contentInformationSource (required). + /// The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities.. + /// dimensions (required). + /// The number of containers where all other properties like weight or dimensions are identical. (required). + /// The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents. (required). + /// weight (required). + public BoxInput(string boxId = default(string), BoxContentInformationSource contentInformationSource = default(BoxContentInformationSource), List contents = default(List), Dimensions dimensions = default(Dimensions), int? quantity = default(int?), string templateName = default(string), Weight weight = default(Weight)) + { + // to ensure "contentInformationSource" is required (not null) + if (contentInformationSource == null) + { + throw new InvalidDataException("contentInformationSource is a required property for BoxInput and cannot be null"); + } + else + { + this.ContentInformationSource = contentInformationSource; + } + // to ensure "dimensions" is required (not null) + if (dimensions == null) + { + throw new InvalidDataException("dimensions is a required property for BoxInput and cannot be null"); + } + else + { + this.Dimensions = dimensions; + } + // to ensure "quantity" is required (not null) + if (quantity == null) + { + throw new InvalidDataException("quantity is a required property for BoxInput and cannot be null"); + } + else + { + this.Quantity = quantity; + } + // to ensure "templateName" is required (not null) + if (templateName == null) + { + throw new InvalidDataException("templateName is a required property for BoxInput and cannot be null"); + } + else + { + this.TemplateName = templateName; + } + // to ensure "weight" is required (not null) + if (weight == null) + { + throw new InvalidDataException("weight is a required property for BoxInput and cannot be null"); + } + else + { + this.Weight = weight; + } + this.BoxId = boxId; + this.Contents = contents; + } + + /// + /// The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + /// + /// The ID of the box to update that was provided by Amazon. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + [DataMember(Name="boxId", EmitDefaultValue=false)] + public string BoxId { get; set; } + + + /// + /// The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities. + /// + /// The Contents of the box containing a list of MSKUs and their quantity. If `boxAttribute` is `BARCODE_2D` or `MANUAL_PROCESS`, user should provide ALL of the items that could be in the box, without specifying item quantities. + [DataMember(Name="contents", EmitDefaultValue=false)] + public List Contents { get; set; } + + /// + /// Gets or Sets Dimensions + /// + [DataMember(Name="dimensions", EmitDefaultValue=false)] + public Dimensions Dimensions { get; set; } + + /// + /// The number of containers where all other properties like weight or dimensions are identical. + /// + /// The number of containers where all other properties like weight or dimensions are identical. + [DataMember(Name="quantity", EmitDefaultValue=false)] + public int? Quantity { get; set; } + + /// + /// The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents. + /// + /// The seller-provided name for a 'type' of box (or a group of boxes with the same contents), which will be used to identify all created boxes of that type. When providing bulk box information, this value must be unique from the other box types. When providing individual boxes with existing IDs, this value can be shared between many boxes that have the same contents. + [DataMember(Name="templateName", EmitDefaultValue=false)] + public string TemplateName { get; set; } + + /// + /// Gets or Sets Weight + /// + [DataMember(Name="weight", EmitDefaultValue=false)] + public Weight Weight { 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 BoxInput {\n"); + sb.Append(" BoxId: ").Append(BoxId).Append("\n"); + sb.Append(" ContentInformationSource: ").Append(ContentInformationSource).Append("\n"); + sb.Append(" Contents: ").Append(Contents).Append("\n"); + sb.Append(" Dimensions: ").Append(Dimensions).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).Append("\n"); + sb.Append(" TemplateName: ").Append(TemplateName).Append("\n"); + sb.Append(" Weight: ").Append(Weight).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 BoxInput); + } + + /// + /// Returns true if BoxInput instances are equal + /// + /// Instance of BoxInput to be compared + /// Boolean + public bool Equals(BoxInput input) + { + if (input == null) + return false; + + return + ( + this.BoxId == input.BoxId || + (this.BoxId != null && + this.BoxId.Equals(input.BoxId)) + ) && + ( + this.ContentInformationSource == input.ContentInformationSource || + (this.ContentInformationSource != null && + this.ContentInformationSource.Equals(input.ContentInformationSource)) + ) && + ( + this.Contents == input.Contents || + this.Contents != null && + this.Contents.SequenceEqual(input.Contents) + ) && + ( + this.Dimensions == input.Dimensions || + (this.Dimensions != null && + this.Dimensions.Equals(input.Dimensions)) + ) && + ( + this.Quantity == input.Quantity || + (this.Quantity != null && + this.Quantity.Equals(input.Quantity)) + ) && + ( + this.TemplateName == input.TemplateName || + (this.TemplateName != null && + this.TemplateName.Equals(input.TemplateName)) + ) && + ( + this.Weight == input.Weight || + (this.Weight != null && + this.Weight.Equals(input.Weight)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BoxId != null) + hashCode = hashCode * 59 + this.BoxId.GetHashCode(); + if (this.ContentInformationSource != null) + hashCode = hashCode * 59 + this.ContentInformationSource.GetHashCode(); + if (this.Contents != null) + hashCode = hashCode * 59 + this.Contents.GetHashCode(); + if (this.Dimensions != null) + hashCode = hashCode * 59 + this.Dimensions.GetHashCode(); + if (this.Quantity != null) + hashCode = hashCode * 59 + this.Quantity.GetHashCode(); + if (this.TemplateName != null) + hashCode = hashCode * 59 + this.TemplateName.GetHashCode(); + if (this.Weight != null) + hashCode = hashCode * 59 + this.Weight.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // BoxId (string) maxLength + if(this.BoxId != null && this.BoxId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be less than 1024.", new [] { "BoxId" }); + } + + // BoxId (string) minLength + if(this.BoxId != null && this.BoxId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be greater than 1.", new [] { "BoxId" }); + } + + // Quantity (int?) maximum + if(this.Quantity > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value less than or equal to 10000.", new [] { "Quantity" }); + } + + // Quantity (int?) minimum + if(this.Quantity < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value greater than or equal to 1.", new [] { "Quantity" }); + } + + // TemplateName (string) maxLength + if(this.TemplateName != null && this.TemplateName.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TemplateName, length must be less than 1024.", new [] { "TemplateName" }); + } + + // TemplateName (string) minLength + if(this.TemplateName != null && this.TemplateName.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TemplateName, length must be greater than 1.", new [] { "TemplateName" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelInboundPlanResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelInboundPlanResponse.cs new file mode 100644 index 00000000..53035d6d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelInboundPlanResponse.cs @@ -0,0 +1,153 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `cancelInboundPlan` response. + /// + [DataContract] + public partial class CancelInboundPlanResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public CancelInboundPlanResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for CancelInboundPlanResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + + public CancelInboundPlanResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 CancelInboundPlanResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 CancelInboundPlanResponse); + } + + /// + /// Returns true if CancelInboundPlanResponse instances are equal + /// + /// Instance of CancelInboundPlanResponse to be compared + /// Boolean + public bool Equals(CancelInboundPlanResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentRequest.cs new file mode 100644 index 00000000..10574420 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentRequest.cs @@ -0,0 +1,117 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `cancelSelfShipAppointment` request. + /// + [DataContract] + public partial class CancelSelfShipAppointmentRequest : IEquatable, IValidatableObject + { + /// + /// Gets or Sets ReasonComment + /// + [DataMember(Name="reasonComment", EmitDefaultValue=false)] + public ReasonComment? ReasonComment { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// reasonComment. + public CancelSelfShipAppointmentRequest(ReasonComment? reasonComment = default(ReasonComment?)) + { + this.ReasonComment = reasonComment; + } + + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class CancelSelfShipAppointmentRequest {\n"); + sb.Append(" ReasonComment: ").Append(ReasonComment).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 CancelSelfShipAppointmentRequest); + } + + /// + /// Returns true if CancelSelfShipAppointmentRequest instances are equal + /// + /// Instance of CancelSelfShipAppointmentRequest to be compared + /// Boolean + public bool Equals(CancelSelfShipAppointmentRequest input) + { + if (input == null) + return false; + + return + ( + this.ReasonComment == input.ReasonComment || + (this.ReasonComment != null && + this.ReasonComment.Equals(input.ReasonComment)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ReasonComment != null) + hashCode = hashCode * 59 + this.ReasonComment.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentResponse.cs new file mode 100644 index 00000000..61070834 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CancelSelfShipAppointmentResponse.cs @@ -0,0 +1,150 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `cancelSelfShipAppointment` response. + /// + [DataContract] + public partial class CancelSelfShipAppointmentResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public CancelSelfShipAppointmentResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for CancelSelfShipAppointmentResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public CancelSelfShipAppointmentResponse() + { + this.OperationId = default(string); + } + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 CancelSelfShipAppointmentResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 CancelSelfShipAppointmentResponse); + } + + /// + /// Returns true if CancelSelfShipAppointmentResponse instances are equal + /// + /// Instance of CancelSelfShipAppointmentResponse to be compared + /// Boolean + public bool Equals(CancelSelfShipAppointmentResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Carrier.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Carrier.cs new file mode 100644 index 00000000..ecf1e936 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Carrier.cs @@ -0,0 +1,159 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The carrier for the inbound shipment. + /// + [DataContract] + public partial class Carrier : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The carrier code. For example, USPS or DHLEX.. + /// The name of the carrier.. + public Carrier(string alphaCode = default(string), string name = default(string)) + { + this.AlphaCode = alphaCode; + this.Name = name; + } + + /// + /// The carrier code. For example, USPS or DHLEX. + /// + /// The carrier code. For example, USPS or DHLEX. + [DataMember(Name="alphaCode", EmitDefaultValue=false)] + public string AlphaCode { get; set; } + + /// + /// The name of the carrier. + /// + /// The name of the carrier. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { 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 Carrier {\n"); + sb.Append(" AlphaCode: ").Append(AlphaCode).Append("\n"); + sb.Append(" Name: ").Append(Name).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 Carrier); + } + + /// + /// Returns true if Carrier instances are equal + /// + /// Instance of Carrier to be compared + /// Boolean + public bool Equals(Carrier input) + { + if (input == null) + return false; + + return + ( + this.AlphaCode == input.AlphaCode || + (this.AlphaCode != null && + this.AlphaCode.Equals(input.AlphaCode)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.AlphaCode != null) + hashCode = hashCode * 59 + this.AlphaCode.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // AlphaCode (string) maxLength + if(this.AlphaCode != null && this.AlphaCode.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AlphaCode, length must be less than 1024.", new [] { "AlphaCode" }); + } + + // AlphaCode (string) minLength + if(this.AlphaCode != null && this.AlphaCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AlphaCode, length must be greater than 1.", new [] { "AlphaCode" }); + } + + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 1024.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ComplianceDetail.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ComplianceDetail.cs new file mode 100644 index 00000000..b53b74c7 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ComplianceDetail.cs @@ -0,0 +1,204 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains item identifiers and related tax information. + /// + [DataContract] + public partial class ComplianceDetail : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The Amazon Standard Identification Number, which identifies the detail page identifier.. + /// The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition.. + /// The merchant SKU, a merchant-supplied identifier for a specific SKU.. + /// taxDetails. + public ComplianceDetail(string asin = default(string), string fnsku = default(string), string msku = default(string), TaxDetails taxDetails = default(TaxDetails)) + { + this.Asin = asin; + this.Fnsku = fnsku; + this.Msku = msku; + this.TaxDetails = taxDetails; + } + + /// + /// The Amazon Standard Identification Number, which identifies the detail page identifier. + /// + /// The Amazon Standard Identification Number, which identifies the detail page identifier. + [DataMember(Name="asin", EmitDefaultValue=false)] + public string Asin { get; set; } + + /// + /// The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition. + /// + /// The Fulfillment Network SKU, which identifies a real fulfillable item with catalog data and condition. + [DataMember(Name="fnsku", EmitDefaultValue=false)] + public string Fnsku { get; set; } + + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. + [DataMember(Name="msku", EmitDefaultValue=false)] + public string Msku { get; set; } + + /// + /// Gets or Sets TaxDetails + /// + [DataMember(Name="taxDetails", EmitDefaultValue=false)] + public TaxDetails TaxDetails { 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 ComplianceDetail {\n"); + sb.Append(" Asin: ").Append(Asin).Append("\n"); + sb.Append(" Fnsku: ").Append(Fnsku).Append("\n"); + sb.Append(" Msku: ").Append(Msku).Append("\n"); + sb.Append(" TaxDetails: ").Append(TaxDetails).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 ComplianceDetail); + } + + /// + /// Returns true if ComplianceDetail instances are equal + /// + /// Instance of ComplianceDetail to be compared + /// Boolean + public bool Equals(ComplianceDetail input) + { + if (input == null) + return false; + + return + ( + this.Asin == input.Asin || + (this.Asin != null && + this.Asin.Equals(input.Asin)) + ) && + ( + this.Fnsku == input.Fnsku || + (this.Fnsku != null && + this.Fnsku.Equals(input.Fnsku)) + ) && + ( + this.Msku == input.Msku || + (this.Msku != null && + this.Msku.Equals(input.Msku)) + ) && + ( + this.TaxDetails == input.TaxDetails || + (this.TaxDetails != null && + this.TaxDetails.Equals(input.TaxDetails)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Asin != null) + hashCode = hashCode * 59 + this.Asin.GetHashCode(); + if (this.Fnsku != null) + hashCode = hashCode * 59 + this.Fnsku.GetHashCode(); + if (this.Msku != null) + hashCode = hashCode * 59 + this.Msku.GetHashCode(); + if (this.TaxDetails != null) + hashCode = hashCode * 59 + this.TaxDetails.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Asin (string) maxLength + if(this.Asin != null && this.Asin.Length > 10) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Asin, length must be less than 10.", new [] { "Asin" }); + } + + // Asin (string) minLength + if(this.Asin != null && this.Asin.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Asin, length must be greater than 1.", new [] { "Asin" }); + } + + // Fnsku (string) maxLength + if(this.Fnsku != null && this.Fnsku.Length > 10) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Fnsku, length must be less than 10.", new [] { "Fnsku" }); + } + + // Fnsku (string) minLength + if(this.Fnsku != null && this.Fnsku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Fnsku, length must be greater than 1.", new [] { "Fnsku" }); + } + + // Msku (string) maxLength + if(this.Msku != null && this.Msku.Length > 40) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be less than 40.", new [] { "Msku" }); + } + + // Msku (string) minLength + if(this.Msku != null && this.Msku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be greater than 1.", new [] { "Msku" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPackingOptionResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPackingOptionResponse.cs new file mode 100644 index 00000000..66e19f8a --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPackingOptionResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `confirmPackingOption` response. + /// + [DataContract] + public partial class ConfirmPackingOptionResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public ConfirmPackingOptionResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for ConfirmPackingOptionResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public ConfirmPackingOptionResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 ConfirmPackingOptionResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 ConfirmPackingOptionResponse); + } + + /// + /// Returns true if ConfirmPackingOptionResponse instances are equal + /// + /// Instance of ConfirmPackingOptionResponse to be compared + /// Boolean + public bool Equals(ConfirmPackingOptionResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPlacementOptionResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPlacementOptionResponse.cs new file mode 100644 index 00000000..5c9fcc49 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmPlacementOptionResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `confirmPlacementOption` response. + /// + [DataContract] + public partial class ConfirmPlacementOptionResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public ConfirmPlacementOptionResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for ConfirmPlacementOptionResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public ConfirmPlacementOptionResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 ConfirmPlacementOptionResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 ConfirmPlacementOptionResponse); + } + + /// + /// Returns true if ConfirmPlacementOptionResponse instances are equal + /// + /// Instance of ConfirmPlacementOptionResponse to be compared + /// Boolean + public bool Equals(ConfirmPlacementOptionResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsRequest.cs new file mode 100644 index 00000000..0988bccd --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsRequest.cs @@ -0,0 +1,133 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `confirmTransportationOptions` request. + /// + [DataContract] + public partial class ConfirmTransportationOptionsRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ConfirmTransportationOptionsRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// Information needed to confirm one of the available transportation options. (required). + public ConfirmTransportationOptionsRequest(List transportationSelections = default(List)) + { + // to ensure "transportationSelections" is required (not null) + if (transportationSelections == null) + { + throw new InvalidDataException("transportationSelections is a required property for ConfirmTransportationOptionsRequest and cannot be null"); + } + else + { + this.TransportationSelections = transportationSelections; + } + } + + /// + /// Information needed to confirm one of the available transportation options. + /// + /// Information needed to confirm one of the available transportation options. + [DataMember(Name="transportationSelections", EmitDefaultValue=false)] + public List TransportationSelections { 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 ConfirmTransportationOptionsRequest {\n"); + sb.Append(" TransportationSelections: ").Append(TransportationSelections).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 ConfirmTransportationOptionsRequest); + } + + /// + /// Returns true if ConfirmTransportationOptionsRequest instances are equal + /// + /// Instance of ConfirmTransportationOptionsRequest to be compared + /// Boolean + public bool Equals(ConfirmTransportationOptionsRequest input) + { + if (input == null) + return false; + + return + ( + this.TransportationSelections == input.TransportationSelections || + this.TransportationSelections != null && + this.TransportationSelections.SequenceEqual(input.TransportationSelections) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.TransportationSelections != null) + hashCode = hashCode * 59 + this.TransportationSelections.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsResponse.cs new file mode 100644 index 00000000..86066584 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ConfirmTransportationOptionsResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `confirmTransportationOptions` response. + /// + [DataContract] + public partial class ConfirmTransportationOptionsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public ConfirmTransportationOptionsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for ConfirmTransportationOptionsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public ConfirmTransportationOptionsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 ConfirmTransportationOptionsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 ConfirmTransportationOptionsResponse); + } + + /// + /// Returns true if ConfirmTransportationOptionsResponse instances are equal + /// + /// Instance of ConfirmTransportationOptionsResponse to be compared + /// Boolean + public bool Equals(ConfirmTransportationOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ContactInformation.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ContactInformation.cs new file mode 100644 index 00000000..a135ecc2 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ContactInformation.cs @@ -0,0 +1,202 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The seller's contact information. + /// + [DataContract] + public partial class ContactInformation : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ContactInformation() { } + /// + /// Initializes a new instance of the class. + /// + /// Email address.. + /// The name belonging to the contact. This field is required when contact information is being provided for Less-Than-Truckload (LTL) carrier shipments.. + /// The phone number of the seller. (required). + public ContactInformation(string email = default(string), string name = default(string), string phoneNumber = default(string)) + { + // to ensure "phoneNumber" is required (not null) + if (phoneNumber == null) + { + throw new InvalidDataException("phoneNumber is a required property for ContactInformation and cannot be null"); + } + else + { + this.PhoneNumber = phoneNumber; + } + this.Email = email; + this.Name = name; + } + + /// + /// Email address. + /// + /// Email address. + [DataMember(Name="email", EmitDefaultValue=false)] + public string Email { get; set; } + + /// + /// The name belonging to the contact. This field is required when contact information is being provided for Less-Than-Truckload (LTL) carrier shipments. + /// + /// The name belonging to the contact. This field is required when contact information is being provided for Less-Than-Truckload (LTL) carrier shipments. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// The phone number of the seller. + /// + /// The phone number of the seller. + [DataMember(Name="phoneNumber", EmitDefaultValue=false)] + public string PhoneNumber { 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 ContactInformation {\n"); + sb.Append(" Email: ").Append(Email).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" PhoneNumber: ").Append(PhoneNumber).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 ContactInformation); + } + + /// + /// Returns true if ContactInformation instances are equal + /// + /// Instance of ContactInformation to be compared + /// Boolean + public bool Equals(ContactInformation input) + { + if (input == null) + return false; + + return + ( + this.Email == input.Email || + (this.Email != null && + this.Email.Equals(input.Email)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.PhoneNumber == input.PhoneNumber || + (this.PhoneNumber != null && + this.PhoneNumber.Equals(input.PhoneNumber)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Email != null) + hashCode = hashCode * 59 + this.Email.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.PhoneNumber != null) + hashCode = hashCode * 59 + this.PhoneNumber.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Email (string) maxLength + if(this.Email != null && this.Email.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Email, length must be less than 1024.", new [] { "Email" }); + } + + // Email (string) minLength + if(this.Email != null && this.Email.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Email, length must be greater than 1.", new [] { "Email" }); + } + + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 1024.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + // PhoneNumber (string) maxLength + if(this.PhoneNumber != null && this.PhoneNumber.Length > 20) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PhoneNumber, length must be less than 20.", new [] { "PhoneNumber" }); + } + + // PhoneNumber (string) minLength + if(this.PhoneNumber != null && this.PhoneNumber.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PhoneNumber, length must be greater than 1.", new [] { "PhoneNumber" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanRequest.cs new file mode 100644 index 00000000..50f22e10 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanRequest.cs @@ -0,0 +1,235 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `createInboundPlan` request. + /// + [DataContract] + public partial class CreateInboundPlanRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CreateInboundPlanRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// contactInformation (required). + /// Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request. (required). + /// Items included in this plan. (required). + /// Name for the Inbound Plan. If one isn't provided, a default name will be provided.. + /// sourceAddress (required). + public CreateInboundPlanRequest(ContactInformation contactInformation = default(ContactInformation), List destinationMarketplaces = default(List), List items = default(List), string name = default(string), Address sourceAddress = default(Address)) + { + // to ensure "contactInformation" is required (not null) + if (contactInformation == null) + { + throw new InvalidDataException("contactInformation is a required property for CreateInboundPlanRequest and cannot be null"); + } + else + { + this.ContactInformation = contactInformation; + } + // to ensure "destinationMarketplaces" is required (not null) + if (destinationMarketplaces == null) + { + throw new InvalidDataException("destinationMarketplaces is a required property for CreateInboundPlanRequest and cannot be null"); + } + else + { + this.DestinationMarketplaces = destinationMarketplaces; + } + // to ensure "items" is required (not null) + if (items == null) + { + throw new InvalidDataException("items is a required property for CreateInboundPlanRequest and cannot be null"); + } + else + { + this.Items = items; + } + // to ensure "sourceAddress" is required (not null) + if (sourceAddress == null) + { + throw new InvalidDataException("sourceAddress is a required property for CreateInboundPlanRequest and cannot be null"); + } + else + { + this.SourceAddress = sourceAddress; + } + this.Name = name; + } + + /// + /// Gets or Sets ContactInformation + /// + [DataMember(Name="contactInformation", EmitDefaultValue=false)] + public ContactInformation ContactInformation { get; set; } + + /// + /// Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request. + /// + /// Marketplaces where the items need to be shipped to. Currently only one marketplace can be selected in this request. + [DataMember(Name="destinationMarketplaces", EmitDefaultValue=false)] + public List DestinationMarketplaces { get; set; } + + /// + /// Items included in this plan. + /// + /// Items included in this plan. + [DataMember(Name="items", EmitDefaultValue=false)] + public List Items { get; set; } + + /// + /// Name for the Inbound Plan. If one isn't provided, a default name will be provided. + /// + /// Name for the Inbound Plan. If one isn't provided, a default name will be provided. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Gets or Sets SourceAddress + /// + [DataMember(Name="sourceAddress", EmitDefaultValue=false)] + public Address SourceAddress { 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 CreateInboundPlanRequest {\n"); + sb.Append(" ContactInformation: ").Append(ContactInformation).Append("\n"); + sb.Append(" DestinationMarketplaces: ").Append(DestinationMarketplaces).Append("\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" SourceAddress: ").Append(SourceAddress).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 CreateInboundPlanRequest); + } + + /// + /// Returns true if CreateInboundPlanRequest instances are equal + /// + /// Instance of CreateInboundPlanRequest to be compared + /// Boolean + public bool Equals(CreateInboundPlanRequest input) + { + if (input == null) + return false; + + return + ( + this.ContactInformation == input.ContactInformation || + (this.ContactInformation != null && + this.ContactInformation.Equals(input.ContactInformation)) + ) && + ( + this.DestinationMarketplaces == input.DestinationMarketplaces || + this.DestinationMarketplaces != null && + this.DestinationMarketplaces.SequenceEqual(input.DestinationMarketplaces) + ) && + ( + this.Items == input.Items || + this.Items != null && + this.Items.SequenceEqual(input.Items) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.SourceAddress == input.SourceAddress || + (this.SourceAddress != null && + this.SourceAddress.Equals(input.SourceAddress)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ContactInformation != null) + hashCode = hashCode * 59 + this.ContactInformation.GetHashCode(); + if (this.DestinationMarketplaces != null) + hashCode = hashCode * 59 + this.DestinationMarketplaces.GetHashCode(); + if (this.Items != null) + hashCode = hashCode * 59 + this.Items.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.SourceAddress != null) + hashCode = hashCode * 59 + this.SourceAddress.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Name (string) maxLength + if(this.Name != null && this.Name.Length > 40) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be less than 40.", new [] { "Name" }); + } + + // Name (string) minLength + if(this.Name != null && this.Name.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Name, length must be greater than 1.", new [] { "Name" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanResponse.cs new file mode 100644 index 00000000..975b0a5b --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CreateInboundPlanResponse.cs @@ -0,0 +1,197 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `createInboundPlan` response. + /// + [DataContract] + public partial class CreateInboundPlanResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Identifier to an inbound plan. (required). + /// UUID for the given operation. (required). + public CreateInboundPlanResponse(string inboundPlanId = default(string), string operationId = default(string)) + { + // to ensure "inboundPlanId" is required (not null) + if (inboundPlanId == null) + { + throw new InvalidDataException("inboundPlanId is a required property for CreateInboundPlanResponse and cannot be null"); + } + else + { + this.InboundPlanId = inboundPlanId; + } + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for CreateInboundPlanResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + + public CreateInboundPlanResponse() + { + this.InboundPlanId = default(string); + this.OperationId = default(string); + } + + /// + /// Identifier to an inbound plan. + /// + /// Identifier to an inbound plan. + [DataMember(Name="inboundPlanId", EmitDefaultValue=false)] + public string InboundPlanId { get; set; } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 CreateInboundPlanResponse {\n"); + sb.Append(" InboundPlanId: ").Append(InboundPlanId).Append("\n"); + sb.Append(" OperationId: ").Append(OperationId).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 CreateInboundPlanResponse); + } + + /// + /// Returns true if CreateInboundPlanResponse instances are equal + /// + /// Instance of CreateInboundPlanResponse to be compared + /// Boolean + public bool Equals(CreateInboundPlanResponse input) + { + if (input == null) + return false; + + return + ( + this.InboundPlanId == input.InboundPlanId || + (this.InboundPlanId != null && + this.InboundPlanId.Equals(input.InboundPlanId)) + ) && + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.InboundPlanId != null) + hashCode = hashCode * 59 + this.InboundPlanId.GetHashCode(); + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // InboundPlanId (string) maxLength + if(this.InboundPlanId != null && this.InboundPlanId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be less than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) minLength + if(this.InboundPlanId != null && this.InboundPlanId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be greater than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) pattern + Regex regexInboundPlanId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexInboundPlanId.Match(this.InboundPlanId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, must match a pattern of " + regexInboundPlanId, new [] { "InboundPlanId" }); + } + + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Currency.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Currency.cs new file mode 100644 index 00000000..919c986d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Currency.cs @@ -0,0 +1,169 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Currency definition. + /// + [DataContract] + public partial class Currency : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Currency() { } + /// + /// Initializes a new instance of the class. + /// + /// Decimal value of the currency. (required). + /// ISO 4217 standard of a currency code. (required). + public Currency(decimal? amount = default(decimal?), string code = default(string)) + { + // to ensure "amount" is required (not null) + if (amount == null) + { + throw new InvalidDataException("amount is a required property for Currency and cannot be null"); + } + else + { + this.Amount = amount; + } + // to ensure "code" is required (not null) + if (code == null) + { + throw new InvalidDataException("code is a required property for Currency and cannot be null"); + } + else + { + this.Code = code; + } + } + + /// + /// Decimal value of the currency. + /// + /// Decimal value of the currency. + [DataMember(Name="amount", EmitDefaultValue=false)] + public decimal? Amount { get; set; } + + /// + /// ISO 4217 standard of a currency code. + /// + /// ISO 4217 standard of a currency code. + [DataMember(Name="code", EmitDefaultValue=false)] + public string Code { 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 Currency {\n"); + sb.Append(" Amount: ").Append(Amount).Append("\n"); + sb.Append(" Code: ").Append(Code).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 Currency); + } + + /// + /// Returns true if Currency instances are equal + /// + /// Instance of Currency to be compared + /// Boolean + public bool Equals(Currency input) + { + if (input == null) + return false; + + return + ( + this.Amount == input.Amount || + (this.Amount != null && + this.Amount.Equals(input.Amount)) + ) && + ( + this.Code == input.Code || + (this.Code != null && + this.Code.Equals(input.Code)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Amount != null) + hashCode = hashCode * 59 + this.Amount.GetHashCode(); + if (this.Code != null) + hashCode = hashCode * 59 + this.Code.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Code (string) maxLength + if(this.Code != null && this.Code.Length > 3) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Code, length must be less than 3.", new [] { "Code" }); + } + + // Code (string) minLength + if(this.Code != null && this.Code.Length < 3) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Code, length must be greater than 3.", new [] { "Code" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CustomPlacementInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CustomPlacementInput.cs new file mode 100644 index 00000000..573e430c --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/CustomPlacementInput.cs @@ -0,0 +1,170 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Provide units going to the warehouse. + /// + [DataContract] + public partial class CustomPlacementInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected CustomPlacementInput() { } + /// + /// Initializes a new instance of the class. + /// + /// Items included while creating Inbound Plan. (required). + /// Warehouse Id. (required). + public CustomPlacementInput(List items = default(List), string warehouseId = default(string)) + { + // to ensure "items" is required (not null) + if (items == null) + { + throw new InvalidDataException("items is a required property for CustomPlacementInput and cannot be null"); + } + else + { + this.Items = items; + } + // to ensure "warehouseId" is required (not null) + if (warehouseId == null) + { + throw new InvalidDataException("warehouseId is a required property for CustomPlacementInput and cannot be null"); + } + else + { + this.WarehouseId = warehouseId; + } + } + + /// + /// Items included while creating Inbound Plan. + /// + /// Items included while creating Inbound Plan. + [DataMember(Name="items", EmitDefaultValue=false)] + public List Items { get; set; } + + /// + /// Warehouse Id. + /// + /// Warehouse Id. + [DataMember(Name="warehouseId", EmitDefaultValue=false)] + public string WarehouseId { 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 CustomPlacementInput {\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" WarehouseId: ").Append(WarehouseId).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 CustomPlacementInput); + } + + /// + /// Returns true if CustomPlacementInput instances are equal + /// + /// Instance of CustomPlacementInput to be compared + /// Boolean + public bool Equals(CustomPlacementInput input) + { + if (input == null) + return false; + + return + ( + this.Items == input.Items || + this.Items != null && + this.Items.SequenceEqual(input.Items) + ) && + ( + this.WarehouseId == input.WarehouseId || + (this.WarehouseId != null && + this.WarehouseId.Equals(input.WarehouseId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Items != null) + hashCode = hashCode * 59 + this.Items.GetHashCode(); + if (this.WarehouseId != null) + hashCode = hashCode * 59 + this.WarehouseId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // WarehouseId (string) maxLength + if(this.WarehouseId != null && this.WarehouseId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for WarehouseId, length must be less than 1024.", new [] { "WarehouseId" }); + } + + // WarehouseId (string) minLength + if(this.WarehouseId != null && this.WarehouseId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for WarehouseId, length must be greater than 1.", new [] { "WarehouseId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dates.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dates.cs new file mode 100644 index 00000000..1f95c21b --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dates.cs @@ -0,0 +1,133 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Specifies the dates that the seller expects their shipment will be shipped and delivered. + /// + [DataContract] + public partial class Dates : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// deliveryWindow. + /// readyToShipWindow. + public Dates(Window deliveryWindow = default(Window), Window readyToShipWindow = default(Window)) + { + this.DeliveryWindow = deliveryWindow; + this.ReadyToShipWindow = readyToShipWindow; + } + + /// + /// Gets or Sets DeliveryWindow + /// + [DataMember(Name="deliveryWindow", EmitDefaultValue=false)] + public Window DeliveryWindow { get; set; } + + /// + /// Gets or Sets ReadyToShipWindow + /// + [DataMember(Name="readyToShipWindow", EmitDefaultValue=false)] + public Window ReadyToShipWindow { 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 Dates {\n"); + sb.Append(" DeliveryWindow: ").Append(DeliveryWindow).Append("\n"); + sb.Append(" ReadyToShipWindow: ").Append(ReadyToShipWindow).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 Dates); + } + + /// + /// Returns true if Dates instances are equal + /// + /// Instance of Dates to be compared + /// Boolean + public bool Equals(Dates input) + { + if (input == null) + return false; + + return + ( + this.DeliveryWindow == input.DeliveryWindow || + (this.DeliveryWindow != null && + this.DeliveryWindow.Equals(input.DeliveryWindow)) + ) && + ( + this.ReadyToShipWindow == input.ReadyToShipWindow || + (this.ReadyToShipWindow != null && + this.ReadyToShipWindow.Equals(input.ReadyToShipWindow)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DeliveryWindow != null) + hashCode = hashCode * 59 + this.DeliveryWindow.GetHashCode(); + if (this.ReadyToShipWindow != null) + hashCode = hashCode * 59 + this.ReadyToShipWindow.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dimensions.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dimensions.cs new file mode 100644 index 00000000..a20cbbeb --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Dimensions.cs @@ -0,0 +1,242 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Measurement of a package dimensions. + /// + [DataContract] + public partial class Dimensions : IEquatable, IValidatableObject + { + /// + /// Gets or Sets UnitOfMeasurement + /// + [DataMember(Name="unitOfMeasurement", EmitDefaultValue=false)] + public UnitOfMeasurement UnitOfMeasurement { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Dimensions() { } + /// + /// Initializes a new instance of the class. + /// + /// Height. (required). + /// Length. (required). + /// unitOfMeasurement (required). + /// Width. (required). + public Dimensions(double? height = default(double?), double? length = default(double?), UnitOfMeasurement unitOfMeasurement = default(UnitOfMeasurement), double? width = default(double?)) + { + // to ensure "height" is required (not null) + if (height == null) + { + throw new InvalidDataException("height is a required property for Dimensions and cannot be null"); + } + else + { + this.Height = height; + } + // to ensure "length" is required (not null) + if (length == null) + { + throw new InvalidDataException("length is a required property for Dimensions and cannot be null"); + } + else + { + this.Length = length; + } + // to ensure "unitOfMeasurement" is required (not null) + if (unitOfMeasurement == null) + { + throw new InvalidDataException("unitOfMeasurement is a required property for Dimensions and cannot be null"); + } + else + { + this.UnitOfMeasurement = unitOfMeasurement; + } + // to ensure "width" is required (not null) + if (width == null) + { + throw new InvalidDataException("width is a required property for Dimensions and cannot be null"); + } + else + { + this.Width = width; + } + } + + /// + /// Height. + /// + /// Height. + [DataMember(Name="height", EmitDefaultValue=false)] + public double? Height { get; set; } + + /// + /// Length. + /// + /// Length. + [DataMember(Name="length", EmitDefaultValue=false)] + public double? Length { get; set; } + + + /// + /// Width. + /// + /// Width. + [DataMember(Name="width", EmitDefaultValue=false)] + public double? Width { 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 Dimensions {\n"); + sb.Append(" Height: ").Append(Height).Append("\n"); + sb.Append(" Length: ").Append(Length).Append("\n"); + sb.Append(" UnitOfMeasurement: ").Append(UnitOfMeasurement).Append("\n"); + sb.Append(" Width: ").Append(Width).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 Dimensions); + } + + /// + /// Returns true if Dimensions instances are equal + /// + /// Instance of Dimensions to be compared + /// Boolean + public bool Equals(Dimensions input) + { + if (input == null) + return false; + + return + ( + this.Height == input.Height || + (this.Height != null && + this.Height.Equals(input.Height)) + ) && + ( + this.Length == input.Length || + (this.Length != null && + this.Length.Equals(input.Length)) + ) && + ( + this.UnitOfMeasurement == input.UnitOfMeasurement || + (this.UnitOfMeasurement != null && + this.UnitOfMeasurement.Equals(input.UnitOfMeasurement)) + ) && + ( + this.Width == input.Width || + (this.Width != null && + this.Width.Equals(input.Width)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Height != null) + hashCode = hashCode * 59 + this.Height.GetHashCode(); + if (this.Length != null) + hashCode = hashCode * 59 + this.Length.GetHashCode(); + if (this.UnitOfMeasurement != null) + hashCode = hashCode * 59 + this.UnitOfMeasurement.GetHashCode(); + if (this.Width != null) + hashCode = hashCode * 59 + this.Width.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Height (double?) maximum + if(this.Height > (double?)100000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Height, must be a value less than or equal to 100000.", new [] { "Height" }); + } + + // Height (double?) minimum + if(this.Height < (double?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Height, must be a value greater than or equal to 0.", new [] { "Height" }); + } + + // Length (double?) maximum + if(this.Length > (double?)100000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Length, must be a value less than or equal to 100000.", new [] { "Length" }); + } + + // Length (double?) minimum + if(this.Length < (double?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Length, must be a value greater than or equal to 0.", new [] { "Length" }); + } + + // Width (double?) maximum + if(this.Width > (double?)100000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Width, must be a value less than or equal to 100000.", new [] { "Width" }); + } + + // Width (double?) minimum + if(this.Width < (double?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Width, must be a value greater than or equal to 0.", new [] { "Width" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/DocumentDownload.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/DocumentDownload.cs new file mode 100644 index 00000000..e391f0dd --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/DocumentDownload.cs @@ -0,0 +1,174 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Resource to download the requested document. + /// + [DataContract] + public partial class DocumentDownload : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected DocumentDownload() { } + /// + /// Initializes a new instance of the class. + /// + /// The type of download. Can be `URL` or `PDF_BASE64`. (required). + /// The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + /// Uniform resource identifier to identify where the document is located. (required). + public DocumentDownload(string downloadType = default(string), DateTime? expiration = default(DateTime?), string uri = default(string)) + { + // to ensure "downloadType" is required (not null) + if (downloadType == null) + { + throw new InvalidDataException("downloadType is a required property for DocumentDownload and cannot be null"); + } + else + { + this.DownloadType = downloadType; + } + // to ensure "uri" is required (not null) + if (uri == null) + { + throw new InvalidDataException("uri is a required property for DocumentDownload and cannot be null"); + } + else + { + this.Uri = uri; + } + this.Expiration = expiration; + } + + /// + /// The type of download. Can be `URL` or `PDF_BASE64`. + /// + /// The type of download. Can be `URL` or `PDF_BASE64`. + [DataMember(Name="downloadType", EmitDefaultValue=false)] + public string DownloadType { get; set; } + + /// + /// The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The timestamp of expiration of the URI. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public DateTime? Expiration { get; set; } + + /// + /// Uniform resource identifier to identify where the document is located. + /// + /// Uniform resource identifier to identify where the document is located. + [DataMember(Name="uri", EmitDefaultValue=false)] + public string Uri { 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 DocumentDownload {\n"); + sb.Append(" DownloadType: ").Append(DownloadType).Append("\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" Uri: ").Append(Uri).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 DocumentDownload); + } + + /// + /// Returns true if DocumentDownload instances are equal + /// + /// Instance of DocumentDownload to be compared + /// Boolean + public bool Equals(DocumentDownload input) + { + if (input == null) + return false; + + return + ( + this.DownloadType == input.DownloadType || + (this.DownloadType != null && + this.DownloadType.Equals(input.DownloadType)) + ) && + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.Uri == input.Uri || + (this.Uri != null && + this.Uri.Equals(input.Uri)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DownloadType != null) + hashCode = hashCode * 59 + this.DownloadType.GetHashCode(); + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.Uri != null) + hashCode = hashCode * 59 + this.Uri.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Error.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Error.cs new file mode 100644 index 00000000..f683844e --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Error.cs @@ -0,0 +1,210 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Error object containing information about what went wrong. + /// + [DataContract] + public partial class Error : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Error() { } + /// + /// Initializes a new instance of the class. + /// + /// An error code that identifies the type of error that occurred. (required). + /// Additional details that can help the caller understand or fix the issue.. + /// A message that describes the error condition. (required). + public Error(string code = default(string), string details = default(string), string message = default(string)) + { + // to ensure "code" is required (not null) + if (code == null) + { + throw new InvalidDataException("code is a required property for Error and cannot be null"); + } + else + { + this.Code = code; + } + // to ensure "message" is required (not null) + if (message == null) + { + throw new InvalidDataException("message is a required property for Error and cannot be null"); + } + else + { + this.Message = message; + } + this.Details = details; + } + + /// + /// An error code that identifies the type of error that occurred. + /// + /// An error code that identifies the type of error that occurred. + [DataMember(Name="code", EmitDefaultValue=false)] + public string Code { get; set; } + + /// + /// Additional details that can help the caller understand or fix the issue. + /// + /// Additional details that can help the caller understand or fix the issue. + [DataMember(Name="details", EmitDefaultValue=false)] + public string Details { get; set; } + + /// + /// A message that describes the error condition. + /// + /// A message that describes the error condition. + [DataMember(Name="message", EmitDefaultValue=false)] + public string Message { 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 Error {\n"); + sb.Append(" Code: ").Append(Code).Append("\n"); + sb.Append(" Details: ").Append(Details).Append("\n"); + sb.Append(" Message: ").Append(Message).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 Error); + } + + /// + /// Returns true if Error instances are equal + /// + /// Instance of Error to be compared + /// Boolean + public bool Equals(Error input) + { + if (input == null) + return false; + + return + ( + this.Code == input.Code || + (this.Code != null && + this.Code.Equals(input.Code)) + ) && + ( + this.Details == input.Details || + (this.Details != null && + this.Details.Equals(input.Details)) + ) && + ( + this.Message == input.Message || + (this.Message != null && + this.Message.Equals(input.Message)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Code != null) + hashCode = hashCode * 59 + this.Code.GetHashCode(); + if (this.Details != null) + hashCode = hashCode * 59 + this.Details.GetHashCode(); + if (this.Message != null) + hashCode = hashCode * 59 + this.Message.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Code (string) maxLength + if(this.Code != null && this.Code.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Code, length must be less than 256.", new [] { "Code" }); + } + + // Code (string) minLength + if(this.Code != null && this.Code.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Code, length must be greater than 1.", new [] { "Code" }); + } + + // Details (string) maxLength + if(this.Details != null && this.Details.Length > 8192) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Details, length must be less than 8192.", new [] { "Details" }); + } + + // Details (string) minLength + if(this.Details != null && this.Details.Length < 0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Details, length must be greater than 0.", new [] { "Details" }); + } + + // Message (string) maxLength + if(this.Message != null && this.Message.Length > 2048) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Message, length must be less than 2048.", new [] { "Message" }); + } + + // Message (string) minLength + if(this.Message != null && this.Message.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Message, length must be greater than 1.", new [] { "Message" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ErrorList.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ErrorList.cs new file mode 100644 index 00000000..5a155a0d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ErrorList.cs @@ -0,0 +1,133 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// A list of error responses returned when a request is unsuccessful. + /// + [DataContract] + public partial class ErrorList : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ErrorList() { } + /// + /// Initializes a new instance of the class. + /// + /// List of errors. (required). + public ErrorList(List errors = default(List)) + { + // to ensure "errors" is required (not null) + if (errors == null) + { + throw new InvalidDataException("errors is a required property for ErrorList and cannot be null"); + } + else + { + this.Errors = errors; + } + } + + /// + /// List of errors. + /// + /// List of errors. + [DataMember(Name="errors", EmitDefaultValue=false)] + public List Errors { 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 ErrorList {\n"); + sb.Append(" Errors: ").Append(Errors).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 ErrorList); + } + + /// + /// Returns true if ErrorList instances are equal + /// + /// Instance of ErrorList to be compared + /// Boolean + public bool Equals(ErrorList input) + { + if (input == null) + return false; + + return + ( + this.Errors == input.Errors || + this.Errors != null && + this.Errors.SequenceEqual(input.Errors) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Errors != null) + hashCode = hashCode * 59 + this.Errors.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePackingOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePackingOptionsResponse.cs new file mode 100644 index 00000000..30eee8dc --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePackingOptionsResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `generatePackingOptions` response. + /// + [DataContract] + public partial class GeneratePackingOptionsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public GeneratePackingOptionsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for GeneratePackingOptionsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public GeneratePackingOptionsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 GeneratePackingOptionsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 GeneratePackingOptionsResponse); + } + + /// + /// Returns true if GeneratePackingOptionsResponse instances are equal + /// + /// Instance of GeneratePackingOptionsResponse to be compared + /// Boolean + public bool Equals(GeneratePackingOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsRequest.cs new file mode 100644 index 00000000..5949a885 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsRequest.cs @@ -0,0 +1,119 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// The `generatePlacementOptions` request. + /// + [DataContract] + public partial class GeneratePlacementOptionsRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Custom placements options to be added to the plan.. + public GeneratePlacementOptionsRequest(List customPlacement = default(List)) + { + this.CustomPlacement = customPlacement; + } + + /// + /// Custom placements options to be added to the plan. + /// + /// Custom placements options to be added to the plan. + [DataMember(Name="customPlacement", EmitDefaultValue=false)] + public List CustomPlacement { 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 GeneratePlacementOptionsRequest {\n"); + sb.Append(" CustomPlacement: ").Append(CustomPlacement).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 GeneratePlacementOptionsRequest); + } + + /// + /// Returns true if GeneratePlacementOptionsRequest instances are equal + /// + /// Instance of GeneratePlacementOptionsRequest to be compared + /// Boolean + public bool Equals(GeneratePlacementOptionsRequest input) + { + if (input == null) + return false; + + return + ( + this.CustomPlacement == input.CustomPlacement || + this.CustomPlacement != null && + this.CustomPlacement.SequenceEqual(input.CustomPlacement) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CustomPlacement != null) + hashCode = hashCode * 59 + this.CustomPlacement.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsResponse.cs new file mode 100644 index 00000000..d5f4f028 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GeneratePlacementOptionsResponse.cs @@ -0,0 +1,152 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `generatePlacementOptions` response. + /// + [DataContract] + public partial class GeneratePlacementOptionsResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public GeneratePlacementOptionsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for GeneratePlacementOptionsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public GeneratePlacementOptionsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 GeneratePlacementOptionsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 GeneratePlacementOptionsResponse); + } + + /// + /// Returns true if GeneratePlacementOptionsResponse instances are equal + /// + /// Instance of GeneratePlacementOptionsResponse to be compared + /// Boolean + public bool Equals(GeneratePlacementOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsRequest.cs new file mode 100644 index 00000000..f21c0626 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsRequest.cs @@ -0,0 +1,135 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `generateSelfShipAppointmentSlots` request. + /// + [DataContract] + public partial class GenerateSelfShipAppointmentSlotsRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + public GenerateSelfShipAppointmentSlotsRequest(DateTime? desiredEndDate = default(DateTime?), DateTime? desiredStartDate = default(DateTime?)) + { + this.DesiredEndDate = desiredEndDate; + this.DesiredStartDate = desiredStartDate; + } + + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="desiredEndDate", EmitDefaultValue=false)] + public DateTime? DesiredEndDate { get; set; } + + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="desiredStartDate", EmitDefaultValue=false)] + public DateTime? DesiredStartDate { 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 GenerateSelfShipAppointmentSlotsRequest {\n"); + sb.Append(" DesiredEndDate: ").Append(DesiredEndDate).Append("\n"); + sb.Append(" DesiredStartDate: ").Append(DesiredStartDate).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 GenerateSelfShipAppointmentSlotsRequest); + } + + /// + /// Returns true if GenerateSelfShipAppointmentSlotsRequest instances are equal + /// + /// Instance of GenerateSelfShipAppointmentSlotsRequest to be compared + /// Boolean + public bool Equals(GenerateSelfShipAppointmentSlotsRequest input) + { + if (input == null) + return false; + + return + ( + this.DesiredEndDate == input.DesiredEndDate || + (this.DesiredEndDate != null && + this.DesiredEndDate.Equals(input.DesiredEndDate)) + ) && + ( + this.DesiredStartDate == input.DesiredStartDate || + (this.DesiredStartDate != null && + this.DesiredStartDate.Equals(input.DesiredStartDate)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DesiredEndDate != null) + hashCode = hashCode * 59 + this.DesiredEndDate.GetHashCode(); + if (this.DesiredStartDate != null) + hashCode = hashCode * 59 + this.DesiredStartDate.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsResponse.cs new file mode 100644 index 00000000..eb306e6f --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateSelfShipAppointmentSlotsResponse.cs @@ -0,0 +1,152 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `generateSelfShipAppointmentSlots` response. + /// + [DataContract] + public partial class GenerateSelfShipAppointmentSlotsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public GenerateSelfShipAppointmentSlotsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for GenerateSelfShipAppointmentSlotsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + + public GenerateSelfShipAppointmentSlotsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 GenerateSelfShipAppointmentSlotsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 GenerateSelfShipAppointmentSlotsResponse); + } + + /// + /// Returns true if GenerateSelfShipAppointmentSlotsResponse instances are equal + /// + /// Instance of GenerateSelfShipAppointmentSlotsResponse to be compared + /// Boolean + public bool Equals(GenerateSelfShipAppointmentSlotsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsRequest.cs new file mode 100644 index 00000000..8f0592e1 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsRequest.cs @@ -0,0 +1,178 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `generateTransportationOptions` request. + /// + [DataContract] + public partial class GenerateTransportationOptionsRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected GenerateTransportationOptionsRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// The placement option to generate transportation options for. (required). + /// List of shipment transportation configurations. (required). + public GenerateTransportationOptionsRequest(string placementOptionId = default(string), List shipmentTransportationConfigurations = default(List)) + { + // to ensure "placementOptionId" is required (not null) + if (placementOptionId == null) + { + throw new InvalidDataException("placementOptionId is a required property for GenerateTransportationOptionsRequest and cannot be null"); + } + else + { + this.PlacementOptionId = placementOptionId; + } + // to ensure "shipmentTransportationConfigurations" is required (not null) + if (shipmentTransportationConfigurations == null) + { + throw new InvalidDataException("shipmentTransportationConfigurations is a required property for GenerateTransportationOptionsRequest and cannot be null"); + } + else + { + this.ShipmentTransportationConfigurations = shipmentTransportationConfigurations; + } + } + + /// + /// The placement option to generate transportation options for. + /// + /// The placement option to generate transportation options for. + [DataMember(Name="placementOptionId", EmitDefaultValue=false)] + public string PlacementOptionId { get; set; } + + /// + /// List of shipment transportation configurations. + /// + /// List of shipment transportation configurations. + [DataMember(Name="shipmentTransportationConfigurations", EmitDefaultValue=false)] + public List ShipmentTransportationConfigurations { 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 GenerateTransportationOptionsRequest {\n"); + sb.Append(" PlacementOptionId: ").Append(PlacementOptionId).Append("\n"); + sb.Append(" ShipmentTransportationConfigurations: ").Append(ShipmentTransportationConfigurations).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 GenerateTransportationOptionsRequest); + } + + /// + /// Returns true if GenerateTransportationOptionsRequest instances are equal + /// + /// Instance of GenerateTransportationOptionsRequest to be compared + /// Boolean + public bool Equals(GenerateTransportationOptionsRequest input) + { + if (input == null) + return false; + + return + ( + this.PlacementOptionId == input.PlacementOptionId || + (this.PlacementOptionId != null && + this.PlacementOptionId.Equals(input.PlacementOptionId)) + ) && + ( + this.ShipmentTransportationConfigurations == input.ShipmentTransportationConfigurations || + this.ShipmentTransportationConfigurations != null && + this.ShipmentTransportationConfigurations.SequenceEqual(input.ShipmentTransportationConfigurations) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.PlacementOptionId != null) + hashCode = hashCode * 59 + this.PlacementOptionId.GetHashCode(); + if (this.ShipmentTransportationConfigurations != null) + hashCode = hashCode * 59 + this.ShipmentTransportationConfigurations.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PlacementOptionId (string) maxLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be less than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) minLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be greater than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) pattern + Regex regexPlacementOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPlacementOptionId.Match(this.PlacementOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, must match a pattern of " + regexPlacementOptionId, new [] { "PlacementOptionId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsResponse.cs new file mode 100644 index 00000000..9c5de648 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GenerateTransportationOptionsResponse.cs @@ -0,0 +1,152 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `generateTransportationOptions` response. + /// + [DataContract] + public partial class GenerateTransportationOptionsResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public GenerateTransportationOptionsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for GenerateTransportationOptionsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public GenerateTransportationOptionsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 GenerateTransportationOptionsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 GenerateTransportationOptionsResponse); + } + + /// + /// Returns true if GenerateTransportationOptionsResponse instances are equal + /// + /// Instance of GenerateTransportationOptionsResponse to be compared + /// Boolean + public bool Equals(GenerateTransportationOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetDeliveryChallanDocumentResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetDeliveryChallanDocumentResponse.cs new file mode 100644 index 00000000..a3c017f1 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetDeliveryChallanDocumentResponse.cs @@ -0,0 +1,130 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `getDeliveryChallanDocumentResponse` response. + /// + [DataContract] + public partial class GetDeliveryChallanDocumentResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// documentDownload (required). + public GetDeliveryChallanDocumentResponse(DocumentDownload documentDownload = default(DocumentDownload)) + { + // to ensure "documentDownload" is required (not null) + if (documentDownload == null) + { + throw new InvalidDataException("documentDownload is a required property for GetDeliveryChallanDocumentResponse and cannot be null"); + } + else + { + this.DocumentDownload = documentDownload; + } + } + public GetDeliveryChallanDocumentResponse() + { + this.DocumentDownload = default(DocumentDownload); + } + + /// + /// Gets or Sets DocumentDownload + /// + [DataMember(Name="documentDownload", EmitDefaultValue=false)] + public DocumentDownload DocumentDownload { 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 GetDeliveryChallanDocumentResponse {\n"); + sb.Append(" DocumentDownload: ").Append(DocumentDownload).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 GetDeliveryChallanDocumentResponse); + } + + /// + /// Returns true if GetDeliveryChallanDocumentResponse instances are equal + /// + /// Instance of GetDeliveryChallanDocumentResponse to be compared + /// Boolean + public bool Equals(GetDeliveryChallanDocumentResponse input) + { + if (input == null) + return false; + + return + ( + this.DocumentDownload == input.DocumentDownload || + (this.DocumentDownload != null && + this.DocumentDownload.Equals(input.DocumentDownload)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DocumentDownload != null) + hashCode = hashCode * 59 + this.DocumentDownload.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetSelfShipAppointmentSlotsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetSelfShipAppointmentSlotsResponse.cs new file mode 100644 index 00000000..8f614cde --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/GetSelfShipAppointmentSlotsResponse.cs @@ -0,0 +1,148 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `getSelfShipAppointmentSlots` response. + /// + [DataContract] + public partial class GetSelfShipAppointmentSlotsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// pagination. + /// selfShipAppointmentSlotsAvailability (required). + public GetSelfShipAppointmentSlotsResponse(Pagination pagination = default(Pagination), SelfShipAppointmentSlotsAvailability selfShipAppointmentSlotsAvailability = default(SelfShipAppointmentSlotsAvailability)) + { + // to ensure "selfShipAppointmentSlotsAvailability" is required (not null) + if (selfShipAppointmentSlotsAvailability == null) + { + throw new InvalidDataException("selfShipAppointmentSlotsAvailability is a required property for GetSelfShipAppointmentSlotsResponse and cannot be null"); + } + else + { + this.SelfShipAppointmentSlotsAvailability = selfShipAppointmentSlotsAvailability; + } + this.Pagination = pagination; + } + + public GetSelfShipAppointmentSlotsResponse() + { + this.SelfShipAppointmentSlotsAvailability = default(SelfShipAppointmentSlotsAvailability); + this.Pagination = default(Pagination); + } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { get; set; } + + /// + /// Gets or Sets SelfShipAppointmentSlotsAvailability + /// + [DataMember(Name="selfShipAppointmentSlotsAvailability", EmitDefaultValue=false)] + public SelfShipAppointmentSlotsAvailability SelfShipAppointmentSlotsAvailability { 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 GetSelfShipAppointmentSlotsResponse {\n"); + sb.Append(" Pagination: ").Append(Pagination).Append("\n"); + sb.Append(" SelfShipAppointmentSlotsAvailability: ").Append(SelfShipAppointmentSlotsAvailability).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 GetSelfShipAppointmentSlotsResponse); + } + + /// + /// Returns true if GetSelfShipAppointmentSlotsResponse instances are equal + /// + /// Instance of GetSelfShipAppointmentSlotsResponse to be compared + /// Boolean + public bool Equals(GetSelfShipAppointmentSlotsResponse input) + { + if (input == null) + return false; + + return + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ) && + ( + this.SelfShipAppointmentSlotsAvailability == input.SelfShipAppointmentSlotsAvailability || + (this.SelfShipAppointmentSlotsAvailability != null && + this.SelfShipAppointmentSlotsAvailability.Equals(input.SelfShipAppointmentSlotsAvailability)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + if (this.SelfShipAppointmentSlotsAvailability != null) + hashCode = hashCode * 59 + this.SelfShipAppointmentSlotsAvailability.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundOperationStatus.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundOperationStatus.cs new file mode 100644 index 00000000..44e30583 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundOperationStatus.cs @@ -0,0 +1,242 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `getInboundOperationStatus` response. + /// + [DataContract] + public partial class InboundOperationStatus : IEquatable, IValidatableObject + { + /// + /// Gets or Sets OperationStatus + /// + [DataMember(Name="operationStatus", EmitDefaultValue=false)] + public OperationStatus OperationStatus { get; set; } + + /// + /// Initializes a new instance of the class. + /// + /// The name of the operation that was executed in the asynchronous API call. (required). + /// The operation Id returned by the asynchronous API call. (required). + /// The problems in the processing of the asynchronous operation. (required). + /// operationStatus (required). + public InboundOperationStatus(string operation = default(string), string operationId = default(string), List operationProblems = default(List), OperationStatus operationStatus = default(OperationStatus)) + { + // to ensure "operation" is required (not null) + if (operation == null) + { + throw new InvalidDataException("operation is a required property for InboundOperationStatus and cannot be null"); + } + else + { + this.Operation = operation; + } + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for InboundOperationStatus and cannot be null"); + } + else + { + this.OperationId = operationId; + } + // to ensure "operationProblems" is required (not null) + if (operationProblems == null) + { + throw new InvalidDataException("operationProblems is a required property for InboundOperationStatus and cannot be null"); + } + else + { + this.OperationProblems = operationProblems; + } + // to ensure "operationStatus" is required (not null) + if (operationStatus == null) + { + throw new InvalidDataException("operationStatus is a required property for InboundOperationStatus and cannot be null"); + } + else + { + this.OperationStatus = operationStatus; + } + } + public InboundOperationStatus() + { + this.Operation = default(string); + this.OperationId = default(string); + this.OperationProblems = default(List); + this.OperationStatus = default(OperationStatus); + } + + /// + /// The name of the operation that was executed in the asynchronous API call. + /// + /// The name of the operation that was executed in the asynchronous API call. + [DataMember(Name="operation", EmitDefaultValue=false)] + public string Operation { get; set; } + + /// + /// The operation Id returned by the asynchronous API call. + /// + /// The operation Id returned by the asynchronous API call. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { get; set; } + + /// + /// The problems in the processing of the asynchronous operation. + /// + /// The problems in the processing of the asynchronous operation. + [DataMember(Name="operationProblems", EmitDefaultValue=false)] + public List OperationProblems { 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 InboundOperationStatus {\n"); + sb.Append(" Operation: ").Append(Operation).Append("\n"); + sb.Append(" OperationId: ").Append(OperationId).Append("\n"); + sb.Append(" OperationProblems: ").Append(OperationProblems).Append("\n"); + sb.Append(" OperationStatus: ").Append(OperationStatus).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 InboundOperationStatus); + } + + /// + /// Returns true if InboundOperationStatus instances are equal + /// + /// Instance of InboundOperationStatus to be compared + /// Boolean + public bool Equals(InboundOperationStatus input) + { + if (input == null) + return false; + + return + ( + this.Operation == input.Operation || + (this.Operation != null && + this.Operation.Equals(input.Operation)) + ) && + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ) && + ( + this.OperationProblems == input.OperationProblems || + this.OperationProblems != null && + this.OperationProblems.SequenceEqual(input.OperationProblems) + ) && + ( + this.OperationStatus == input.OperationStatus || + (this.OperationStatus != null && + this.OperationStatus.Equals(input.OperationStatus)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Operation != null) + hashCode = hashCode * 59 + this.Operation.GetHashCode(); + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + if (this.OperationProblems != null) + hashCode = hashCode * 59 + this.OperationProblems.GetHashCode(); + if (this.OperationStatus != null) + hashCode = hashCode * 59 + this.OperationStatus.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Operation (string) maxLength + if(this.Operation != null && this.Operation.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Operation, length must be less than 1024.", new [] { "Operation" }); + } + + // Operation (string) minLength + if(this.Operation != null && this.Operation.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Operation, length must be greater than 1.", new [] { "Operation" }); + } + + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlan.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlan.cs new file mode 100644 index 00000000..c9f15b1c --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlan.cs @@ -0,0 +1,401 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Inbound plan containing details of the inbound workflow. + /// + [DataContract] + public partial class InboundPlan : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// contactInformation (required). + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. (required). + /// Identifier to an inbound plan. (required). + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. (required). + /// Marketplace IDs. (required). + /// The human-readable name of the inbound plan. (required). + /// Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details.. + /// Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details.. + /// Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details.. + /// sourceAddress (required). + /// Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`. (required). + public InboundPlan(ContactInformation contactInformation = default(ContactInformation), DateTime? createdAt = default(DateTime?), string inboundPlanId = default(string), DateTime? lastUpdatedAt = default(DateTime?), List marketplaceIds = default(List), string name = default(string), List packingOptions = default(List), List placementOptions = default(List), List shipments = default(List), Address sourceAddress = default(Address), string status = default(string)) + { + // to ensure "contactInformation" is required (not null) + if (contactInformation == null) + { + throw new InvalidDataException("contactInformation is a required property for InboundPlan and cannot be null"); + } + else + { + this.ContactInformation = contactInformation; + } + // to ensure "createdAt" is required (not null) + if (createdAt == null) + { + throw new InvalidDataException("createdAt is a required property for InboundPlan and cannot be null"); + } + else + { + this.CreatedAt = createdAt; + } + // to ensure "inboundPlanId" is required (not null) + if (inboundPlanId == null) + { + throw new InvalidDataException("inboundPlanId is a required property for InboundPlan and cannot be null"); + } + else + { + this.InboundPlanId = inboundPlanId; + } + // to ensure "lastUpdatedAt" is required (not null) + if (lastUpdatedAt == null) + { + throw new InvalidDataException("lastUpdatedAt is a required property for InboundPlan and cannot be null"); + } + else + { + this.LastUpdatedAt = lastUpdatedAt; + } + // to ensure "marketplaceIds" is required (not null) + if (marketplaceIds == null) + { + throw new InvalidDataException("marketplaceIds is a required property for InboundPlan and cannot be null"); + } + else + { + this.MarketplaceIds = marketplaceIds; + } + // to ensure "name" is required (not null) + if (name == null) + { + throw new InvalidDataException("name is a required property for InboundPlan and cannot be null"); + } + else + { + this.Name = name; + } + // to ensure "sourceAddress" is required (not null) + if (sourceAddress == null) + { + throw new InvalidDataException("sourceAddress is a required property for InboundPlan and cannot be null"); + } + else + { + this.SourceAddress = sourceAddress; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for InboundPlan and cannot be null"); + } + else + { + this.Status = status; + } + this.PackingOptions = packingOptions; + this.PlacementOptions = placementOptions; + this.Shipments = shipments; + } + + + public InboundPlan() + { + this.ContactInformation = default(ContactInformation); + this.CreatedAt = default(DateTime?); + this.InboundPlanId = default(string); + this.LastUpdatedAt = default(DateTime?); + this.MarketplaceIds = default(List); + this.Name = default(string); + this.SourceAddress = default(Address); + this.Status = default(string); + this.PackingOptions = default(List); + this.PlacementOptions = default(List); + this.Shipments = default(List); + } + + /// + /// Gets or Sets ContactInformation + /// + [DataMember(Name="contactInformation", EmitDefaultValue=false)] + public ContactInformation ContactInformation { get; set; } + + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="createdAt", EmitDefaultValue=false)] + public DateTime? CreatedAt { get; set; } + + /// + /// Identifier to an inbound plan. + /// + /// Identifier to an inbound plan. + [DataMember(Name="inboundPlanId", EmitDefaultValue=false)] + public string InboundPlanId { get; set; } + + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="lastUpdatedAt", EmitDefaultValue=false)] + public DateTime? LastUpdatedAt { get; set; } + + /// + /// Marketplace IDs. + /// + /// Marketplace IDs. + [DataMember(Name="marketplaceIds", EmitDefaultValue=false)] + public List MarketplaceIds { get; set; } + + /// + /// The human-readable name of the inbound plan. + /// + /// The human-readable name of the inbound plan. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details. + /// + /// Packing options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only packing options for that placement option will be returned. If there are confirmed shipments, only packing options for those shipments will be returned. Query the packing option for more details. + [DataMember(Name="packingOptions", EmitDefaultValue=false)] + public List PackingOptions { get; set; } + + /// + /// Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details. + /// + /// Placement options for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, that will be the only returned option. Query the placement option for more details. + [DataMember(Name="placementOptions", EmitDefaultValue=false)] + public List PlacementOptions { get; set; } + + /// + /// Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details. + /// + /// Shipment IDs for the inbound plan. This property will be populated when it has been generated via the corresponding endpoint. If there is a chosen placement option, only shipments for that option will be returned. If there are confirmed shipments, only those shipments will be returned. Query the shipment for more details. + [DataMember(Name="shipments", EmitDefaultValue=false)] + public List Shipments { get; set; } + + /// + /// Gets or Sets SourceAddress + /// + [DataMember(Name="sourceAddress", EmitDefaultValue=false)] + public Address SourceAddress { get; set; } + + /// + /// Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`. + /// + /// Current status of the inbound plan. Can be `ACTIVE`, `VOIDED`, or `SHIPPED`. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { 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 InboundPlan {\n"); + sb.Append(" ContactInformation: ").Append(ContactInformation).Append("\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" InboundPlanId: ").Append(InboundPlanId).Append("\n"); + sb.Append(" LastUpdatedAt: ").Append(LastUpdatedAt).Append("\n"); + sb.Append(" MarketplaceIds: ").Append(MarketplaceIds).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" PackingOptions: ").Append(PackingOptions).Append("\n"); + sb.Append(" PlacementOptions: ").Append(PlacementOptions).Append("\n"); + sb.Append(" Shipments: ").Append(Shipments).Append("\n"); + sb.Append(" SourceAddress: ").Append(SourceAddress).Append("\n"); + sb.Append(" Status: ").Append(Status).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 InboundPlan); + } + + /// + /// Returns true if InboundPlan instances are equal + /// + /// Instance of InboundPlan to be compared + /// Boolean + public bool Equals(InboundPlan input) + { + if (input == null) + return false; + + return + ( + this.ContactInformation == input.ContactInformation || + (this.ContactInformation != null && + this.ContactInformation.Equals(input.ContactInformation)) + ) && + ( + this.CreatedAt == input.CreatedAt || + (this.CreatedAt != null && + this.CreatedAt.Equals(input.CreatedAt)) + ) && + ( + this.InboundPlanId == input.InboundPlanId || + (this.InboundPlanId != null && + this.InboundPlanId.Equals(input.InboundPlanId)) + ) && + ( + this.LastUpdatedAt == input.LastUpdatedAt || + (this.LastUpdatedAt != null && + this.LastUpdatedAt.Equals(input.LastUpdatedAt)) + ) && + ( + this.MarketplaceIds == input.MarketplaceIds || + this.MarketplaceIds != null && + this.MarketplaceIds.SequenceEqual(input.MarketplaceIds) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.PackingOptions == input.PackingOptions || + this.PackingOptions != null && + this.PackingOptions.SequenceEqual(input.PackingOptions) + ) && + ( + this.PlacementOptions == input.PlacementOptions || + this.PlacementOptions != null && + this.PlacementOptions.SequenceEqual(input.PlacementOptions) + ) && + ( + this.Shipments == input.Shipments || + this.Shipments != null && + this.Shipments.SequenceEqual(input.Shipments) + ) && + ( + this.SourceAddress == input.SourceAddress || + (this.SourceAddress != null && + this.SourceAddress.Equals(input.SourceAddress)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ContactInformation != null) + hashCode = hashCode * 59 + this.ContactInformation.GetHashCode(); + if (this.CreatedAt != null) + hashCode = hashCode * 59 + this.CreatedAt.GetHashCode(); + if (this.InboundPlanId != null) + hashCode = hashCode * 59 + this.InboundPlanId.GetHashCode(); + if (this.LastUpdatedAt != null) + hashCode = hashCode * 59 + this.LastUpdatedAt.GetHashCode(); + if (this.MarketplaceIds != null) + hashCode = hashCode * 59 + this.MarketplaceIds.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.PackingOptions != null) + hashCode = hashCode * 59 + this.PackingOptions.GetHashCode(); + if (this.PlacementOptions != null) + hashCode = hashCode * 59 + this.PlacementOptions.GetHashCode(); + if (this.Shipments != null) + hashCode = hashCode * 59 + this.Shipments.GetHashCode(); + if (this.SourceAddress != null) + hashCode = hashCode * 59 + this.SourceAddress.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // InboundPlanId (string) maxLength + if(this.InboundPlanId != null && this.InboundPlanId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be less than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) minLength + if(this.InboundPlanId != null && this.InboundPlanId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be greater than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) pattern + Regex regexInboundPlanId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexInboundPlanId.Match(this.InboundPlanId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, must match a pattern of " + regexInboundPlanId, new [] { "InboundPlanId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlanSummary.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlanSummary.cs new file mode 100644 index 00000000..af5aad1f --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/InboundPlanSummary.cs @@ -0,0 +1,338 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// A light-weight inbound plan. + /// + [DataContract] + public partial class InboundPlanSummary : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected InboundPlanSummary() { } + /// + /// Initializes a new instance of the class. + /// + /// contactInformation (required). + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. (required). + /// Identifier to an inbound plan. (required). + /// ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. (required). + /// Marketplace IDs. (required). + /// Human-readable name of the inbound plan. (required). + /// sourceAddress (required). + /// Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'. (required). + public InboundPlanSummary(ContactInformation contactInformation = default(ContactInformation), DateTime? createdAt = default(DateTime?), string inboundPlanId = default(string), DateTime? lastUpdatedAt = default(DateTime?), List marketplaceIds = default(List), string name = default(string), Address sourceAddress = default(Address), string status = default(string)) + { + // to ensure "contactInformation" is required (not null) + if (contactInformation == null) + { + throw new InvalidDataException("contactInformation is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.ContactInformation = contactInformation; + } + // to ensure "createdAt" is required (not null) + if (createdAt == null) + { + throw new InvalidDataException("createdAt is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.CreatedAt = createdAt; + } + // to ensure "inboundPlanId" is required (not null) + if (inboundPlanId == null) + { + throw new InvalidDataException("inboundPlanId is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.InboundPlanId = inboundPlanId; + } + // to ensure "lastUpdatedAt" is required (not null) + if (lastUpdatedAt == null) + { + throw new InvalidDataException("lastUpdatedAt is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.LastUpdatedAt = lastUpdatedAt; + } + // to ensure "marketplaceIds" is required (not null) + if (marketplaceIds == null) + { + throw new InvalidDataException("marketplaceIds is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.MarketplaceIds = marketplaceIds; + } + // to ensure "name" is required (not null) + if (name == null) + { + throw new InvalidDataException("name is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.Name = name; + } + // to ensure "sourceAddress" is required (not null) + if (sourceAddress == null) + { + throw new InvalidDataException("sourceAddress is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.SourceAddress = sourceAddress; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for InboundPlanSummary and cannot be null"); + } + else + { + this.Status = status; + } + } + + /// + /// Gets or Sets ContactInformation + /// + [DataMember(Name="contactInformation", EmitDefaultValue=false)] + public ContactInformation ContactInformation { get; set; } + + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="createdAt", EmitDefaultValue=false)] + public DateTime? CreatedAt { get; set; } + + /// + /// Identifier to an inbound plan. + /// + /// Identifier to an inbound plan. + [DataMember(Name="inboundPlanId", EmitDefaultValue=false)] + public string InboundPlanId { get; set; } + + /// + /// ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="lastUpdatedAt", EmitDefaultValue=false)] + public DateTime? LastUpdatedAt { get; set; } + + /// + /// Marketplace IDs. + /// + /// Marketplace IDs. + [DataMember(Name="marketplaceIds", EmitDefaultValue=false)] + public List MarketplaceIds { get; set; } + + /// + /// Human-readable name of the inbound plan. + /// + /// Human-readable name of the inbound plan. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Gets or Sets SourceAddress + /// + [DataMember(Name="sourceAddress", EmitDefaultValue=false)] + public Address SourceAddress { get; set; } + + /// + /// Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'. + /// + /// Current status of the inbound plan. Can be 'ACTIVE', 'VOIDED', or 'SHIPPED'. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { 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 InboundPlanSummary {\n"); + sb.Append(" ContactInformation: ").Append(ContactInformation).Append("\n"); + sb.Append(" CreatedAt: ").Append(CreatedAt).Append("\n"); + sb.Append(" InboundPlanId: ").Append(InboundPlanId).Append("\n"); + sb.Append(" LastUpdatedAt: ").Append(LastUpdatedAt).Append("\n"); + sb.Append(" MarketplaceIds: ").Append(MarketplaceIds).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" SourceAddress: ").Append(SourceAddress).Append("\n"); + sb.Append(" Status: ").Append(Status).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 InboundPlanSummary); + } + + /// + /// Returns true if InboundPlanSummary instances are equal + /// + /// Instance of InboundPlanSummary to be compared + /// Boolean + public bool Equals(InboundPlanSummary input) + { + if (input == null) + return false; + + return + ( + this.ContactInformation == input.ContactInformation || + (this.ContactInformation != null && + this.ContactInformation.Equals(input.ContactInformation)) + ) && + ( + this.CreatedAt == input.CreatedAt || + (this.CreatedAt != null && + this.CreatedAt.Equals(input.CreatedAt)) + ) && + ( + this.InboundPlanId == input.InboundPlanId || + (this.InboundPlanId != null && + this.InboundPlanId.Equals(input.InboundPlanId)) + ) && + ( + this.LastUpdatedAt == input.LastUpdatedAt || + (this.LastUpdatedAt != null && + this.LastUpdatedAt.Equals(input.LastUpdatedAt)) + ) && + ( + this.MarketplaceIds == input.MarketplaceIds || + this.MarketplaceIds != null && + this.MarketplaceIds.SequenceEqual(input.MarketplaceIds) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.SourceAddress == input.SourceAddress || + (this.SourceAddress != null && + this.SourceAddress.Equals(input.SourceAddress)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ContactInformation != null) + hashCode = hashCode * 59 + this.ContactInformation.GetHashCode(); + if (this.CreatedAt != null) + hashCode = hashCode * 59 + this.CreatedAt.GetHashCode(); + if (this.InboundPlanId != null) + hashCode = hashCode * 59 + this.InboundPlanId.GetHashCode(); + if (this.LastUpdatedAt != null) + hashCode = hashCode * 59 + this.LastUpdatedAt.GetHashCode(); + if (this.MarketplaceIds != null) + hashCode = hashCode * 59 + this.MarketplaceIds.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.SourceAddress != null) + hashCode = hashCode * 59 + this.SourceAddress.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // InboundPlanId (string) maxLength + if(this.InboundPlanId != null && this.InboundPlanId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be less than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) minLength + if(this.InboundPlanId != null && this.InboundPlanId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be greater than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) pattern + Regex regexInboundPlanId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexInboundPlanId.Match(this.InboundPlanId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, must match a pattern of " + regexInboundPlanId, new [] { "InboundPlanId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Incentive.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Incentive.cs new file mode 100644 index 00000000..4fc33f71 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Incentive.cs @@ -0,0 +1,242 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains details about cost related modifications to the placement cost. + /// + [DataContract] + public partial class Incentive : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Incentive() { } + /// + /// Initializes a new instance of the class. + /// + /// Description of the incentive. (required). + /// Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'. (required). + /// Type of incentive. Can be `FEE` or `DISCOUNT`. (required). + /// value (required). + public Incentive(string description = default(string), string target = default(string), string type = default(string), Currency value = default(Currency)) + { + // to ensure "description" is required (not null) + if (description == null) + { + throw new InvalidDataException("description is a required property for Incentive and cannot be null"); + } + else + { + this.Description = description; + } + // to ensure "target" is required (not null) + if (target == null) + { + throw new InvalidDataException("target is a required property for Incentive and cannot be null"); + } + else + { + this.Target = target; + } + // to ensure "type" is required (not null) + if (type == null) + { + throw new InvalidDataException("type is a required property for Incentive and cannot be null"); + } + else + { + this.Type = type; + } + // to ensure "value" is required (not null) + if (value == null) + { + throw new InvalidDataException("value is a required property for Incentive and cannot be null"); + } + else + { + this.Value = value; + } + } + + /// + /// Description of the incentive. + /// + /// Description of the incentive. + [DataMember(Name="description", EmitDefaultValue=false)] + public string Description { get; set; } + + /// + /// Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'. + /// + /// Target of the incentive. Can be 'Placement Services' or 'Fulfillment Fee Discount'. + [DataMember(Name="target", EmitDefaultValue=false)] + public string Target { get; set; } + + /// + /// Type of incentive. Can be `FEE` or `DISCOUNT`. + /// + /// Type of incentive. Can be `FEE` or `DISCOUNT`. + [DataMember(Name="type", EmitDefaultValue=false)] + public string Type { get; set; } + + /// + /// Gets or Sets Value + /// + [DataMember(Name="value", EmitDefaultValue=false)] + public Currency Value { 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 Incentive {\n"); + sb.Append(" Description: ").Append(Description).Append("\n"); + sb.Append(" Target: ").Append(Target).Append("\n"); + sb.Append(" Type: ").Append(Type).Append("\n"); + sb.Append(" Value: ").Append(Value).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 Incentive); + } + + /// + /// Returns true if Incentive instances are equal + /// + /// Instance of Incentive to be compared + /// Boolean + public bool Equals(Incentive input) + { + if (input == null) + return false; + + return + ( + this.Description == input.Description || + (this.Description != null && + this.Description.Equals(input.Description)) + ) && + ( + this.Target == input.Target || + (this.Target != null && + this.Target.Equals(input.Target)) + ) && + ( + this.Type == input.Type || + (this.Type != null && + this.Type.Equals(input.Type)) + ) && + ( + this.Value == input.Value || + (this.Value != null && + this.Value.Equals(input.Value)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Description != null) + hashCode = hashCode * 59 + this.Description.GetHashCode(); + if (this.Target != null) + hashCode = hashCode * 59 + this.Target.GetHashCode(); + if (this.Type != null) + hashCode = hashCode * 59 + this.Type.GetHashCode(); + if (this.Value != null) + hashCode = hashCode * 59 + this.Value.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Description (string) maxLength + if(this.Description != null && this.Description.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Description, length must be less than 1024.", new [] { "Description" }); + } + + // Description (string) minLength + if(this.Description != null && this.Description.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Description, length must be greater than 1.", new [] { "Description" }); + } + + // Target (string) maxLength + if(this.Target != null && this.Target.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Target, length must be less than 1024.", new [] { "Target" }); + } + + // Target (string) minLength + if(this.Target != null && this.Target.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Target, length must be greater than 1.", new [] { "Target" }); + } + + // Type (string) maxLength + if(this.Type != null && this.Type.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Type, length must be less than 1024.", new [] { "Type" }); + } + + // Type (string) minLength + if(this.Type != null && this.Type.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Type, length must be greater than 1.", new [] { "Type" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Item.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Item.cs new file mode 100644 index 00000000..f2775142 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Item.cs @@ -0,0 +1,372 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Information associated with a single SKU in the seller's catalog. + /// + [DataContract] + public partial class Item : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Item() { } + /// + /// Initializes a new instance of the class. + /// + /// The Amazon Standard Identification Number (ASIN) of the item. (required). + /// The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.. + /// A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center. (required). + /// Specifies who will label the items. Options include `AMAZON` and `SELLER`. (required). + /// The manufacturing lot code.. + /// The merchant defined SKU ID. (required). + /// Special preparations that are required for an item. (required). + /// The number of the specified MSKU. (required). + public Item(string asin = default(string), string expiration = default(string), string fnsku = default(string), string labelOwner = default(string), string manufacturingLotCode = default(string), string msku = default(string), List prepInstructions = default(List), int? quantity = default(int?)) + { + // to ensure "asin" is required (not null) + if (asin == null) + { + throw new InvalidDataException("asin is a required property for Item and cannot be null"); + } + else + { + this.Asin = asin; + } + // to ensure "fnsku" is required (not null) + if (fnsku == null) + { + throw new InvalidDataException("fnsku is a required property for Item and cannot be null"); + } + else + { + this.Fnsku = fnsku; + } + // to ensure "labelOwner" is required (not null) + if (labelOwner == null) + { + throw new InvalidDataException("labelOwner is a required property for Item and cannot be null"); + } + else + { + this.LabelOwner = labelOwner; + } + // to ensure "msku" is required (not null) + if (msku == null) + { + throw new InvalidDataException("msku is a required property for Item and cannot be null"); + } + else + { + this.Msku = msku; + } + // to ensure "prepInstructions" is required (not null) + if (prepInstructions == null) + { + throw new InvalidDataException("prepInstructions is a required property for Item and cannot be null"); + } + else + { + this.PrepInstructions = prepInstructions; + } + // to ensure "quantity" is required (not null) + if (quantity == null) + { + throw new InvalidDataException("quantity is a required property for Item and cannot be null"); + } + else + { + this.Quantity = quantity; + } + this.Expiration = expiration; + this.ManufacturingLotCode = manufacturingLotCode; + } + + /// + /// The Amazon Standard Identification Number (ASIN) of the item. + /// + /// The Amazon Standard Identification Number (ASIN) of the item. + [DataMember(Name="asin", EmitDefaultValue=false)] + public string Asin { get; set; } + + /// + /// The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box. + /// + /// The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public string Expiration { get; set; } + + /// + /// A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center. + /// + /// A unique identifier assigned by Amazon to products stored in and fulfilled from an Amazon fulfillment center. + [DataMember(Name="fnsku", EmitDefaultValue=false)] + public string Fnsku { get; set; } + + /// + /// Specifies who will label the items. Options include `AMAZON` and `SELLER`. + /// + /// Specifies who will label the items. Options include `AMAZON` and `SELLER`. + [DataMember(Name="labelOwner", EmitDefaultValue=false)] + public string LabelOwner { get; set; } + + /// + /// The manufacturing lot code. + /// + /// The manufacturing lot code. + [DataMember(Name="manufacturingLotCode", EmitDefaultValue=false)] + public string ManufacturingLotCode { get; set; } + + /// + /// The merchant defined SKU ID. + /// + /// The merchant defined SKU ID. + [DataMember(Name="msku", EmitDefaultValue=false)] + public string Msku { get; set; } + + /// + /// Special preparations that are required for an item. + /// + /// Special preparations that are required for an item. + [DataMember(Name="prepInstructions", EmitDefaultValue=false)] + public List PrepInstructions { get; set; } + + /// + /// The number of the specified MSKU. + /// + /// The number of the specified MSKU. + [DataMember(Name="quantity", EmitDefaultValue=false)] + public int? Quantity { 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 Item {\n"); + sb.Append(" Asin: ").Append(Asin).Append("\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" Fnsku: ").Append(Fnsku).Append("\n"); + sb.Append(" LabelOwner: ").Append(LabelOwner).Append("\n"); + sb.Append(" ManufacturingLotCode: ").Append(ManufacturingLotCode).Append("\n"); + sb.Append(" Msku: ").Append(Msku).Append("\n"); + sb.Append(" PrepInstructions: ").Append(PrepInstructions).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).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 Item); + } + + /// + /// Returns true if Item instances are equal + /// + /// Instance of Item to be compared + /// Boolean + public bool Equals(Item input) + { + if (input == null) + return false; + + return + ( + this.Asin == input.Asin || + (this.Asin != null && + this.Asin.Equals(input.Asin)) + ) && + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.Fnsku == input.Fnsku || + (this.Fnsku != null && + this.Fnsku.Equals(input.Fnsku)) + ) && + ( + this.LabelOwner == input.LabelOwner || + (this.LabelOwner != null && + this.LabelOwner.Equals(input.LabelOwner)) + ) && + ( + this.ManufacturingLotCode == input.ManufacturingLotCode || + (this.ManufacturingLotCode != null && + this.ManufacturingLotCode.Equals(input.ManufacturingLotCode)) + ) && + ( + this.Msku == input.Msku || + (this.Msku != null && + this.Msku.Equals(input.Msku)) + ) && + ( + this.PrepInstructions == input.PrepInstructions || + this.PrepInstructions != null && + this.PrepInstructions.SequenceEqual(input.PrepInstructions) + ) && + ( + this.Quantity == input.Quantity || + (this.Quantity != null && + this.Quantity.Equals(input.Quantity)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Asin != null) + hashCode = hashCode * 59 + this.Asin.GetHashCode(); + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.Fnsku != null) + hashCode = hashCode * 59 + this.Fnsku.GetHashCode(); + if (this.LabelOwner != null) + hashCode = hashCode * 59 + this.LabelOwner.GetHashCode(); + if (this.ManufacturingLotCode != null) + hashCode = hashCode * 59 + this.ManufacturingLotCode.GetHashCode(); + if (this.Msku != null) + hashCode = hashCode * 59 + this.Msku.GetHashCode(); + if (this.PrepInstructions != null) + hashCode = hashCode * 59 + this.PrepInstructions.GetHashCode(); + if (this.Quantity != null) + hashCode = hashCode * 59 + this.Quantity.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Asin (string) maxLength + if(this.Asin != null && this.Asin.Length > 10) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Asin, length must be less than 10.", new [] { "Asin" }); + } + + // Asin (string) minLength + if(this.Asin != null && this.Asin.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Asin, length must be greater than 1.", new [] { "Asin" }); + } + + // Expiration (string) pattern + Regex regexExpiration = new Regex(@"^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", RegexOptions.CultureInvariant); + if (false == regexExpiration.Match(this.Expiration).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Expiration, must match a pattern of " + regexExpiration, new [] { "Expiration" }); + } + + // Fnsku (string) maxLength + if(this.Fnsku != null && this.Fnsku.Length > 10) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Fnsku, length must be less than 10.", new [] { "Fnsku" }); + } + + // Fnsku (string) minLength + if(this.Fnsku != null && this.Fnsku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Fnsku, length must be greater than 1.", new [] { "Fnsku" }); + } + + // LabelOwner (string) maxLength + if(this.LabelOwner != null && this.LabelOwner.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for LabelOwner, length must be less than 1024.", new [] { "LabelOwner" }); + } + + // LabelOwner (string) minLength + if(this.LabelOwner != null && this.LabelOwner.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for LabelOwner, length must be greater than 1.", new [] { "LabelOwner" }); + } + + // ManufacturingLotCode (string) maxLength + if(this.ManufacturingLotCode != null && this.ManufacturingLotCode.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ManufacturingLotCode, length must be less than 256.", new [] { "ManufacturingLotCode" }); + } + + // ManufacturingLotCode (string) minLength + if(this.ManufacturingLotCode != null && this.ManufacturingLotCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ManufacturingLotCode, length must be greater than 1.", new [] { "ManufacturingLotCode" }); + } + + // Msku (string) maxLength + if(this.Msku != null && this.Msku.Length > 40) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be less than 40.", new [] { "Msku" }); + } + + // Msku (string) minLength + if(this.Msku != null && this.Msku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be greater than 1.", new [] { "Msku" }); + } + + // Quantity (int?) maximum + if(this.Quantity > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value less than or equal to 10000.", new [] { "Quantity" }); + } + + // Quantity (int?) minimum + if(this.Quantity < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value greater than or equal to 1.", new [] { "Quantity" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ItemInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ItemInput.cs new file mode 100644 index 00000000..138a4a69 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ItemInput.cs @@ -0,0 +1,283 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Defines an item's input parameters. + /// + [DataContract] + public partial class ItemInput : IEquatable, IValidatableObject + { + /// + /// Gets or Sets LabelOwner + /// + [DataMember(Name="labelOwner", EmitDefaultValue=false)] + public LabelOwner LabelOwner { get; set; } + /// + /// Gets or Sets PrepOwner + /// + [DataMember(Name="prepOwner", EmitDefaultValue=false)] + public PrepOwner PrepOwner { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ItemInput() { } + /// + /// Initializes a new instance of the class. + /// + /// The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box.. + /// labelOwner (required). + /// The manufacturing lot code.. + /// The merchant SKU. (required). + /// prepOwner (required). + /// The number of units of the specified MSKU that will be shipped. (required). + public ItemInput(string expiration = default(string), LabelOwner labelOwner = default(LabelOwner), string manufacturingLotCode = default(string), string msku = default(string), PrepOwner prepOwner = default(PrepOwner), int? quantity = default(int?)) + { + // to ensure "labelOwner" is required (not null) + if (labelOwner == null) + { + throw new InvalidDataException("labelOwner is a required property for ItemInput and cannot be null"); + } + else + { + this.LabelOwner = labelOwner; + } + // to ensure "msku" is required (not null) + if (msku == null) + { + throw new InvalidDataException("msku is a required property for ItemInput and cannot be null"); + } + else + { + this.Msku = msku; + } + // to ensure "prepOwner" is required (not null) + if (prepOwner == null) + { + throw new InvalidDataException("prepOwner is a required property for ItemInput and cannot be null"); + } + else + { + this.PrepOwner = prepOwner; + } + // to ensure "quantity" is required (not null) + if (quantity == null) + { + throw new InvalidDataException("quantity is a required property for ItemInput and cannot be null"); + } + else + { + this.Quantity = quantity; + } + this.Expiration = expiration; + this.ManufacturingLotCode = manufacturingLotCode; + } + + /// + /// The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box. + /// + /// The expiration date of the MSKU in ISO 8601 format. The same MSKU with different expiration dates cannot go into the same box. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public string Expiration { get; set; } + + + /// + /// The manufacturing lot code. + /// + /// The manufacturing lot code. + [DataMember(Name="manufacturingLotCode", EmitDefaultValue=false)] + public string ManufacturingLotCode { get; set; } + + /// + /// The merchant SKU. + /// + /// The merchant SKU. + [DataMember(Name="msku", EmitDefaultValue=false)] + public string Msku { get; set; } + + + /// + /// The number of units of the specified MSKU that will be shipped. + /// + /// The number of units of the specified MSKU that will be shipped. + [DataMember(Name="quantity", EmitDefaultValue=false)] + public int? Quantity { 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 ItemInput {\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" LabelOwner: ").Append(LabelOwner).Append("\n"); + sb.Append(" ManufacturingLotCode: ").Append(ManufacturingLotCode).Append("\n"); + sb.Append(" Msku: ").Append(Msku).Append("\n"); + sb.Append(" PrepOwner: ").Append(PrepOwner).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).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 ItemInput); + } + + /// + /// Returns true if ItemInput instances are equal + /// + /// Instance of ItemInput to be compared + /// Boolean + public bool Equals(ItemInput input) + { + if (input == null) + return false; + + return + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.LabelOwner == input.LabelOwner || + (this.LabelOwner != null && + this.LabelOwner.Equals(input.LabelOwner)) + ) && + ( + this.ManufacturingLotCode == input.ManufacturingLotCode || + (this.ManufacturingLotCode != null && + this.ManufacturingLotCode.Equals(input.ManufacturingLotCode)) + ) && + ( + this.Msku == input.Msku || + (this.Msku != null && + this.Msku.Equals(input.Msku)) + ) && + ( + this.PrepOwner == input.PrepOwner || + (this.PrepOwner != null && + this.PrepOwner.Equals(input.PrepOwner)) + ) && + ( + this.Quantity == input.Quantity || + (this.Quantity != null && + this.Quantity.Equals(input.Quantity)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.LabelOwner != null) + hashCode = hashCode * 59 + this.LabelOwner.GetHashCode(); + if (this.ManufacturingLotCode != null) + hashCode = hashCode * 59 + this.ManufacturingLotCode.GetHashCode(); + if (this.Msku != null) + hashCode = hashCode * 59 + this.Msku.GetHashCode(); + if (this.PrepOwner != null) + hashCode = hashCode * 59 + this.PrepOwner.GetHashCode(); + if (this.Quantity != null) + hashCode = hashCode * 59 + this.Quantity.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Expiration (string) pattern + Regex regexExpiration = new Regex(@"^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$", RegexOptions.CultureInvariant); + if (false == regexExpiration.Match(this.Expiration).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Expiration, must match a pattern of " + regexExpiration, new [] { "Expiration" }); + } + + // ManufacturingLotCode (string) maxLength + if(this.ManufacturingLotCode != null && this.ManufacturingLotCode.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ManufacturingLotCode, length must be less than 256.", new [] { "ManufacturingLotCode" }); + } + + // ManufacturingLotCode (string) minLength + if(this.ManufacturingLotCode != null && this.ManufacturingLotCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ManufacturingLotCode, length must be greater than 1.", new [] { "ManufacturingLotCode" }); + } + + // Msku (string) maxLength + if(this.Msku != null && this.Msku.Length > 40) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be less than 40.", new [] { "Msku" }); + } + + // Msku (string) minLength + if(this.Msku != null && this.Msku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be greater than 1.", new [] { "Msku" }); + } + + // Quantity (int?) maximum + if(this.Quantity > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value less than or equal to 10000.", new [] { "Quantity" }); + } + + // Quantity (int?) minimum + if(this.Quantity < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value greater than or equal to 1.", new [] { "Quantity" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LabelOwner.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LabelOwner.cs new file mode 100644 index 00000000..db9b7cd5 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LabelOwner.cs @@ -0,0 +1,40 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Specifies who will label the items. Options include `AMAZON` and `SELLER`. + /// + /// Specifies who will label the items. Options include `AMAZON` and `SELLER`. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum LabelOwner + { + + /// + /// Enum AMAZON for value: AMAZON + /// + [EnumMember(Value = "AMAZON")] + AMAZON = 1, + + /// + /// Enum SELLER for value: SELLER + /// + [EnumMember(Value = "SELLER")] + SELLER = 2 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanBoxesResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanBoxesResponse.cs new file mode 100644 index 00000000..cca02569 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanBoxesResponse.cs @@ -0,0 +1,150 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listInboundPlanBoxes` response. + /// + [DataContract] + public partial class ListInboundPlanBoxesResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// A list of boxes in an inbound plan. (required). + /// pagination. + public ListInboundPlanBoxesResponse(List boxes = default(List), Pagination pagination = default(Pagination)) + { + // to ensure "boxes" is required (not null) + if (boxes == null) + { + throw new InvalidDataException("boxes is a required property for ListInboundPlanBoxesResponse and cannot be null"); + } + else + { + this.Boxes = boxes; + } + this.Pagination = pagination; + } + + public ListInboundPlanBoxesResponse() + { + this.Boxes = default(List); + this.Pagination = default(Pagination); + } + + /// + /// A list of boxes in an inbound plan. + /// + /// A list of boxes in an inbound plan. + [DataMember(Name="boxes", EmitDefaultValue=false)] + public List Boxes { get; set; } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { 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 ListInboundPlanBoxesResponse {\n"); + sb.Append(" Boxes: ").Append(Boxes).Append("\n"); + sb.Append(" Pagination: ").Append(Pagination).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 ListInboundPlanBoxesResponse); + } + + /// + /// Returns true if ListInboundPlanBoxesResponse instances are equal + /// + /// Instance of ListInboundPlanBoxesResponse to be compared + /// Boolean + public bool Equals(ListInboundPlanBoxesResponse input) + { + if (input == null) + return false; + + return + ( + this.Boxes == input.Boxes || + this.Boxes != null && + this.Boxes.SequenceEqual(input.Boxes) + ) && + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Boxes != null) + hashCode = hashCode * 59 + this.Boxes.GetHashCode(); + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanItemsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanItemsResponse.cs new file mode 100644 index 00000000..d3eb255e --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanItemsResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listInboundPlanItems` response. + /// + [DataContract] + public partial class ListInboundPlanItemsResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// The items in an inbound plan. (required). + /// pagination. + public ListInboundPlanItemsResponse(List items = default(List), Pagination pagination = default(Pagination)) + { + // to ensure "items" is required (not null) + if (items == null) + { + throw new InvalidDataException("items is a required property for ListInboundPlanItemsResponse and cannot be null"); + } + else + { + this.Items = items; + } + this.Pagination = pagination; + } + + public ListInboundPlanItemsResponse() + { + this.Items = default(List); + this.Pagination = default(Pagination); + } + + /// + /// The items in an inbound plan. + /// + /// The items in an inbound plan. + [DataMember(Name="items", EmitDefaultValue=false)] + public List Items { get; set; } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { 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 ListInboundPlanItemsResponse {\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" Pagination: ").Append(Pagination).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 ListInboundPlanItemsResponse); + } + + /// + /// Returns true if ListInboundPlanItemsResponse instances are equal + /// + /// Instance of ListInboundPlanItemsResponse to be compared + /// Boolean + public bool Equals(ListInboundPlanItemsResponse input) + { + if (input == null) + return false; + + return + ( + this.Items == input.Items || + this.Items != null && + this.Items.SequenceEqual(input.Items) + ) && + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Items != null) + hashCode = hashCode * 59 + this.Items.GetHashCode(); + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanPalletsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanPalletsResponse.cs new file mode 100644 index 00000000..bdaf3cb1 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlanPalletsResponse.cs @@ -0,0 +1,149 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listInboundPlanPallets` response. + /// + [DataContract] + public partial class ListInboundPlanPalletsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// pagination. + /// The pallets in an inbound plan. (required). + public ListInboundPlanPalletsResponse(Pagination pagination = default(Pagination), List pallets = default(List)) + { + // to ensure "pallets" is required (not null) + if (pallets == null) + { + throw new InvalidDataException("pallets is a required property for ListInboundPlanPalletsResponse and cannot be null"); + } + else + { + this.Pallets = pallets; + } + this.Pagination = pagination; + } + public ListInboundPlanPalletsResponse() + { + this.Pallets = default(List); + this.Pagination = default(Pagination); + } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { get; set; } + + /// + /// The pallets in an inbound plan. + /// + /// The pallets in an inbound plan. + [DataMember(Name="pallets", EmitDefaultValue=false)] + public List Pallets { 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 ListInboundPlanPalletsResponse {\n"); + sb.Append(" Pagination: ").Append(Pagination).Append("\n"); + sb.Append(" Pallets: ").Append(Pallets).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 ListInboundPlanPalletsResponse); + } + + /// + /// Returns true if ListInboundPlanPalletsResponse instances are equal + /// + /// Instance of ListInboundPlanPalletsResponse to be compared + /// Boolean + public bool Equals(ListInboundPlanPalletsResponse input) + { + if (input == null) + return false; + + return + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ) && + ( + this.Pallets == input.Pallets || + this.Pallets != null && + this.Pallets.SequenceEqual(input.Pallets) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + if (this.Pallets != null) + hashCode = hashCode * 59 + this.Pallets.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlansResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlansResponse.cs new file mode 100644 index 00000000..ff3a67ff --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListInboundPlansResponse.cs @@ -0,0 +1,140 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// `listInboundPlans` response. + /// + [DataContract] + public partial class ListInboundPlansResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// A list of inbound plans with minimal information.. + /// pagination. + public ListInboundPlansResponse(List inboundPlans = default(List), Pagination pagination = default(Pagination)) + { + this.InboundPlans = inboundPlans; + this.Pagination = pagination; + } + public ListInboundPlansResponse() + { + this.InboundPlans = default(List); + this.Pagination = default(Pagination); + } + + /// + /// A list of inbound plans with minimal information. + /// + /// A list of inbound plans with minimal information. + [DataMember(Name="inboundPlans", EmitDefaultValue=false)] + public List InboundPlans { get; set; } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { 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 ListInboundPlansResponse {\n"); + sb.Append(" InboundPlans: ").Append(InboundPlans).Append("\n"); + sb.Append(" Pagination: ").Append(Pagination).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 ListInboundPlansResponse); + } + + /// + /// Returns true if ListInboundPlansResponse instances are equal + /// + /// Instance of ListInboundPlansResponse to be compared + /// Boolean + public bool Equals(ListInboundPlansResponse input) + { + if (input == null) + return false; + + return + ( + this.InboundPlans == input.InboundPlans || + this.InboundPlans != null && + this.InboundPlans.SequenceEqual(input.InboundPlans) + ) && + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.InboundPlans != null) + hashCode = hashCode * 59 + this.InboundPlans.GetHashCode(); + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListItemComplianceDetailsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListItemComplianceDetailsResponse.cs new file mode 100644 index 00000000..6efb395c --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListItemComplianceDetailsResponse.cs @@ -0,0 +1,123 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// `listItemComplianceDetails` response. + /// + [DataContract] + public partial class ListItemComplianceDetailsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// List of compliance details.. + public ListItemComplianceDetailsResponse(List complianceDetails = default(List)) + { + this.ComplianceDetails = complianceDetails; + } + public ListItemComplianceDetailsResponse() + { + this.ComplianceDetails = default(List); + } + + /// + /// List of compliance details. + /// + /// List of compliance details. + [DataMember(Name="complianceDetails", EmitDefaultValue=false)] + public List ComplianceDetails { 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 ListItemComplianceDetailsResponse {\n"); + sb.Append(" ComplianceDetails: ").Append(ComplianceDetails).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 ListItemComplianceDetailsResponse); + } + + /// + /// Returns true if ListItemComplianceDetailsResponse instances are equal + /// + /// Instance of ListItemComplianceDetailsResponse to be compared + /// Boolean + public bool Equals(ListItemComplianceDetailsResponse input) + { + if (input == null) + return false; + + return + ( + this.ComplianceDetails == input.ComplianceDetails || + this.ComplianceDetails != null && + this.ComplianceDetails.SequenceEqual(input.ComplianceDetails) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ComplianceDetails != null) + hashCode = hashCode * 59 + this.ComplianceDetails.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingGroupItemsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingGroupItemsResponse.cs new file mode 100644 index 00000000..b4b22407 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingGroupItemsResponse.cs @@ -0,0 +1,149 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listPackingGroupItems` response. + /// + [DataContract] + public partial class ListPackingGroupItemsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Provides the information about the list of items in the inbound plan. (required). + /// pagination. + public ListPackingGroupItemsResponse(List items = default(List), Pagination pagination = default(Pagination)) + { + // to ensure "items" is required (not null) + if (items == null) + { + throw new InvalidDataException("items is a required property for ListPackingGroupItemsResponse and cannot be null"); + } + else + { + this.Items = items; + } + this.Pagination = pagination; + } + public ListPackingGroupItemsResponse() + { + this.Items = default(List); + this.Pagination = default(Pagination); + } + + /// + /// Provides the information about the list of items in the inbound plan. + /// + /// Provides the information about the list of items in the inbound plan. + [DataMember(Name="items", EmitDefaultValue=false)] + public List Items { get; set; } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { 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 ListPackingGroupItemsResponse {\n"); + sb.Append(" Items: ").Append(Items).Append("\n"); + sb.Append(" Pagination: ").Append(Pagination).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 ListPackingGroupItemsResponse); + } + + /// + /// Returns true if ListPackingGroupItemsResponse instances are equal + /// + /// Instance of ListPackingGroupItemsResponse to be compared + /// Boolean + public bool Equals(ListPackingGroupItemsResponse input) + { + if (input == null) + return false; + + return + ( + this.Items == input.Items || + this.Items != null && + this.Items.SequenceEqual(input.Items) + ) && + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Items != null) + hashCode = hashCode * 59 + this.Items.GetHashCode(); + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingOptionsResponse.cs new file mode 100644 index 00000000..a01add9b --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPackingOptionsResponse.cs @@ -0,0 +1,149 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listPackingOptions` response. + /// + [DataContract] + public partial class ListPackingOptionsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// List of packing options. (required). + /// pagination. + public ListPackingOptionsResponse(List packingOptions = default(List), Pagination pagination = default(Pagination)) + { + // to ensure "packingOptions" is required (not null) + if (packingOptions == null) + { + throw new InvalidDataException("packingOptions is a required property for ListPackingOptionsResponse and cannot be null"); + } + else + { + this.PackingOptions = packingOptions; + } + this.Pagination = pagination; + } + public ListPackingOptionsResponse() + { + this.PackingOptions = default(List); + this.Pagination = default(Pagination); + } + + /// + /// List of packing options. + /// + /// List of packing options. + [DataMember(Name="packingOptions", EmitDefaultValue=false)] + public List PackingOptions { get; set; } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { 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 ListPackingOptionsResponse {\n"); + sb.Append(" PackingOptions: ").Append(PackingOptions).Append("\n"); + sb.Append(" Pagination: ").Append(Pagination).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 ListPackingOptionsResponse); + } + + /// + /// Returns true if ListPackingOptionsResponse instances are equal + /// + /// Instance of ListPackingOptionsResponse to be compared + /// Boolean + public bool Equals(ListPackingOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.PackingOptions == input.PackingOptions || + this.PackingOptions != null && + this.PackingOptions.SequenceEqual(input.PackingOptions) + ) && + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.PackingOptions != null) + hashCode = hashCode * 59 + this.PackingOptions.GetHashCode(); + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPlacementOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPlacementOptionsResponse.cs new file mode 100644 index 00000000..e1eb76dc --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListPlacementOptionsResponse.cs @@ -0,0 +1,149 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listPlacementOptions` response. + /// + [DataContract] + public partial class ListPlacementOptionsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// pagination. + /// Placement options generated for the inbound plan. (required). + public ListPlacementOptionsResponse(Pagination pagination = default(Pagination), List placementOptions = default(List)) + { + // to ensure "placementOptions" is required (not null) + if (placementOptions == null) + { + throw new InvalidDataException("placementOptions is a required property for ListPlacementOptionsResponse and cannot be null"); + } + else + { + this.PlacementOptions = placementOptions; + } + this.Pagination = pagination; + } + public ListPlacementOptionsResponse() + { + this.PlacementOptions = default(List); + this.Pagination = default(Pagination); + } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { get; set; } + + /// + /// Placement options generated for the inbound plan. + /// + /// Placement options generated for the inbound plan. + [DataMember(Name="placementOptions", EmitDefaultValue=false)] + public List PlacementOptions { 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 ListPlacementOptionsResponse {\n"); + sb.Append(" Pagination: ").Append(Pagination).Append("\n"); + sb.Append(" PlacementOptions: ").Append(PlacementOptions).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 ListPlacementOptionsResponse); + } + + /// + /// Returns true if ListPlacementOptionsResponse instances are equal + /// + /// Instance of ListPlacementOptionsResponse to be compared + /// Boolean + public bool Equals(ListPlacementOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ) && + ( + this.PlacementOptions == input.PlacementOptions || + this.PlacementOptions != null && + this.PlacementOptions.SequenceEqual(input.PlacementOptions) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + if (this.PlacementOptions != null) + hashCode = hashCode * 59 + this.PlacementOptions.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListTransportationOptionsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListTransportationOptionsResponse.cs new file mode 100644 index 00000000..64d0db5d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ListTransportationOptionsResponse.cs @@ -0,0 +1,150 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `listTransportationOptions` response. + /// + [DataContract] + public partial class ListTransportationOptionsResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// pagination. + /// Transportation options generated for the placement option. (required). + public ListTransportationOptionsResponse(Pagination pagination = default(Pagination), List transportationOptions = default(List)) + { + // to ensure "transportationOptions" is required (not null) + if (transportationOptions == null) + { + throw new InvalidDataException("transportationOptions is a required property for ListTransportationOptionsResponse and cannot be null"); + } + else + { + this.TransportationOptions = transportationOptions; + } + this.Pagination = pagination; + } + public ListTransportationOptionsResponse() + { + this.TransportationOptions = default(List); + this.Pagination = default(Pagination); + } + + /// + /// Gets or Sets Pagination + /// + [DataMember(Name="pagination", EmitDefaultValue=false)] + public Pagination Pagination { get; set; } + + /// + /// Transportation options generated for the placement option. + /// + /// Transportation options generated for the placement option. + [DataMember(Name="transportationOptions", EmitDefaultValue=false)] + public List TransportationOptions { 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 ListTransportationOptionsResponse {\n"); + sb.Append(" Pagination: ").Append(Pagination).Append("\n"); + sb.Append(" TransportationOptions: ").Append(TransportationOptions).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 ListTransportationOptionsResponse); + } + + /// + /// Returns true if ListTransportationOptionsResponse instances are equal + /// + /// Instance of ListTransportationOptionsResponse to be compared + /// Boolean + public bool Equals(ListTransportationOptionsResponse input) + { + if (input == null) + return false; + + return + ( + this.Pagination == input.Pagination || + (this.Pagination != null && + this.Pagination.Equals(input.Pagination)) + ) && + ( + this.TransportationOptions == input.TransportationOptions || + this.TransportationOptions != null && + this.TransportationOptions.SequenceEqual(input.TransportationOptions) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Pagination != null) + hashCode = hashCode * 59 + this.Pagination.GetHashCode(); + if (this.TransportationOptions != null) + hashCode = hashCode * 59 + this.TransportationOptions.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetail.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetail.cs new file mode 100644 index 00000000..b83ff85a --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetail.cs @@ -0,0 +1,148 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// Contains information related to Less-Than-Truckload (LTL) shipment tracking. + /// + [DataContract] + public partial class LtlTrackingDetail : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The number of the carrier shipment acknowledgement document.. + /// The number associated with the freight bill.. + public LtlTrackingDetail(string billOfLadingNumber = default(string), List freightBillNumber = default(List)) + { + this.BillOfLadingNumber = billOfLadingNumber; + this.FreightBillNumber = freightBillNumber; + } + + /// + /// The number of the carrier shipment acknowledgement document. + /// + /// The number of the carrier shipment acknowledgement document. + [DataMember(Name="billOfLadingNumber", EmitDefaultValue=false)] + public string BillOfLadingNumber { get; set; } + + /// + /// The number associated with the freight bill. + /// + /// The number associated with the freight bill. + [DataMember(Name="freightBillNumber", EmitDefaultValue=false)] + public List FreightBillNumber { 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 LtlTrackingDetail {\n"); + sb.Append(" BillOfLadingNumber: ").Append(BillOfLadingNumber).Append("\n"); + sb.Append(" FreightBillNumber: ").Append(FreightBillNumber).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 LtlTrackingDetail); + } + + /// + /// Returns true if LtlTrackingDetail instances are equal + /// + /// Instance of LtlTrackingDetail to be compared + /// Boolean + public bool Equals(LtlTrackingDetail input) + { + if (input == null) + return false; + + return + ( + this.BillOfLadingNumber == input.BillOfLadingNumber || + (this.BillOfLadingNumber != null && + this.BillOfLadingNumber.Equals(input.BillOfLadingNumber)) + ) && + ( + this.FreightBillNumber == input.FreightBillNumber || + this.FreightBillNumber != null && + this.FreightBillNumber.SequenceEqual(input.FreightBillNumber) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BillOfLadingNumber != null) + hashCode = hashCode * 59 + this.BillOfLadingNumber.GetHashCode(); + if (this.FreightBillNumber != null) + hashCode = hashCode * 59 + this.FreightBillNumber.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // BillOfLadingNumber (string) maxLength + if(this.BillOfLadingNumber != null && this.BillOfLadingNumber.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BillOfLadingNumber, length must be less than 1024.", new [] { "BillOfLadingNumber" }); + } + + // BillOfLadingNumber (string) minLength + if(this.BillOfLadingNumber != null && this.BillOfLadingNumber.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BillOfLadingNumber, length must be greater than 1.", new [] { "BillOfLadingNumber" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetailInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetailInput.cs new file mode 100644 index 00000000..d108ad40 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/LtlTrackingDetailInput.cs @@ -0,0 +1,162 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains input information to update Less-Than-Truckload (LTL) tracking information. + /// + [DataContract] + public partial class LtlTrackingDetailInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected LtlTrackingDetailInput() { } + /// + /// Initializes a new instance of the class. + /// + /// The number of the carrier shipment acknowledgement document.. + /// Number associated with the freight bill. (required). + public LtlTrackingDetailInput(string billOfLadingNumber = default(string), List freightBillNumber = default(List)) + { + // to ensure "freightBillNumber" is required (not null) + if (freightBillNumber == null) + { + throw new InvalidDataException("freightBillNumber is a required property for LtlTrackingDetailInput and cannot be null"); + } + else + { + this.FreightBillNumber = freightBillNumber; + } + this.BillOfLadingNumber = billOfLadingNumber; + } + + /// + /// The number of the carrier shipment acknowledgement document. + /// + /// The number of the carrier shipment acknowledgement document. + [DataMember(Name="billOfLadingNumber", EmitDefaultValue=false)] + public string BillOfLadingNumber { get; set; } + + /// + /// Number associated with the freight bill. + /// + /// Number associated with the freight bill. + [DataMember(Name="freightBillNumber", EmitDefaultValue=false)] + public List FreightBillNumber { 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 LtlTrackingDetailInput {\n"); + sb.Append(" BillOfLadingNumber: ").Append(BillOfLadingNumber).Append("\n"); + sb.Append(" FreightBillNumber: ").Append(FreightBillNumber).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 LtlTrackingDetailInput); + } + + /// + /// Returns true if LtlTrackingDetailInput instances are equal + /// + /// Instance of LtlTrackingDetailInput to be compared + /// Boolean + public bool Equals(LtlTrackingDetailInput input) + { + if (input == null) + return false; + + return + ( + this.BillOfLadingNumber == input.BillOfLadingNumber || + (this.BillOfLadingNumber != null && + this.BillOfLadingNumber.Equals(input.BillOfLadingNumber)) + ) && + ( + this.FreightBillNumber == input.FreightBillNumber || + this.FreightBillNumber != null && + this.FreightBillNumber.SequenceEqual(input.FreightBillNumber) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BillOfLadingNumber != null) + hashCode = hashCode * 59 + this.BillOfLadingNumber.GetHashCode(); + if (this.FreightBillNumber != null) + hashCode = hashCode * 59 + this.FreightBillNumber.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // BillOfLadingNumber (string) maxLength + if(this.BillOfLadingNumber != null && this.BillOfLadingNumber.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BillOfLadingNumber, length must be less than 1024.", new [] { "BillOfLadingNumber" }); + } + + // BillOfLadingNumber (string) minLength + if(this.BillOfLadingNumber != null && this.BillOfLadingNumber.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BillOfLadingNumber, length must be greater than 1.", new [] { "BillOfLadingNumber" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationProblem.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationProblem.cs new file mode 100644 index 00000000..52587079 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationProblem.cs @@ -0,0 +1,247 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// A problem with additional properties persisted to an operation. + /// + [DataContract] + public partial class OperationProblem : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected OperationProblem() { } + /// + /// Initializes a new instance of the class. + /// + /// An error code that identifies the type of error that occurred. (required). + /// Additional details that can help the caller understand or fix the issue.. + /// A message that describes the error condition. (required). + /// The severity of the problem. Can be 'WARNING', or 'ERROR'. (required). + public OperationProblem(string code = default(string), string details = default(string), string message = default(string), string severity = default(string)) + { + // to ensure "code" is required (not null) + if (code == null) + { + throw new InvalidDataException("code is a required property for OperationProblem and cannot be null"); + } + else + { + this.Code = code; + } + // to ensure "message" is required (not null) + if (message == null) + { + throw new InvalidDataException("message is a required property for OperationProblem and cannot be null"); + } + else + { + this.Message = message; + } + // to ensure "severity" is required (not null) + if (severity == null) + { + throw new InvalidDataException("severity is a required property for OperationProblem and cannot be null"); + } + else + { + this.Severity = severity; + } + this.Details = details; + } + + /// + /// An error code that identifies the type of error that occurred. + /// + /// An error code that identifies the type of error that occurred. + [DataMember(Name="code", EmitDefaultValue=false)] + public string Code { get; set; } + + /// + /// Additional details that can help the caller understand or fix the issue. + /// + /// Additional details that can help the caller understand or fix the issue. + [DataMember(Name="details", EmitDefaultValue=false)] + public string Details { get; set; } + + /// + /// A message that describes the error condition. + /// + /// A message that describes the error condition. + [DataMember(Name="message", EmitDefaultValue=false)] + public string Message { get; set; } + + /// + /// The severity of the problem. Can be 'WARNING', or 'ERROR'. + /// + /// The severity of the problem. Can be 'WARNING', or 'ERROR'. + [DataMember(Name="severity", EmitDefaultValue=false)] + public string Severity { 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 OperationProblem {\n"); + sb.Append(" Code: ").Append(Code).Append("\n"); + sb.Append(" Details: ").Append(Details).Append("\n"); + sb.Append(" Message: ").Append(Message).Append("\n"); + sb.Append(" Severity: ").Append(Severity).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 OperationProblem); + } + + /// + /// Returns true if OperationProblem instances are equal + /// + /// Instance of OperationProblem to be compared + /// Boolean + public bool Equals(OperationProblem input) + { + if (input == null) + return false; + + return + ( + this.Code == input.Code || + (this.Code != null && + this.Code.Equals(input.Code)) + ) && + ( + this.Details == input.Details || + (this.Details != null && + this.Details.Equals(input.Details)) + ) && + ( + this.Message == input.Message || + (this.Message != null && + this.Message.Equals(input.Message)) + ) && + ( + this.Severity == input.Severity || + (this.Severity != null && + this.Severity.Equals(input.Severity)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Code != null) + hashCode = hashCode * 59 + this.Code.GetHashCode(); + if (this.Details != null) + hashCode = hashCode * 59 + this.Details.GetHashCode(); + if (this.Message != null) + hashCode = hashCode * 59 + this.Message.GetHashCode(); + if (this.Severity != null) + hashCode = hashCode * 59 + this.Severity.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Code (string) maxLength + if(this.Code != null && this.Code.Length > 256) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Code, length must be less than 256.", new [] { "Code" }); + } + + // Code (string) minLength + if(this.Code != null && this.Code.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Code, length must be greater than 1.", new [] { "Code" }); + } + + // Details (string) maxLength + if(this.Details != null && this.Details.Length > 8192) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Details, length must be less than 8192.", new [] { "Details" }); + } + + // Details (string) minLength + if(this.Details != null && this.Details.Length < 0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Details, length must be greater than 0.", new [] { "Details" }); + } + + // Message (string) maxLength + if(this.Message != null && this.Message.Length > 2048) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Message, length must be less than 2048.", new [] { "Message" }); + } + + // Message (string) minLength + if(this.Message != null && this.Message.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Message, length must be greater than 1.", new [] { "Message" }); + } + + // Severity (string) maxLength + if(this.Severity != null && this.Severity.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Severity, length must be less than 1024.", new [] { "Severity" }); + } + + // Severity (string) minLength + if(this.Severity != null && this.Severity.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Severity, length must be greater than 1.", new [] { "Severity" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationStatus.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationStatus.cs new file mode 100644 index 00000000..df482c5b --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/OperationStatus.cs @@ -0,0 +1,46 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The status of an operation. + /// + /// The status of an operation. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum OperationStatus + { + + /// + /// Enum SUCCESS for value: SUCCESS + /// + [EnumMember(Value = "SUCCESS")] + SUCCESS = 1, + + /// + /// Enum FAILED for value: FAILED + /// + [EnumMember(Value = "FAILED")] + FAILED = 2, + + /// + /// Enum INPROGRESS for value: IN_PROGRESS + /// + [EnumMember(Value = "IN_PROGRESS")] + INPROGRESS = 3 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackageGroupingInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackageGroupingInput.cs new file mode 100644 index 00000000..c581c676 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackageGroupingInput.cs @@ -0,0 +1,206 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Packing information for the inbound plan. + /// + [DataContract] + public partial class PackageGroupingInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PackageGroupingInput() { } + /// + /// Initializes a new instance of the class. + /// + /// Box level information being provided. (required). + /// The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request.. + /// The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request.. + public PackageGroupingInput(List boxes = default(List), string packingGroupId = default(string), string shipmentId = default(string)) + { + // to ensure "boxes" is required (not null) + if (boxes == null) + { + throw new InvalidDataException("boxes is a required property for PackageGroupingInput and cannot be null"); + } + else + { + this.Boxes = boxes; + } + this.PackingGroupId = packingGroupId; + this.ShipmentId = shipmentId; + } + + /// + /// Box level information being provided. + /// + /// Box level information being provided. + [DataMember(Name="boxes", EmitDefaultValue=false)] + public List Boxes { get; set; } + + /// + /// The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request. + /// + /// The ID of the `packingGroup` that packages are grouped according to. The `PackingGroupId` can only be provided before placement confirmation, and it must belong to the confirmed `PackingOption`. One of `ShipmentId` or `PackingGroupId` must be provided with every request. + [DataMember(Name="packingGroupId", EmitDefaultValue=false)] + public string PackingGroupId { get; set; } + + /// + /// The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request. + /// + /// The ID of the shipment that packages are grouped according to. The `ShipmentId` can only be provided after placement confirmation, and the shipment must belong to the confirmed placement option. One of `ShipmentId` or `PackingGroupId` must be provided with every request. + [DataMember(Name="shipmentId", EmitDefaultValue=false)] + public string ShipmentId { 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 PackageGroupingInput {\n"); + sb.Append(" Boxes: ").Append(Boxes).Append("\n"); + sb.Append(" PackingGroupId: ").Append(PackingGroupId).Append("\n"); + sb.Append(" ShipmentId: ").Append(ShipmentId).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 PackageGroupingInput); + } + + /// + /// Returns true if PackageGroupingInput instances are equal + /// + /// Instance of PackageGroupingInput to be compared + /// Boolean + public bool Equals(PackageGroupingInput input) + { + if (input == null) + return false; + + return + ( + this.Boxes == input.Boxes || + this.Boxes != null && + this.Boxes.SequenceEqual(input.Boxes) + ) && + ( + this.PackingGroupId == input.PackingGroupId || + (this.PackingGroupId != null && + this.PackingGroupId.Equals(input.PackingGroupId)) + ) && + ( + this.ShipmentId == input.ShipmentId || + (this.ShipmentId != null && + this.ShipmentId.Equals(input.ShipmentId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Boxes != null) + hashCode = hashCode * 59 + this.Boxes.GetHashCode(); + if (this.PackingGroupId != null) + hashCode = hashCode * 59 + this.PackingGroupId.GetHashCode(); + if (this.ShipmentId != null) + hashCode = hashCode * 59 + this.ShipmentId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PackingGroupId (string) maxLength + if(this.PackingGroupId != null && this.PackingGroupId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingGroupId, length must be less than 38.", new [] { "PackingGroupId" }); + } + + // PackingGroupId (string) minLength + if(this.PackingGroupId != null && this.PackingGroupId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingGroupId, length must be greater than 38.", new [] { "PackingGroupId" }); + } + + // PackingGroupId (string) pattern + Regex regexPackingGroupId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPackingGroupId.Match(this.PackingGroupId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingGroupId, must match a pattern of " + regexPackingGroupId, new [] { "PackingGroupId" }); + } + + // ShipmentId (string) maxLength + if(this.ShipmentId != null && this.ShipmentId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be less than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) minLength + if(this.ShipmentId != null && this.ShipmentId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be greater than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) pattern + Regex regexShipmentId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexShipmentId.Match(this.ShipmentId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, must match a pattern of " + regexShipmentId, new [] { "ShipmentId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOption.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOption.cs new file mode 100644 index 00000000..cd3a013e --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOption.cs @@ -0,0 +1,351 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// A packing option contains a set of pack groups plus additional information about the packing option, such as any discounts or fees if it's selected. + /// + [DataContract] + public partial class PackingOption : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PackingOption() { } + /// + /// Initializes a new instance of the class. + /// + /// Discount for the offered option. (required). + /// The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + /// Fee for the offered option. (required). + /// Identifier to an inbound plan. (required). + /// Packing group IDs. (required). + /// Identifier to a packing option. (required). + /// The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`. (required). + /// List of supported shipping modes. (required). + public PackingOption(List discounts = default(List), DateTime? expiration = default(DateTime?), List fees = default(List), string inboundPlanId = default(string), List packingGroups = default(List), string packingOptionId = default(string), string status = default(string), List supportedShippingConfigurations = default(List)) + { + // to ensure "discounts" is required (not null) + if (discounts == null) + { + throw new InvalidDataException("discounts is a required property for PackingOption and cannot be null"); + } + else + { + this.Discounts = discounts; + } + // to ensure "fees" is required (not null) + if (fees == null) + { + throw new InvalidDataException("fees is a required property for PackingOption and cannot be null"); + } + else + { + this.Fees = fees; + } + // to ensure "inboundPlanId" is required (not null) + if (inboundPlanId == null) + { + throw new InvalidDataException("inboundPlanId is a required property for PackingOption and cannot be null"); + } + else + { + this.InboundPlanId = inboundPlanId; + } + // to ensure "packingGroups" is required (not null) + if (packingGroups == null) + { + throw new InvalidDataException("packingGroups is a required property for PackingOption and cannot be null"); + } + else + { + this.PackingGroups = packingGroups; + } + // to ensure "packingOptionId" is required (not null) + if (packingOptionId == null) + { + throw new InvalidDataException("packingOptionId is a required property for PackingOption and cannot be null"); + } + else + { + this.PackingOptionId = packingOptionId; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for PackingOption and cannot be null"); + } + else + { + this.Status = status; + } + // to ensure "supportedShippingConfigurations" is required (not null) + if (supportedShippingConfigurations == null) + { + throw new InvalidDataException("supportedShippingConfigurations is a required property for PackingOption and cannot be null"); + } + else + { + this.SupportedShippingConfigurations = supportedShippingConfigurations; + } + this.Expiration = expiration; + } + + /// + /// Discount for the offered option. + /// + /// Discount for the offered option. + [DataMember(Name="discounts", EmitDefaultValue=false)] + public List Discounts { get; set; } + + /// + /// The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The timestamp at which this packing option becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public DateTime? Expiration { get; set; } + + /// + /// Fee for the offered option. + /// + /// Fee for the offered option. + [DataMember(Name="fees", EmitDefaultValue=false)] + public List Fees { get; set; } + + /// + /// Identifier to an inbound plan. + /// + /// Identifier to an inbound plan. + [DataMember(Name="inboundPlanId", EmitDefaultValue=false)] + public string InboundPlanId { get; set; } + + /// + /// Packing group IDs. + /// + /// Packing group IDs. + [DataMember(Name="packingGroups", EmitDefaultValue=false)] + public List PackingGroups { get; set; } + + /// + /// Identifier to a packing option. + /// + /// Identifier to a packing option. + [DataMember(Name="packingOptionId", EmitDefaultValue=false)] + public string PackingOptionId { get; set; } + + /// + /// The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`. + /// + /// The status of the packing option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { get; set; } + + /// + /// List of supported shipping modes. + /// + /// List of supported shipping modes. + [DataMember(Name="supportedShippingConfigurations", EmitDefaultValue=false)] + public List SupportedShippingConfigurations { 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 PackingOption {\n"); + sb.Append(" Discounts: ").Append(Discounts).Append("\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" Fees: ").Append(Fees).Append("\n"); + sb.Append(" InboundPlanId: ").Append(InboundPlanId).Append("\n"); + sb.Append(" PackingGroups: ").Append(PackingGroups).Append("\n"); + sb.Append(" PackingOptionId: ").Append(PackingOptionId).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append(" SupportedShippingConfigurations: ").Append(SupportedShippingConfigurations).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 PackingOption); + } + + /// + /// Returns true if PackingOption instances are equal + /// + /// Instance of PackingOption to be compared + /// Boolean + public bool Equals(PackingOption input) + { + if (input == null) + return false; + + return + ( + this.Discounts == input.Discounts || + this.Discounts != null && + this.Discounts.SequenceEqual(input.Discounts) + ) && + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.Fees == input.Fees || + this.Fees != null && + this.Fees.SequenceEqual(input.Fees) + ) && + ( + this.InboundPlanId == input.InboundPlanId || + (this.InboundPlanId != null && + this.InboundPlanId.Equals(input.InboundPlanId)) + ) && + ( + this.PackingGroups == input.PackingGroups || + this.PackingGroups != null && + this.PackingGroups.SequenceEqual(input.PackingGroups) + ) && + ( + this.PackingOptionId == input.PackingOptionId || + (this.PackingOptionId != null && + this.PackingOptionId.Equals(input.PackingOptionId)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ) && + ( + this.SupportedShippingConfigurations == input.SupportedShippingConfigurations || + this.SupportedShippingConfigurations != null && + this.SupportedShippingConfigurations.SequenceEqual(input.SupportedShippingConfigurations) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Discounts != null) + hashCode = hashCode * 59 + this.Discounts.GetHashCode(); + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.Fees != null) + hashCode = hashCode * 59 + this.Fees.GetHashCode(); + if (this.InboundPlanId != null) + hashCode = hashCode * 59 + this.InboundPlanId.GetHashCode(); + if (this.PackingGroups != null) + hashCode = hashCode * 59 + this.PackingGroups.GetHashCode(); + if (this.PackingOptionId != null) + hashCode = hashCode * 59 + this.PackingOptionId.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + if (this.SupportedShippingConfigurations != null) + hashCode = hashCode * 59 + this.SupportedShippingConfigurations.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // InboundPlanId (string) maxLength + if(this.InboundPlanId != null && this.InboundPlanId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be less than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) minLength + if(this.InboundPlanId != null && this.InboundPlanId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be greater than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) pattern + Regex regexInboundPlanId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexInboundPlanId.Match(this.InboundPlanId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, must match a pattern of " + regexInboundPlanId, new [] { "InboundPlanId" }); + } + + // PackingOptionId (string) maxLength + if(this.PackingOptionId != null && this.PackingOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingOptionId, length must be less than 38.", new [] { "PackingOptionId" }); + } + + // PackingOptionId (string) minLength + if(this.PackingOptionId != null && this.PackingOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingOptionId, length must be greater than 38.", new [] { "PackingOptionId" }); + } + + // PackingOptionId (string) pattern + Regex regexPackingOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPackingOptionId.Match(this.PackingOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingOptionId, must match a pattern of " + regexPackingOptionId, new [] { "PackingOptionId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOptionSummary.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOptionSummary.cs new file mode 100644 index 00000000..e963b29b --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PackingOptionSummary.cs @@ -0,0 +1,189 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Summary information about a packing option. + /// + [DataContract] + public partial class PackingOptionSummary : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PackingOptionSummary() { } + /// + /// Initializes a new instance of the class. + /// + /// Identifier to a packing option. (required). + /// The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'. (required). + public PackingOptionSummary(string packingOptionId = default(string), string status = default(string)) + { + // to ensure "packingOptionId" is required (not null) + if (packingOptionId == null) + { + throw new InvalidDataException("packingOptionId is a required property for PackingOptionSummary and cannot be null"); + } + else + { + this.PackingOptionId = packingOptionId; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for PackingOptionSummary and cannot be null"); + } + else + { + this.Status = status; + } + } + + /// + /// Identifier to a packing option. + /// + /// Identifier to a packing option. + [DataMember(Name="packingOptionId", EmitDefaultValue=false)] + public string PackingOptionId { get; set; } + + /// + /// The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'. + /// + /// The status of a packing option. Can be 'OFFERED', 'ACCEPTED', or 'EXPIRED'. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { 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 PackingOptionSummary {\n"); + sb.Append(" PackingOptionId: ").Append(PackingOptionId).Append("\n"); + sb.Append(" Status: ").Append(Status).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 PackingOptionSummary); + } + + /// + /// Returns true if PackingOptionSummary instances are equal + /// + /// Instance of PackingOptionSummary to be compared + /// Boolean + public bool Equals(PackingOptionSummary input) + { + if (input == null) + return false; + + return + ( + this.PackingOptionId == input.PackingOptionId || + (this.PackingOptionId != null && + this.PackingOptionId.Equals(input.PackingOptionId)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.PackingOptionId != null) + hashCode = hashCode * 59 + this.PackingOptionId.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PackingOptionId (string) maxLength + if(this.PackingOptionId != null && this.PackingOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingOptionId, length must be less than 38.", new [] { "PackingOptionId" }); + } + + // PackingOptionId (string) minLength + if(this.PackingOptionId != null && this.PackingOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingOptionId, length must be greater than 38.", new [] { "PackingOptionId" }); + } + + // PackingOptionId (string) pattern + Regex regexPackingOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPackingOptionId.Match(this.PackingOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackingOptionId, must match a pattern of " + regexPackingOptionId, new [] { "PackingOptionId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pagination.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pagination.cs new file mode 100644 index 00000000..5009e606 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pagination.cs @@ -0,0 +1,130 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains tokens to fetch from a certain page. + /// + [DataContract] + public partial class Pagination : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// When present, pass this string token in the next request to return the next response page.. + public Pagination(string nextToken = default(string)) + { + this.NextToken = nextToken; + } + + /// + /// When present, pass this string token in the next request to return the next response page. + /// + /// When present, pass this string token in the next request to return the next response page. + [DataMember(Name="nextToken", EmitDefaultValue=false)] + public string NextToken { 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 Pagination {\n"); + sb.Append(" NextToken: ").Append(NextToken).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 Pagination); + } + + /// + /// Returns true if Pagination instances are equal + /// + /// Instance of Pagination to be compared + /// Boolean + public bool Equals(Pagination input) + { + if (input == null) + return false; + + return + ( + this.NextToken == input.NextToken || + (this.NextToken != null && + this.NextToken.Equals(input.NextToken)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.NextToken != null) + hashCode = hashCode * 59 + this.NextToken.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // NextToken (string) maxLength + if(this.NextToken != null && this.NextToken.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for NextToken, length must be less than 1024.", new [] { "NextToken" }); + } + + // NextToken (string) minLength + if(this.NextToken != null && this.NextToken.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for NextToken, length must be greater than 1.", new [] { "NextToken" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pallet.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pallet.cs new file mode 100644 index 00000000..8241398d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Pallet.cs @@ -0,0 +1,229 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains information about a pallet that is used in the inbound plan. The pallet is a container that holds multiple items or boxes. + /// + [DataContract] + public partial class Pallet : IEquatable, IValidatableObject + { + /// + /// Gets or Sets Stackability + /// + [DataMember(Name="stackability", EmitDefaultValue=false)] + public Stackability? Stackability { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Pallet() { } + /// + /// Initializes a new instance of the class. + /// + /// dimensions. + /// Primary key to uniquely identify a Package (Box or Pallet). (required). + /// The number of containers where all other properties like weight or dimensions are identical.. + /// stackability. + /// weight. + public Pallet(Dimensions dimensions = default(Dimensions), string packageId = default(string), int? quantity = default(int?), Stackability? stackability = default(Stackability?), Weight weight = default(Weight)) + { + // to ensure "packageId" is required (not null) + if (packageId == null) + { + throw new InvalidDataException("packageId is a required property for Pallet and cannot be null"); + } + else + { + this.PackageId = packageId; + } + this.Dimensions = dimensions; + this.Quantity = quantity; + this.Stackability = stackability; + this.Weight = weight; + } + + /// + /// Gets or Sets Dimensions + /// + [DataMember(Name="dimensions", EmitDefaultValue=false)] + public Dimensions Dimensions { get; set; } + + /// + /// Primary key to uniquely identify a Package (Box or Pallet). + /// + /// Primary key to uniquely identify a Package (Box or Pallet). + [DataMember(Name="packageId", EmitDefaultValue=false)] + public string PackageId { get; set; } + + /// + /// The number of containers where all other properties like weight or dimensions are identical. + /// + /// The number of containers where all other properties like weight or dimensions are identical. + [DataMember(Name="quantity", EmitDefaultValue=false)] + public int? Quantity { get; set; } + + + /// + /// Gets or Sets Weight + /// + [DataMember(Name="weight", EmitDefaultValue=false)] + public Weight Weight { 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 Pallet {\n"); + sb.Append(" Dimensions: ").Append(Dimensions).Append("\n"); + sb.Append(" PackageId: ").Append(PackageId).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).Append("\n"); + sb.Append(" Stackability: ").Append(Stackability).Append("\n"); + sb.Append(" Weight: ").Append(Weight).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 Pallet); + } + + /// + /// Returns true if Pallet instances are equal + /// + /// Instance of Pallet to be compared + /// Boolean + public bool Equals(Pallet input) + { + if (input == null) + return false; + + return + ( + this.Dimensions == input.Dimensions || + (this.Dimensions != null && + this.Dimensions.Equals(input.Dimensions)) + ) && + ( + this.PackageId == input.PackageId || + (this.PackageId != null && + this.PackageId.Equals(input.PackageId)) + ) && + ( + this.Quantity == input.Quantity || + (this.Quantity != null && + this.Quantity.Equals(input.Quantity)) + ) && + ( + this.Stackability == input.Stackability || + (this.Stackability != null && + this.Stackability.Equals(input.Stackability)) + ) && + ( + this.Weight == input.Weight || + (this.Weight != null && + this.Weight.Equals(input.Weight)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Dimensions != null) + hashCode = hashCode * 59 + this.Dimensions.GetHashCode(); + if (this.PackageId != null) + hashCode = hashCode * 59 + this.PackageId.GetHashCode(); + if (this.Quantity != null) + hashCode = hashCode * 59 + this.Quantity.GetHashCode(); + if (this.Stackability != null) + hashCode = hashCode * 59 + this.Stackability.GetHashCode(); + if (this.Weight != null) + hashCode = hashCode * 59 + this.Weight.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PackageId (string) maxLength + if(this.PackageId != null && this.PackageId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackageId, length must be less than 38.", new [] { "PackageId" }); + } + + // PackageId (string) minLength + if(this.PackageId != null && this.PackageId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackageId, length must be greater than 38.", new [] { "PackageId" }); + } + + // PackageId (string) pattern + Regex regexPackageId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPackageId.Match(this.PackageId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PackageId, must match a pattern of " + regexPackageId, new [] { "PackageId" }); + } + + // Quantity (int?) maximum + if(this.Quantity > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value less than or equal to 10000.", new [] { "Quantity" }); + } + + // Quantity (int?) minimum + if(this.Quantity < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value greater than or equal to 1.", new [] { "Quantity" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInformation.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInformation.cs new file mode 100644 index 00000000..0da6384c --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInformation.cs @@ -0,0 +1,178 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Pallet information, including weight, dimensions, quantity, stackability, freight class, and declared value. + /// + [DataContract] + public partial class PalletInformation : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PalletInformation() { } + /// + /// Initializes a new instance of the class. + /// + /// declaredValue. + /// Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`.. + /// Set pallet configuration for Less-Than-Truckload (LTL). (required). + public PalletInformation(Currency declaredValue = default(Currency), string freightClass = default(string), List pallets = default(List)) + { + // to ensure "pallets" is required (not null) + if (pallets == null) + { + throw new InvalidDataException("pallets is a required property for PalletInformation and cannot be null"); + } + else + { + this.Pallets = pallets; + } + this.DeclaredValue = declaredValue; + this.FreightClass = freightClass; + } + + /// + /// Gets or Sets DeclaredValue + /// + [DataMember(Name="declaredValue", EmitDefaultValue=false)] + public Currency DeclaredValue { get; set; } + + /// + /// Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`. + /// + /// Freight class. Can be `NONE`, `FC_50`, `FC_55`, `FC_60`, `FC_65`, `FC_70`, `FC_77_5`, `FC_85`, `FC_92_5`, `FC_100`, `FC_110`, `FC_125`, `FC_150`, `FC_175`, `FC_200`, `FC_250`, `FC_300`, `FC_400`, or `FC_500`. + [DataMember(Name="freightClass", EmitDefaultValue=false)] + public string FreightClass { get; set; } + + /// + /// Set pallet configuration for Less-Than-Truckload (LTL). + /// + /// Set pallet configuration for Less-Than-Truckload (LTL). + [DataMember(Name="pallets", EmitDefaultValue=false)] + public List Pallets { 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 PalletInformation {\n"); + sb.Append(" DeclaredValue: ").Append(DeclaredValue).Append("\n"); + sb.Append(" FreightClass: ").Append(FreightClass).Append("\n"); + sb.Append(" Pallets: ").Append(Pallets).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 PalletInformation); + } + + /// + /// Returns true if PalletInformation instances are equal + /// + /// Instance of PalletInformation to be compared + /// Boolean + public bool Equals(PalletInformation input) + { + if (input == null) + return false; + + return + ( + this.DeclaredValue == input.DeclaredValue || + (this.DeclaredValue != null && + this.DeclaredValue.Equals(input.DeclaredValue)) + ) && + ( + this.FreightClass == input.FreightClass || + (this.FreightClass != null && + this.FreightClass.Equals(input.FreightClass)) + ) && + ( + this.Pallets == input.Pallets || + this.Pallets != null && + this.Pallets.SequenceEqual(input.Pallets) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DeclaredValue != null) + hashCode = hashCode * 59 + this.DeclaredValue.GetHashCode(); + if (this.FreightClass != null) + hashCode = hashCode * 59 + this.FreightClass.GetHashCode(); + if (this.Pallets != null) + hashCode = hashCode * 59 + this.Pallets.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // FreightClass (string) maxLength + if(this.FreightClass != null && this.FreightClass.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for FreightClass, length must be less than 1024.", new [] { "FreightClass" }); + } + + // FreightClass (string) minLength + if(this.FreightClass != null && this.FreightClass.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for FreightClass, length must be greater than 1.", new [] { "FreightClass" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInput.cs new file mode 100644 index 00000000..be3ca76d --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PalletInput.cs @@ -0,0 +1,192 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Set pallet configuration for Less-Than-Truckload (LTL). + /// + [DataContract] + public partial class PalletInput : IEquatable, IValidatableObject + { + /// + /// Gets or Sets Stackability + /// + [DataMember(Name="stackability", EmitDefaultValue=false)] + public Stackability? Stackability { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PalletInput() { } + /// + /// Initializes a new instance of the class. + /// + /// dimensions. + /// The number of containers where all other properties like weight or dimensions are identical. (required). + /// stackability. + /// weight. + public PalletInput(Dimensions dimensions = default(Dimensions), int? quantity = default(int?), Stackability? stackability = default(Stackability?), Weight weight = default(Weight)) + { + // to ensure "quantity" is required (not null) + if (quantity == null) + { + throw new InvalidDataException("quantity is a required property for PalletInput and cannot be null"); + } + else + { + this.Quantity = quantity; + } + this.Dimensions = dimensions; + this.Stackability = stackability; + this.Weight = weight; + } + + /// + /// Gets or Sets Dimensions + /// + [DataMember(Name="dimensions", EmitDefaultValue=false)] + public Dimensions Dimensions { get; set; } + + /// + /// The number of containers where all other properties like weight or dimensions are identical. + /// + /// The number of containers where all other properties like weight or dimensions are identical. + [DataMember(Name="quantity", EmitDefaultValue=false)] + public int? Quantity { get; set; } + + + /// + /// Gets or Sets Weight + /// + [DataMember(Name="weight", EmitDefaultValue=false)] + public Weight Weight { 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 PalletInput {\n"); + sb.Append(" Dimensions: ").Append(Dimensions).Append("\n"); + sb.Append(" Quantity: ").Append(Quantity).Append("\n"); + sb.Append(" Stackability: ").Append(Stackability).Append("\n"); + sb.Append(" Weight: ").Append(Weight).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 PalletInput); + } + + /// + /// Returns true if PalletInput instances are equal + /// + /// Instance of PalletInput to be compared + /// Boolean + public bool Equals(PalletInput input) + { + if (input == null) + return false; + + return + ( + this.Dimensions == input.Dimensions || + (this.Dimensions != null && + this.Dimensions.Equals(input.Dimensions)) + ) && + ( + this.Quantity == input.Quantity || + (this.Quantity != null && + this.Quantity.Equals(input.Quantity)) + ) && + ( + this.Stackability == input.Stackability || + (this.Stackability != null && + this.Stackability.Equals(input.Stackability)) + ) && + ( + this.Weight == input.Weight || + (this.Weight != null && + this.Weight.Equals(input.Weight)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Dimensions != null) + hashCode = hashCode * 59 + this.Dimensions.GetHashCode(); + if (this.Quantity != null) + hashCode = hashCode * 59 + this.Quantity.GetHashCode(); + if (this.Stackability != null) + hashCode = hashCode * 59 + this.Stackability.GetHashCode(); + if (this.Weight != null) + hashCode = hashCode * 59 + this.Weight.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Quantity (int?) maximum + if(this.Quantity > (int?)10000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value less than or equal to 10000.", new [] { "Quantity" }); + } + + // Quantity (int?) minimum + if(this.Quantity < (int?)1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Quantity, must be a value greater than or equal to 1.", new [] { "Quantity" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOption.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOption.cs new file mode 100644 index 00000000..6701995e --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOption.cs @@ -0,0 +1,282 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains information pertaining to the placement of the contents of an inbound plan and the related costs. + /// + [DataContract] + public partial class PlacementOption : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PlacementOption() { } + /// + /// Initializes a new instance of the class. + /// + /// Discount for the offered option. (required). + /// The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + /// Fee for the offered option. (required). + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. (required). + /// Shipment ids. (required). + /// The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`. (required). + public PlacementOption(List discounts = default(List), DateTime? expiration = default(DateTime?), List fees = default(List), string placementOptionId = default(string), List shipmentIds = default(List), string status = default(string)) + { + // to ensure "discounts" is required (not null) + if (discounts == null) + { + throw new InvalidDataException("discounts is a required property for PlacementOption and cannot be null"); + } + else + { + this.Discounts = discounts; + } + // to ensure "fees" is required (not null) + if (fees == null) + { + throw new InvalidDataException("fees is a required property for PlacementOption and cannot be null"); + } + else + { + this.Fees = fees; + } + // to ensure "placementOptionId" is required (not null) + if (placementOptionId == null) + { + throw new InvalidDataException("placementOptionId is a required property for PlacementOption and cannot be null"); + } + else + { + this.PlacementOptionId = placementOptionId; + } + // to ensure "shipmentIds" is required (not null) + if (shipmentIds == null) + { + throw new InvalidDataException("shipmentIds is a required property for PlacementOption and cannot be null"); + } + else + { + this.ShipmentIds = shipmentIds; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for PlacementOption and cannot be null"); + } + else + { + this.Status = status; + } + this.Expiration = expiration; + } + + /// + /// Discount for the offered option. + /// + /// Discount for the offered option. + [DataMember(Name="discounts", EmitDefaultValue=false)] + public List Discounts { get; set; } + + /// + /// The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The expiration date of the placement option. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public DateTime? Expiration { get; set; } + + /// + /// Fee for the offered option. + /// + /// Fee for the offered option. + [DataMember(Name="fees", EmitDefaultValue=false)] + public List Fees { get; set; } + + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. + [DataMember(Name="placementOptionId", EmitDefaultValue=false)] + public string PlacementOptionId { get; set; } + + /// + /// Shipment ids. + /// + /// Shipment ids. + [DataMember(Name="shipmentIds", EmitDefaultValue=false)] + public List ShipmentIds { get; set; } + + /// + /// The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`. + /// + /// The status of a placement option. Can be `OFFERED`, `ACCEPTED`, or `EXPIRED`. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { 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 PlacementOption {\n"); + sb.Append(" Discounts: ").Append(Discounts).Append("\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" Fees: ").Append(Fees).Append("\n"); + sb.Append(" PlacementOptionId: ").Append(PlacementOptionId).Append("\n"); + sb.Append(" ShipmentIds: ").Append(ShipmentIds).Append("\n"); + sb.Append(" Status: ").Append(Status).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 PlacementOption); + } + + /// + /// Returns true if PlacementOption instances are equal + /// + /// Instance of PlacementOption to be compared + /// Boolean + public bool Equals(PlacementOption input) + { + if (input == null) + return false; + + return + ( + this.Discounts == input.Discounts || + this.Discounts != null && + this.Discounts.SequenceEqual(input.Discounts) + ) && + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.Fees == input.Fees || + this.Fees != null && + this.Fees.SequenceEqual(input.Fees) + ) && + ( + this.PlacementOptionId == input.PlacementOptionId || + (this.PlacementOptionId != null && + this.PlacementOptionId.Equals(input.PlacementOptionId)) + ) && + ( + this.ShipmentIds == input.ShipmentIds || + this.ShipmentIds != null && + this.ShipmentIds.SequenceEqual(input.ShipmentIds) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Discounts != null) + hashCode = hashCode * 59 + this.Discounts.GetHashCode(); + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.Fees != null) + hashCode = hashCode * 59 + this.Fees.GetHashCode(); + if (this.PlacementOptionId != null) + hashCode = hashCode * 59 + this.PlacementOptionId.GetHashCode(); + if (this.ShipmentIds != null) + hashCode = hashCode * 59 + this.ShipmentIds.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PlacementOptionId (string) maxLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be less than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) minLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be greater than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) pattern + Regex regexPlacementOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPlacementOptionId.Match(this.PlacementOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, must match a pattern of " + regexPlacementOptionId, new [] { "PlacementOptionId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOptionSummary.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOptionSummary.cs new file mode 100644 index 00000000..624113e1 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PlacementOptionSummary.cs @@ -0,0 +1,189 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Summary information about a placement option. + /// + [DataContract] + public partial class PlacementOptionSummary : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected PlacementOptionSummary() { } + /// + /// Initializes a new instance of the class. + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. (required). + /// The status of a placement option. Can be `OFFERED` or `ACCEPTED`. (required). + public PlacementOptionSummary(string placementOptionId = default(string), string status = default(string)) + { + // to ensure "placementOptionId" is required (not null) + if (placementOptionId == null) + { + throw new InvalidDataException("placementOptionId is a required property for PlacementOptionSummary and cannot be null"); + } + else + { + this.PlacementOptionId = placementOptionId; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for PlacementOptionSummary and cannot be null"); + } + else + { + this.Status = status; + } + } + + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. + [DataMember(Name="placementOptionId", EmitDefaultValue=false)] + public string PlacementOptionId { get; set; } + + /// + /// The status of a placement option. Can be `OFFERED` or `ACCEPTED`. + /// + /// The status of a placement option. Can be `OFFERED` or `ACCEPTED`. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { 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 PlacementOptionSummary {\n"); + sb.Append(" PlacementOptionId: ").Append(PlacementOptionId).Append("\n"); + sb.Append(" Status: ").Append(Status).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 PlacementOptionSummary); + } + + /// + /// Returns true if PlacementOptionSummary instances are equal + /// + /// Instance of PlacementOptionSummary to be compared + /// Boolean + public bool Equals(PlacementOptionSummary input) + { + if (input == null) + return false; + + return + ( + this.PlacementOptionId == input.PlacementOptionId || + (this.PlacementOptionId != null && + this.PlacementOptionId.Equals(input.PlacementOptionId)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.PlacementOptionId != null) + hashCode = hashCode * 59 + this.PlacementOptionId.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PlacementOptionId (string) maxLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be less than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) minLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be greater than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) pattern + Regex regexPlacementOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPlacementOptionId.Match(this.PlacementOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, must match a pattern of " + regexPlacementOptionId, new [] { "PlacementOptionId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepInstruction.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepInstruction.cs new file mode 100644 index 00000000..c710d623 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepInstruction.cs @@ -0,0 +1,175 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Information pertaining to the preparation of inbound goods. + /// + [DataContract] + public partial class PrepInstruction : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// fee. + /// In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`.. + /// Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`.. + public PrepInstruction(Currency fee = default(Currency), string prepOwner = default(string), string prepType = default(string)) + { + this.Fee = fee; + this.PrepOwner = prepOwner; + this.PrepType = prepType; + } + + /// + /// Gets or Sets Fee + /// + [DataMember(Name="fee", EmitDefaultValue=false)] + public Currency Fee { get; set; } + + /// + /// In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`. + /// + /// In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`. + [DataMember(Name="prepOwner", EmitDefaultValue=false)] + public string PrepOwner { get; set; } + + /// + /// Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`. + /// + /// Type of preparation that should be done. Can be `ITEM_LABELING`, `ITEM_BUBBLEWRAP`, `ITEM_POLYBAGGING`, `ITEM_TAPING`, `ITEM_BLACK_SHRINKWRAP`, `ITEM_HANG_GARMENT`, `ITEM_BOXING`, `ITEM_SETCREAT`, `ITEM_RMOVHANG`, `ITEM_SUFFOSTK`, `ITEM_CAP_SEALING`, `ITEM_DEBUNDLE`, `ITEM_SETSTK`, `ITEM_SIOC`, `ITEM_NO_PREP`, `ADULT`, `BABY`, `TEXTILE`, `HANGER`, `FRAGILE`, `LIQUID`, `SHARP`, `SMALL`, `PERFORATED`, `GRANULAR`, `SET`, `FC_PROVIDED`, `UNKNOWN`, or `NONE`. + [DataMember(Name="prepType", EmitDefaultValue=false)] + public string PrepType { 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 PrepInstruction {\n"); + sb.Append(" Fee: ").Append(Fee).Append("\n"); + sb.Append(" PrepOwner: ").Append(PrepOwner).Append("\n"); + sb.Append(" PrepType: ").Append(PrepType).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 PrepInstruction); + } + + /// + /// Returns true if PrepInstruction instances are equal + /// + /// Instance of PrepInstruction to be compared + /// Boolean + public bool Equals(PrepInstruction input) + { + if (input == null) + return false; + + return + ( + this.Fee == input.Fee || + (this.Fee != null && + this.Fee.Equals(input.Fee)) + ) && + ( + this.PrepOwner == input.PrepOwner || + (this.PrepOwner != null && + this.PrepOwner.Equals(input.PrepOwner)) + ) && + ( + this.PrepType == input.PrepType || + (this.PrepType != null && + this.PrepType.Equals(input.PrepType)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Fee != null) + hashCode = hashCode * 59 + this.Fee.GetHashCode(); + if (this.PrepOwner != null) + hashCode = hashCode * 59 + this.PrepOwner.GetHashCode(); + if (this.PrepType != null) + hashCode = hashCode * 59 + this.PrepType.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // PrepOwner (string) maxLength + if(this.PrepOwner != null && this.PrepOwner.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PrepOwner, length must be less than 1024.", new [] { "PrepOwner" }); + } + + // PrepOwner (string) minLength + if(this.PrepOwner != null && this.PrepOwner.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PrepOwner, length must be greater than 1.", new [] { "PrepOwner" }); + } + + // PrepType (string) maxLength + if(this.PrepType != null && this.PrepType.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PrepType, length must be less than 1024.", new [] { "PrepType" }); + } + + // PrepType (string) minLength + if(this.PrepType != null && this.PrepType.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PrepType, length must be greater than 1.", new [] { "PrepType" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepOwner.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepOwner.cs new file mode 100644 index 00000000..4e61be16 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/PrepOwner.cs @@ -0,0 +1,40 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`. + /// + /// In some situations, special preparations are required for items and this field reflects the owner of the preparations. Options include `AMAZON` or `SELLER`. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum PrepOwner + { + + /// + /// Enum AMAZON for value: AMAZON + /// + [EnumMember(Value = "AMAZON")] + AMAZON = 1, + + /// + /// Enum SELLER for value: SELLER + /// + [EnumMember(Value = "SELLER")] + SELLER = 2 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Quote.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Quote.cs new file mode 100644 index 00000000..12c0a5c3 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Quote.cs @@ -0,0 +1,165 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The estimated shipping cost associated with the transportation option. + /// + [DataContract] + public partial class Quote : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Quote() { } + /// + /// Initializes a new instance of the class. + /// + /// cost (required). + /// The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + /// Voidable until timestamp.. + public Quote(Currency cost = default(Currency), DateTime? expiration = default(DateTime?), DateTime? voidableUntil = default(DateTime?)) + { + // to ensure "cost" is required (not null) + if (cost == null) + { + throw new InvalidDataException("cost is a required property for Quote and cannot be null"); + } + else + { + this.Cost = cost; + } + this.Expiration = expiration; + this.VoidableUntil = voidableUntil; + } + + /// + /// Gets or Sets Cost + /// + [DataMember(Name="cost", EmitDefaultValue=false)] + public Currency Cost { get; set; } + + /// + /// The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// The timestamp at which this transportation option quote becomes no longer valid. This is in ISO 8601 datetime format with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="expiration", EmitDefaultValue=false)] + public DateTime? Expiration { get; set; } + + /// + /// Voidable until timestamp. + /// + /// Voidable until timestamp. + [DataMember(Name="voidableUntil", EmitDefaultValue=false)] + public DateTime? VoidableUntil { 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 Quote {\n"); + sb.Append(" Cost: ").Append(Cost).Append("\n"); + sb.Append(" Expiration: ").Append(Expiration).Append("\n"); + sb.Append(" VoidableUntil: ").Append(VoidableUntil).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 Quote); + } + + /// + /// Returns true if Quote instances are equal + /// + /// Instance of Quote to be compared + /// Boolean + public bool Equals(Quote input) + { + if (input == null) + return false; + + return + ( + this.Cost == input.Cost || + (this.Cost != null && + this.Cost.Equals(input.Cost)) + ) && + ( + this.Expiration == input.Expiration || + (this.Expiration != null && + this.Expiration.Equals(input.Expiration)) + ) && + ( + this.VoidableUntil == input.VoidableUntil || + (this.VoidableUntil != null && + this.VoidableUntil.Equals(input.VoidableUntil)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Cost != null) + hashCode = hashCode * 59 + this.Cost.GetHashCode(); + if (this.Expiration != null) + hashCode = hashCode * 59 + this.Expiration.GetHashCode(); + if (this.VoidableUntil != null) + hashCode = hashCode * 59 + this.VoidableUntil.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ReasonComment.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ReasonComment.cs new file mode 100644 index 00000000..6d47695f --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ReasonComment.cs @@ -0,0 +1,82 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Reason for cancelling or rescheduling a self-ship appointment. + /// + /// Reason for cancelling or rescheduling a self-ship appointment. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum ReasonComment + { + + /// + /// Enum APPOINTMENTREQUESTEDBYMISTAKE for value: APPOINTMENT_REQUESTED_BY_MISTAKE + /// + [EnumMember(Value = "APPOINTMENT_REQUESTED_BY_MISTAKE")] + APPOINTMENTREQUESTEDBYMISTAKE = 1, + + /// + /// Enum VEHICLEDELAY for value: VEHICLE_DELAY + /// + [EnumMember(Value = "VEHICLE_DELAY")] + VEHICLEDELAY = 2, + + /// + /// Enum SLOTNOTSUITABLE for value: SLOT_NOT_SUITABLE + /// + [EnumMember(Value = "SLOT_NOT_SUITABLE")] + SLOTNOTSUITABLE = 3, + + /// + /// Enum OUTSIDECARRIERBUSINESSHOURS for value: OUTSIDE_CARRIER_BUSINESS_HOURS + /// + [EnumMember(Value = "OUTSIDE_CARRIER_BUSINESS_HOURS")] + OUTSIDECARRIERBUSINESSHOURS = 4, + + /// + /// Enum UNFAVOURABLEEXTERNALCONDITIONS for value: UNFAVOURABLE_EXTERNAL_CONDITIONS + /// + [EnumMember(Value = "UNFAVOURABLE_EXTERNAL_CONDITIONS")] + UNFAVOURABLEEXTERNALCONDITIONS = 5, + + /// + /// Enum PROCUREMENTDELAY for value: PROCUREMENT_DELAY + /// + [EnumMember(Value = "PROCUREMENT_DELAY")] + PROCUREMENTDELAY = 6, + + /// + /// Enum SHIPPINGPLANCHANGED for value: SHIPPING_PLAN_CHANGED + /// + [EnumMember(Value = "SHIPPING_PLAN_CHANGED")] + SHIPPINGPLANCHANGED = 7, + + /// + /// Enum INCREASEDQUANTITY for value: INCREASED_QUANTITY + /// + [EnumMember(Value = "INCREASED_QUANTITY")] + INCREASEDQUANTITY = 8, + + /// + /// Enum OTHER for value: OTHER + /// + [EnumMember(Value = "OTHER")] + OTHER = 9 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Region.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Region.cs new file mode 100644 index 00000000..913b26e7 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Region.cs @@ -0,0 +1,188 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Representation of a location used within the inbounding experience. + /// + [DataContract] + public partial class Region : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ISO 3166 standard alpha-2 country code.. + /// State.. + /// An identifier for a warehouse, such as a FC, IXD, upstream storage.. + public Region(string countryCode = default(string), string state = default(string), string warehouseId = default(string)) + { + this.CountryCode = countryCode; + this.State = state; + this.WarehouseId = warehouseId; + } + + /// + /// ISO 3166 standard alpha-2 country code. + /// + /// ISO 3166 standard alpha-2 country code. + [DataMember(Name="countryCode", EmitDefaultValue=false)] + public string CountryCode { get; set; } + + /// + /// State. + /// + /// State. + [DataMember(Name="state", EmitDefaultValue=false)] + public string State { get; set; } + + /// + /// An identifier for a warehouse, such as a FC, IXD, upstream storage. + /// + /// An identifier for a warehouse, such as a FC, IXD, upstream storage. + [DataMember(Name="warehouseId", EmitDefaultValue=false)] + public string WarehouseId { 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 Region {\n"); + sb.Append(" CountryCode: ").Append(CountryCode).Append("\n"); + sb.Append(" State: ").Append(State).Append("\n"); + sb.Append(" WarehouseId: ").Append(WarehouseId).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 Region); + } + + /// + /// Returns true if Region instances are equal + /// + /// Instance of Region to be compared + /// Boolean + public bool Equals(Region input) + { + if (input == null) + return false; + + return + ( + this.CountryCode == input.CountryCode || + (this.CountryCode != null && + this.CountryCode.Equals(input.CountryCode)) + ) && + ( + this.State == input.State || + (this.State != null && + this.State.Equals(input.State)) + ) && + ( + this.WarehouseId == input.WarehouseId || + (this.WarehouseId != null && + this.WarehouseId.Equals(input.WarehouseId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CountryCode != null) + hashCode = hashCode * 59 + this.CountryCode.GetHashCode(); + if (this.State != null) + hashCode = hashCode * 59 + this.State.GetHashCode(); + if (this.WarehouseId != null) + hashCode = hashCode * 59 + this.WarehouseId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // CountryCode (string) maxLength + if(this.CountryCode != null && this.CountryCode.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CountryCode, length must be less than 1024.", new [] { "CountryCode" }); + } + + // CountryCode (string) minLength + if(this.CountryCode != null && this.CountryCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for CountryCode, length must be greater than 1.", new [] { "CountryCode" }); + } + + // State (string) maxLength + if(this.State != null && this.State.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for State, length must be less than 1024.", new [] { "State" }); + } + + // State (string) minLength + if(this.State != null && this.State.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for State, length must be greater than 1.", new [] { "State" }); + } + + // WarehouseId (string) maxLength + if(this.WarehouseId != null && this.WarehouseId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for WarehouseId, length must be less than 1024.", new [] { "WarehouseId" }); + } + + // WarehouseId (string) minLength + if(this.WarehouseId != null && this.WarehouseId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for WarehouseId, length must be greater than 1.", new [] { "WarehouseId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentRequest.cs new file mode 100644 index 00000000..59c02c8e --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentRequest.cs @@ -0,0 +1,117 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `scheduleSelfShipAppointment` request. + /// + [DataContract] + public partial class ScheduleSelfShipAppointmentRequest : IEquatable, IValidatableObject + { + /// + /// Gets or Sets ReasonComment + /// + [DataMember(Name="reasonComment", EmitDefaultValue=false)] + public ReasonComment? ReasonComment { get; set; } + /// + /// Initializes a new instance of the class. + /// + /// reasonComment. + public ScheduleSelfShipAppointmentRequest(ReasonComment? reasonComment = default(ReasonComment?)) + { + this.ReasonComment = reasonComment; + } + + + /// + /// Returns the string presentation of the object + /// + /// String presentation of the object + public override string ToString() + { + var sb = new StringBuilder(); + sb.Append("class ScheduleSelfShipAppointmentRequest {\n"); + sb.Append(" ReasonComment: ").Append(ReasonComment).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 ScheduleSelfShipAppointmentRequest); + } + + /// + /// Returns true if ScheduleSelfShipAppointmentRequest instances are equal + /// + /// Instance of ScheduleSelfShipAppointmentRequest to be compared + /// Boolean + public bool Equals(ScheduleSelfShipAppointmentRequest input) + { + if (input == null) + return false; + + return + ( + this.ReasonComment == input.ReasonComment || + (this.ReasonComment != null && + this.ReasonComment.Equals(input.ReasonComment)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ReasonComment != null) + hashCode = hashCode * 59 + this.ReasonComment.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentResponse.cs new file mode 100644 index 00000000..517217d7 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ScheduleSelfShipAppointmentResponse.cs @@ -0,0 +1,130 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `scheduleSelfShipAppointment` response. + /// + [DataContract] + public partial class ScheduleSelfShipAppointmentResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// selfShipAppointmentDetails (required). + public ScheduleSelfShipAppointmentResponse(SelfShipAppointmentDetails selfShipAppointmentDetails = default(SelfShipAppointmentDetails)) + { + // to ensure "selfShipAppointmentDetails" is required (not null) + if (selfShipAppointmentDetails == null) + { + throw new InvalidDataException("selfShipAppointmentDetails is a required property for ScheduleSelfShipAppointmentResponse and cannot be null"); + } + else + { + this.SelfShipAppointmentDetails = selfShipAppointmentDetails; + } + } + public ScheduleSelfShipAppointmentResponse() + { + this.SelfShipAppointmentDetails = default(SelfShipAppointmentDetails); + } + + /// + /// Gets or Sets SelfShipAppointmentDetails + /// + [DataMember(Name="selfShipAppointmentDetails", EmitDefaultValue=false)] + public SelfShipAppointmentDetails SelfShipAppointmentDetails { 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 ScheduleSelfShipAppointmentResponse {\n"); + sb.Append(" SelfShipAppointmentDetails: ").Append(SelfShipAppointmentDetails).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 ScheduleSelfShipAppointmentResponse); + } + + /// + /// Returns true if ScheduleSelfShipAppointmentResponse instances are equal + /// + /// Instance of ScheduleSelfShipAppointmentResponse to be compared + /// Boolean + public bool Equals(ScheduleSelfShipAppointmentResponse input) + { + if (input == null) + return false; + + return + ( + this.SelfShipAppointmentDetails == input.SelfShipAppointmentDetails || + (this.SelfShipAppointmentDetails != null && + this.SelfShipAppointmentDetails.Equals(input.SelfShipAppointmentDetails)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.SelfShipAppointmentDetails != null) + hashCode = hashCode * 59 + this.SelfShipAppointmentDetails.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentDetails.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentDetails.cs new file mode 100644 index 00000000..862587a7 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentDetails.cs @@ -0,0 +1,163 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Appointment details for carrier pickup or fulfillment center appointments. + /// + [DataContract] + public partial class SelfShipAppointmentDetails : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Identifier for appointment.. + /// appointmentSlotTime. + /// Status of the appointment.. + public SelfShipAppointmentDetails(decimal? appointmentId = default(decimal?), AppointmentSlotTime appointmentSlotTime = default(AppointmentSlotTime), string appointmentStatus = default(string)) + { + this.AppointmentId = appointmentId; + this.AppointmentSlotTime = appointmentSlotTime; + this.AppointmentStatus = appointmentStatus; + } + + /// + /// Identifier for appointment. + /// + /// Identifier for appointment. + [DataMember(Name="appointmentId", EmitDefaultValue=false)] + public decimal? AppointmentId { get; set; } + + /// + /// Gets or Sets AppointmentSlotTime + /// + [DataMember(Name="appointmentSlotTime", EmitDefaultValue=false)] + public AppointmentSlotTime AppointmentSlotTime { get; set; } + + /// + /// Status of the appointment. + /// + /// Status of the appointment. + [DataMember(Name="appointmentStatus", EmitDefaultValue=false)] + public string AppointmentStatus { 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 SelfShipAppointmentDetails {\n"); + sb.Append(" AppointmentId: ").Append(AppointmentId).Append("\n"); + sb.Append(" AppointmentSlotTime: ").Append(AppointmentSlotTime).Append("\n"); + sb.Append(" AppointmentStatus: ").Append(AppointmentStatus).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 SelfShipAppointmentDetails); + } + + /// + /// Returns true if SelfShipAppointmentDetails instances are equal + /// + /// Instance of SelfShipAppointmentDetails to be compared + /// Boolean + public bool Equals(SelfShipAppointmentDetails input) + { + if (input == null) + return false; + + return + ( + this.AppointmentId == input.AppointmentId || + (this.AppointmentId != null && + this.AppointmentId.Equals(input.AppointmentId)) + ) && + ( + this.AppointmentSlotTime == input.AppointmentSlotTime || + (this.AppointmentSlotTime != null && + this.AppointmentSlotTime.Equals(input.AppointmentSlotTime)) + ) && + ( + this.AppointmentStatus == input.AppointmentStatus || + (this.AppointmentStatus != null && + this.AppointmentStatus.Equals(input.AppointmentStatus)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.AppointmentId != null) + hashCode = hashCode * 59 + this.AppointmentId.GetHashCode(); + if (this.AppointmentSlotTime != null) + hashCode = hashCode * 59 + this.AppointmentSlotTime.GetHashCode(); + if (this.AppointmentStatus != null) + hashCode = hashCode * 59 + this.AppointmentStatus.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // AppointmentStatus (string) maxLength + if(this.AppointmentStatus != null && this.AppointmentStatus.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AppointmentStatus, length must be less than 1024.", new [] { "AppointmentStatus" }); + } + + // AppointmentStatus (string) minLength + if(this.AppointmentStatus != null && this.AppointmentStatus.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AppointmentStatus, length must be greater than 1.", new [] { "AppointmentStatus" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentSlotsAvailability.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentSlotsAvailability.cs new file mode 100644 index 00000000..3d7f6839 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SelfShipAppointmentSlotsAvailability.cs @@ -0,0 +1,136 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// The self ship appointment time slots availability and an expiration date for which the slots can be scheduled. + /// + [DataContract] + public partial class SelfShipAppointmentSlotsAvailability : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`.. + /// List of appointment slots.. + public SelfShipAppointmentSlotsAvailability(DateTime? expiresAt = default(DateTime?), List slots = default(List)) + { + this.ExpiresAt = expiresAt; + this.Slots = slots; + } + + /// + /// ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + /// + /// ISO 8601 datetime with pattern `yyyy-MM-ddTHH:mm:ss.sssZ`. + [DataMember(Name="expiresAt", EmitDefaultValue=false)] + public DateTime? ExpiresAt { get; set; } + + /// + /// List of appointment slots. + /// + /// List of appointment slots. + [DataMember(Name="slots", EmitDefaultValue=false)] + public List Slots { 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 SelfShipAppointmentSlotsAvailability {\n"); + sb.Append(" ExpiresAt: ").Append(ExpiresAt).Append("\n"); + sb.Append(" Slots: ").Append(Slots).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 SelfShipAppointmentSlotsAvailability); + } + + /// + /// Returns true if SelfShipAppointmentSlotsAvailability instances are equal + /// + /// Instance of SelfShipAppointmentSlotsAvailability to be compared + /// Boolean + public bool Equals(SelfShipAppointmentSlotsAvailability input) + { + if (input == null) + return false; + + return + ( + this.ExpiresAt == input.ExpiresAt || + (this.ExpiresAt != null && + this.ExpiresAt.Equals(input.ExpiresAt)) + ) && + ( + this.Slots == input.Slots || + this.Slots != null && + this.Slots.SequenceEqual(input.Slots) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ExpiresAt != null) + hashCode = hashCode * 59 + this.ExpiresAt.GetHashCode(); + if (this.Slots != null) + hashCode = hashCode * 59 + this.Slots.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationRequest.cs new file mode 100644 index 00000000..83556642 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationRequest.cs @@ -0,0 +1,119 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// `setPackingInformation` request. + /// + [DataContract] + public partial class SetPackingInformationRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// List of packing information for the inbound plan.. + public SetPackingInformationRequest(List packageGroupings = default(List)) + { + this.PackageGroupings = packageGroupings; + } + + /// + /// List of packing information for the inbound plan. + /// + /// List of packing information for the inbound plan. + [DataMember(Name="packageGroupings", EmitDefaultValue=false)] + public List PackageGroupings { 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 SetPackingInformationRequest {\n"); + sb.Append(" PackageGroupings: ").Append(PackageGroupings).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 SetPackingInformationRequest); + } + + /// + /// Returns true if SetPackingInformationRequest instances are equal + /// + /// Instance of SetPackingInformationRequest to be compared + /// Boolean + public bool Equals(SetPackingInformationRequest input) + { + if (input == null) + return false; + + return + ( + this.PackageGroupings == input.PackageGroupings || + this.PackageGroupings != null && + this.PackageGroupings.SequenceEqual(input.PackageGroupings) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.PackageGroupings != null) + hashCode = hashCode * 59 + this.PackageGroupings.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationResponse.cs new file mode 100644 index 00000000..4ce5df23 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SetPackingInformationResponse.cs @@ -0,0 +1,152 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// `setPackingInformation` response. + /// + [DataContract] + public partial class SetPackingInformationResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public SetPackingInformationResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for SetPackingInformationResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public SetPackingInformationResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 SetPackingInformationResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 SetPackingInformationResponse); + } + + /// + /// Returns true if SetPackingInformationResponse instances are equal + /// + /// Instance of SetPackingInformationResponse to be compared + /// Boolean + public bool Equals(SetPackingInformationResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Shipment.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Shipment.cs new file mode 100644 index 00000000..5ea632a2 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Shipment.cs @@ -0,0 +1,523 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains information pertaining to a shipment in an inbound plan. + /// + [DataContract] + public partial class Shipment : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment.. + /// contactInformation. + /// dates. + /// destination (required). + /// Identifier to an inbound plan. (required). + /// The name of the shipment.. + /// palletInformation. + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. (required). + /// Identifier to a transportation option. A transportation option represent one option for how to send a shipment.. + /// List of self ship appointment details.. + /// The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD).. + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. (required). + /// source (required). + /// The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`.. + /// trackingDetails. + public Shipment(string amazonReferenceId = default(string), ContactInformation contactInformation = default(ContactInformation), Dates dates = default(Dates), ShipmentDestination destination = default(ShipmentDestination), string inboundPlanId = default(string), string name = default(string), PalletInformation palletInformation = default(PalletInformation), string placementOptionId = default(string), string selectedTransportationOptionId = default(string), List selfShipAppointmentDetails = default(List), string shipmentConfirmationId = default(string), string shipmentId = default(string), ShipmentSource source = default(ShipmentSource), string status = default(string), TrackingDetails trackingDetails = default(TrackingDetails)) + { + // to ensure "destination" is required (not null) + if (destination == null) + { + throw new InvalidDataException("destination is a required property for Shipment and cannot be null"); + } + else + { + this.Destination = destination; + } + // to ensure "inboundPlanId" is required (not null) + if (inboundPlanId == null) + { + throw new InvalidDataException("inboundPlanId is a required property for Shipment and cannot be null"); + } + else + { + this.InboundPlanId = inboundPlanId; + } + // to ensure "placementOptionId" is required (not null) + if (placementOptionId == null) + { + throw new InvalidDataException("placementOptionId is a required property for Shipment and cannot be null"); + } + else + { + this.PlacementOptionId = placementOptionId; + } + // to ensure "shipmentId" is required (not null) + if (shipmentId == null) + { + throw new InvalidDataException("shipmentId is a required property for Shipment and cannot be null"); + } + else + { + this.ShipmentId = shipmentId; + } + // to ensure "source" is required (not null) + if (source == null) + { + throw new InvalidDataException("source is a required property for Shipment and cannot be null"); + } + else + { + this.Source = source; + } + this.AmazonReferenceId = amazonReferenceId; + this.ContactInformation = contactInformation; + this.Dates = dates; + this.Name = name; + this.PalletInformation = palletInformation; + this.SelectedTransportationOptionId = selectedTransportationOptionId; + this.SelfShipAppointmentDetails = selfShipAppointmentDetails; + this.ShipmentConfirmationId = shipmentConfirmationId; + this.Status = status; + this.TrackingDetails = trackingDetails; + } + public Shipment() + { + this.Destination = default(ShipmentDestination); + this.InboundPlanId = default(string); + this.PlacementOptionId = default(string); + this.ShipmentId = default(string); + this.Source = default(ShipmentSource); + this.AmazonReferenceId = default(string); + this.ContactInformation = default(ContactInformation); + this.Dates = default(Dates); + this.Name = default(string); + this.PalletInformation = default(PalletInformation); + this.SelectedTransportationOptionId = default(string); + this.SelfShipAppointmentDetails = default(List); + this.ShipmentConfirmationId = default(string); + this.Status = default(string); + this.TrackingDetails = default(TrackingDetails); + } + + /// + /// A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment. + /// + /// A unique identifier created by Amazon that identifies this Amazon-partnered, Less Than Truckload/Full Truckload (LTL/FTL) shipment. + [DataMember(Name="amazonReferenceId", EmitDefaultValue=false)] + public string AmazonReferenceId { get; set; } + + /// + /// Gets or Sets ContactInformation + /// + [DataMember(Name="contactInformation", EmitDefaultValue=false)] + public ContactInformation ContactInformation { get; set; } + + /// + /// Gets or Sets Dates + /// + [DataMember(Name="dates", EmitDefaultValue=false)] + public Dates Dates { get; set; } + + /// + /// Gets or Sets Destination + /// + [DataMember(Name="destination", EmitDefaultValue=false)] + public ShipmentDestination Destination { get; set; } + + /// + /// Identifier to an inbound plan. + /// + /// Identifier to an inbound plan. + [DataMember(Name="inboundPlanId", EmitDefaultValue=false)] + public string InboundPlanId { get; set; } + + /// + /// The name of the shipment. + /// + /// The name of the shipment. + [DataMember(Name="name", EmitDefaultValue=false)] + public string Name { get; set; } + + /// + /// Gets or Sets PalletInformation + /// + [DataMember(Name="palletInformation", EmitDefaultValue=false)] + public PalletInformation PalletInformation { get; set; } + + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. + /// + /// Identifier to a placement option. A placement option represents the shipment splits and destinations of SKUs. + [DataMember(Name="placementOptionId", EmitDefaultValue=false)] + public string PlacementOptionId { get; set; } + + /// + /// Identifier to a transportation option. A transportation option represent one option for how to send a shipment. + /// + /// Identifier to a transportation option. A transportation option represent one option for how to send a shipment. + [DataMember(Name="selectedTransportationOptionId", EmitDefaultValue=false)] + public string SelectedTransportationOptionId { get; set; } + + /// + /// List of self ship appointment details. + /// + /// List of self ship appointment details. + [DataMember(Name="selfShipAppointmentDetails", EmitDefaultValue=false)] + public List SelfShipAppointmentDetails { get; set; } + + /// + /// The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD). + /// + /// The confirmed shipment ID which shows up on labels (for example, FBA1234ABCD). + [DataMember(Name="shipmentConfirmationId", EmitDefaultValue=false)] + public string ShipmentConfirmationId { get; set; } + + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + [DataMember(Name="shipmentId", EmitDefaultValue=false)] + public string ShipmentId { get; set; } + + /// + /// Gets or Sets Source + /// + [DataMember(Name="source", EmitDefaultValue=false)] + public ShipmentSource Source { get; set; } + + /// + /// The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`. + /// + /// The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { get; set; } + + /// + /// Gets or Sets TrackingDetails + /// + [DataMember(Name="trackingDetails", EmitDefaultValue=false)] + public TrackingDetails TrackingDetails { 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 Shipment {\n"); + sb.Append(" AmazonReferenceId: ").Append(AmazonReferenceId).Append("\n"); + sb.Append(" ContactInformation: ").Append(ContactInformation).Append("\n"); + sb.Append(" Dates: ").Append(Dates).Append("\n"); + sb.Append(" Destination: ").Append(Destination).Append("\n"); + sb.Append(" InboundPlanId: ").Append(InboundPlanId).Append("\n"); + sb.Append(" Name: ").Append(Name).Append("\n"); + sb.Append(" PalletInformation: ").Append(PalletInformation).Append("\n"); + sb.Append(" PlacementOptionId: ").Append(PlacementOptionId).Append("\n"); + sb.Append(" SelectedTransportationOptionId: ").Append(SelectedTransportationOptionId).Append("\n"); + sb.Append(" SelfShipAppointmentDetails: ").Append(SelfShipAppointmentDetails).Append("\n"); + sb.Append(" ShipmentConfirmationId: ").Append(ShipmentConfirmationId).Append("\n"); + sb.Append(" ShipmentId: ").Append(ShipmentId).Append("\n"); + sb.Append(" Source: ").Append(Source).Append("\n"); + sb.Append(" Status: ").Append(Status).Append("\n"); + sb.Append(" TrackingDetails: ").Append(TrackingDetails).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 Shipment); + } + + /// + /// Returns true if Shipment instances are equal + /// + /// Instance of Shipment to be compared + /// Boolean + public bool Equals(Shipment input) + { + if (input == null) + return false; + + return + ( + this.AmazonReferenceId == input.AmazonReferenceId || + (this.AmazonReferenceId != null && + this.AmazonReferenceId.Equals(input.AmazonReferenceId)) + ) && + ( + this.ContactInformation == input.ContactInformation || + (this.ContactInformation != null && + this.ContactInformation.Equals(input.ContactInformation)) + ) && + ( + this.Dates == input.Dates || + (this.Dates != null && + this.Dates.Equals(input.Dates)) + ) && + ( + this.Destination == input.Destination || + (this.Destination != null && + this.Destination.Equals(input.Destination)) + ) && + ( + this.InboundPlanId == input.InboundPlanId || + (this.InboundPlanId != null && + this.InboundPlanId.Equals(input.InboundPlanId)) + ) && + ( + this.Name == input.Name || + (this.Name != null && + this.Name.Equals(input.Name)) + ) && + ( + this.PalletInformation == input.PalletInformation || + (this.PalletInformation != null && + this.PalletInformation.Equals(input.PalletInformation)) + ) && + ( + this.PlacementOptionId == input.PlacementOptionId || + (this.PlacementOptionId != null && + this.PlacementOptionId.Equals(input.PlacementOptionId)) + ) && + ( + this.SelectedTransportationOptionId == input.SelectedTransportationOptionId || + (this.SelectedTransportationOptionId != null && + this.SelectedTransportationOptionId.Equals(input.SelectedTransportationOptionId)) + ) && + ( + this.SelfShipAppointmentDetails == input.SelfShipAppointmentDetails || + this.SelfShipAppointmentDetails != null && + this.SelfShipAppointmentDetails.SequenceEqual(input.SelfShipAppointmentDetails) + ) && + ( + this.ShipmentConfirmationId == input.ShipmentConfirmationId || + (this.ShipmentConfirmationId != null && + this.ShipmentConfirmationId.Equals(input.ShipmentConfirmationId)) + ) && + ( + this.ShipmentId == input.ShipmentId || + (this.ShipmentId != null && + this.ShipmentId.Equals(input.ShipmentId)) + ) && + ( + this.Source == input.Source || + (this.Source != null && + this.Source.Equals(input.Source)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ) && + ( + this.TrackingDetails == input.TrackingDetails || + (this.TrackingDetails != null && + this.TrackingDetails.Equals(input.TrackingDetails)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.AmazonReferenceId != null) + hashCode = hashCode * 59 + this.AmazonReferenceId.GetHashCode(); + if (this.ContactInformation != null) + hashCode = hashCode * 59 + this.ContactInformation.GetHashCode(); + if (this.Dates != null) + hashCode = hashCode * 59 + this.Dates.GetHashCode(); + if (this.Destination != null) + hashCode = hashCode * 59 + this.Destination.GetHashCode(); + if (this.InboundPlanId != null) + hashCode = hashCode * 59 + this.InboundPlanId.GetHashCode(); + if (this.Name != null) + hashCode = hashCode * 59 + this.Name.GetHashCode(); + if (this.PalletInformation != null) + hashCode = hashCode * 59 + this.PalletInformation.GetHashCode(); + if (this.PlacementOptionId != null) + hashCode = hashCode * 59 + this.PlacementOptionId.GetHashCode(); + if (this.SelectedTransportationOptionId != null) + hashCode = hashCode * 59 + this.SelectedTransportationOptionId.GetHashCode(); + if (this.SelfShipAppointmentDetails != null) + hashCode = hashCode * 59 + this.SelfShipAppointmentDetails.GetHashCode(); + if (this.ShipmentConfirmationId != null) + hashCode = hashCode * 59 + this.ShipmentConfirmationId.GetHashCode(); + if (this.ShipmentId != null) + hashCode = hashCode * 59 + this.ShipmentId.GetHashCode(); + if (this.Source != null) + hashCode = hashCode * 59 + this.Source.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + if (this.TrackingDetails != null) + hashCode = hashCode * 59 + this.TrackingDetails.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // AmazonReferenceId (string) maxLength + if(this.AmazonReferenceId != null && this.AmazonReferenceId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AmazonReferenceId, length must be less than 1024.", new [] { "AmazonReferenceId" }); + } + + // AmazonReferenceId (string) minLength + if(this.AmazonReferenceId != null && this.AmazonReferenceId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for AmazonReferenceId, length must be greater than 1.", new [] { "AmazonReferenceId" }); + } + + // InboundPlanId (string) maxLength + if(this.InboundPlanId != null && this.InboundPlanId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be less than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) minLength + if(this.InboundPlanId != null && this.InboundPlanId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be greater than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) pattern + Regex regexInboundPlanId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexInboundPlanId.Match(this.InboundPlanId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, must match a pattern of " + regexInboundPlanId, new [] { "InboundPlanId" }); + } + + // PlacementOptionId (string) maxLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be less than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) minLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be greater than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) pattern + Regex regexPlacementOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPlacementOptionId.Match(this.PlacementOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, must match a pattern of " + regexPlacementOptionId, new [] { "PlacementOptionId" }); + } + + // SelectedTransportationOptionId (string) maxLength + if(this.SelectedTransportationOptionId != null && this.SelectedTransportationOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SelectedTransportationOptionId, length must be less than 38.", new [] { "SelectedTransportationOptionId" }); + } + + // SelectedTransportationOptionId (string) minLength + if(this.SelectedTransportationOptionId != null && this.SelectedTransportationOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SelectedTransportationOptionId, length must be greater than 38.", new [] { "SelectedTransportationOptionId" }); + } + + // SelectedTransportationOptionId (string) pattern + Regex regexSelectedTransportationOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexSelectedTransportationOptionId.Match(this.SelectedTransportationOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SelectedTransportationOptionId, must match a pattern of " + regexSelectedTransportationOptionId, new [] { "SelectedTransportationOptionId" }); + } + + // ShipmentConfirmationId (string) maxLength + if(this.ShipmentConfirmationId != null && this.ShipmentConfirmationId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentConfirmationId, length must be less than 1024.", new [] { "ShipmentConfirmationId" }); + } + + // ShipmentConfirmationId (string) minLength + if(this.ShipmentConfirmationId != null && this.ShipmentConfirmationId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentConfirmationId, length must be greater than 1.", new [] { "ShipmentConfirmationId" }); + } + + // ShipmentId (string) maxLength + if(this.ShipmentId != null && this.ShipmentId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be less than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) minLength + if(this.ShipmentId != null && this.ShipmentId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be greater than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) pattern + Regex regexShipmentId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexShipmentId.Match(this.ShipmentId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, must match a pattern of " + regexShipmentId, new [] { "ShipmentId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentDestination.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentDestination.cs new file mode 100644 index 00000000..bfa4f952 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentDestination.cs @@ -0,0 +1,190 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The Amazon fulfillment center address and warehouse ID. + /// + [DataContract] + public partial class ShipmentDestination : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ShipmentDestination() { } + /// + /// Initializes a new instance of the class. + /// + /// The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.. + /// The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`. (required). + /// The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`.. + public ShipmentDestination(Address address = default(Address), string destinationType = default(string), string warehouseId = default(string)) + { + // to ensure "destinationType" is required (not null) + if (destinationType == null) + { + throw new InvalidDataException("destinationType is a required property for ShipmentDestination and cannot be null"); + } + else + { + this.DestinationType = destinationType; + } + this.Address = address; + this.WarehouseId = warehouseId; + } + + /// + /// The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`. + /// + /// The address the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`. + [DataMember(Name="address", EmitDefaultValue=false)] + public Address Address { get; set; } + + /// + /// The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`. + /// + /// The type of destination for this shipment. Can be `AMAZON_OPTIMIZED`, or `AMAZON_WAREHOUSE`. + [DataMember(Name="destinationType", EmitDefaultValue=false)] + public string DestinationType { get; set; } + + /// + /// The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`. + /// + /// The warehouse that the shipment should be sent to. Empty if the destination type is `AMAZON_OPTIMIZED`. + [DataMember(Name="warehouseId", EmitDefaultValue=false)] + public string WarehouseId { 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 ShipmentDestination {\n"); + sb.Append(" Address: ").Append(Address).Append("\n"); + sb.Append(" DestinationType: ").Append(DestinationType).Append("\n"); + sb.Append(" WarehouseId: ").Append(WarehouseId).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 ShipmentDestination); + } + + /// + /// Returns true if ShipmentDestination instances are equal + /// + /// Instance of ShipmentDestination to be compared + /// Boolean + public bool Equals(ShipmentDestination input) + { + if (input == null) + return false; + + return + ( + this.Address == input.Address || + (this.Address != null && + this.Address.Equals(input.Address)) + ) && + ( + this.DestinationType == input.DestinationType || + (this.DestinationType != null && + this.DestinationType.Equals(input.DestinationType)) + ) && + ( + this.WarehouseId == input.WarehouseId || + (this.WarehouseId != null && + this.WarehouseId.Equals(input.WarehouseId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Address != null) + hashCode = hashCode * 59 + this.Address.GetHashCode(); + if (this.DestinationType != null) + hashCode = hashCode * 59 + this.DestinationType.GetHashCode(); + if (this.WarehouseId != null) + hashCode = hashCode * 59 + this.WarehouseId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // DestinationType (string) maxLength + if(this.DestinationType != null && this.DestinationType.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DestinationType, length must be less than 1024.", new [] { "DestinationType" }); + } + + // DestinationType (string) minLength + if(this.DestinationType != null && this.DestinationType.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for DestinationType, length must be greater than 1.", new [] { "DestinationType" }); + } + + // WarehouseId (string) maxLength + if(this.WarehouseId != null && this.WarehouseId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for WarehouseId, length must be less than 1024.", new [] { "WarehouseId" }); + } + + // WarehouseId (string) minLength + if(this.WarehouseId != null && this.WarehouseId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for WarehouseId, length must be greater than 1.", new [] { "WarehouseId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSource.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSource.cs new file mode 100644 index 00000000..2a5b7657 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSource.cs @@ -0,0 +1,160 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Specifies the 'ship from' address for the shipment. + /// + [DataContract] + public partial class ShipmentSource : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ShipmentSource() { } + /// + /// Initializes a new instance of the class. + /// + /// address. + /// The type of source for this shipment. Can be `SELLER_FACILITY`. (required). + public ShipmentSource(Address address = default(Address), string sourceType = default(string)) + { + // to ensure "sourceType" is required (not null) + if (sourceType == null) + { + throw new InvalidDataException("sourceType is a required property for ShipmentSource and cannot be null"); + } + else + { + this.SourceType = sourceType; + } + this.Address = address; + } + + /// + /// Gets or Sets Address + /// + [DataMember(Name="address", EmitDefaultValue=false)] + public Address Address { get; set; } + + /// + /// The type of source for this shipment. Can be `SELLER_FACILITY`. + /// + /// The type of source for this shipment. Can be `SELLER_FACILITY`. + [DataMember(Name="sourceType", EmitDefaultValue=false)] + public string SourceType { 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 ShipmentSource {\n"); + sb.Append(" Address: ").Append(Address).Append("\n"); + sb.Append(" SourceType: ").Append(SourceType).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 ShipmentSource); + } + + /// + /// Returns true if ShipmentSource instances are equal + /// + /// Instance of ShipmentSource to be compared + /// Boolean + public bool Equals(ShipmentSource input) + { + if (input == null) + return false; + + return + ( + this.Address == input.Address || + (this.Address != null && + this.Address.Equals(input.Address)) + ) && + ( + this.SourceType == input.SourceType || + (this.SourceType != null && + this.SourceType.Equals(input.SourceType)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Address != null) + hashCode = hashCode * 59 + this.Address.GetHashCode(); + if (this.SourceType != null) + hashCode = hashCode * 59 + this.SourceType.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // SourceType (string) maxLength + if(this.SourceType != null && this.SourceType.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SourceType, length must be less than 1024.", new [] { "SourceType" }); + } + + // SourceType (string) minLength + if(this.SourceType != null && this.SourceType.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for SourceType, length must be greater than 1.", new [] { "SourceType" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSummary.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSummary.cs new file mode 100644 index 00000000..95f87712 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentSummary.cs @@ -0,0 +1,189 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Summary information about a shipment. + /// + [DataContract] + public partial class ShipmentSummary : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ShipmentSummary() { } + /// + /// Initializes a new instance of the class. + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. (required). + /// The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`. (required). + public ShipmentSummary(string shipmentId = default(string), string status = default(string)) + { + // to ensure "shipmentId" is required (not null) + if (shipmentId == null) + { + throw new InvalidDataException("shipmentId is a required property for ShipmentSummary and cannot be null"); + } + else + { + this.ShipmentId = shipmentId; + } + // to ensure "status" is required (not null) + if (status == null) + { + throw new InvalidDataException("status is a required property for ShipmentSummary and cannot be null"); + } + else + { + this.Status = status; + } + } + + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + [DataMember(Name="shipmentId", EmitDefaultValue=false)] + public string ShipmentId { get; set; } + + /// + /// The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`. + /// + /// The status of a shipment. The state of the shipment will typically start in `WORKING` and transition to `READY_TO_SHIP` once required actions are complete prior to being picked up or shipped out. Can be `ABANDONED`, `CANCELLED`, `CHECKED_IN`, `CLOSED`, `DELETED`, `DELIVERED`, `IN_TRANSIT`, `MIXED`, `READY_TO_SHIP`, `RECEIVING`, `SHIPPED`, or `WORKING`. + [DataMember(Name="status", EmitDefaultValue=false)] + public string Status { 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 ShipmentSummary {\n"); + sb.Append(" ShipmentId: ").Append(ShipmentId).Append("\n"); + sb.Append(" Status: ").Append(Status).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 ShipmentSummary); + } + + /// + /// Returns true if ShipmentSummary instances are equal + /// + /// Instance of ShipmentSummary to be compared + /// Boolean + public bool Equals(ShipmentSummary input) + { + if (input == null) + return false; + + return + ( + this.ShipmentId == input.ShipmentId || + (this.ShipmentId != null && + this.ShipmentId.Equals(input.ShipmentId)) + ) && + ( + this.Status == input.Status || + (this.Status != null && + this.Status.Equals(input.Status)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ShipmentId != null) + hashCode = hashCode * 59 + this.ShipmentId.GetHashCode(); + if (this.Status != null) + hashCode = hashCode * 59 + this.Status.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // ShipmentId (string) maxLength + if(this.ShipmentId != null && this.ShipmentId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be less than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) minLength + if(this.ShipmentId != null && this.ShipmentId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be greater than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) pattern + Regex regexShipmentId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexShipmentId.Match(this.ShipmentId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, must match a pattern of " + regexShipmentId, new [] { "ShipmentId" }); + } + + // Status (string) maxLength + if(this.Status != null && this.Status.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be less than 1024.", new [] { "Status" }); + } + + // Status (string) minLength + if(this.Status != null && this.Status.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Status, length must be greater than 1.", new [] { "Status" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentTransportationConfiguration.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentTransportationConfiguration.cs new file mode 100644 index 00000000..58678ba6 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShipmentTransportationConfiguration.cs @@ -0,0 +1,209 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Details needed to generate the transportation options. + /// + [DataContract] + public partial class ShipmentTransportationConfiguration : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected ShipmentTransportationConfiguration() { } + /// + /// Initializes a new instance of the class. + /// + /// contactInformation. + /// palletInformation. + /// The range of dates within which the seller intends to ship their items. This is the pick-up date or “ready to ship” date, not an estimated delivery date. (required). + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. (required). + public ShipmentTransportationConfiguration(ContactInformation contactInformation = default(ContactInformation), PalletInformation palletInformation = default(PalletInformation), WindowInput readyToShipWindow = default(WindowInput), string shipmentId = default(string)) + { + // to ensure "readyToShipWindow" is required (not null) + if (readyToShipWindow == null) + { + throw new InvalidDataException("readyToShipWindow is a required property for ShipmentTransportationConfiguration and cannot be null"); + } + else + { + this.ReadyToShipWindow = readyToShipWindow; + } + // to ensure "shipmentId" is required (not null) + if (shipmentId == null) + { + throw new InvalidDataException("shipmentId is a required property for ShipmentTransportationConfiguration and cannot be null"); + } + else + { + this.ShipmentId = shipmentId; + } + this.ContactInformation = contactInformation; + this.PalletInformation = palletInformation; + } + + /// + /// Gets or Sets ContactInformation + /// + [DataMember(Name="contactInformation", EmitDefaultValue=false)] + public ContactInformation ContactInformation { get; set; } + + /// + /// Gets or Sets PalletInformation + /// + [DataMember(Name="palletInformation", EmitDefaultValue=false)] + public PalletInformation PalletInformation { get; set; } + + /// + /// The range of dates within which the seller intends to ship their items. This is the pick-up date or “ready to ship” date, not an estimated delivery date. + /// + /// The range of dates within which the seller intends to ship their items. This is the pick-up date or “ready to ship” date, not an estimated delivery date. + [DataMember(Name="readyToShipWindow", EmitDefaultValue=false)] + public WindowInput ReadyToShipWindow { get; set; } + + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + [DataMember(Name="shipmentId", EmitDefaultValue=false)] + public string ShipmentId { 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 ShipmentTransportationConfiguration {\n"); + sb.Append(" ContactInformation: ").Append(ContactInformation).Append("\n"); + sb.Append(" PalletInformation: ").Append(PalletInformation).Append("\n"); + sb.Append(" ReadyToShipWindow: ").Append(ReadyToShipWindow).Append("\n"); + sb.Append(" ShipmentId: ").Append(ShipmentId).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 ShipmentTransportationConfiguration); + } + + /// + /// Returns true if ShipmentTransportationConfiguration instances are equal + /// + /// Instance of ShipmentTransportationConfiguration to be compared + /// Boolean + public bool Equals(ShipmentTransportationConfiguration input) + { + if (input == null) + return false; + + return + ( + this.ContactInformation == input.ContactInformation || + (this.ContactInformation != null && + this.ContactInformation.Equals(input.ContactInformation)) + ) && + ( + this.PalletInformation == input.PalletInformation || + (this.PalletInformation != null && + this.PalletInformation.Equals(input.PalletInformation)) + ) && + ( + this.ReadyToShipWindow == input.ReadyToShipWindow || + (this.ReadyToShipWindow != null && + this.ReadyToShipWindow.Equals(input.ReadyToShipWindow)) + ) && + ( + this.ShipmentId == input.ShipmentId || + (this.ShipmentId != null && + this.ShipmentId.Equals(input.ShipmentId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ContactInformation != null) + hashCode = hashCode * 59 + this.ContactInformation.GetHashCode(); + if (this.PalletInformation != null) + hashCode = hashCode * 59 + this.PalletInformation.GetHashCode(); + if (this.ReadyToShipWindow != null) + hashCode = hashCode * 59 + this.ReadyToShipWindow.GetHashCode(); + if (this.ShipmentId != null) + hashCode = hashCode * 59 + this.ShipmentId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // ShipmentId (string) maxLength + if(this.ShipmentId != null && this.ShipmentId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be less than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) minLength + if(this.ShipmentId != null && this.ShipmentId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be greater than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) pattern + Regex regexShipmentId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexShipmentId.Match(this.ShipmentId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, must match a pattern of " + regexShipmentId, new [] { "ShipmentId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShippingConfiguration.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShippingConfiguration.cs new file mode 100644 index 00000000..e99db276 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/ShippingConfiguration.cs @@ -0,0 +1,159 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The shipping configurations supported for the packing option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express. + /// + [DataContract] + public partial class ShippingConfiguration : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`.. + /// Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`.. + public ShippingConfiguration(string shippingMode = default(string), string shippingSolution = default(string)) + { + this.ShippingMode = shippingMode; + this.ShippingSolution = shippingSolution; + } + + /// + /// Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`. + /// + /// Mode of shipment transportation that this option will provide. Can be `GROUND_SMALL_PARCEL`, `FREIGHT_LTL`, `FREIGHT_FTL_PALLET`, `FREIGHT_FTL_NONPALLET`, `OCEAN_LCL`, `OCEAN_FCL`, `AIR_SMALL_PARCEL`, or `AIR_SMALL_PARCEL_EXPRESS`. + [DataMember(Name="shippingMode", EmitDefaultValue=false)] + public string ShippingMode { get; set; } + + /// + /// Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`. + /// + /// Shipping program for the option. Can be `AMAZON_PARTNERED_CARRIER` or `USE_YOUR_OWN_CARRIER`. + [DataMember(Name="shippingSolution", EmitDefaultValue=false)] + public string ShippingSolution { 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 ShippingConfiguration {\n"); + sb.Append(" ShippingMode: ").Append(ShippingMode).Append("\n"); + sb.Append(" ShippingSolution: ").Append(ShippingSolution).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 ShippingConfiguration); + } + + /// + /// Returns true if ShippingConfiguration instances are equal + /// + /// Instance of ShippingConfiguration to be compared + /// Boolean + public bool Equals(ShippingConfiguration input) + { + if (input == null) + return false; + + return + ( + this.ShippingMode == input.ShippingMode || + (this.ShippingMode != null && + this.ShippingMode.Equals(input.ShippingMode)) + ) && + ( + this.ShippingSolution == input.ShippingSolution || + (this.ShippingSolution != null && + this.ShippingSolution.Equals(input.ShippingSolution)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ShippingMode != null) + hashCode = hashCode * 59 + this.ShippingMode.GetHashCode(); + if (this.ShippingSolution != null) + hashCode = hashCode * 59 + this.ShippingSolution.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // ShippingMode (string) maxLength + if(this.ShippingMode != null && this.ShippingMode.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingMode, length must be less than 1024.", new [] { "ShippingMode" }); + } + + // ShippingMode (string) minLength + if(this.ShippingMode != null && this.ShippingMode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingMode, length must be greater than 1.", new [] { "ShippingMode" }); + } + + // ShippingSolution (string) maxLength + if(this.ShippingSolution != null && this.ShippingSolution.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingSolution, length must be less than 1024.", new [] { "ShippingSolution" }); + } + + // ShippingSolution (string) minLength + if(this.ShippingSolution != null && this.ShippingSolution.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingSolution, length must be greater than 1.", new [] { "ShippingSolution" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetail.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetail.cs new file mode 100644 index 00000000..570207e0 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetail.cs @@ -0,0 +1,119 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// Contains information related to Small Parcel Delivery (SPD) shipment tracking. + /// + [DataContract] + public partial class SpdTrackingDetail : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// List of Small Parcel Delivery (SPD) tracking items.. + public SpdTrackingDetail(List spdTrackingItems = default(List)) + { + this.SpdTrackingItems = spdTrackingItems; + } + + /// + /// List of Small Parcel Delivery (SPD) tracking items. + /// + /// List of Small Parcel Delivery (SPD) tracking items. + [DataMember(Name="spdTrackingItems", EmitDefaultValue=false)] + public List SpdTrackingItems { 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 SpdTrackingDetail {\n"); + sb.Append(" SpdTrackingItems: ").Append(SpdTrackingItems).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 SpdTrackingDetail); + } + + /// + /// Returns true if SpdTrackingDetail instances are equal + /// + /// Instance of SpdTrackingDetail to be compared + /// Boolean + public bool Equals(SpdTrackingDetail input) + { + if (input == null) + return false; + + return + ( + this.SpdTrackingItems == input.SpdTrackingItems || + this.SpdTrackingItems != null && + this.SpdTrackingItems.SequenceEqual(input.SpdTrackingItems) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.SpdTrackingItems != null) + hashCode = hashCode * 59 + this.SpdTrackingItems.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetailInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetailInput.cs new file mode 100644 index 00000000..d21390fd --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingDetailInput.cs @@ -0,0 +1,133 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Linq; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains input information to update Small Parcel Delivery (SPD) tracking information. + /// + [DataContract] + public partial class SpdTrackingDetailInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected SpdTrackingDetailInput() { } + /// + /// Initializes a new instance of the class. + /// + /// List of Small Parcel Delivery (SPD) tracking items input. (required). + public SpdTrackingDetailInput(List spdTrackingItems = default(List)) + { + // to ensure "spdTrackingItems" is required (not null) + if (spdTrackingItems == null) + { + throw new InvalidDataException("spdTrackingItems is a required property for SpdTrackingDetailInput and cannot be null"); + } + else + { + this.SpdTrackingItems = spdTrackingItems; + } + } + + /// + /// List of Small Parcel Delivery (SPD) tracking items input. + /// + /// List of Small Parcel Delivery (SPD) tracking items input. + [DataMember(Name="spdTrackingItems", EmitDefaultValue=false)] + public List SpdTrackingItems { 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 SpdTrackingDetailInput {\n"); + sb.Append(" SpdTrackingItems: ").Append(SpdTrackingItems).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 SpdTrackingDetailInput); + } + + /// + /// Returns true if SpdTrackingDetailInput instances are equal + /// + /// Instance of SpdTrackingDetailInput to be compared + /// Boolean + public bool Equals(SpdTrackingDetailInput input) + { + if (input == null) + return false; + + return + ( + this.SpdTrackingItems == input.SpdTrackingItems || + this.SpdTrackingItems != null && + this.SpdTrackingItems.SequenceEqual(input.SpdTrackingItems) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.SpdTrackingItems != null) + hashCode = hashCode * 59 + this.SpdTrackingItems.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItem.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItem.cs new file mode 100644 index 00000000..1835bb04 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItem.cs @@ -0,0 +1,188 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains information used to track and identify a Small Parcel Delivery (SPD) item. + /// + [DataContract] + public partial class SpdTrackingItem : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box.. + /// The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment.. + /// Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`.. + public SpdTrackingItem(string boxId = default(string), string trackingId = default(string), string trackingNumberValidationStatus = default(string)) + { + this.BoxId = boxId; + this.TrackingId = trackingId; + this.TrackingNumberValidationStatus = trackingNumberValidationStatus; + } + + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + [DataMember(Name="boxId", EmitDefaultValue=false)] + public string BoxId { get; set; } + + /// + /// The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. + /// + /// The tracking ID associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. + [DataMember(Name="trackingId", EmitDefaultValue=false)] + public string TrackingId { get; set; } + + /// + /// Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`. + /// + /// Whether or not Amazon has validated the tracking number. If more than 24 hours have passed and the status is not yet 'VALIDATED', please verify the number and update if necessary. Can be `VALIDATED` or `NOT_VALIDATED`. + [DataMember(Name="trackingNumberValidationStatus", EmitDefaultValue=false)] + public string TrackingNumberValidationStatus { 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 SpdTrackingItem {\n"); + sb.Append(" BoxId: ").Append(BoxId).Append("\n"); + sb.Append(" TrackingId: ").Append(TrackingId).Append("\n"); + sb.Append(" TrackingNumberValidationStatus: ").Append(TrackingNumberValidationStatus).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 SpdTrackingItem); + } + + /// + /// Returns true if SpdTrackingItem instances are equal + /// + /// Instance of SpdTrackingItem to be compared + /// Boolean + public bool Equals(SpdTrackingItem input) + { + if (input == null) + return false; + + return + ( + this.BoxId == input.BoxId || + (this.BoxId != null && + this.BoxId.Equals(input.BoxId)) + ) && + ( + this.TrackingId == input.TrackingId || + (this.TrackingId != null && + this.TrackingId.Equals(input.TrackingId)) + ) && + ( + this.TrackingNumberValidationStatus == input.TrackingNumberValidationStatus || + (this.TrackingNumberValidationStatus != null && + this.TrackingNumberValidationStatus.Equals(input.TrackingNumberValidationStatus)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BoxId != null) + hashCode = hashCode * 59 + this.BoxId.GetHashCode(); + if (this.TrackingId != null) + hashCode = hashCode * 59 + this.TrackingId.GetHashCode(); + if (this.TrackingNumberValidationStatus != null) + hashCode = hashCode * 59 + this.TrackingNumberValidationStatus.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // BoxId (string) maxLength + if(this.BoxId != null && this.BoxId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be less than 1024.", new [] { "BoxId" }); + } + + // BoxId (string) minLength + if(this.BoxId != null && this.BoxId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be greater than 1.", new [] { "BoxId" }); + } + + // TrackingId (string) maxLength + if(this.TrackingId != null && this.TrackingId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TrackingId, length must be less than 1024.", new [] { "TrackingId" }); + } + + // TrackingId (string) minLength + if(this.TrackingId != null && this.TrackingId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TrackingId, length must be greater than 1.", new [] { "TrackingId" }); + } + + // TrackingNumberValidationStatus (string) maxLength + if(this.TrackingNumberValidationStatus != null && this.TrackingNumberValidationStatus.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TrackingNumberValidationStatus, length must be less than 1024.", new [] { "TrackingNumberValidationStatus" }); + } + + // TrackingNumberValidationStatus (string) minLength + if(this.TrackingNumberValidationStatus != null && this.TrackingNumberValidationStatus.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TrackingNumberValidationStatus, length must be greater than 1.", new [] { "TrackingNumberValidationStatus" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItemInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItemInput.cs new file mode 100644 index 00000000..f18f8374 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/SpdTrackingItemInput.cs @@ -0,0 +1,181 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Small Parcel Delivery (SPD) tracking items input information. + /// + [DataContract] + public partial class SpdTrackingItemInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected SpdTrackingItemInput() { } + /// + /// Initializes a new instance of the class. + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. (required). + /// The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. (required). + public SpdTrackingItemInput(string boxId = default(string), string trackingId = default(string)) + { + // to ensure "boxId" is required (not null) + if (boxId == null) + { + throw new InvalidDataException("boxId is a required property for SpdTrackingItemInput and cannot be null"); + } + else + { + this.BoxId = boxId; + } + // to ensure "trackingId" is required (not null) + if (trackingId == null) + { + throw new InvalidDataException("trackingId is a required property for SpdTrackingItemInput and cannot be null"); + } + else + { + this.TrackingId = trackingId; + } + } + + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + /// + /// The ID provided by Amazon that identifies a given box. This ID is comprised of the external shipment ID (which is generated after transportation has been confirmed) and the index of the box. + [DataMember(Name="boxId", EmitDefaultValue=false)] + public string BoxId { get; set; } + + /// + /// The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. + /// + /// The tracking Id associated with each box in a non-Amazon partnered Small Parcel Delivery (SPD) shipment. The seller must provide this information. + [DataMember(Name="trackingId", EmitDefaultValue=false)] + public string TrackingId { 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 SpdTrackingItemInput {\n"); + sb.Append(" BoxId: ").Append(BoxId).Append("\n"); + sb.Append(" TrackingId: ").Append(TrackingId).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 SpdTrackingItemInput); + } + + /// + /// Returns true if SpdTrackingItemInput instances are equal + /// + /// Instance of SpdTrackingItemInput to be compared + /// Boolean + public bool Equals(SpdTrackingItemInput input) + { + if (input == null) + return false; + + return + ( + this.BoxId == input.BoxId || + (this.BoxId != null && + this.BoxId.Equals(input.BoxId)) + ) && + ( + this.TrackingId == input.TrackingId || + (this.TrackingId != null && + this.TrackingId.Equals(input.TrackingId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.BoxId != null) + hashCode = hashCode * 59 + this.BoxId.GetHashCode(); + if (this.TrackingId != null) + hashCode = hashCode * 59 + this.TrackingId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // BoxId (string) maxLength + if(this.BoxId != null && this.BoxId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be less than 1024.", new [] { "BoxId" }); + } + + // BoxId (string) minLength + if(this.BoxId != null && this.BoxId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for BoxId, length must be greater than 1.", new [] { "BoxId" }); + } + + // TrackingId (string) maxLength + if(this.TrackingId != null && this.TrackingId.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TrackingId, length must be less than 1024.", new [] { "TrackingId" }); + } + + // TrackingId (string) minLength + if(this.TrackingId != null && this.TrackingId.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TrackingId, length must be greater than 1.", new [] { "TrackingId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Stackability.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Stackability.cs new file mode 100644 index 00000000..fca28021 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Stackability.cs @@ -0,0 +1,40 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Indicates whether pallets will be stacked when carrier arrives for pick-up. + /// + /// Indicates whether pallets will be stacked when carrier arrives for pick-up. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum Stackability + { + + /// + /// Enum STACKABLE for value: STACKABLE + /// + [EnumMember(Value = "STACKABLE")] + STACKABLE = 1, + + /// + /// Enum NONSTACKABLE for value: NON_STACKABLE + /// + [EnumMember(Value = "NON_STACKABLE")] + NONSTACKABLE = 2 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxDetails.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxDetails.cs new file mode 100644 index 00000000..692dcec6 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxDetails.cs @@ -0,0 +1,164 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +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.FulfillmentInboundv20240320 +{ + /// + /// Information used to determine the tax compliance. + /// + [DataContract] + public partial class TaxDetails : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// declaredValue. + /// Harmonized System of Nomenclature code.. + /// List of tax rates.. + public TaxDetails(Currency declaredValue = default(Currency), string hsnCode = default(string), List taxRates = default(List)) + { + this.DeclaredValue = declaredValue; + this.HsnCode = hsnCode; + this.TaxRates = taxRates; + } + + /// + /// Gets or Sets DeclaredValue + /// + [DataMember(Name="declaredValue", EmitDefaultValue=false)] + public Currency DeclaredValue { get; set; } + + /// + /// Harmonized System of Nomenclature code. + /// + /// Harmonized System of Nomenclature code. + [DataMember(Name="hsnCode", EmitDefaultValue=false)] + public string HsnCode { get; set; } + + /// + /// List of tax rates. + /// + /// List of tax rates. + [DataMember(Name="taxRates", EmitDefaultValue=false)] + public List TaxRates { 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 TaxDetails {\n"); + sb.Append(" DeclaredValue: ").Append(DeclaredValue).Append("\n"); + sb.Append(" HsnCode: ").Append(HsnCode).Append("\n"); + sb.Append(" TaxRates: ").Append(TaxRates).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 TaxDetails); + } + + /// + /// Returns true if TaxDetails instances are equal + /// + /// Instance of TaxDetails to be compared + /// Boolean + public bool Equals(TaxDetails input) + { + if (input == null) + return false; + + return + ( + this.DeclaredValue == input.DeclaredValue || + (this.DeclaredValue != null && + this.DeclaredValue.Equals(input.DeclaredValue)) + ) && + ( + this.HsnCode == input.HsnCode || + (this.HsnCode != null && + this.HsnCode.Equals(input.HsnCode)) + ) && + ( + this.TaxRates == input.TaxRates || + this.TaxRates != null && + this.TaxRates.SequenceEqual(input.TaxRates) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DeclaredValue != null) + hashCode = hashCode * 59 + this.DeclaredValue.GetHashCode(); + if (this.HsnCode != null) + hashCode = hashCode * 59 + this.HsnCode.GetHashCode(); + if (this.TaxRates != null) + hashCode = hashCode * 59 + this.TaxRates.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // HsnCode (string) maxLength + if(this.HsnCode != null && this.HsnCode.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for HsnCode, length must be less than 1024.", new [] { "HsnCode" }); + } + + // HsnCode (string) minLength + if(this.HsnCode != null && this.HsnCode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for HsnCode, length must be greater than 1.", new [] { "HsnCode" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxRate.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxRate.cs new file mode 100644 index 00000000..77212e30 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TaxRate.cs @@ -0,0 +1,164 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains the type and rate of tax. + /// + [DataContract] + public partial class TaxRate : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// Rate of cess tax.. + /// Rate of gst tax.. + /// Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`.. + public TaxRate(double? cessRate = default(double?), double? gstRate = default(double?), string taxType = default(string)) + { + this.CessRate = cessRate; + this.GstRate = gstRate; + this.TaxType = taxType; + } + + /// + /// Rate of cess tax. + /// + /// Rate of cess tax. + [DataMember(Name="cessRate", EmitDefaultValue=false)] + public double? CessRate { get; set; } + + /// + /// Rate of gst tax. + /// + /// Rate of gst tax. + [DataMember(Name="gstRate", EmitDefaultValue=false)] + public double? GstRate { get; set; } + + /// + /// Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`. + /// + /// Type of tax. Can be `CGST`, `SGST`, `IGST`, or `TOTAL_TAX`. + [DataMember(Name="taxType", EmitDefaultValue=false)] + public string TaxType { 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 TaxRate {\n"); + sb.Append(" CessRate: ").Append(CessRate).Append("\n"); + sb.Append(" GstRate: ").Append(GstRate).Append("\n"); + sb.Append(" TaxType: ").Append(TaxType).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 TaxRate); + } + + /// + /// Returns true if TaxRate instances are equal + /// + /// Instance of TaxRate to be compared + /// Boolean + public bool Equals(TaxRate input) + { + if (input == null) + return false; + + return + ( + this.CessRate == input.CessRate || + (this.CessRate != null && + this.CessRate.Equals(input.CessRate)) + ) && + ( + this.GstRate == input.GstRate || + (this.GstRate != null && + this.GstRate.Equals(input.GstRate)) + ) && + ( + this.TaxType == input.TaxType || + (this.TaxType != null && + this.TaxType.Equals(input.TaxType)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.CessRate != null) + hashCode = hashCode * 59 + this.CessRate.GetHashCode(); + if (this.GstRate != null) + hashCode = hashCode * 59 + this.GstRate.GetHashCode(); + if (this.TaxType != null) + hashCode = hashCode * 59 + this.TaxType.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // TaxType (string) maxLength + if(this.TaxType != null && this.TaxType.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TaxType, length must be less than 1024.", new [] { "TaxType" }); + } + + // TaxType (string) minLength + if(this.TaxType != null && this.TaxType.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TaxType, length must be greater than 1.", new [] { "TaxType" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetails.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetails.cs new file mode 100644 index 00000000..2dd7f686 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetails.cs @@ -0,0 +1,133 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Tracking information for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments. + /// + [DataContract] + public partial class TrackingDetails : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ltlTrackingDetail. + /// spdTrackingDetail. + public TrackingDetails(LtlTrackingDetail ltlTrackingDetail = default(LtlTrackingDetail), SpdTrackingDetail spdTrackingDetail = default(SpdTrackingDetail)) + { + this.LtlTrackingDetail = ltlTrackingDetail; + this.SpdTrackingDetail = spdTrackingDetail; + } + + /// + /// Gets or Sets LtlTrackingDetail + /// + [DataMember(Name="ltlTrackingDetail", EmitDefaultValue=false)] + public LtlTrackingDetail LtlTrackingDetail { get; set; } + + /// + /// Gets or Sets SpdTrackingDetail + /// + [DataMember(Name="spdTrackingDetail", EmitDefaultValue=false)] + public SpdTrackingDetail SpdTrackingDetail { 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 TrackingDetails {\n"); + sb.Append(" LtlTrackingDetail: ").Append(LtlTrackingDetail).Append("\n"); + sb.Append(" SpdTrackingDetail: ").Append(SpdTrackingDetail).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 TrackingDetails); + } + + /// + /// Returns true if TrackingDetails instances are equal + /// + /// Instance of TrackingDetails to be compared + /// Boolean + public bool Equals(TrackingDetails input) + { + if (input == null) + return false; + + return + ( + this.LtlTrackingDetail == input.LtlTrackingDetail || + (this.LtlTrackingDetail != null && + this.LtlTrackingDetail.Equals(input.LtlTrackingDetail)) + ) && + ( + this.SpdTrackingDetail == input.SpdTrackingDetail || + (this.SpdTrackingDetail != null && + this.SpdTrackingDetail.Equals(input.SpdTrackingDetail)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.LtlTrackingDetail != null) + hashCode = hashCode * 59 + this.LtlTrackingDetail.GetHashCode(); + if (this.SpdTrackingDetail != null) + hashCode = hashCode * 59 + this.SpdTrackingDetail.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetailsInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetailsInput.cs new file mode 100644 index 00000000..e10fc17e --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TrackingDetailsInput.cs @@ -0,0 +1,133 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Tracking information input for Less-Than-Truckload (LTL) and Small Parcel Delivery (SPD) shipments. + /// + [DataContract] + public partial class TrackingDetailsInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// ltlTrackingDetail. + /// spdTrackingDetail. + public TrackingDetailsInput(LtlTrackingDetailInput ltlTrackingDetail = default(LtlTrackingDetailInput), SpdTrackingDetailInput spdTrackingDetail = default(SpdTrackingDetailInput)) + { + this.LtlTrackingDetail = ltlTrackingDetail; + this.SpdTrackingDetail = spdTrackingDetail; + } + + /// + /// Gets or Sets LtlTrackingDetail + /// + [DataMember(Name="ltlTrackingDetail", EmitDefaultValue=false)] + public LtlTrackingDetailInput LtlTrackingDetail { get; set; } + + /// + /// Gets or Sets SpdTrackingDetail + /// + [DataMember(Name="spdTrackingDetail", EmitDefaultValue=false)] + public SpdTrackingDetailInput SpdTrackingDetail { 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 TrackingDetailsInput {\n"); + sb.Append(" LtlTrackingDetail: ").Append(LtlTrackingDetail).Append("\n"); + sb.Append(" SpdTrackingDetail: ").Append(SpdTrackingDetail).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 TrackingDetailsInput); + } + + /// + /// Returns true if TrackingDetailsInput instances are equal + /// + /// Instance of TrackingDetailsInput to be compared + /// Boolean + public bool Equals(TrackingDetailsInput input) + { + if (input == null) + return false; + + return + ( + this.LtlTrackingDetail == input.LtlTrackingDetail || + (this.LtlTrackingDetail != null && + this.LtlTrackingDetail.Equals(input.LtlTrackingDetail)) + ) && + ( + this.SpdTrackingDetail == input.SpdTrackingDetail || + (this.SpdTrackingDetail != null && + this.SpdTrackingDetail.Equals(input.SpdTrackingDetail)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.LtlTrackingDetail != null) + hashCode = hashCode * 59 + this.LtlTrackingDetail.GetHashCode(); + if (this.SpdTrackingDetail != null) + hashCode = hashCode * 59 + this.SpdTrackingDetail.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationOption.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationOption.cs new file mode 100644 index 00000000..7c242c07 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationOption.cs @@ -0,0 +1,414 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains information pertaining to a transportation option and the related carrier. + /// + [DataContract] + public partial class TransportationOption : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TransportationOption() { } + /// + /// Initializes a new instance of the class. + /// + /// appointmentSlot. + /// carrier (required). + /// Identifier to an inbound plan. (required). + /// The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs. (required). + /// quote. + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. (required). + /// The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express. (required). + /// The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'. (required). + /// Identifier to a transportation option. A transportation option represent one option for how to send a shipment. (required). + public TransportationOption(AppointmentSlot appointmentSlot = default(AppointmentSlot), Carrier carrier = default(Carrier), string inboundPlanId = default(string), string placementOptionId = default(string), Quote quote = default(Quote), string shipmentId = default(string), string shippingMode = default(string), string shippingSolution = default(string), string transportationOptionId = default(string)) + { + // to ensure "carrier" is required (not null) + if (carrier == null) + { + throw new InvalidDataException("carrier is a required property for TransportationOption and cannot be null"); + } + else + { + this.Carrier = carrier; + } + // to ensure "inboundPlanId" is required (not null) + if (inboundPlanId == null) + { + throw new InvalidDataException("inboundPlanId is a required property for TransportationOption and cannot be null"); + } + else + { + this.InboundPlanId = inboundPlanId; + } + // to ensure "placementOptionId" is required (not null) + if (placementOptionId == null) + { + throw new InvalidDataException("placementOptionId is a required property for TransportationOption and cannot be null"); + } + else + { + this.PlacementOptionId = placementOptionId; + } + // to ensure "shipmentId" is required (not null) + if (shipmentId == null) + { + throw new InvalidDataException("shipmentId is a required property for TransportationOption and cannot be null"); + } + else + { + this.ShipmentId = shipmentId; + } + // to ensure "shippingMode" is required (not null) + if (shippingMode == null) + { + throw new InvalidDataException("shippingMode is a required property for TransportationOption and cannot be null"); + } + else + { + this.ShippingMode = shippingMode; + } + // to ensure "shippingSolution" is required (not null) + if (shippingSolution == null) + { + throw new InvalidDataException("shippingSolution is a required property for TransportationOption and cannot be null"); + } + else + { + this.ShippingSolution = shippingSolution; + } + // to ensure "transportationOptionId" is required (not null) + if (transportationOptionId == null) + { + throw new InvalidDataException("transportationOptionId is a required property for TransportationOption and cannot be null"); + } + else + { + this.TransportationOptionId = transportationOptionId; + } + this.AppointmentSlot = appointmentSlot; + this.Quote = quote; + } + + /// + /// Gets or Sets AppointmentSlot + /// + [DataMember(Name="appointmentSlot", EmitDefaultValue=false)] + public AppointmentSlot AppointmentSlot { get; set; } + + /// + /// Gets or Sets Carrier + /// + [DataMember(Name="carrier", EmitDefaultValue=false)] + public Carrier Carrier { get; set; } + + /// + /// Identifier to an inbound plan. + /// + /// Identifier to an inbound plan. + [DataMember(Name="inboundPlanId", EmitDefaultValue=false)] + public string InboundPlanId { get; set; } + + /// + /// The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs. + /// + /// The identifier of a placement option. A placement option represents the shipment splits and destinations of SKUs. + [DataMember(Name="placementOptionId", EmitDefaultValue=false)] + public string PlacementOptionId { get; set; } + + /// + /// Gets or Sets Quote + /// + [DataMember(Name="quote", EmitDefaultValue=false)] + public Quote Quote { get; set; } + + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + /// + /// Identifier to a shipment. A shipment contains the boxes and units being inbounded. + [DataMember(Name="shipmentId", EmitDefaultValue=false)] + public string ShipmentId { get; set; } + + /// + /// The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express. + /// + /// The shipping mode associated with the transportation option. Available modes are ground small parcel, freight less-than-truckload (LTL), freight full-truckload (FTL) palletized, freight FTL non-palletized, ocean less-than-container-load (LCL), ocean full-container load (FCL), air small parcel, and air small parcel express. + [DataMember(Name="shippingMode", EmitDefaultValue=false)] + public string ShippingMode { get; set; } + + /// + /// The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'. + /// + /// The shipping solution associated with the transportation option. Available solutions are Amazon-partnered carrier or 'use your own carrier'. + [DataMember(Name="shippingSolution", EmitDefaultValue=false)] + public string ShippingSolution { get; set; } + + /// + /// Identifier to a transportation option. A transportation option represent one option for how to send a shipment. + /// + /// Identifier to a transportation option. A transportation option represent one option for how to send a shipment. + [DataMember(Name="transportationOptionId", EmitDefaultValue=false)] + public string TransportationOptionId { 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 TransportationOption {\n"); + sb.Append(" AppointmentSlot: ").Append(AppointmentSlot).Append("\n"); + sb.Append(" Carrier: ").Append(Carrier).Append("\n"); + sb.Append(" InboundPlanId: ").Append(InboundPlanId).Append("\n"); + sb.Append(" PlacementOptionId: ").Append(PlacementOptionId).Append("\n"); + sb.Append(" Quote: ").Append(Quote).Append("\n"); + sb.Append(" ShipmentId: ").Append(ShipmentId).Append("\n"); + sb.Append(" ShippingMode: ").Append(ShippingMode).Append("\n"); + sb.Append(" ShippingSolution: ").Append(ShippingSolution).Append("\n"); + sb.Append(" TransportationOptionId: ").Append(TransportationOptionId).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 TransportationOption); + } + + /// + /// Returns true if TransportationOption instances are equal + /// + /// Instance of TransportationOption to be compared + /// Boolean + public bool Equals(TransportationOption input) + { + if (input == null) + return false; + + return + ( + this.AppointmentSlot == input.AppointmentSlot || + (this.AppointmentSlot != null && + this.AppointmentSlot.Equals(input.AppointmentSlot)) + ) && + ( + this.Carrier == input.Carrier || + (this.Carrier != null && + this.Carrier.Equals(input.Carrier)) + ) && + ( + this.InboundPlanId == input.InboundPlanId || + (this.InboundPlanId != null && + this.InboundPlanId.Equals(input.InboundPlanId)) + ) && + ( + this.PlacementOptionId == input.PlacementOptionId || + (this.PlacementOptionId != null && + this.PlacementOptionId.Equals(input.PlacementOptionId)) + ) && + ( + this.Quote == input.Quote || + (this.Quote != null && + this.Quote.Equals(input.Quote)) + ) && + ( + this.ShipmentId == input.ShipmentId || + (this.ShipmentId != null && + this.ShipmentId.Equals(input.ShipmentId)) + ) && + ( + this.ShippingMode == input.ShippingMode || + (this.ShippingMode != null && + this.ShippingMode.Equals(input.ShippingMode)) + ) && + ( + this.ShippingSolution == input.ShippingSolution || + (this.ShippingSolution != null && + this.ShippingSolution.Equals(input.ShippingSolution)) + ) && + ( + this.TransportationOptionId == input.TransportationOptionId || + (this.TransportationOptionId != null && + this.TransportationOptionId.Equals(input.TransportationOptionId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.AppointmentSlot != null) + hashCode = hashCode * 59 + this.AppointmentSlot.GetHashCode(); + if (this.Carrier != null) + hashCode = hashCode * 59 + this.Carrier.GetHashCode(); + if (this.InboundPlanId != null) + hashCode = hashCode * 59 + this.InboundPlanId.GetHashCode(); + if (this.PlacementOptionId != null) + hashCode = hashCode * 59 + this.PlacementOptionId.GetHashCode(); + if (this.Quote != null) + hashCode = hashCode * 59 + this.Quote.GetHashCode(); + if (this.ShipmentId != null) + hashCode = hashCode * 59 + this.ShipmentId.GetHashCode(); + if (this.ShippingMode != null) + hashCode = hashCode * 59 + this.ShippingMode.GetHashCode(); + if (this.ShippingSolution != null) + hashCode = hashCode * 59 + this.ShippingSolution.GetHashCode(); + if (this.TransportationOptionId != null) + hashCode = hashCode * 59 + this.TransportationOptionId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // InboundPlanId (string) maxLength + if(this.InboundPlanId != null && this.InboundPlanId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be less than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) minLength + if(this.InboundPlanId != null && this.InboundPlanId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, length must be greater than 38.", new [] { "InboundPlanId" }); + } + + // InboundPlanId (string) pattern + Regex regexInboundPlanId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexInboundPlanId.Match(this.InboundPlanId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for InboundPlanId, must match a pattern of " + regexInboundPlanId, new [] { "InboundPlanId" }); + } + + // PlacementOptionId (string) maxLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be less than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) minLength + if(this.PlacementOptionId != null && this.PlacementOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, length must be greater than 38.", new [] { "PlacementOptionId" }); + } + + // PlacementOptionId (string) pattern + Regex regexPlacementOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexPlacementOptionId.Match(this.PlacementOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for PlacementOptionId, must match a pattern of " + regexPlacementOptionId, new [] { "PlacementOptionId" }); + } + + // ShipmentId (string) maxLength + if(this.ShipmentId != null && this.ShipmentId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be less than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) minLength + if(this.ShipmentId != null && this.ShipmentId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be greater than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) pattern + Regex regexShipmentId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexShipmentId.Match(this.ShipmentId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, must match a pattern of " + regexShipmentId, new [] { "ShipmentId" }); + } + + // ShippingMode (string) maxLength + if(this.ShippingMode != null && this.ShippingMode.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingMode, length must be less than 1024.", new [] { "ShippingMode" }); + } + + // ShippingMode (string) minLength + if(this.ShippingMode != null && this.ShippingMode.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingMode, length must be greater than 1.", new [] { "ShippingMode" }); + } + + // ShippingSolution (string) maxLength + if(this.ShippingSolution != null && this.ShippingSolution.Length > 1024) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingSolution, length must be less than 1024.", new [] { "ShippingSolution" }); + } + + // ShippingSolution (string) minLength + if(this.ShippingSolution != null && this.ShippingSolution.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShippingSolution, length must be greater than 1.", new [] { "ShippingSolution" }); + } + + // TransportationOptionId (string) maxLength + if(this.TransportationOptionId != null && this.TransportationOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TransportationOptionId, length must be less than 38.", new [] { "TransportationOptionId" }); + } + + // TransportationOptionId (string) minLength + if(this.TransportationOptionId != null && this.TransportationOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TransportationOptionId, length must be greater than 38.", new [] { "TransportationOptionId" }); + } + + // TransportationOptionId (string) pattern + Regex regexTransportationOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexTransportationOptionId.Match(this.TransportationOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TransportationOptionId, must match a pattern of " + regexTransportationOptionId, new [] { "TransportationOptionId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationSelection.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationSelection.cs new file mode 100644 index 00000000..80656b01 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/TransportationSelection.cs @@ -0,0 +1,229 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The transportation option selected to confirm. + /// + [DataContract] + public partial class TransportationSelection : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected TransportationSelection() { } + /// + /// Initializes a new instance of the class. + /// + /// contactInformation. + /// The range of dates within which the seller expects that their shipment will be delivered to Amazon. . + /// Shipment ID that the transportation Option is for. (required). + /// Transportation option being selected for the provided shipment. (required). + public TransportationSelection(ContactInformation contactInformation = default(ContactInformation), WindowInput deliveryWindow = default(WindowInput), string shipmentId = default(string), string transportationOptionId = default(string)) + { + // to ensure "shipmentId" is required (not null) + if (shipmentId == null) + { + throw new InvalidDataException("shipmentId is a required property for TransportationSelection and cannot be null"); + } + else + { + this.ShipmentId = shipmentId; + } + // to ensure "transportationOptionId" is required (not null) + if (transportationOptionId == null) + { + throw new InvalidDataException("transportationOptionId is a required property for TransportationSelection and cannot be null"); + } + else + { + this.TransportationOptionId = transportationOptionId; + } + this.ContactInformation = contactInformation; + this.DeliveryWindow = deliveryWindow; + } + + /// + /// Gets or Sets ContactInformation + /// + [DataMember(Name="contactInformation", EmitDefaultValue=false)] + public ContactInformation ContactInformation { get; set; } + + /// + /// The range of dates within which the seller expects that their shipment will be delivered to Amazon. + /// + /// The range of dates within which the seller expects that their shipment will be delivered to Amazon. + [DataMember(Name="deliveryWindow", EmitDefaultValue=false)] + public WindowInput DeliveryWindow { get; set; } + + /// + /// Shipment ID that the transportation Option is for. + /// + /// Shipment ID that the transportation Option is for. + [DataMember(Name="shipmentId", EmitDefaultValue=false)] + public string ShipmentId { get; set; } + + /// + /// Transportation option being selected for the provided shipment. + /// + /// Transportation option being selected for the provided shipment. + [DataMember(Name="transportationOptionId", EmitDefaultValue=false)] + public string TransportationOptionId { 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 TransportationSelection {\n"); + sb.Append(" ContactInformation: ").Append(ContactInformation).Append("\n"); + sb.Append(" DeliveryWindow: ").Append(DeliveryWindow).Append("\n"); + sb.Append(" ShipmentId: ").Append(ShipmentId).Append("\n"); + sb.Append(" TransportationOptionId: ").Append(TransportationOptionId).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 TransportationSelection); + } + + /// + /// Returns true if TransportationSelection instances are equal + /// + /// Instance of TransportationSelection to be compared + /// Boolean + public bool Equals(TransportationSelection input) + { + if (input == null) + return false; + + return + ( + this.ContactInformation == input.ContactInformation || + (this.ContactInformation != null && + this.ContactInformation.Equals(input.ContactInformation)) + ) && + ( + this.DeliveryWindow == input.DeliveryWindow || + (this.DeliveryWindow != null && + this.DeliveryWindow.Equals(input.DeliveryWindow)) + ) && + ( + this.ShipmentId == input.ShipmentId || + (this.ShipmentId != null && + this.ShipmentId.Equals(input.ShipmentId)) + ) && + ( + this.TransportationOptionId == input.TransportationOptionId || + (this.TransportationOptionId != null && + this.TransportationOptionId.Equals(input.TransportationOptionId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.ContactInformation != null) + hashCode = hashCode * 59 + this.ContactInformation.GetHashCode(); + if (this.DeliveryWindow != null) + hashCode = hashCode * 59 + this.DeliveryWindow.GetHashCode(); + if (this.ShipmentId != null) + hashCode = hashCode * 59 + this.ShipmentId.GetHashCode(); + if (this.TransportationOptionId != null) + hashCode = hashCode * 59 + this.TransportationOptionId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // ShipmentId (string) maxLength + if(this.ShipmentId != null && this.ShipmentId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be less than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) minLength + if(this.ShipmentId != null && this.ShipmentId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, length must be greater than 38.", new [] { "ShipmentId" }); + } + + // ShipmentId (string) pattern + Regex regexShipmentId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexShipmentId.Match(this.ShipmentId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for ShipmentId, must match a pattern of " + regexShipmentId, new [] { "ShipmentId" }); + } + + // TransportationOptionId (string) maxLength + if(this.TransportationOptionId != null && this.TransportationOptionId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TransportationOptionId, length must be less than 38.", new [] { "TransportationOptionId" }); + } + + // TransportationOptionId (string) minLength + if(this.TransportationOptionId != null && this.TransportationOptionId.Length < 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TransportationOptionId, length must be greater than 38.", new [] { "TransportationOptionId" }); + } + + // TransportationOptionId (string) pattern + Regex regexTransportationOptionId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexTransportationOptionId.Match(this.TransportationOptionId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for TransportationOptionId, must match a pattern of " + regexTransportationOptionId, new [] { "TransportationOptionId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfMeasurement.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfMeasurement.cs new file mode 100644 index 00000000..3df9a505 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfMeasurement.cs @@ -0,0 +1,40 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Unit of linear measure. + /// + /// Unit of linear measure. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum UnitOfMeasurement + { + + /// + /// Enum IN for value: IN + /// + [EnumMember(Value = "IN")] + IN = 1, + + /// + /// Enum CM for value: CM + /// + [EnumMember(Value = "CM")] + CM = 2 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfWeight.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfWeight.cs new file mode 100644 index 00000000..21e440f7 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UnitOfWeight.cs @@ -0,0 +1,40 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; +using System.Runtime.Serialization; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Unit of the weight being measured. + /// + /// Unit of the weight being measured. + + [JsonConverter(typeof(StringEnumConverter))] + + public enum UnitOfWeight + { + + /// + /// Enum LB for value: LB + /// + [EnumMember(Value = "LB")] + LB = 1, + + /// + /// Enum KG for value: KG + /// + [EnumMember(Value = "KG")] + KG = 2 + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsRequest.cs new file mode 100644 index 00000000..71efce32 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsRequest.cs @@ -0,0 +1,168 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `updateItemComplianceDetails` request. + /// + [DataContract] + public partial class UpdateItemComplianceDetailsRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected UpdateItemComplianceDetailsRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. (required). + /// taxDetails (required). + public UpdateItemComplianceDetailsRequest(string msku = default(string), TaxDetails taxDetails = default(TaxDetails)) + { + // to ensure "msku" is required (not null) + if (msku == null) + { + throw new InvalidDataException("msku is a required property for UpdateItemComplianceDetailsRequest and cannot be null"); + } + else + { + this.Msku = msku; + } + // to ensure "taxDetails" is required (not null) + if (taxDetails == null) + { + throw new InvalidDataException("taxDetails is a required property for UpdateItemComplianceDetailsRequest and cannot be null"); + } + else + { + this.TaxDetails = taxDetails; + } + } + + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. + /// + /// The merchant SKU, a merchant-supplied identifier for a specific SKU. + [DataMember(Name="msku", EmitDefaultValue=false)] + public string Msku { get; set; } + + /// + /// Gets or Sets TaxDetails + /// + [DataMember(Name="taxDetails", EmitDefaultValue=false)] + public TaxDetails TaxDetails { 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 UpdateItemComplianceDetailsRequest {\n"); + sb.Append(" Msku: ").Append(Msku).Append("\n"); + sb.Append(" TaxDetails: ").Append(TaxDetails).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 UpdateItemComplianceDetailsRequest); + } + + /// + /// Returns true if UpdateItemComplianceDetailsRequest instances are equal + /// + /// Instance of UpdateItemComplianceDetailsRequest to be compared + /// Boolean + public bool Equals(UpdateItemComplianceDetailsRequest input) + { + if (input == null) + return false; + + return + ( + this.Msku == input.Msku || + (this.Msku != null && + this.Msku.Equals(input.Msku)) + ) && + ( + this.TaxDetails == input.TaxDetails || + (this.TaxDetails != null && + this.TaxDetails.Equals(input.TaxDetails)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Msku != null) + hashCode = hashCode * 59 + this.Msku.GetHashCode(); + if (this.TaxDetails != null) + hashCode = hashCode * 59 + this.TaxDetails.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Msku (string) maxLength + if(this.Msku != null && this.Msku.Length > 40) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be less than 40.", new [] { "Msku" }); + } + + // Msku (string) minLength + if(this.Msku != null && this.Msku.Length < 1) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Msku, length must be greater than 1.", new [] { "Msku" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsResponse.cs new file mode 100644 index 00000000..3fb31098 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateItemComplianceDetailsResponse.cs @@ -0,0 +1,152 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `updateItemComplianceDetails` response. + /// + [DataContract] + public partial class UpdateItemComplianceDetailsResponse : IEquatable, IValidatableObject + { + + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public UpdateItemComplianceDetailsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for UpdateItemComplianceDetailsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public UpdateItemComplianceDetailsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 UpdateItemComplianceDetailsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 UpdateItemComplianceDetailsResponse); + } + + /// + /// Returns true if UpdateItemComplianceDetailsResponse instances are equal + /// + /// Instance of UpdateItemComplianceDetailsResponse to be compared + /// Boolean + public bool Equals(UpdateItemComplianceDetailsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowRequest.cs new file mode 100644 index 00000000..64773c61 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowRequest.cs @@ -0,0 +1,132 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `updateShipmentDeliveryWindow` request. + /// + [DataContract] + public partial class UpdateShipmentDeliveryWindowRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected UpdateShipmentDeliveryWindowRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// The range of dates within which the seller expects that their shipment will be delivered to Amazon. (required). + public UpdateShipmentDeliveryWindowRequest(WindowInput deliveryWindow = default(WindowInput)) + { + // to ensure "deliveryWindow" is required (not null) + if (deliveryWindow == null) + { + throw new InvalidDataException("deliveryWindow is a required property for UpdateShipmentDeliveryWindowRequest and cannot be null"); + } + else + { + this.DeliveryWindow = deliveryWindow; + } + } + + /// + /// The range of dates within which the seller expects that their shipment will be delivered to Amazon. + /// + /// The range of dates within which the seller expects that their shipment will be delivered to Amazon. + [DataMember(Name="deliveryWindow", EmitDefaultValue=false)] + public WindowInput DeliveryWindow { 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 UpdateShipmentDeliveryWindowRequest {\n"); + sb.Append(" DeliveryWindow: ").Append(DeliveryWindow).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 UpdateShipmentDeliveryWindowRequest); + } + + /// + /// Returns true if UpdateShipmentDeliveryWindowRequest instances are equal + /// + /// Instance of UpdateShipmentDeliveryWindowRequest to be compared + /// Boolean + public bool Equals(UpdateShipmentDeliveryWindowRequest input) + { + if (input == null) + return false; + + return + ( + this.DeliveryWindow == input.DeliveryWindow || + (this.DeliveryWindow != null && + this.DeliveryWindow.Equals(input.DeliveryWindow)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.DeliveryWindow != null) + hashCode = hashCode * 59 + this.DeliveryWindow.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowResponse.cs new file mode 100644 index 00000000..e5606fb0 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentDeliveryWindowResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `updateShipmentDeliveryWindow` response. + /// + [DataContract] + public partial class UpdateShipmentDeliveryWindowResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public UpdateShipmentDeliveryWindowResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for UpdateShipmentDeliveryWindowResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public UpdateShipmentDeliveryWindowResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 UpdateShipmentDeliveryWindowResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 UpdateShipmentDeliveryWindowResponse); + } + + /// + /// Returns true if UpdateShipmentDeliveryWindowResponse instances are equal + /// + /// Instance of UpdateShipmentDeliveryWindowResponse to be compared + /// Boolean + public bool Equals(UpdateShipmentDeliveryWindowResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsRequest.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsRequest.cs new file mode 100644 index 00000000..40934ffa --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsRequest.cs @@ -0,0 +1,131 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `updateShipmentTrackingDetails` request. + /// + [DataContract] + public partial class UpdateShipmentTrackingDetailsRequest : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected UpdateShipmentTrackingDetailsRequest() { } + /// + /// Initializes a new instance of the class. + /// + /// trackingDetails (required). + public UpdateShipmentTrackingDetailsRequest(TrackingDetailsInput trackingDetails = default(TrackingDetailsInput)) + { + // to ensure "trackingDetails" is required (not null) + if (trackingDetails == null) + { + throw new InvalidDataException("trackingDetails is a required property for UpdateShipmentTrackingDetailsRequest and cannot be null"); + } + else + { + this.TrackingDetails = trackingDetails; + } + } + + /// + /// Gets or Sets TrackingDetails + /// + [DataMember(Name="trackingDetails", EmitDefaultValue=false)] + public TrackingDetailsInput TrackingDetails { 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 UpdateShipmentTrackingDetailsRequest {\n"); + sb.Append(" TrackingDetails: ").Append(TrackingDetails).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 UpdateShipmentTrackingDetailsRequest); + } + + /// + /// Returns true if UpdateShipmentTrackingDetailsRequest instances are equal + /// + /// Instance of UpdateShipmentTrackingDetailsRequest to be compared + /// Boolean + public bool Equals(UpdateShipmentTrackingDetailsRequest input) + { + if (input == null) + return false; + + return + ( + this.TrackingDetails == input.TrackingDetails || + (this.TrackingDetails != null && + this.TrackingDetails.Equals(input.TrackingDetails)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.TrackingDetails != null) + hashCode = hashCode * 59 + this.TrackingDetails.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsResponse.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsResponse.cs new file mode 100644 index 00000000..081d3e22 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/UpdateShipmentTrackingDetailsResponse.cs @@ -0,0 +1,151 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; +using System.Text.RegularExpressions; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The `updateShipmentTrackingDetails` response. + /// + [DataContract] + public partial class UpdateShipmentTrackingDetailsResponse : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + /// UUID for the given operation. (required). + public UpdateShipmentTrackingDetailsResponse(string operationId = default(string)) + { + // to ensure "operationId" is required (not null) + if (operationId == null) + { + throw new InvalidDataException("operationId is a required property for UpdateShipmentTrackingDetailsResponse and cannot be null"); + } + else + { + this.OperationId = operationId; + } + } + public UpdateShipmentTrackingDetailsResponse() + { + this.OperationId = default(string); + } + + /// + /// UUID for the given operation. + /// + /// UUID for the given operation. + [DataMember(Name="operationId", EmitDefaultValue=false)] + public string OperationId { 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 UpdateShipmentTrackingDetailsResponse {\n"); + sb.Append(" OperationId: ").Append(OperationId).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 UpdateShipmentTrackingDetailsResponse); + } + + /// + /// Returns true if UpdateShipmentTrackingDetailsResponse instances are equal + /// + /// Instance of UpdateShipmentTrackingDetailsResponse to be compared + /// Boolean + public bool Equals(UpdateShipmentTrackingDetailsResponse input) + { + if (input == null) + return false; + + return + ( + this.OperationId == input.OperationId || + (this.OperationId != null && + this.OperationId.Equals(input.OperationId)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.OperationId != null) + hashCode = hashCode * 59 + this.OperationId.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // OperationId (string) maxLength + if(this.OperationId != null && this.OperationId.Length > 38) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be less than 38.", new [] { "OperationId" }); + } + + // OperationId (string) minLength + if(this.OperationId != null && this.OperationId.Length < 36) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, length must be greater than 36.", new [] { "OperationId" }); + } + + // OperationId (string) pattern + Regex regexOperationId = new Regex(@"^[a-zA-Z0-9-]*$", RegexOptions.CultureInvariant); + if (false == regexOperationId.Match(this.OperationId).Success) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for OperationId, must match a pattern of " + regexOperationId, new [] { "OperationId" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Weight.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Weight.cs new file mode 100644 index 00000000..8304a933 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Weight.cs @@ -0,0 +1,168 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// The weight of a package. + /// + [DataContract] + public partial class Weight : IEquatable, IValidatableObject + { + /// + /// Gets or Sets Unit + /// + [DataMember(Name="unit", EmitDefaultValue=false)] + public UnitOfWeight Unit { get; set; } + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Weight() { } + /// + /// Initializes a new instance of the class. + /// + /// unit (required). + /// Value of a weight. (required). + public Weight(UnitOfWeight unit = default(UnitOfWeight), double? value = default(double?)) + { + // to ensure "unit" is required (not null) + if (unit == null) + { + throw new InvalidDataException("unit is a required property for Weight and cannot be null"); + } + else + { + this.Unit = unit; + } + // to ensure "value" is required (not null) + if (value == null) + { + throw new InvalidDataException("value is a required property for Weight and cannot be null"); + } + else + { + this.Value = value; + } + } + + + /// + /// Value of a weight. + /// + /// Value of a weight. + [DataMember(Name="value", EmitDefaultValue=false)] + public double? Value { 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 Weight {\n"); + sb.Append(" Unit: ").Append(Unit).Append("\n"); + sb.Append(" Value: ").Append(Value).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 Weight); + } + + /// + /// Returns true if Weight instances are equal + /// + /// Instance of Weight to be compared + /// Boolean + public bool Equals(Weight input) + { + if (input == null) + return false; + + return + ( + this.Unit == input.Unit || + (this.Unit != null && + this.Unit.Equals(input.Unit)) + ) && + ( + this.Value == input.Value || + (this.Value != null && + this.Value.Equals(input.Value)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Unit != null) + hashCode = hashCode * 59 + this.Unit.GetHashCode(); + if (this.Value != null) + hashCode = hashCode * 59 + this.Value.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + // Value (double?) maximum + if(this.Value > (double?)100000) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Value, must be a value less than or equal to 100000.", new [] { "Value" }); + } + + // Value (double?) minimum + if(this.Value < (double?)0) + { + yield return new System.ComponentModel.DataAnnotations.ValidationResult("Invalid value for Value, must be a value greater than or equal to 0.", new [] { "Value" }); + } + + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Window.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Window.cs new file mode 100644 index 00000000..9074abb0 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/Window.cs @@ -0,0 +1,174 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains a start and end DateTime representing a time range. + /// + [DataContract] + public partial class Window : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected Window() { } + /// + /// Initializes a new instance of the class. + /// + /// The timestamp at which this Window can no longer be edited.. + /// The end timestamp of the window. (required). + /// The start timestamp of the window. (required). + public Window(DateTime? editableUntil = default(DateTime?), DateTime? end = default(DateTime?), DateTime? start = default(DateTime?)) + { + // to ensure "end" is required (not null) + if (end == null) + { + throw new InvalidDataException("end is a required property for Window and cannot be null"); + } + else + { + this.End = end; + } + // to ensure "start" is required (not null) + if (start == null) + { + throw new InvalidDataException("start is a required property for Window and cannot be null"); + } + else + { + this.Start = start; + } + this.EditableUntil = editableUntil; + } + + /// + /// The timestamp at which this Window can no longer be edited. + /// + /// The timestamp at which this Window can no longer be edited. + [DataMember(Name="editableUntil", EmitDefaultValue=false)] + public DateTime? EditableUntil { get; set; } + + /// + /// The end timestamp of the window. + /// + /// The end timestamp of the window. + [DataMember(Name="end", EmitDefaultValue=false)] + public DateTime? End { get; set; } + + /// + /// The start timestamp of the window. + /// + /// The start timestamp of the window. + [DataMember(Name="start", EmitDefaultValue=false)] + public DateTime? Start { 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 Window {\n"); + sb.Append(" EditableUntil: ").Append(EditableUntil).Append("\n"); + sb.Append(" End: ").Append(End).Append("\n"); + sb.Append(" Start: ").Append(Start).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 Window); + } + + /// + /// Returns true if Window instances are equal + /// + /// Instance of Window to be compared + /// Boolean + public bool Equals(Window input) + { + if (input == null) + return false; + + return + ( + this.EditableUntil == input.EditableUntil || + (this.EditableUntil != null && + this.EditableUntil.Equals(input.EditableUntil)) + ) && + ( + this.End == input.End || + (this.End != null && + this.End.Equals(input.End)) + ) && + ( + this.Start == input.Start || + (this.Start != null && + this.Start.Equals(input.Start)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.EditableUntil != null) + hashCode = hashCode * 59 + this.EditableUntil.GetHashCode(); + if (this.End != null) + hashCode = hashCode * 59 + this.End.GetHashCode(); + if (this.Start != null) + hashCode = hashCode * 59 + this.Start.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/WindowInput.cs b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/WindowInput.cs new file mode 100644 index 00000000..1114a849 --- /dev/null +++ b/Source/FikaAmazonAPI/AmazonSpApiSDK/Models/FulfillmentInboundv20240320/WindowInput.cs @@ -0,0 +1,132 @@ +/* + * The Selling Partner API for FBA inbound operations. + * + * The Selling Partner API for Fulfillment By Amazon (FBA) Inbound. The FBA Inbound API enables building inbound workflows to create, manage, and send shipments into Amazon's fulfillment network. The API has interoperability with the Send-to-Amazon user interface. + * + * OpenAPI spec version: 2024-03-20 + * + * Generated by: https://github.com/swagger-api/swagger-codegen.git + */ + +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.IO; +using System.Runtime.Serialization; +using System.Text; + +namespace FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320 +{ + /// + /// Contains only a starting DateTime. + /// + [DataContract] + public partial class WindowInput : IEquatable, IValidatableObject + { + /// + /// Initializes a new instance of the class. + /// + [JsonConstructorAttribute] + protected WindowInput() { } + /// + /// Initializes a new instance of the class. + /// + /// The start date of the window. The time component must be zero. (required). + public WindowInput(DateTime? start = default(DateTime?)) + { + // to ensure "start" is required (not null) + if (start == null) + { + throw new InvalidDataException("start is a required property for WindowInput and cannot be null"); + } + else + { + this.Start = start; + } + } + + /// + /// The start date of the window. The time component must be zero. + /// + /// The start date of the window. The time component must be zero. + [DataMember(Name="start", EmitDefaultValue=false)] + public DateTime? Start { 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 WindowInput {\n"); + sb.Append(" Start: ").Append(Start).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 WindowInput); + } + + /// + /// Returns true if WindowInput instances are equal + /// + /// Instance of WindowInput to be compared + /// Boolean + public bool Equals(WindowInput input) + { + if (input == null) + return false; + + return + ( + this.Start == input.Start || + (this.Start != null && + this.Start.Equals(input.Start)) + ); + } + + /// + /// Gets the hash code + /// + /// Hash code + public override int GetHashCode() + { + unchecked // Overflow is fine, just wrap + { + int hashCode = 41; + if (this.Start != null) + hashCode = hashCode * 59 + this.Start.GetHashCode(); + return hashCode; + } + } + + /// + /// To validate all properties of the instance + /// + /// Validation context + /// Validation Result + IEnumerable IValidatableObject.Validate(ValidationContext validationContext) + { + yield break; + } + } + +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterConfirmPackingOption.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterConfirmPackingOption.cs new file mode 100644 index 00000000..14abd125 --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterConfirmPackingOption.cs @@ -0,0 +1,11 @@ +using FikaAmazonAPI.Search; +using FikaAmazonAPI.Parameter.FulFillmentInbound; + +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParameterConfirmPackingOption : ParameterBased + { + public string InboundPlanId { get; set; } + public string PackingOptionId { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterGetListInboundPlans.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterGetListInboundPlans.cs new file mode 100644 index 00000000..770a24e5 --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterGetListInboundPlans.cs @@ -0,0 +1,13 @@ +using FikaAmazonAPI.Utils; +using static FikaAmazonAPI.Utils.Constants; + +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParameterGetListInboundPlans : PaginationParameter + { + public string PaginationToken { get; set; } + public FullFillmentInboundPlanStatus? Status { get; set; } + public FullFillmentInboundSortBy? SortBy { get; set; } + public SortOrderEnum? sortOrder { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListInboundPlan.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListInboundPlan.cs new file mode 100644 index 00000000..98b6badf --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListInboundPlan.cs @@ -0,0 +1,9 @@ +using FikaAmazonAPI.Parameter.FulFillmentInbound; +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParameterListInboundPlan : PaginationParameter + { + public string InboundPlanId { get; set; } + public string PaginationToken { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListPackingGroupItems.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListPackingGroupItems.cs new file mode 100644 index 00000000..3f281d0b --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListPackingGroupItems.cs @@ -0,0 +1,13 @@ +using FikaAmazonAPI.Search; +using FikaAmazonAPI.Parameter.FulFillmentInbound; + +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParameterListPackingGroupItems : PaginationParameter + { + public string InboundPlanId { get; set; } + public string PackingOptionId { get; set; } + public string PackingGroupId { get; set; } + public string PaginationToken { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListTransportationOptions.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListTransportationOptions.cs new file mode 100644 index 00000000..01b44ac2 --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterListTransportationOptions.cs @@ -0,0 +1,10 @@ +using FikaAmazonAPI.Parameter.FulFillmentInbound; +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParameterListTransportationOptions : PaginationParameter + { + public string PlacementOptionId { get; set; } + public string ShipmentId { get; set; } + public string PaginationToken { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterUpdateItemComplianceDetails.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterUpdateItemComplianceDetails.cs new file mode 100644 index 00000000..98b12d13 --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParameterUpdateItemComplianceDetails.cs @@ -0,0 +1,10 @@ +using FikaAmazonAPI.Search; +using FikaAmazonAPI.Parameter.FulFillmentInbound; + +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParameterUpdateItemComplianceDetails : ParameterBased + { + public string MarketplaceId { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParematerListItemComplianceDetails.cs b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParematerListItemComplianceDetails.cs new file mode 100644 index 00000000..f1e482d5 --- /dev/null +++ b/Source/FikaAmazonAPI/Parameter/FulFillmentInbound/v20240320/ParematerListItemComplianceDetails.cs @@ -0,0 +1,12 @@ +using FikaAmazonAPI.Search; +using System.Collections.Generic; +using FikaAmazonAPI.Parameter.FulFillmentInbound; + +namespace FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320 +{ + public class ParematerListItemComplianceDetails : ParameterBased + { + public ICollection MSkus { get; set; } + public string MarketplaceId { get; set; } + } +} diff --git a/Source/FikaAmazonAPI/Services/ApiUrls.cs b/Source/FikaAmazonAPI/Services/ApiUrls.cs index 0fe40e77..99c7a6c4 100644 --- a/Source/FikaAmazonAPI/Services/ApiUrls.cs +++ b/Source/FikaAmazonAPI/Services/ApiUrls.cs @@ -119,6 +119,50 @@ public static string GetShipmentItems { get => $"{_resourceBaseUrl}/shipmentItems"; } + + #region V20240320 + + public static string GetListInboundPlans + { + get => $"{_resourceBaseUrl}/inboundPlans"; + } + public static string CreateInboundPlan + { + get => $"{_resourceBaseUrl}/inboundPlans"; + } + + public static string GetInboundPlan(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}"; + public static string ListInboundPlanBoxes(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/boxes"; + public static string CancelInboundPlan(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/cancellation"; + public static string ListInboundPlanItems(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/items"; + public static string SetPackingInformation(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/packingInformation"; + public static string ListPackingOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/packingOptions"; + public static string GeneratePackingOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/packingOptions"; + public static string ConfirmPackingOption(string inboundPlanId, string packingOptionId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/confirmation"; + public static string ListPackingGroupItems(string inboundPlanId, string packingOptionId, string packingGroupId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/packingOptions/{packingOptionId}/packingGroups/{packingGroupId}/items"; + public static string ListInboundPlanPallets(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/pallets"; + public static string ListPlacementOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/placementOptions"; + public static string GeneratePlacementOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/placementOptions"; + public static string ConfirmPlacementOption(string inboundPlanId, string placementOptionId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/placementOptions/{placementOptionId}/confirmation"; + public static string GetShipment(string inboundPlanId, string shipmentId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}"; + public static string GetDeliveryChallanDocument(string inboundPlanId, string shipmentId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryChallanDocument"; + public static string UpdateShipmentDeliveryWindow(string inboundPlanId, string shipmentId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/deliveryWindow"; + public static string GetSelfShipAppointmentSlots(string inboundPlanId, string shipmentId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots"; + public static string GenerateSelfShipAppointmentSlots(string inboundPlanId, string shipmentId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots"; + public static string CancelSelfShipAppointment(string inboundPlanId, string shipmentId, string slotId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/cancellation"; + public static string ScheduleSelfShipAppointment(string inboundPlanId, string shipmentId, string slotId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/selfShipAppointmentSlots/{slotId}/schedule"; + public static string UpdateShipmentTrackingDetails(string inboundPlanId, string shipmentId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/shipments/{shipmentId}/trackingDetails"; + public static string ListTransportationOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/transportationOptions"; + public static string GenerateTransportationOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/transportationOptions"; + public static string ConfirmTransportationOptions(string inboundPlanId) => $"{_resourceBaseUrl}/inboundPlans/{inboundPlanId}/transportationOptions/confirmation"; + public static string ListItemComplianceDetails() => $"{_resourceBaseUrl}/items/compliance"; + public static string UpdateItemComplianceDetails() => $"{_resourceBaseUrl}/items/compliance"; + public static string GetInboundOperationStatus(string operationId) => $"{_resourceBaseUrl}/operations/{operationId}"; + + + #endregion + + } protected class ShippingApiUrls { diff --git a/Source/FikaAmazonAPI/Services/FulFillmentInboundServicev20240320.cs b/Source/FikaAmazonAPI/Services/FulFillmentInboundServicev20240320.cs new file mode 100644 index 00000000..337f2868 --- /dev/null +++ b/Source/FikaAmazonAPI/Services/FulFillmentInboundServicev20240320.cs @@ -0,0 +1,596 @@ +using FikaAmazonAPI.AmazonSpApiSDK.Models.FulfillmentInboundv20240320; +using FikaAmazonAPI.Parameter.FulFillmentInbound.v20240320; +using FikaAmazonAPI.Utils; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; + +namespace FikaAmazonAPI.Services +{ + public class FulFillmentInboundServicev20240320 : RequestService + { + public FulFillmentInboundServicev20240320(AmazonCredential amazonCredential) : base(amazonCredential) + { + + } + + #region GetListInboundPlans + public List GetListInboundPlans(ParameterGetListInboundPlans parameterGetListInboundPlans) => + Task.Run(() => GetListInboundPlansAsync(parameterGetListInboundPlans)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> GetListInboundPlansAsync(ParameterGetListInboundPlans parameterGetListInboundPlans, CancellationToken cancellationToken = default) + { + var parameter = parameterGetListInboundPlans.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetListInboundPlans, RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetListInboundPlans, cancellationToken); + list.AddRange(response.InboundPlans); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterGetListInboundPlans.maxPages.HasValue || totalPages < parameterGetListInboundPlans.maxPages.Value)) + { + parameterGetListInboundPlans.PaginationToken = nextToken; + var getItemNextPage = await GetListInboundPlansByNextTokenAsync(parameterGetListInboundPlans, cancellationToken); + list.AddRange(getItemNextPage.InboundPlans); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + } + + private async Task GetListInboundPlansByNextTokenAsync(ParameterGetListInboundPlans parameterGetListInboundPlans, CancellationToken cancellationToken = default) + { + var parameter = parameterGetListInboundPlans.getParameters(); + + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetListInboundPlans, RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetListInboundPlans, cancellationToken); + } + #endregion + + #region CreateInboundPlan + public CreateInboundPlanResponse CreateInboundPlan(CreateInboundPlanRequest createInboundPlanRequest) => + Task.Run(() => CreateInboundPlanAsync(createInboundPlanRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task CreateInboundPlanAsync(CreateInboundPlanRequest createInboundPlanRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.CreateInboundPlan, RestSharp.Method.Post, postJsonObj: createInboundPlanRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_CreateInboundPlan, cancellationToken); + } + #endregion + + #region GetInboundPlan + public InboundPlan GetInboundPlan(string inboundPlanId) => + Task.Run(() => GetInboundPlanAsync(inboundPlanId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GetInboundPlanAsync(string inboundPlanId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetInboundPlan(inboundPlanId), RestSharp.Method.Get, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetInboundPlan, cancellationToken); + } + #endregion + + #region ListInboundPlanBoxes + public List ListInboundPlanBoxes(ParameterListInboundPlan parameterListInboundPlan) => + Task.Run(() => ListInboundPlanBoxesAsync(parameterListInboundPlan)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListInboundPlanBoxesAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListInboundPlanBoxes(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListInboundPlanBoxes, cancellationToken); + list.AddRange(response.Boxes); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListInboundPlan.maxPages.HasValue || totalPages < parameterListInboundPlan.maxPages.Value)) + { + parameterListInboundPlan.PaginationToken = nextToken; + var getItemNextPage = await GetListInboundPlanBoxesByNextTokenAsync(parameterListInboundPlan, cancellationToken); + list.AddRange(getItemNextPage.Boxes); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + } + + private async Task GetListInboundPlanBoxesByNextTokenAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListInboundPlanBoxes(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListInboundPlanBoxes, cancellationToken); + } + #endregion + + #region CancelInboundPlan + public CancelInboundPlanResponse CancelInboundPlan(string inboundPlanId) => + Task.Run(() => CancelInboundPlanAsync(inboundPlanId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task CancelInboundPlanAsync(string inboundPlanId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.CancelInboundPlan(inboundPlanId), RestSharp.Method.Put, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_CancelInboundPlan, cancellationToken); + } + #endregion + + #region ListInboundPlanItems + public List ListInboundPlanItems(ParameterListInboundPlan parameterListInboundPlan) => + Task.Run(() => ListInboundPlanItemsAsync(parameterListInboundPlan)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListInboundPlanItemsAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListInboundPlanItems(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListInboundPlanItems, cancellationToken); + list.AddRange(response.Items); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListInboundPlan.maxPages.HasValue || totalPages < parameterListInboundPlan.maxPages.Value)) + { + parameterListInboundPlan.PaginationToken = nextToken; + var getItemNextPage = await ListInboundPlanItemsByNextTokenAsync(parameterListInboundPlan, cancellationToken); + list.AddRange(getItemNextPage.Items); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + } + + private async Task ListInboundPlanItemsByNextTokenAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListInboundPlanItems(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListInboundPlanItems, cancellationToken); + } + #endregion + + #region SetPackingInformation + public SetPackingInformationResponse SetPackingInformation(string inboundPlanId, SetPackingInformationRequest setPackingInformationRequest) => + Task.Run(() => SetPackingInformationAsync(inboundPlanId, setPackingInformationRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task SetPackingInformationAsync(string inboundPlanId, SetPackingInformationRequest setPackingInformationRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.SetPackingInformation(inboundPlanId), RestSharp.Method.Post, postJsonObj: setPackingInformationRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_SetPackingInformation, cancellationToken); + } + #endregion + + #region ListPackingOptions + public List ListPackingOptions(ParameterListInboundPlan parameterListInboundPlan) => + Task.Run(() => ListPackingOptionsAsync(parameterListInboundPlan)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListPackingOptionsAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListPackingOptions(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListPackingOptions, cancellationToken); + list.AddRange(response.PackingOptions); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListInboundPlan.maxPages.HasValue || totalPages < parameterListInboundPlan.maxPages.Value)) + { + parameterListInboundPlan.PaginationToken = nextToken; + var getItemNextPage = await ListPackingOptionsAsyncByNextTokenAsync(parameterListInboundPlan, cancellationToken); + list.AddRange(getItemNextPage.PackingOptions); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + + } + + private async Task ListPackingOptionsAsyncByNextTokenAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListPackingOptions(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListPackingOptions, cancellationToken); + } + #endregion + + #region GeneratePackingOptions + public GeneratePackingOptionsResponse GeneratePackingOptions(string inboundPlanId) => + Task.Run(() => GeneratePackingOptionsAsync(inboundPlanId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GeneratePackingOptionsAsync(string inboundPlanId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GeneratePackingOptions(inboundPlanId), RestSharp.Method.Post, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GeneratePackingOptions, cancellationToken); + } + #endregion + + #region ConfirmPackingOption + public ConfirmPackingOptionResponse ConfirmPackingOption(ParameterConfirmPackingOption parameterConfirmPackingOption) => + Task.Run(() => ConfirmPackingOptionAsync(parameterConfirmPackingOption)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task ConfirmPackingOptionAsync(ParameterConfirmPackingOption parameterConfirmPackingOption, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ConfirmPackingOption(parameterConfirmPackingOption.InboundPlanId, parameterConfirmPackingOption.PackingOptionId), RestSharp.Method.Post, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ConfirmPackingOption, cancellationToken); + } + #endregion + + #region ListPackingGroupItems + public List ListPackingGroupItems(ParameterListPackingGroupItems parameterListPackingGroupItems) => + Task.Run(() => ListPackingGroupItemsAsync(parameterListPackingGroupItems)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListPackingGroupItemsAsync(ParameterListPackingGroupItems parameterListPackingGroupItems, CancellationToken cancellationToken = default) + { + var parameter = parameterListPackingGroupItems.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListPackingGroupItems(parameterListPackingGroupItems.InboundPlanId, parameterListPackingGroupItems.PackingOptionId, parameterListPackingGroupItems.PackingGroupId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListPackingGroupItems, cancellationToken); + list.AddRange(response.Items); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListPackingGroupItems.maxPages.HasValue || totalPages < parameterListPackingGroupItems.maxPages.Value)) + { + parameterListPackingGroupItems.PaginationToken = nextToken; + var getItemNextPage = await ListPackingGroupItemsAsyncByNextTokenAsync(parameterListPackingGroupItems, cancellationToken); + list.AddRange(getItemNextPage.Items); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + return list; + } + + + private async Task ListPackingGroupItemsAsyncByNextTokenAsync(ParameterListPackingGroupItems parameterListPackingGroupItems, CancellationToken cancellationToken = default) + { + var parameter = parameterListPackingGroupItems.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListPackingGroupItems(parameterListPackingGroupItems.InboundPlanId, parameterListPackingGroupItems.PackingOptionId, parameterListPackingGroupItems.PackingGroupId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListPackingGroupItems, cancellationToken); + } + #endregion + + #region ListInboundPlanPallets + public List ListInboundPlanPallets(ParameterListInboundPlan parameterListInboundPlan) => + Task.Run(() => ListInboundPlanPalletsAsync(parameterListInboundPlan)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListInboundPlanPalletsAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListInboundPlanPallets(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListInboundPlanPallets, cancellationToken); + list.AddRange(response.Pallets); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListInboundPlan.maxPages.HasValue || totalPages < parameterListInboundPlan.maxPages.Value)) + { + parameterListInboundPlan.PaginationToken = nextToken; + var getItemNextPage = await ListPackingGroupItemsAsyncByNextTokenAsync(parameterListInboundPlan, cancellationToken); + list.AddRange(getItemNextPage.Pallets); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + + } + + private async Task ListPackingGroupItemsAsyncByNextTokenAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListInboundPlanPallets(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListInboundPlanPallets, cancellationToken); + } + #endregion + + #region ListPlacementOptions + public List ListPlacementOptions(ParameterListInboundPlan parameterListInboundPlan) => + Task.Run(() => ListPlacementOptionsAsync(parameterListInboundPlan)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListPlacementOptionsAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListPlacementOptions(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListPlacementOptions, cancellationToken); + list.AddRange(response.PlacementOptions); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListInboundPlan.maxPages.HasValue || totalPages < parameterListInboundPlan.maxPages.Value)) + { + parameterListInboundPlan.PaginationToken = nextToken; + var getItemNextPage = await ListPlacementOptionsAsyncByNextTokenAsync(parameterListInboundPlan, cancellationToken); + list.AddRange(getItemNextPage.PlacementOptions); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + } + + private async Task ListPlacementOptionsAsyncByNextTokenAsync(ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListPlacementOptions(parameterListInboundPlan.InboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListPlacementOptions, cancellationToken); + } + #endregion + + #region GeneratePlacementOptions + public GeneratePlacementOptionsResponse GeneratePlacementOptions(string inboundPlanId, GeneratePlacementOptionsRequest generatePlacementOptionsRequest) => + Task.Run(() => GeneratePlacementOptionsAsync(inboundPlanId, generatePlacementOptionsRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GeneratePlacementOptionsAsync(string inboundPlanId, GeneratePlacementOptionsRequest generatePlacementOptionsRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GeneratePlacementOptions(inboundPlanId), RestSharp.Method.Post, postJsonObj: generatePlacementOptionsRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GeneratePlacementOptions, cancellationToken); + } + #endregion + + #region ConfirmPlacementOption + public ConfirmPlacementOptionResponse ConfirmPlacementOption(string inboundPlanId, string placementOptionId) => + Task.Run(() => ConfirmPlacementOptionAsync(inboundPlanId, placementOptionId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task ConfirmPlacementOptionAsync(string inboundPlanId, string placementOptionId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ConfirmPlacementOption(inboundPlanId, placementOptionId), RestSharp.Method.Post, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ConfirmPlacementOption, cancellationToken); + } + #endregion + + #region GetShipment + public Shipment GetShipment(string inboundPlanId, string shipmentId) => + Task.Run(() => GetShipmentAsync(inboundPlanId, shipmentId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GetShipmentAsync(string inboundPlanId, string shipmentId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetShipment(inboundPlanId, shipmentId), RestSharp.Method.Get, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetShipment, cancellationToken); + } + #endregion + + #region GetDeliveryChallanDocument + public GetDeliveryChallanDocumentResponse GetDeliveryChallanDocument(string inboundPlanId, string shipmentId) => + Task.Run(() => GetDeliveryChallanDocumentAsync(inboundPlanId, shipmentId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GetDeliveryChallanDocumentAsync(string inboundPlanId, string shipmentId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetDeliveryChallanDocument(inboundPlanId, shipmentId), RestSharp.Method.Get, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetDeliveryChallanDocument, cancellationToken); + } + #endregion + + #region UpdateShipmentDeliveryWindow + public UpdateShipmentDeliveryWindowResponse UpdateShipmentDeliveryWindow(string inboundPlanId, string shipmentId, UpdateShipmentDeliveryWindowRequest updateShipmentDeliveryWindowRequest) => + Task.Run(() => UpdateShipmentDeliveryWindowAsync(inboundPlanId, shipmentId, updateShipmentDeliveryWindowRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task UpdateShipmentDeliveryWindowAsync(string inboundPlanId, string shipmentId, UpdateShipmentDeliveryWindowRequest updateShipmentDeliveryWindowRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.UpdateShipmentDeliveryWindow(inboundPlanId, shipmentId), RestSharp.Method.Post, postJsonObj: updateShipmentDeliveryWindowRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_UpdateShipmentDeliveryWindow, cancellationToken); + } + #endregion + + #region GetSelfShipAppointmentSlots + public List GetSelfShipAppointmentSlots(string shipmentId, ParameterListInboundPlan parameterListInboundPlan) => + Task.Run(() => GetSelfShipAppointmentSlotsAsync(shipmentId, parameterListInboundPlan)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> GetSelfShipAppointmentSlotsAsync(string shipmentId, ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetSelfShipAppointmentSlots(parameterListInboundPlan.InboundPlanId, shipmentId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetSelfShipAppointmentSlots, cancellationToken); + list.Add(response.SelfShipAppointmentSlotsAvailability); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListInboundPlan.maxPages.HasValue || totalPages < parameterListInboundPlan.maxPages.Value)) + { + parameterListInboundPlan.PaginationToken = nextToken; + var getItemNextPage = await GetSelfShipAppointmentSlotsByNextTokenAsync(shipmentId, parameterListInboundPlan, cancellationToken); + list.Add(getItemNextPage.SelfShipAppointmentSlotsAvailability); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + + } + + private async Task GetSelfShipAppointmentSlotsByNextTokenAsync(string shipmentId, ParameterListInboundPlan parameterListInboundPlan, CancellationToken cancellationToken = default) + { + var parameter = parameterListInboundPlan.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetSelfShipAppointmentSlots(parameterListInboundPlan.InboundPlanId, shipmentId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetSelfShipAppointmentSlots, cancellationToken); + } + #endregion + + #region GenerateSelfShipAppointmentSlots + public GenerateSelfShipAppointmentSlotsResponse GenerateSelfShipAppointmentSlots(string inboundPlanId, string shipmentId, GenerateSelfShipAppointmentSlotsRequest generateSelfShipAppointmentSlotsRequest) => + Task.Run(() => GenerateSelfShipAppointmentSlotsAsync(inboundPlanId, shipmentId, generateSelfShipAppointmentSlotsRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GenerateSelfShipAppointmentSlotsAsync(string inboundPlanId, string shipmentId, GenerateSelfShipAppointmentSlotsRequest generateSelfShipAppointmentSlotsRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GenerateSelfShipAppointmentSlots(inboundPlanId, shipmentId), RestSharp.Method.Post, postJsonObj: generateSelfShipAppointmentSlotsRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GenerateSelfShipAppointmentSlots, cancellationToken); + } + #endregion + + #region CancelSelfShipAppointment + public CancelSelfShipAppointmentResponse CancelSelfShipAppointment(string inboundPlanId, string shipmentId, string slotId, CancelSelfShipAppointmentRequest cancelSelfShipAppointmentRequest) => + Task.Run(() => CancelSelfShipAppointmentAsync(inboundPlanId, shipmentId, slotId, cancelSelfShipAppointmentRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task CancelSelfShipAppointmentAsync(string inboundPlanId, string shipmentId, string slotId, CancelSelfShipAppointmentRequest cancelSelfShipAppointmentRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.CancelSelfShipAppointment(inboundPlanId, shipmentId, slotId), RestSharp.Method.Put, postJsonObj: cancelSelfShipAppointmentRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_CancelSelfShipAppointment, cancellationToken); + } + #endregion + + #region ScheduleSelfShipAppointment + public ScheduleSelfShipAppointmentResponse ScheduleSelfShipAppointment(string inboundPlanId, string shipmentId, string slotId, ScheduleSelfShipAppointmentRequest scheduleSelfShipAppointmentRequest) => + Task.Run(() => ScheduleSelfShipAppointmentAsync(inboundPlanId, shipmentId, slotId, scheduleSelfShipAppointmentRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task ScheduleSelfShipAppointmentAsync(string inboundPlanId, string shipmentId, string slotId, ScheduleSelfShipAppointmentRequest scheduleSelfShipAppointmentRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.CancelSelfShipAppointment(inboundPlanId, shipmentId, slotId), RestSharp.Method.Post, postJsonObj: scheduleSelfShipAppointmentRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ScheduleSelfShipAppointment, cancellationToken); + } + #endregion + + #region UpdateShipmentTrackingDetails + public UpdateShipmentTrackingDetailsResponse UpdateShipmentTrackingDetails(string inboundPlanId, string shipmentId, UpdateShipmentTrackingDetailsRequest updateShipmentTrackingDetailsRequest) => + Task.Run(() => UpdateShipmentTrackingDetailsAsync(inboundPlanId, shipmentId, updateShipmentTrackingDetailsRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task UpdateShipmentTrackingDetailsAsync(string inboundPlanId, string shipmentId, UpdateShipmentTrackingDetailsRequest updateShipmentTrackingDetailsRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.UpdateShipmentTrackingDetails(inboundPlanId, shipmentId), RestSharp.Method.Put, postJsonObj: updateShipmentTrackingDetailsRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_UpdateShipmentTrackingDetails, cancellationToken); + } + #endregion + + #region ListTransportationOptions + public List ListTransportationOptions(string inboundPlanId, ParameterListTransportationOptions parameterListTransportationOptions) => + Task.Run(() => ListTransportationOptionsAsync(inboundPlanId, parameterListTransportationOptions)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task> ListTransportationOptionsAsync(string inboundPlanId, ParameterListTransportationOptions parameterListTransportationOptions, CancellationToken cancellationToken = default) + { + var parameter = parameterListTransportationOptions.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListTransportationOptions(inboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + + List list = new List(); + + var response = await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListTransportationOptions, cancellationToken); + list.AddRange(response.TransportationOptions); + + var totalPages = 1; + if (response.Pagination != null && !string.IsNullOrEmpty(response.Pagination.NextToken)) + { + var nextToken = response.Pagination.NextToken; + while (!string.IsNullOrEmpty(nextToken) && (!parameterListTransportationOptions.maxPages.HasValue || totalPages < parameterListTransportationOptions.maxPages.Value)) + { + parameterListTransportationOptions.PaginationToken = nextToken; + var getItemNextPage = await ListTransportationOptionsByNextTokenAsync(inboundPlanId, parameterListTransportationOptions, cancellationToken); + list.AddRange(getItemNextPage.TransportationOptions); + nextToken = getItemNextPage.Pagination?.NextToken; + totalPages++; + } + } + + return list; + + } + + private async Task ListTransportationOptionsByNextTokenAsync(string inboundPlanId, ParameterListTransportationOptions parameterListTransportationOptions, CancellationToken cancellationToken = default) + { + var parameter = parameterListTransportationOptions.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListTransportationOptions(inboundPlanId), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListTransportationOptions, cancellationToken); + } + #endregion + + #region GenerateTransportationOptions + public GenerateTransportationOptionsResponse GenerateTransportationOptions(string inboundPlanId, GenerateTransportationOptionsRequest generateTransportationOptionsRequest) => + Task.Run(() => GenerateTransportationOptionsAsync(inboundPlanId, generateTransportationOptionsRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GenerateTransportationOptionsAsync(string inboundPlanId, GenerateTransportationOptionsRequest generateTransportationOptionsRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GenerateTransportationOptions(inboundPlanId), RestSharp.Method.Post, postJsonObj: generateTransportationOptionsRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GenerateTransportationOptions, cancellationToken); + } + #endregion + + #region ConfirmTransportationOptions + public ConfirmTransportationOptionsResponse ConfirmTransportationOptions(string inboundPlanId, ConfirmTransportationOptionsRequest confirmTransportationOptionsRequest) => + Task.Run(() => ConfirmTransportationOptionsAsync(inboundPlanId, confirmTransportationOptionsRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task ConfirmTransportationOptionsAsync(string inboundPlanId, ConfirmTransportationOptionsRequest confirmTransportationOptionsRequest, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ConfirmTransportationOptions(inboundPlanId), RestSharp.Method.Post, postJsonObj: confirmTransportationOptionsRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ConfirmTransportationOptions, cancellationToken); + } + #endregion + + #region ListItemComplianceDetails + public ListItemComplianceDetailsResponse ListItemComplianceDetails(ParematerListItemComplianceDetails parematerListItemComplianceDetails) => + Task.Run(() => ListItemComplianceDetailsAsync(parematerListItemComplianceDetails)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task ListItemComplianceDetailsAsync(ParematerListItemComplianceDetails parematerListItemComplianceDetails, CancellationToken cancellationToken = default) + { + var parameter = parematerListItemComplianceDetails.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.ListItemComplianceDetails(), RestSharp.Method.Get, parameter, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_ListItemComplianceDetails, cancellationToken); + } + #endregion + + #region UpdateItemComplianceDetails + public UpdateItemComplianceDetailsResponse UpdateItemComplianceDetails(ParameterUpdateItemComplianceDetails parameterUpdateItemComplianceDetails, UpdateItemComplianceDetailsRequest updateItemComplianceDetailsRequest) => + Task.Run(() => UpdateItemComplianceDetailsAsync(parameterUpdateItemComplianceDetails, updateItemComplianceDetailsRequest)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task UpdateItemComplianceDetailsAsync(ParameterUpdateItemComplianceDetails parameterUpdateItemComplianceDetails, UpdateItemComplianceDetailsRequest updateItemComplianceDetailsRequest, CancellationToken cancellationToken = default) + { + var parameter = parameterUpdateItemComplianceDetails.getParameters(); + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.UpdateItemComplianceDetails(), RestSharp.Method.Put, parameter: parameter, postJsonObj: updateItemComplianceDetailsRequest, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_UpdateItemComplianceDetails, cancellationToken); + } + #endregion + + #region GetInboundOperationStatus + public InboundOperationStatus GetInboundOperationStatus(string operationId) => + Task.Run(() => GetInboundOperationStatusAsync(operationId)).ConfigureAwait(false).GetAwaiter().GetResult(); + + public async Task GetInboundOperationStatusAsync(string operationId, CancellationToken cancellationToken = default) + { + await CreateAuthorizedRequestAsync(FulFillmentInboundApiUrls.GetInboundOperationStatus(operationId), RestSharp.Method.Get, null, cancellationToken: cancellationToken); + return await ExecuteRequestAsync(RateLimitType.FulFillmentInboundV20240320_GetInboundOperationStatus, cancellationToken); + } + #endregion + } + } + diff --git a/Source/FikaAmazonAPI/Utils/Constants.cs b/Source/FikaAmazonAPI/Utils/Constants.cs index ec36ef7b..decb83f4 100644 --- a/Source/FikaAmazonAPI/Utils/Constants.cs +++ b/Source/FikaAmazonAPI/Utils/Constants.cs @@ -737,4 +737,28 @@ public enum ShippingChannelType //} } + + [JsonConverter(typeof(StringEnumConverter))] + public enum FullFillmentInboundPlanStatus + { + [EnumMember(Value = "ACTIVE")] + ACTIVE = 0, + + [EnumMember(Value = "VOIDED")] + VOIDED = 1, + + [EnumMember(Value = "SHIPPED")] + SHIPPED = 2, + } + + [JsonConverter(typeof(StringEnumConverter))] + public enum FullFillmentInboundSortBy + { + [EnumMember(Value = "LAST_UPDATED_TIME")] + LAST_UPDATED_TIME = 0, + + [EnumMember(Value = "CREATION_TIME")] + CREATION_TIME = 1, + + } } diff --git a/Source/FikaAmazonAPI/Utils/RateLimitType.cs b/Source/FikaAmazonAPI/Utils/RateLimitType.cs index 8a6edc48..937dc39c 100644 --- a/Source/FikaAmazonAPI/Utils/RateLimitType.cs +++ b/Source/FikaAmazonAPI/Utils/RateLimitType.cs @@ -100,6 +100,36 @@ public enum RateLimitType FulFillmentInbound_GetShipmentItemsByShipmentId, FulFillmentInbound_GetShipmentItems, + FulFillmentInboundV20240320_GetListInboundPlans, + FulFillmentInboundV20240320_CreateInboundPlan, + FulFillmentInboundV20240320_GetInboundPlan, + FulFillmentInboundV20240320_ListInboundPlanBoxes, + FulFillmentInboundV20240320_CancelInboundPlan, + FulFillmentInboundV20240320_ListInboundPlanItems, + FulFillmentInboundV20240320_SetPackingInformation, + FulFillmentInboundV20240320_ListPackingOptions, + FulFillmentInboundV20240320_GeneratePackingOptions, + FulFillmentInboundV20240320_ConfirmPackingOption, + FulFillmentInboundV20240320_ListPackingGroupItems, + FulFillmentInboundV20240320_ListInboundPlanPallets, + FulFillmentInboundV20240320_ListPlacementOptions, + FulFillmentInboundV20240320_GeneratePlacementOptions, + FulFillmentInboundV20240320_ConfirmPlacementOption, + FulFillmentInboundV20240320_GetShipment, + FulFillmentInboundV20240320_GetDeliveryChallanDocument, + FulFillmentInboundV20240320_UpdateShipmentDeliveryWindow, + FulFillmentInboundV20240320_GetSelfShipAppointmentSlots, + FulFillmentInboundV20240320_GenerateSelfShipAppointmentSlots, + FulFillmentInboundV20240320_CancelSelfShipAppointment, + FulFillmentInboundV20240320_ScheduleSelfShipAppointment, + FulFillmentInboundV20240320_UpdateShipmentTrackingDetails, + FulFillmentInboundV20240320_ListTransportationOptions, + FulFillmentInboundV20240320_GenerateTransportationOptions, + FulFillmentInboundV20240320_ConfirmTransportationOptions, + FulFillmentInboundV20240320_ListItemComplianceDetails, + FulFillmentInboundV20240320_UpdateItemComplianceDetails, + FulFillmentInboundV20240320_GetInboundOperationStatus, + FulFillmentOutbound_GetFulfillmentPreview, FulFillmentOutbound_ListAllFulfillmentOrders, FulFillmentOutbound_CreateFulfillmentOrder, diff --git a/Source/FikaAmazonAPI/Utils/RateLimitsDefinitions.cs b/Source/FikaAmazonAPI/Utils/RateLimitsDefinitions.cs index ef469098..ccd9f162 100644 --- a/Source/FikaAmazonAPI/Utils/RateLimitsDefinitions.cs +++ b/Source/FikaAmazonAPI/Utils/RateLimitsDefinitions.cs @@ -119,6 +119,36 @@ internal static Dictionary RateLimitsTime() { RateLimitType.FulFillmentInbound_GetShipmentItemsByShipmentId,new RateLimits(2.0M, 30) }, { RateLimitType.FulFillmentInbound_GetShipmentItems, new RateLimits(2.0M, 30) }, + { RateLimitType.FulFillmentInboundV20240320_GetListInboundPlans, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_CreateInboundPlan, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GetInboundPlan, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListInboundPlanBoxes, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_CancelInboundPlan, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListInboundPlanItems, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_SetPackingInformation, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListPackingOptions, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GeneratePackingOptions, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ConfirmPackingOption, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListPackingGroupItems, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListInboundPlanPallets, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListPlacementOptions, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GeneratePlacementOptions, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ConfirmPlacementOption, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GetShipment, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GetDeliveryChallanDocument, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_UpdateShipmentDeliveryWindow, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GetSelfShipAppointmentSlots, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GenerateSelfShipAppointmentSlots, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_CancelSelfShipAppointment, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ScheduleSelfShipAppointment, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_UpdateShipmentTrackingDetails, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListTransportationOptions, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GenerateTransportationOptions, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ConfirmTransportationOptions, new RateLimits(0.05M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_ListItemComplianceDetails, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_UpdateItemComplianceDetails, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentInboundV20240320_GetInboundOperationStatus, new RateLimits(1.0M, 1) }, + { RateLimitType.FulFillmentOutbound_GetFulfillmentPreview, new RateLimits(2.0M, 30) }, { RateLimitType.FulFillmentOutbound_ListAllFulfillmentOrders, new RateLimits(2.0M, 30) }, { RateLimitType.FulFillmentOutbound_CreateFulfillmentOrder, new RateLimits(2.0M, 30) },