Module: Peddler::Types::FulfillmentOutbound20200701

Defined in:
lib/peddler/types/fulfillment_outbound_2020_07_01/fee.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/error.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/amount.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/origin.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/weight.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/address.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/feature.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/date_range.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/destination.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/feature_sku.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/return_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/cod_settings.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_offer.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/locker_details.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/tracking_event.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_policy.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_window.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_message.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/feature_settings.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/tracking_address.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_document.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/drop_off_location.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_order.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_return_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/product_identifier.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_preview.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_features_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/invalid_item_reason.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/invalid_return_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/payment_information.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/reason_code_details.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_information.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/delivery_preferences.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_shipment.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/return_authorization.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_features_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_order_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_feature_sku_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/scheduled_delivery_info.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_preview_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_feature_sku_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/package_tracking_details.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_shipment_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_delivery_offers_terms.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_delivery_offers_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/unfulfillable_preview_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/variable_precision_address.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_delivery_offers_product.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_delivery_offers_request.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_preview_shipment.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/fulfillment_shipment_package.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_delivery_offers_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_feature_inventory_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_fulfillment_order_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_fulfillment_preview_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_fulfillment_order_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/update_fulfillment_order_item.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_feature_inventory_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_fulfillment_order_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_fulfillment_preview_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_fulfillment_preview_request.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/list_return_reason_codes_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_fulfillment_order_request.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_fulfillment_return_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_fulfillment_preview_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/update_fulfillment_order_request.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/cancel_fulfillment_order_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_fulfillment_order_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_fulfillment_return_request.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/list_return_reason_codes_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/update_fulfillment_order_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/create_fulfillment_return_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/list_all_fulfillment_orders_result.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/list_all_fulfillment_orders_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/get_package_tracking_details_response.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/submit_fulfillment_order_status_update_request.rb,
lib/peddler/types/fulfillment_outbound_2020_07_01/submit_fulfillment_order_status_update_response.rb

Constant Summary collapse

Fee =

Fee type and cost.

Structure.new do
  # @return [String] The type of fee.
  attribute(:name, String)

  # @return [Money] The amount of the fee.
  attribute(:amount, Money)
end
Error =

Error response returned when the request is unsuccessful.

Structure.new do
  # @return [String] An error code that identifies the type of error that occurred.
  attribute(:code, String)

  # @return [String] A message that describes the error condition.
  attribute(:message, String)

  # @return [String] Additional details that can help the caller understand or fix the issue.
  attribute(:details, String)
end
Amount =

A quantity based on unit of measure.

Structure.new do
  # @return [String] The unit of measure for the amount.
  attribute(:unit_of_measure, String, from: "unitOfMeasure")

  # @return [String] The amount of a product in the associated unit of measure.
  attribute(:value, String)
end
Origin =

The origin for the delivery offer.

Structure.new do
  # @return [String] The two digit country code the items should ship from. In ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")
end
Weight =

The weight.

Structure.new do
  # @return [String] The unit of weight.
  attribute(:unit, String)

  # @return [String] The weight value.
  attribute(:value, String)
end
Address =

A physical address.

Structure.new do
  # @return [String] The name of the person, business or institution at the address.
  attribute(:name, String)

  # @return [String] The first line of the address.
  attribute(:address_line1, String, from: "addressLine1")

  # @return [String] Additional address information, if required.
  attribute(:address_line2, String, from: "addressLine2")

  # @return [String] Additional address information, if required.
  attribute(:address_line3, String, from: "addressLine3")

  # @return [String] The city where the person, business, or institution is located. This property is required in
  # all countries except Japan. It should not be used in Japan.
  attribute(:city, String)

  # @return [String] The district or county where the person, business, or institution is located.
  attribute(:district_or_county, String, from: "districtOrCounty")

  # @return [String] The state or region where the person, business or institution is located.
  attribute(:state_or_region, String, from: "stateOrRegion")

  # @return [String] The postal code of the address.
  attribute(:postal_code, String, from: "postalCode")

  # @return [String] The two digit country code. In ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")

  # @return [String] The phone number of the person, business, or institution located at the address.
  attribute(:phone, String)
end
Feature =

A Multi-Channel Fulfillment feature.

Structure.new do
  # @return [String] The feature name.
  attribute(:feature_name, String, from: "featureName")

  # @return [String] The feature description.
  attribute(:feature_description, String, from: "featureDescription")

  # @return [:boolean] When true, indicates that the seller is eligible to use the feature.
  attribute(:seller_eligible, :boolean, from: "sellerEligible")
end
DateRange =

The time range within which something (for example, a delivery) will occur.

Structure.new do
  # @return [String] The earliest point in a date range.
  attribute(:earliest, String)

  # @return [String] The latest point in a date range.
  attribute(:latest, String)
end
Destination =

The destination for the delivery offer.

Structure.new do
  # @return [VariablePrecisionAddress]
  attribute(:delivery_address, VariablePrecisionAddress, from: "deliveryAddress")

  # @return [String] The IP address of the customer.
  attribute(:ip_address, String, from: "ipAddress")
end
FeatureSku =

Information about an SKU, including the count available, identifiers, and a list of overlapping SKUs that share the same inventory pool.

Structure.new do
  # @return [String] Used to identify an item in the given marketplace. `SellerSKU` is qualified by the seller's
  # SellerId, which is included with every operation that you submit.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [String] The unique SKU used by Amazon's fulfillment network.
  attribute(:fn_sku, String, from: "fnSku")

  # @return [String] The Amazon Standard Identification Number (ASIN) of the item.
  attribute(:asin, String)

  # @return [Float] The number of SKUs available for this service.
  attribute(:sku_count, Float, from: "skuCount")

  # @return [Array<String>] Other seller SKUs that are shared across the same inventory.
  attribute(:overlapping_skus, [String], from: "overlappingSkus")
end
ReturnItem =

An item that Amazon accepted for return.

Structure.new do
  # @return [String] An identifier the seller assigns to the return item.
  attribute(:seller_return_item_id, String, from: "sellerReturnItemId")

  # @return [String] The identifier assigned to the item by the seller when the fulfillment order was created.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The identifier for the shipment that is associated with the return item.
  attribute(:amazon_shipment_id, String, from: "amazonShipmentId")

  # @return [String] The return reason code assigned to the return item by the seller.
  attribute(:seller_return_reason_code, String, from: "sellerReturnReasonCode")

  # @return [String] An optional comment about the return item.
  attribute(:return_comment, String, from: "returnComment")

  # @return [String] The return reason code that the Amazon fulfillment center assigned to the return item.
  attribute(:amazon_return_reason_code, String, from: "amazonReturnReasonCode")

  # @return [String] Indicates if the return item has been processed by an Amazon fulfillment center.
  attribute(:status, String)

  # @return [String] Indicates when the status last changed.
  attribute(:status_changed_date, String, from: "statusChangedDate")

  # @return [String] Identifies the return authorization used to return this item. Refer to `ReturnAuthorization`.
  attribute(:return_authorization_id, String, from: "returnAuthorizationId")

  # @return [String]
  attribute(:return_received_condition, String, from: "returnReceivedCondition")

  # @return [String] The identifier for the Amazon fulfillment center that processed the return item.
  attribute(:fulfillment_center_id, String, from: "fulfillmentCenterId")
end
CODSettings =

The COD (Cash On Delivery) charges that you associate with a COD fulfillment order.

Structure.new do
  # @return [:boolean] When true, this fulfillment order requires a COD (Cash On Delivery) payment.
  attribute(:cod_required, :boolean, from: "isCodRequired")

  # @return [Money] The amount of the COD charge to be collected from the recipient for a COD order.
  attribute(:cod_charge, Money, from: "codCharge")

  # @return [Money] The amount of the tax on the COD charge to be collected from the recipient for a COD order.
  attribute(:cod_charge_tax, Money, from: "codChargeTax")

  # @return [Money] The amount of the tax on the COD charge to be collected from the recipient for a COD order.
  attribute(:shipping_charge, Money, from: "shippingCharge")

  # @return [Money] The amount of the tax on the shipping charge to be collected from the recipient for a COD
  # order.
  attribute(:shipping_charge_tax, Money, from: "shippingChargeTax")
end
DeliveryOffer =

An available offer for delivery of a product.

Structure.new do
  # @return [String] The timestamp at which a delivery offer expires.
  attribute(:expires_at, String, from: "expiresAt")

  # @return [DateRange] The range between which delivery is expected.
  attribute(:date_range, DateRange, from: "dateRange")

  # @return [DeliveryPolicy] The policy for a delivery offer, including localized messaging.
  attribute(:policy, DeliveryPolicy)
end
LockerDetails =

The locker details, which you can use to access the locker delivery box.

Structure.new do
  # @return [String] Indicates the locker number
  attribute(:locker_number, String, from: "lockerNumber")

  # @return [String] Indicates the locker access code
  attribute(:locker_access_code, String, from: "lockerAccessCode")
end
TrackingEvent =

Information for tracking package deliveries.

Structure.new do
  # @return [String] The date and time that the delivery event took place. Must be in <a
  # href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:event_date, String, from: "eventDate")

  # @return [TrackingAddress] The city where the delivery event took place.
  attribute(:event_address, TrackingAddress, from: "eventAddress")

  # @return [String] The event code for the delivery event.
  attribute(:event_code, String, from: "eventCode")

  # @return [String] A description for the corresponding event code.
  attribute(:event_description, String, from: "eventDescription")
end
DeliveryPolicy =

The policy for a delivery offering.

Structure.new do
  # @return [DeliveryMessage] Localized messaging for a delivery offering.
  attribute(:message, DeliveryMessage)
end
DeliveryWindow =

The time range within which a Scheduled Delivery fulfillment order should be delivered. This is only available in the JP marketplace.

Structure.new do
  # @return [String] The date and time of the start of the Scheduled Delivery window. Must be in <a
  # href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:start_date, String, from: "startDate")

  # @return [String] The date and time of the end of the Scheduled Delivery window. Must be in <a
  # href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:end_date, String, from: "endDate")
end
DeliveryMessage =

Localized messaging for a delivery offering.

Structure.new do
  # @return [String] The message content for a delivery offering.
  attribute(:text, String)

  # @return [String] The locale for the message (e.g., `en_US`).
  attribute(:locale, String)
end
FeatureSettings =

Feature settings allows you to apply fulfillment features to an order. To block an order from being shipped using Amazon Logistics (AMZL) and an AMZL tracking number, set featureName to BLOCK_AMZL and featureFulfillmentPolicy to Required. Blocking AMZL will incur an additional fee surcharge on your MCF orders and increase the risk of some of your orders being unfulfilled or delivered late if there are no alternative carriers available. Using BLOCK_AMZL in an order request will take precedence over your Seller Central account setting. To ship in non-Amazon branded packaging (blank boxes), set featureName to BLANK_BOX.

Structure.new do
  # @return [String] The name of the feature.
  attribute(:feature_name, String, from: "featureName")

  # @return [String] Specifies the policy to use when fulfilling an order.
  attribute(:feature_fulfillment_policy, String, from: "featureFulfillmentPolicy")
end
TrackingAddress =

Address information for tracking the package.

Structure.new do
  # @return [String] The city.
  attribute(:city, String)

  # @return [String] The state.
  attribute(:state, String)

  # @return [String] The country.
  attribute(:country, String)
end
DeliveryDocument =

A delivery document for a package.

Structure.new do
  # @return [String] The delivery document type. Values are `SIGNATURE` and `DELIVERY_IMAGE`.
  attribute(:document_type, String, from: "documentType")

  # @return [String] A URL that you can use to download the document. This URL has a `Content-Type` header. Note
  # that the URL expires after one hour. To get a new URL, you must call the API again.
  attribute(:url, String)
end
DropOffLocation =

The preferred location to leave packages at the destination address.

Structure.new do
  # @return [String] Specifies the preferred location to leave the package at the destination address.
  attribute(:type, String)

  # @return [Hash] Additional information about the drop-off location that can vary depending on the type of
  # drop-off location specified in the `type` field.
  # If the `type` is set to `FALLBACK_NEIGHBOR_DELIVERY`, the `attributes` object should include the exact keys
  # `neighborName` and `houseNumber` to provide the name and house number of the designated neighbor.
  attribute(:attributes, Hash)
end
FulfillmentOrder =

General information about a fulfillment order, including its status.

Structure.new do
  # @return [String] The fulfillment order identifier submitted with the `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_id, String, from: "sellerFulfillmentOrderId")

  # @return [String] The identifier for the marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] A fulfillment order identifier submitted with the `createFulfillmentOrder` operation.
  # Displays as the order identifier in recipient-facing materials such as the packing slip.
  attribute(:displayable_order_id, String, from: "displayableOrderId")

  # @return [String] A date and time submitted with the `createFulfillmentOrder` operation. Displays as the order
  # date in recipient-facing materials such as the packing slip.
  attribute(:displayable_order_date, String, from: "displayableOrderDate")

  # @return [String] A text block submitted with the `createFulfillmentOrder` operation. Displays in
  # recipient-facing materials such as the packing slip.
  attribute(:displayable_order_comment, String, from: "displayableOrderComment")

  # @return [String]
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [DeliveryWindow]
  attribute(:delivery_window, DeliveryWindow, from: "deliveryWindow")

  # @return [Address] The destination address submitted with the `createFulfillmentOrder` operation.
  attribute(:destination_address, Address, from: "destinationAddress")

  # @return [String]
  attribute(:fulfillment_action, String, from: "fulfillmentAction")

  # @return [String]
  attribute(:fulfillment_policy, String, from: "fulfillmentPolicy")

  # @return [CODSettings]
  attribute(:cod_settings, CODSettings, from: "codSettings")

  # @return [String] The date and time that the fulfillment order was received by an Amazon fulfillment center.
  attribute(:received_date, String, from: "receivedDate")

  # @return [String]
  attribute(:fulfillment_order_status, String, from: "fulfillmentOrderStatus")

  # @return [String] The date and time that the status of the fulfillment order last changed. Must be in <a
  # href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:status_updated_date, String, from: "statusUpdatedDate")

  # @return [Array]
  attribute(:notification_emails, Array, from: "notificationEmails")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute(:feature_constraints, [FeatureSettings], from: "featureConstraints")
end
CreateReturnItem =

An item that Amazon accepted for return.

Structure.new do
  # @return [String] An identifier the seller assigns to the return item.
  attribute(:seller_return_item_id, String, from: "sellerReturnItemId")

  # @return [String] The identifier assigned to the item by the seller when the fulfillment order was created.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [String] The identifier for the shipment that is associated with the return item.
  attribute(:amazon_shipment_id, String, from: "amazonShipmentId")

  # @return [String] The return reason code assigned to the return item by the seller.
  attribute(:return_reason_code, String, from: "returnReasonCode")

  # @return [String] An optional comment about the return item.
  attribute(:return_comment, String, from: "returnComment")
end
ProductIdentifier =

Product identifier input that locates a product for MCF.

Structure.new do
  # @return [String] The merchant SKU for the product.
  attribute(:merchant_sku, String, from: "merchantSku")
end
FulfillmentPreview =

Information about a fulfillment order preview, including delivery and fee information based on shipping method.

Structure.new do
  # @return [String]
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [ScheduledDeliveryInfo]
  attribute(:scheduled_delivery_info, ScheduledDeliveryInfo, from: "scheduledDeliveryInfo")

  # @return [:boolean] When true, this fulfillment order preview is fulfillable.
  attribute(:fulfillable, :boolean, from: "isFulfillable")

  # @return [:boolean] When true, this fulfillment order preview is for COD (Cash On Delivery).
  attribute(:cod_capable, :boolean, from: "isCODCapable")

  # @return [Weight] Estimated shipping weight for this fulfillment order preview.
  attribute(:estimated_shipping_weight, Weight, from: "estimatedShippingWeight")

  # @return [Array<Fee>] The estimated fulfillment fees for this fulfillment order preview, if applicable. The
  # fees data will not be available for IN marketplace orders.
  attribute(:estimated_fees, [Fee], from: "estimatedFees")

  # @return [Array<FulfillmentPreviewShipment>]
  attribute(:fulfillment_preview_shipments, [FulfillmentPreviewShipment], from: "fulfillmentPreviewShipments")

  # @return [Array<UnfulfillablePreviewItem>]
  attribute(:unfulfillable_preview_items, [UnfulfillablePreviewItem], from: "unfulfillablePreviewItems")

  # @return [Array] Error codes associated with the fulfillment order preview that indicate why the order is not
  # fulfillable.
  #
  # Error code examples:
  #
  # `DeliverySLAUnavailable`
  # `InvalidDestinationAddress`
  attribute(:order_unfulfillable_reasons, Array, from: "orderUnfulfillableReasons")

  # @return [String] The marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute(:feature_constraints, [FeatureSettings], from: "featureConstraints")
end
GetFeaturesResult =

The payload for the getFeatures operation.

Structure.new do
  # @return [Array<Feature>]
  attribute(:features, [Feature])
end
InvalidItemReason =

The reason that the item is invalid for return.

Structure.new do
  # @return [String]
  attribute(:invalid_item_reason_code, String, from: "invalidItemReasonCode")

  # @return [String] A human readable description of the invalid item reason code.
  attribute(:description, String)
end
InvalidReturnItem =

An item that is invalid for return.

Structure.new do
  # @return [String] An identifier the seller assigns to the return item.
  attribute(:seller_return_item_id, String, from: "sellerReturnItemId")

  # @return [String] The identifier assigned to the item by the seller when the fulfillment order was created.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [InvalidItemReason]
  attribute(:invalid_item_reason, InvalidItemReason, from: "invalidItemReason")
end
PaymentInformation =

The attributes related to the payment made from customer to seller for this order.

Structure.new do
  # @return [String] The transaction identifier of this payment.
  attribute(:payment_transaction_id, String, from: "paymentTransactionId")

  # @return [String] The transaction mode of this payment.
  attribute(:payment_mode, String, from: "paymentMode")

  # @return [String] The transaction date of this payment.
  attribute(:payment_date, String, from: "paymentDate")
end
ReasonCodeDetails =

A return reason code, a description, and an optional description translation.

Structure.new do
  # @return [String] A code that indicates a valid return reason.
  attribute(:return_reason_code, String, from: "returnReasonCode")

  # @return [String] A human readable description of the return reason code.
  attribute(:description, String)

  # @return [String] A translation of the description. The translation is in the language specified in the
  # `language` request parameter.
  attribute(:translated_description, String, from: "translatedDescription")
end
DeliveryInformation =

The delivery information for the package. This information is available after the package is delivered.

Structure.new do
  # @return [Array<DeliveryDocument>] All of the delivery documents for a package.
  attribute(:delivery_document_list, [DeliveryDocument], from: "deliveryDocumentList")

  # @return [DropOffLocation] The drop off location for a package.
  attribute(:drop_off_location, DropOffLocation, from: "dropOffLocation")
end
DeliveryPreferences =

The delivery preferences applied to the destination address. These preferences are applied when possible and are best effort. This feature is currently supported only in the JP marketplace and not applicable for other marketplaces. For eligible orders, the default delivery preference will be to deliver the package unattended at the front door, unless you specify otherwise.

Structure.new do
  # @return [String] Additional delivery instructions. For example, this could be instructions on how to enter a
  # building, nearby landmark or navigation instructions, 'Beware of dogs', etc.
  attribute(:delivery_instructions, String, from: "deliveryInstructions")

  # @return [DropOffLocation] The preferred location to leave packages at the destination address.
  attribute(:drop_off_location, DropOffLocation, from: "dropOffLocation")
end
FulfillmentShipment =

Delivery and item information for a shipment in a fulfillment order.

Structure.new do
  # @return [String] A shipment identifier assigned by Amazon.
  attribute(:amazon_shipment_id, String, from: "amazonShipmentId")

  # @return [String] An identifier for the fulfillment center from which the shipment is sent.
  attribute(:fulfillment_center_id, String, from: "fulfillmentCenterId")

  # @return [String] The current status of the shipment.
  attribute(:fulfillment_shipment_status, String, from: "fulfillmentShipmentStatus")

  # @return [String] The meaning of the `shippingDate` value depends on the current status of the shipment. If the
  # current value of FulfillmentShipmentStatus is:
  #
  # * Pending - shippingDate represents the estimated time that the shipment will leave the Amazon fulfillment
  # center.
  #
  # * Shipped - shippingDate represents the date that the shipment left the Amazon fulfillment center.
  #
  # If a shipment includes more than one package, `shippingDate` applies to all of the packages in the shipment.
  # If the value of `FulfillmentShipmentStatus` is `CancelledByFulfiller` or `CancelledBySeller`, `shippingDate`
  # is not returned. The value must be in ISO 8601 date time format.
  attribute(:shipping_date, String, from: "shippingDate")

  # @return [String] The estimated arrival date and time of the shipment, in ISO 8601 date time format. Note that
  # this value can change over time. If a shipment includes more than one package, `estimatedArrivalDate` applies
  # to all of the packages in the shipment. If the shipment is cancelled, `estimatedArrivalDate` is not returned.
  attribute(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [Array<String>] Provides additional insight into shipment timeline. Primarily used to communicate that
  # actual delivery dates aren't available.
  attribute(:shipping_notes, [String], from: "shippingNotes")

  # @return [Array<FulfillmentShipmentItem>]
  attribute(:fulfillment_shipment_item, [FulfillmentShipmentItem], from: "fulfillmentShipmentItem")

  # @return [Array<FulfillmentShipmentPackage>]
  attribute(:fulfillment_shipment_package, [FulfillmentShipmentPackage], from: "fulfillmentShipmentPackage")
end
ReturnAuthorization =

Return authorization information for items accepted for return.

Structure.new do
  # @return [String] An identifier for the return authorization. This identifier associates return items with the
  # return authorization used to return them.
  attribute(:return_authorization_id, String, from: "returnAuthorizationId")

  # @return [String] An identifier for the Amazon fulfillment center to which the return items should be sent.
  attribute(:fulfillment_center_id, String, from: "fulfillmentCenterId")

  # @return [Address] The address of the Amazon fulfillment center that the return items should be sent to.
  attribute(:return_to_address, Address, from: "returnToAddress")

  # @return [String] The return merchandise authorization (RMA) that Amazon needs to process the return.
  attribute(:amazon_rma_id, String, from: "amazonRmaId")

  # @return [String] A URL for a web page that contains the return authorization barcode and the mailing label.
  # This does not include pre-paid shipping.
  attribute(:rma_page_url, String, from: "rmaPageURL")
end
GetFeaturesResponse =

The response schema for the getFeatures operation.

Structure.new do
  # @return [GetFeaturesResult]
  attribute(:payload, GetFeaturesResult)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
FulfillmentOrderItem =

Item information for a fulfillment order.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [String] A fulfillment order item identifier submitted with a call to the `createFulfillmentOrder`
  # operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A message to the gift recipient, if applicable.
  attribute(:gift_message, String, from: "giftMessage")

  # @return [String] Item-specific text that displays in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute(:displayable_comment, String, from: "displayableComment")

  # @return [String] Amazon's fulfillment network SKU of the item.
  attribute(:fulfillment_network_sku, String, from: "fulfillmentNetworkSku")

  # @return [String] Indicates whether the item is sellable or unsellable.
  attribute(:order_item_disposition, String, from: "orderItemDisposition")

  # @return [Integer] The item quantity that was cancelled by the seller.
  attribute(:cancelled_quantity, Integer, from: "cancelledQuantity")

  # @return [Integer] The item quantity that is unfulfillable.
  attribute(:unfulfillable_quantity, Integer, from: "unfulfillableQuantity")

  # @return [String] The estimated date and time that the item quantity is scheduled to ship from the fulfillment
  # center. Note that this value can change over time. If the shipment that contains the item quantity is
  # cancelled, `estimatedShipDate` is not returned.
  attribute(:estimated_ship_date, String, from: "estimatedShipDate")

  # @return [String] The estimated arrival date and time of the item quantity. Note that this value can change
  # over time. If the shipment that contains the item quantity is cancelled, `estimatedArrivalDate` is not
  # returned.
  attribute(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [Money] The amount to be collected from the recipient for this item in a COD (Cash On Delivery) order.
  attribute(:per_unit_price, Money, from: "perUnitPrice")

  # @return [Money] The tax on the amount to be collected from the recipient for this item in a COD (Cash On
  # Delivery) order.
  attribute(:per_unit_tax, Money, from: "perUnitTax")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field for India MCF
  # orders.
  attribute(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")
end
GetFeatureSkuResult =

The payload for the getFeatureSKU operation.

Structure.new do
  # @return [String] The requested marketplace.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] The name of the feature.
  attribute(:feature_name, String, from: "featureName")

  # @return [:boolean] When true, the seller SKU is eligible for the requested feature.
  attribute(:eligible, :boolean, from: "isEligible")

  # @return [Array<String>] A list of one or more reasons that the seller SKU is ineligible for the feature.
  #
  # Possible values:
  # * `MERCHANT_NOT_ENROLLED`: The merchant isn't enrolled for the feature.
  # * `SKU_NOT_ELIGIBLE`: The SKU doesn't reside in a warehouse that supports the feature.
  # * `INVALID_SKU`: There is an issue with the SKU provided.
  attribute(:ineligible_reasons, [String], from: "ineligibleReasons")

  # @return [FeatureSku] Information about the SKU, including the count available, identifiers, and a list of
  # overlapping SKUs that share the same inventory pool.
  attribute(:sku_info, FeatureSku, from: "skuInfo")
end
ScheduledDeliveryInfo =

Delivery information for a scheduled delivery. This is only available in the JP marketplace.

Structure.new do
  # @return [String] The time zone of the destination address for the fulfillment order preview. Must be an IANA
  # time zone name. Example: Asia/Tokyo.
  attribute(:delivery_time_zone, String, from: "deliveryTimeZone")

  # @return [Array<DeliveryWindow>] An array of time ranges that are available for scheduled delivery.
  attribute(:delivery_windows, [DeliveryWindow], from: "deliveryWindows")
end
FulfillmentPreviewItem =

Item information for a shipment in a fulfillment order preview.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Integer] The item quantity.
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier that the seller created with a call to the
  # `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [Weight] The estimated shipping weight of the item quantity for a single item, as identified by
  # `sellerSku`, in a shipment.
  attribute(:estimated_shipping_weight, Weight, from: "estimatedShippingWeight")

  # @return [String] The method used to calculate the estimated shipping weight.
  attribute(:shipping_weight_calculation_method, String, from: "shippingWeightCalculationMethod")
end
GetFeatureSkuResponse =

The response schema for the getFeatureSKU operation.

Structure.new do
  # @return [GetFeatureSkuResult]
  attribute(:payload, GetFeatureSkuResult)

  # @return [Array<Error>]
  attribute(:errors, [Error])
end
PackageTrackingDetails =

Tracking details of package

Structure.new do
  # @return [Integer] The package identifier.
  attribute(:package_number, Integer, from: "packageNumber")

  # @return [String] The tracking number for the package.
  attribute(:tracking_number, String, from: "trackingNumber")

  # @return [String] Link on swiship.com that allows customers to track the package.
  attribute(:customer_tracking_link, String, from: "customerTrackingLink")

  # @return [String] The name of the carrier.
  attribute(:carrier_code, String, from: "carrierCode")

  # @return [String] The phone number of the carrier.
  attribute(:carrier_phone_number, String, from: "carrierPhoneNumber")

  # @return [String] The URL of the carrier's website.
  attribute(:carrier_url, String, from: "carrierURL")

  # @return [String] The shipping date for the package.
  attribute(:ship_date, String, from: "shipDate")

  # @return [String] The estimated arrival date.
  attribute(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [TrackingAddress] The destination city for the package.
  attribute(:ship_to_address, TrackingAddress, from: "shipToAddress")

  # @return [String]
  attribute(:current_status, String, from: "currentStatus")

  # @return [String] Description corresponding to the `CurrentStatus` value.
  attribute(:current_status_description, String, from: "currentStatusDescription")

  # @return [DateRange] The delivery window for the package. This is available after the package reaches its
  # destination delivery station.
  attribute(:delivery_window, DateRange, from: "deliveryWindow")

  # @return [String] The name of the person who signed for the package.
  attribute(:signed_for_by, String, from: "signedForBy")

  # @return [String]
  attribute(:additional_location_info, String, from: "additionalLocationInfo")

  # @return [Array<TrackingEvent>]
  attribute(:tracking_events, [TrackingEvent], from: "trackingEvents")
end
FulfillmentShipmentItem =

Item information for a shipment in a fulfillment order.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [String] The fulfillment order item identifier that the seller created and submitted with a call to
  # the `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [Integer] An identifier for the package that contains the item quantity.
  attribute(:package_number, Integer, from: "packageNumber")

  # @return [String] The serial number of the shipped item.
  attribute(:serial_number, String, from: "serialNumber")

  # @return [Array] The manufacturer lot codes of the shipped items.
  attribute(:manufacturer_lot_codes, Array, from: "manufacturerLotCodes")
end
GetDeliveryOffersTerms =

The delivery terms for the delivery offer.

Structure.new do
  # @return [Origin] The origin for the delivery offer.
  attribute(:origin, Origin)

  # @return [Destination] The destination for the delivery offer.
  attribute(:destination, Destination)
end
GetDeliveryOffersResult =

A list of delivery offers, including offer expiration, earliest and latest date and time range, and the delivery offer policy.

Structure.new do
  # @return [Array<DeliveryOffer>] An array of delivery offers.
  attribute(:delivery_offers, [DeliveryOffer], from: "deliveryOffers")
end
UnfulfillablePreviewItem =

Information about unfulfillable items in a fulfillment order preview.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A fulfillment order item identifier created with a call to the `getFulfillmentPreview`
  # operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [Array] Error codes associated with the fulfillment order preview that indicate why the item is
  # unfulfillable.
  attribute(:item_unfulfillable_reasons, Array, from: "itemUnfulfillableReasons")
end
VariablePrecisionAddress =

A physical address with varying degrees of precision. A more precise address can provide more accurate results than country code and postal code alone.

Structure.new do
  # @return [String] The first line of the address.
  attribute(:address_line1, String, from: "addressLine1")

  # @return [String] Additional address information, if required.
  attribute(:address_line2, String, from: "addressLine2")

  # @return [String] Additional address information, if required.
  attribute(:address_line3, String, from: "addressLine3")

  # @return [String] The city where the person, business, or institution is located. This property should not be
  # used in Japan.
  attribute(:city, String)

  # @return [String] The district or county where the person, business, or institution is located.
  attribute(:district_or_county, String, from: "districtOrCounty")

  # @return [String] The state or region where the person, business or institution is located.
  attribute(:state_or_region, String, from: "stateOrRegion")

  # @return [String] The postal code of the address.
  attribute(:postal_code, String, from: "postalCode")

  # @return [String] The two digit country code. In ISO 3166-1 alpha-2 format.
  attribute(:country_code, String, from: "countryCode")
end
GetDeliveryOffersProduct =

The product details for the delivery offer.

Structure.new do
  # @return [ProductIdentifier] Product identifier input that locates a product for MCF.
  attribute(:product_identifier, ProductIdentifier, from: "productIdentifier")

  # @return [Amount] The amount of the requested product.
  attribute(:amount, Amount)
end
GetDeliveryOffersRequest =

The request body schema for the getDeliveryOffers operation.

Structure.new do
  # @return [GetDeliveryOffersProduct] The product details for the delivery offer.
  attribute(:product, GetDeliveryOffersProduct)

  # @return [GetDeliveryOffersTerms] The terms for the delivery offer.
  attribute(:terms, GetDeliveryOffersTerms)
end
FulfillmentPreviewShipment =

Delivery and item information for a shipment in a fulfillment order preview.

Structure.new do
  # @return [String] The earliest date that the shipment is expected to be sent from the fulfillment center. Must
  # be in <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:earliest_ship_date, String, from: "earliestShipDate")

  # @return [String] The latest date that the shipment is expected to be sent from the fulfillment center. Must be
  # in <a href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:latest_ship_date, String, from: "latestShipDate")

  # @return [String] The earliest date that the shipment is expected to arrive at its destination.
  attribute(:earliest_arrival_date, String, from: "earliestArrivalDate")

  # @return [String] The latest date that the shipment is expected to arrive at its destination. Must be in <a
  # href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:latest_arrival_date, String, from: "latestArrivalDate")

  # @return [Array<String>] Provides additional insight into the shipment timeline when exact delivery dates are
  # not able to be precomputed.
  attribute(:shipping_notes, [String], from: "shippingNotes")

  # @return [Array<FulfillmentPreviewItem>] Information about the items in the shipment.
  attribute(:fulfillment_preview_items, [FulfillmentPreviewItem], from: "fulfillmentPreviewItems")
end
FulfillmentShipmentPackage =

Package information for a shipment in a fulfillment order.

Structure.new do
  # @return [Integer] Identifies a package in a shipment.
  attribute(:package_number, Integer, from: "packageNumber")

  # @return [String] Identifies the carrier who will deliver the shipment to the recipient.
  attribute(:carrier_code, String, from: "carrierCode")

  # @return [String] The tracking number, if provided, can be used to obtain tracking and delivery information.
  attribute(:tracking_number, String, from: "trackingNumber")

  # @return [String] The Amazon fulfillment tracking number, if provided, can be used to obtain tracking and
  # delivery information.
  attribute(:amazon_fulfillment_tracking_number, String, from: "amazonFulfillmentTrackingNumber")

  # @return [String] The estimated arrival date and time of the package. Must be in <a
  # href='https://developer-docs.amazon.com/sp-api/docs/iso-8601'>ISO 8601</a> format.
  attribute(:estimated_arrival_date, String, from: "estimatedArrivalDate")

  # @return [LockerDetails] The locker details, if provided can be used to access locker delivery box.
  attribute(:locker_details, LockerDetails, from: "lockerDetails")

  # @return [DeliveryInformation] The delivery information for the package. This information is available after
  # the package is delivered.
  attribute(:delivery_information, DeliveryInformation, from: "deliveryInformation")
end
GetDeliveryOffersResponse =

The response schema for the getDeliveryOffers operation.

Structure.new do
  # @return [GetDeliveryOffersResult] The response payload for the `getDeliveryOffers` operation.
  attribute(:payload, GetDeliveryOffersResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `getDeliveryOffers` operation.
  attribute(:errors, [Error])
end
GetFeatureInventoryResult =

The payload for the getEligibleInventory operation.

Structure.new do
  # @return [String] The requested marketplace.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] The name of the feature.
  attribute(:feature_name, String, from: "featureName")

  # @return [String] When present and not empty, pass this string token in the next request to return the next
  # response page.
  attribute(:next_token, String, from: "nextToken")

  # @return [Array<FeatureSku>] An array of SKUs eligible for this feature and the quantity available.
  attribute(:feature_skus, [FeatureSku], from: "featureSkus")
end
GetFulfillmentOrderResult =

The request for the getFulfillmentOrder operation.

Structure.new do
  # @return [FulfillmentOrder]
  attribute(:fulfillment_order, FulfillmentOrder, from: "fulfillmentOrder")

  # @return [Array<FulfillmentOrderItem>]
  attribute(:fulfillment_order_items, [FulfillmentOrderItem], from: "fulfillmentOrderItems")

  # @return [Array<FulfillmentShipment>]
  attribute(:fulfillment_shipments, [FulfillmentShipment], from: "fulfillmentShipments")

  # @return [Array<ReturnItem>]
  attribute(:return_items, [ReturnItem], from: "returnItems")

  # @return [Array<ReturnAuthorization>]
  attribute(:return_authorizations, [ReturnAuthorization], from: "returnAuthorizations")

  # @return [Array<PaymentInformation>]
  attribute(:payment_information, [PaymentInformation], from: "paymentInformation")
end
GetFulfillmentPreviewItem =

Item information for a fulfillment order preview.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field if this order
  # is an export order or an India MCF order.
  attribute(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")

  # @return [String] A fulfillment order item identifier that the seller creates to track items in the fulfillment
  # preview.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")
end
CreateFulfillmentOrderItem =

Item information for creating a fulfillment order.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [String] A fulfillment order item identifier that the seller creates to track fulfillment order items.
  # Used to disambiguate multiple fulfillment items that have the same `sellerSku` value. For example, the seller
  # might assign different `sellerFulfillmentOrderItemId` values to two items in a fulfillment order that share
  # the same `sellerSku` value but have different `giftMessage` values.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A message to the gift recipient, if applicable.
  attribute(:gift_message, String, from: "giftMessage")

  # @return [String] Item-specific text that displays in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute(:displayable_comment, String, from: "displayableComment")

  # @return [String] Amazon's fulfillment network SKU of the item.
  attribute(:fulfillment_network_sku, String, from: "fulfillmentNetworkSku")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field for India MCF
  # orders.
  attribute(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")

  # @return [Money] The amount to be collected from the recipient for this item in a COD (Cash On Delivery) order.
  attribute(:per_unit_price, Money, from: "perUnitPrice")

  # @return [Money] The tax on the amount to be collected from the recipient for this item in a COD (Cash On
  # Delivery) order.
  attribute(:per_unit_tax, Money, from: "perUnitTax")
end
UpdateFulfillmentOrderItem =

Item information for updating a fulfillment order.

Structure.new do
  # @return [String] The seller SKU of the item.
  attribute(:seller_sku, String, from: "sellerSku")

  # @return [String] Identifies the fulfillment order item to update. Created with a previous call to the
  # `createFulfillmentOrder` operation.
  attribute(:seller_fulfillment_order_item_id, String, from: "sellerFulfillmentOrderItemId")

  # @return [Integer]
  attribute(:quantity, Integer)

  # @return [String] A message to the gift recipient, if applicable.
  attribute(:gift_message, String, from: "giftMessage")

  # @return [String] Item-specific text that displays in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute(:displayable_comment, String, from: "displayableComment")

  # @return [String] Amazon's fulfillment network SKU of the item.
  attribute(:fulfillment_network_sku, String, from: "fulfillmentNetworkSku")

  # @return [String] Indicates whether the item is sellable or unsellable.
  attribute(:order_item_disposition, String, from: "orderItemDisposition")

  # @return [Money] The monetary value assigned by the seller to this item. This is a required field for India MCF
  # orders.
  attribute(:per_unit_declared_value, Money, from: "perUnitDeclaredValue")

  # @return [Money] The amount to be collected from the recipient for this item in a COD (Cash On Delivery) order.
  attribute(:per_unit_price, Money, from: "perUnitPrice")

  # @return [Money] The tax on the amount to be collected from the recipient for this item in a COD (Cash On
  # Delivery) order.
  attribute(:per_unit_tax, Money, from: "perUnitTax")
end
GetFeatureInventoryResponse =

The breakdown of eligibility inventory by feature.

Structure.new do
  # @return [GetFeatureInventoryResult]
  attribute(:payload, GetFeatureInventoryResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `getFeatureInventory` operation.
  attribute(:errors, [Error])
end
GetFulfillmentOrderResponse =

The response schema for the getFulfillmentOrder operation.

Structure.new do
  # @return [GetFulfillmentOrderResult] The payload for the `getFulfillmentOrder` operation.
  attribute(:payload, GetFulfillmentOrderResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `getFulfillmentOrder` operation.
  attribute(:errors, [Error])
end
GetFulfillmentPreviewResult =

A list of fulfillment order previews, including estimated shipping weights, estimated shipping fees, and estimated ship dates and arrival dates.

Structure.new do
  # @return [Array<FulfillmentPreview>]
  attribute(:fulfillment_previews, [FulfillmentPreview], from: "fulfillmentPreviews")
end
GetFulfillmentPreviewRequest =

The request body schema for the getFulfillmentPreview operation.

Structure.new do
  # @return [String] The marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [Address] The destination address for the fulfillment order preview.
  attribute(:address, Address)

  # @return [Array<GetFulfillmentPreviewItem>] Identifying information and quantity information for the items in
  # the fulfillment order preview. Maximum of 100 line items with a maximum of 250 units per order.
  attribute(:items, [GetFulfillmentPreviewItem])

  # @return [Array<ShippingSpeedCategory>] A list of shipping methods used for creating fulfillment order
  # previews.
  #
  # Possible values:
  #
  # * `Standard`: Standard shipping method.
  # * `Expedited`: Expedited shipping method.
  # * `Priority`: Priority shipping method.
  # * `ScheduledDelivery`: Scheduled Delivery shipping method.
  # **Note:** Shipping method service level agreements vary by marketplace. Sellers should see the Seller Central
  # website in their marketplace for shipping method service level agreements and fulfillment fees.
  attribute(:shipping_speed_categories, Array, from: "shippingSpeedCategories")

  # @return [:boolean] When true, returns all fulfillment order previews both for COD and not for COD. Otherwise,
  # returns only fulfillment order previews that are not for COD.
  attribute(:include_cod_fulfillment_preview, :boolean, from: "includeCODFulfillmentPreview")

  # @return [:boolean] When true, returns the `ScheduledDeliveryInfo` response object, which contains the
  # available delivery windows for a Scheduled Delivery. The `ScheduledDeliveryInfo` response object can only be
  # returned for fulfillment order previews with `ShippingSpeedCategories` equal to `ScheduledDelivery`.
  attribute(:include_delivery_windows, :boolean, from: "includeDeliveryWindows")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute(:feature_constraints, [FeatureSettings], from: "featureConstraints")
end
ListReturnReasonCodesResult =

The request for the listReturnReasonCodes operation.

Structure.new do
  # @return [Array<ReasonCodeDetails>]
  attribute(:reason_code_details, [ReasonCodeDetails], from: "reasonCodeDetails")
end
CreateFulfillmentOrderRequest =

The request body schema for the createFulfillmentOrder operation.

Structure.new do
  # @return [String] The marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] A fulfillment order identifier that the seller creates to track their fulfillment order. The
  # `sellerFulfillmentOrderId` must be unique for each fulfillment order that a seller creates. If the seller's
  # system already creates unique order identifiers, then these might be good values for them to use.
  attribute(:seller_fulfillment_order_id, String, from: "sellerFulfillmentOrderId")

  # @return [String] A fulfillment order identifier that the seller creates. This value displays as the order
  # identifier in recipient-facing materials such as the outbound shipment packing slip. The value of
  # `displayableOrderId` should match the order identifier that the seller provides to the recipient. The seller
  # can use the SellerFulfillmentOrderId for this value or they can specify an alternate value if they want the
  # recipient to reference an alternate order identifier.
  #
  # The value must be an alpha-numeric or ISO 8859-1 compliant string from one to 40 characters in length. Cannot
  # contain two spaces in a row. Leading and trailing white space is removed.
  attribute(:displayable_order_id, String, from: "displayableOrderId")

  # @return [String] The date and time of the fulfillment order. Displays as the order date in recipient-facing
  # materials such as the outbound shipment packing slip.
  attribute(:displayable_order_date, String, from: "displayableOrderDate")

  # @return [String] Order-specific text that appears in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute(:displayable_order_comment, String, from: "displayableOrderComment")

  # @return [String] The shipping method for the fulfillment order. When this value is `ScheduledDelivery`, choose
  # Ship for the `fulfillmentAction`. Hold is not a valid `fulfillmentAction` value when the
  # `shippingSpeedCategory` value is `ScheduledDelivery`.
  # Note: Shipping method service level agreements vary by marketplace. Sellers can refer to [Seller Central](
  # https://developer-docs.amazon.com/sp-api/docs/seller-central-urls) for shipping method service-level
  # agreements and multi-channel fulfillment fees.
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [DeliveryWindow]
  attribute(:delivery_window, DeliveryWindow, from: "deliveryWindow")

  # @return [Address] The destination address for the fulfillment order.
  attribute(:destination_address, Address, from: "destinationAddress")

  # @return [DeliveryPreferences] The delivery preferences applied to the destination address. These preferences
  # are applied when possible and are best effort. For eligible orders, the default delivery preference is to
  # leave the package unattended at the front door.
  # This feature is currently supported only in the JP marketplace and not applicable for other marketplaces.
  # For eligible orders, the default delivery preference will be to deliver the package unattended at the front
  # door, unless you specify otherwise.
  attribute(:delivery_preferences, DeliveryPreferences, from: "deliveryPreferences")

  # @return [String]
  attribute(:fulfillment_action, String, from: "fulfillmentAction")

  # @return [String]
  attribute(:fulfillment_policy, String, from: "fulfillmentPolicy")

  # @return [CODSettings]
  attribute(:cod_settings, CODSettings, from: "codSettings")

  # @return [String] The two-character country code for the country from which the fulfillment order ships. Must
  # be in ISO 3166-1 alpha-2 format.
  attribute(:ship_from_country_code, String, from: "shipFromCountryCode")

  # @return [Array]
  attribute(:notification_emails, Array, from: "notificationEmails")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [Array<CreateFulfillmentOrderItem>] A list of items to include in the fulfillment order preview,
  # including quantity. Maximum of 100 line items with a maximum of 250 units per order.
  attribute(:items, [CreateFulfillmentOrderItem])

  # @return [Array<PaymentInformation>] An array of various payment attributes related to this fulfillment order.
  # This property is required if the order is placed against the India marketplace.
  attribute(:payment_information, [PaymentInformation], from: "paymentInformation")
end
CreateFulfillmentReturnResult =

The result for the createFulfillmentReturn operation.

Structure.new do
  # @return [Array<ReturnItem>]
  attribute(:return_items, [ReturnItem], from: "returnItems")

  # @return [Array<InvalidReturnItem>]
  attribute(:invalid_return_items, [InvalidReturnItem], from: "invalidReturnItems")

  # @return [Array<ReturnAuthorization>]
  attribute(:return_authorizations, [ReturnAuthorization], from: "returnAuthorizations")
end
GetFulfillmentPreviewResponse =

The response schema for the getFulfillmentPreview operation.

Structure.new do
  # @return [GetFulfillmentPreviewResult] The response payload for the `getFulfillmentPreview` operation.
  attribute(:payload, GetFulfillmentPreviewResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `getFulfillmentPreview` operation.
  attribute(:errors, [Error])
end
UpdateFulfillmentOrderRequest =

The request body schema for the updateFulfillmentOrder operation.

Structure.new do
  # @return [String] The marketplace the fulfillment order is placed against.
  attribute(:marketplace_id, String, from: "marketplaceId")

  # @return [String] A fulfillment order identifier that the seller creates. This value displays as the order
  # identifier in recipient-facing materials such as the outbound shipment packing slip. The value of
  # `DisplayableOrderId` should match the order identifier that the seller provides to the recipient. The seller
  # can use the `SellerFulfillmentOrderId` for this value or they can specify an alternate value if they want the
  # recipient to reference an alternate order identifier.
  attribute(:displayable_order_id, String, from: "displayableOrderId")

  # @return [String] The date and time of the fulfillment order. Displays as the order date in recipient-facing
  # materials such as the outbound shipment packing slip.
  attribute(:displayable_order_date, String, from: "displayableOrderDate")

  # @return [String] Order-specific text that appears in recipient-facing materials such as the outbound shipment
  # packing slip.
  attribute(:displayable_order_comment, String, from: "displayableOrderComment")

  # @return [String]
  attribute(:shipping_speed_category, String, from: "shippingSpeedCategory")

  # @return [Address] The destination address for the fulfillment order.
  attribute(:destination_address, Address, from: "destinationAddress")

  # @return [String]
  attribute(:fulfillment_action, String, from: "fulfillmentAction")

  # @return [String]
  attribute(:fulfillment_policy, String, from: "fulfillmentPolicy")

  # @return [String] The two-character country code for the country from which the fulfillment order ships. Must
  # be in ISO 3166-1 alpha-2 format.
  attribute(:ship_from_country_code, String, from: "shipFromCountryCode")

  # @return [Array]
  attribute(:notification_emails, Array, from: "notificationEmails")

  # @return [Array<FeatureSettings>] A list of features and their fulfillment policies to apply to the order.
  attribute(:feature_constraints, [FeatureSettings], from: "featureConstraints")

  # @return [Array<UpdateFulfillmentOrderItem>] A list of items to include in the fulfillment order preview,
  # including quantity.
  attribute(:items, [UpdateFulfillmentOrderItem])
end
CancelFulfillmentOrderResponse =

The response schema for the cancelFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `cancelFulfillmentOrder` operation.
  attribute(:errors, [Error])
end
CreateFulfillmentOrderResponse =

The response schema for the createFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `createFulfillmentOrder` operation.
  attribute(:errors, [Error])
end
CreateFulfillmentReturnRequest =

The createFulfillmentReturn operation creates a fulfillment return for items that were fulfilled using the createFulfillmentOrder operation. For calls to createFulfillmentReturn, you must include returnReasonCode values returned by a previous call to the listReturnReasonCodes operation.

Structure.new do
  # @return [Array<CreateReturnItem>]
  attribute(:items, [CreateReturnItem])
end
ListReturnReasonCodesResponse =

The response schema for the listReturnReasonCodes operation.

Structure.new do
  # @return [ListReturnReasonCodesResult] The payload for the `listReturnReasonCodes` operation.
  attribute(:payload, ListReturnReasonCodesResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `listReturnReasonCodes` operation.
  attribute(:errors, [Error])
end
UpdateFulfillmentOrderResponse =

The response schema for the updateFulfillmentOrder operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `updateFulfillmentOrder` operation.
  attribute(:errors, [Error])
end
CreateFulfillmentReturnResponse =

The response schema for the createFulfillmentReturn operation.

Structure.new do
  # @return [CreateFulfillmentReturnResult] The payload for the `createFulfillmentReturn` operation.
  attribute(:payload, CreateFulfillmentReturnResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `createFulfillmentReturn` operation.
  attribute(:errors, [Error])
end
ListAllFulfillmentOrdersResult =

The request for the listAllFulfillmentOrders operation.

Structure.new do
  # @return [String] When present and not empty, pass this string token in the next request to return the next
  # response page.
  attribute(:next_token, String, from: "nextToken")

  # @return [Array<FulfillmentOrder>] An array of fulfillment order information.
  attribute(:fulfillment_orders, [FulfillmentOrder], from: "fulfillmentOrders")
end
ListAllFulfillmentOrdersResponse =

The response schema for the listAllFulfillmentOrders operation.

Structure.new do
  # @return [ListAllFulfillmentOrdersResult] The payload for the `listAllFulfillmentOrders` operation.
  attribute(:payload, ListAllFulfillmentOrdersResult)

  # @return [Array<Error>] One or more unexpected errors occurred during the `listAllFulfillmentOrders` operation.
  attribute(:errors, [Error])
end
GetPackageTrackingDetailsResponse =

The response schema for the getPackageTrackingDetails operation.

Structure.new do
  # @return [PackageTrackingDetails] The payload for the `getPackageTrackingDetails` operation.
  attribute(:payload, PackageTrackingDetails)

  # @return [Array<Error>] One or more unexpected errors occurred during the `getPackageTrackingDetails`
  # operation.
  attribute(:errors, [Error])
end
SubmitFulfillmentOrderStatusUpdateRequest =

The request body schema for the submitFulfillmentOrderStatusUpdate operation.

Structure.new do
  # @return [String]
  attribute(:fulfillment_order_status, String, from: "fulfillmentOrderStatus")
end
SubmitFulfillmentOrderStatusUpdateResponse =

The response schema for the SubmitFulfillmentOrderStatusUpdate operation.

Structure.new do
  # @return [Array<Error>] One or more unexpected errors occurred during the `SubmitFulfillmentOrderStatusUpdate`
  # operation.
  attribute(:errors, [Error])
end