# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module OpenApiSDK module Shared class UnifiedEcommerceOrderInput < ::OpenApiSDK::Utils::FieldAugmented extend T::Sig # The currency of the order. Authorized value must be of type CurrencyCode (ISO 4217) field :currency, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } } # The UUID of the customer associated with the order field :customer_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('customer_id') } } # The custom field mappings of the object between the remote 3rd party & Panora field :field_mappings, T.nilable(::OpenApiSDK::Shared::UnifiedEcommerceOrderInputFieldMappings), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('field_mappings') } } # The fulfillment status of the order field :fulfillment_status, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('fulfillment_status') } } # The items in the order field :items, T.nilable(T::Array[::OpenApiSDK::Shared::LineItem]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('items') } } # The number of the order field :order_number, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('order_number') } } # The status of the order field :order_status, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('order_status') } } # The payment status of the order field :payment_status, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('payment_status') } } # The total discount on the order field :total_discount, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('total_discount') } } # The total price of the order field :total_price, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('total_price') } } # The total shipping cost of the order field :total_shipping, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('total_shipping') } } # The total tax on the order field :total_tax, T.nilable(::Float), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('total_tax') } } sig { params(currency: T.nilable(::String), customer_id: T.nilable(::String), field_mappings: T.nilable(::OpenApiSDK::Shared::UnifiedEcommerceOrderInputFieldMappings), fulfillment_status: T.nilable(::String), items: T.nilable(T::Array[::OpenApiSDK::Shared::LineItem]), order_number: T.nilable(::String), order_status: T.nilable(::String), payment_status: T.nilable(::String), total_discount: T.nilable(::Float), total_price: T.nilable(::Float), total_shipping: T.nilable(::Float), total_tax: T.nilable(::Float)).void } def initialize(currency: nil, customer_id: nil, field_mappings: nil, fulfillment_status: nil, items: nil, order_number: nil, order_status: nil, payment_status: nil, total_discount: nil, total_price: nil, total_shipping: nil, total_tax: nil) @currency = currency @customer_id = customer_id @field_mappings = field_mappings @fulfillment_status = fulfillment_status @items = items @order_number = order_number @order_status = order_status @payment_status = payment_status @total_discount = total_discount @total_price = total_price @total_shipping = total_shipping @total_tax = total_tax end end end end