# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module OpenApiSDK module Shared class UnifiedEcommerceCustomerOutput < ::OpenApiSDK::Utils::FieldAugmented extend T::Sig # The addresses of the customer field :addresses, T.nilable(T::Array[::OpenApiSDK::Shared::Address]), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('addresses') } } # The created date of the object field :created_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('created_at') } } # The email of the customer field :email, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('email') } } # The custom field mappings of the object between the remote 3rd party & Panora field :field_mappings, T.nilable(::OpenApiSDK::Shared::UnifiedEcommerceCustomerOutputFieldMappings), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('field_mappings') } } # The first name of the customer field :first_name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('first_name') } } # The UUID of the customer field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } } # The last name of the customer field :last_name, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('last_name') } } # The modified date of the object field :modified_at, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('modified_at') } } # The phone number of the customer field :phone_number, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('phone_number') } } # The remote data of the customer in the context of the 3rd Party field :remote_data, T.nilable(::OpenApiSDK::Shared::UnifiedEcommerceCustomerOutputRemoteData), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('remote_data') } } # The remote ID of the customer in the context of the 3rd Party field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('remote_id') } } sig { params(addresses: T.nilable(T::Array[::OpenApiSDK::Shared::Address]), created_at: T.nilable(::String), email: T.nilable(::String), field_mappings: T.nilable(::OpenApiSDK::Shared::UnifiedEcommerceCustomerOutputFieldMappings), first_name: T.nilable(::String), id: T.nilable(::String), last_name: T.nilable(::String), modified_at: T.nilable(::String), phone_number: T.nilable(::String), remote_data: T.nilable(::OpenApiSDK::Shared::UnifiedEcommerceCustomerOutputRemoteData), remote_id: T.nilable(::String)).void } def initialize(addresses: nil, created_at: nil, email: nil, field_mappings: nil, first_name: nil, id: nil, last_name: nil, modified_at: nil, phone_number: nil, remote_data: nil, remote_id: nil) @addresses = addresses @created_at = created_at @email = email @field_mappings = field_mappings @first_name = first_name @id = id @last_name = last_name @modified_at = modified_at @phone_number = phone_number @remote_data = remote_data @remote_id = remote_id end end end end