{"version":3,"file":"static/js/5fafff836b4ce5e4266e.bundle.js","mappings":"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","sources":["webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/BusinessPartnerUsersDataActions.g.ts?c8e5","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/BusinessPartnersDataActions.g.ts?502e","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/CartsDataActions.g.ts?f2f8","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/CategoriesDataActions.g.ts?d9f0","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/CommerceListsDataActions.g.ts?d44a","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/CustomersDataActions.g.ts?081a","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/OrgUnitsDataActions.g.ts?c88f","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/ProductListsDataActions.g.ts?81df","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/ProductsDataActions.g.ts?8ea2","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/RecommendationsDataActions.g.ts?31c0","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/SalesOrdersDataActions.g.ts?4e0c","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/ScanResultsDataActions.g.ts?42cd","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/StoreOperationsDataActions.g.ts?85ae","webpack://@msdyn365-commerce-partners/fabrikam/../src/DataServiceQuery.ts?8aab","webpack://@msdyn365-commerce-partners/fabrikam/../src/DataServiceRequest.ts?423e","webpack://@msdyn365-commerce-partners/fabrikam/../../src/Entities/CommerceModels.g.ts?1e76","webpack://@msdyn365-commerce-partners/fabrikam/../../src/Entities/CommerceTypes.g.ts?34ee","webpack://@msdyn365-commerce-partners/fabrikam/../../src/Interfaces/ICache.ts?0279","webpack://@msdyn365-commerce-partners/fabrikam/../src/async-result.ts?1ea5","webpack://@msdyn365-commerce-partners/fabrikam/../../src/exceptions/ErrorHelper.ts?deca","webpack://@msdyn365-commerce-partners/fabrikam/../../src/exceptions/ErrorParser.ts?d883","webpack://@msdyn365-commerce-partners/fabrikam/../../src/exceptions/ProxyErrorSDK.ts?c06e","webpack://@msdyn365-commerce-partners/fabrikam/../../src/exceptions/ProxyError.ts?f6d3","webpack://@msdyn365-commerce-partners/fabrikam/../../src/extensions/StringExtensions.ts?6e3d","webpack://@msdyn365-commerce-partners/fabrikam/../../src/externals/DataJS.New.ts?f131","webpack://@msdyn365-commerce-partners/fabrikam/../../src/externals/handler.ts?a98d","webpack://@msdyn365-commerce-partners/fabrikam/../../src/externals/helper.ts?18b4","webpack://@msdyn365-commerce-partners/fabrikam/../../src/DataActions/CatalogsDataActions.g.ts?8b5c","webpack://@msdyn365-commerce-partners/fabrikam/../../src/logging/ConsoleEventWriter.ts?1638","webpack://@msdyn365-commerce-partners/fabrikam/../../src/logging/RetailLogger.ts?9e7e","webpack://@msdyn365-commerce-partners/fabrikam/../../src/logging/Tracer.ts?faf4","webpack://@msdyn365-commerce-partners/fabrikam/../src/retail-action.ts?fc97"],"sourcesContent":["\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { BusinessPartnerUser, AccountStatementRequest, BusinessPartnerOperationRequest } from '../Entities/CommerceTypes.g';\r\n import { BusinessPartnerUserClass, BusinessPartnerOperationRequestClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function businessPartnerUsersQuery(b2BUserId?: string): DataServiceQuery {\r\n var key = (b2BUserId) ? { B2BUserId: b2BUserId } : null;\r\n return new DataServiceQuery(\"BusinessPartnerUsers\", \"BusinessPartnerUser\", BusinessPartnerUserClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: BusinessPartnerUser): IDataServiceRequest {\r\n return businessPartnerUsersQuery().create(entity);\r\n }\r\n\r\n export function createBusinessPartnerUserAsync(context: IContext, entity: BusinessPartnerUser): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: BusinessPartnerUser): IDataServiceRequest {\r\n return businessPartnerUsersQuery(entity.B2BUserId).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: BusinessPartnerUser): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: BusinessPartnerUser): IDataServiceRequest {\r\n return businessPartnerUsersQuery(entity.B2BUserId).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: BusinessPartnerUser): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(b2BUserId: string): IDataServiceRequest {\r\n return businessPartnerUsersQuery(b2BUserId).read();\r\n }\r\n\r\n export function readAsync(context: IContext, b2BUserId: string): AsyncResult {\r\n const request = createReadAsync(b2BUserId);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return businessPartnerUsersQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createRequestAccountStatementInput(b2BUserId: string, accountStatementParameters?: AccountStatementRequest | null): IDataServiceRequest { \r\n const query = businessPartnerUsersQuery(b2BUserId);\r\n return query.createDataServiceRequestForOperation('RequestAccountStatement', true, '', '', {bypassCache: 'get', returnEntity: ''}, {accountStatementParameters: accountStatementParameters });\r\n } \r\n \r\n export function requestAccountStatementAsync(context: IContext, b2BUserId: string, accountStatementParameters?: AccountStatementRequest | null):AsyncResult {\r\n const request = createRequestAccountStatementInput(b2BUserId, accountStatementParameters);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRequestInvoiceCopyInput(b2BUserId: string, invoiceId: string | null, deliveryType: number): IDataServiceRequest { \r\n const query = businessPartnerUsersQuery(b2BUserId);\r\n return query.createDataServiceRequestForOperation('RequestInvoiceCopy', true, '', '', {bypassCache: 'get', returnEntity: ''}, {invoiceId: invoiceId, deliveryType: deliveryType });\r\n } \r\n \r\n export function requestInvoiceCopyAsync(context: IContext, b2BUserId: string, invoiceId: string | null, deliveryType: number):AsyncResult {\r\n const request = createRequestInvoiceCopyInput(b2BUserId, invoiceId, deliveryType);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOperationRequestsInput(queryResultSettings: IQueryResultSettings, b2BUserId: string, startDateTime: Date, endDateTime: Date): IDataServiceRequest { \r\n const query = businessPartnerUsersQuery(b2BUserId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOperationRequests', true, BusinessPartnerOperationRequestClass, 'true', {bypassCache: 'none', returnEntity: 'BusinessPartnerOperationRequest'}, {startDateTime: startDateTime, endDateTime: endDateTime });\r\n } \r\n \r\n export function getOperationRequestsAsync(context: IContext, b2BUserId: string, startDateTime: Date, endDateTime: Date):AsyncResult {\r\n const request = createGetOperationRequestsInput(context.queryResultSettings, b2BUserId, startDateTime, endDateTime);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCurrentInput(): IDataServiceRequest { \r\n const query = businessPartnerUsersQuery();\r\n return query.createDataServiceRequestForOperation('GetCurrent', false, BusinessPartnerUserClass, 'false', {bypassCache: 'none', returnEntity: 'BusinessPartnerUser'}, { });\r\n } \r\n \r\n export function getCurrentAsync(context: IContext, ):AsyncResult {\r\n const request = createGetCurrentInput();\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { BusinessPartner, OrderShipments, BusinessPartnerProspect, BusinessPartnerUser } from '../Entities/CommerceTypes.g';\r\n import { BusinessPartnerClass, OrderShipmentsClass, BusinessPartnerProspectClass, BusinessPartnerUserClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function businessPartnersQuery(businessPartnerId?: string): DataServiceQuery {\r\n var key = (businessPartnerId) ? { BusinessPartnerId: businessPartnerId } : null;\r\n return new DataServiceQuery(\"BusinessPartners\", \"BusinessPartner\", BusinessPartnerClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: BusinessPartner): IDataServiceRequest {\r\n return businessPartnersQuery().create(entity);\r\n }\r\n\r\n export function createBusinessPartnerAsync(context: IContext, entity: BusinessPartner): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: BusinessPartner): IDataServiceRequest {\r\n return businessPartnersQuery(entity.BusinessPartnerId).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: BusinessPartner): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: BusinessPartner): IDataServiceRequest {\r\n return businessPartnersQuery(entity.BusinessPartnerId).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: BusinessPartner): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(businessPartnerId: string): IDataServiceRequest {\r\n return businessPartnersQuery(businessPartnerId).read();\r\n }\r\n\r\n export function readAsync(context: IContext, businessPartnerId: string): AsyncResult {\r\n const request = createReadAsync(businessPartnerId);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return businessPartnersQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOrderHistoryInput(queryResultSettings: IQueryResultSettings, businessPartnerId: string, ): IDataServiceRequest { \r\n const query = businessPartnersQuery(businessPartnerId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOrderHistory', false, OrderShipmentsClass, 'true', {bypassCache: 'none', returnEntity: 'OrderShipments'}, { });\r\n } \r\n \r\n export function getOrderHistoryAsync(context: IContext, businessPartnerId: string):AsyncResult {\r\n const request = createGetOrderHistoryInput(context.queryResultSettings, businessPartnerId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCreateProspectInput(businessPartnerProspect?: BusinessPartnerProspect | null): IDataServiceRequest { \r\n const query = businessPartnersQuery();\r\n return query.createDataServiceRequestForOperation('CreateProspect', true, BusinessPartnerProspectClass, 'false', {bypassCache: 'get', returnEntity: 'BusinessPartnerProspect'}, {businessPartnerProspect: businessPartnerProspect });\r\n } \r\n \r\n export function createProspectAsync(context: IContext, businessPartnerProspect?: BusinessPartnerProspect | null):AsyncResult {\r\n const request = createCreateProspectInput(businessPartnerProspect);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCurrentInput(): IDataServiceRequest { \r\n const query = businessPartnersQuery();\r\n return query.createDataServiceRequestForOperation('GetCurrent', false, BusinessPartnerClass, 'false', {bypassCache: 'none', returnEntity: 'BusinessPartner'}, { });\r\n } \r\n \r\n export function getCurrentAsync(context: IContext, ):AsyncResult {\r\n const request = createGetCurrentInput();\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetUsersInput(queryResultSettings: IQueryResultSettings, businessPartnerId: string, ): IDataServiceRequest { \r\n const query = businessPartnersQuery(businessPartnerId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetUsers', false, BusinessPartnerUserClass, 'true', {bypassCache: 'none', returnEntity: 'BusinessPartnerUser'}, { });\r\n } \r\n \r\n export function getUsersAsync(context: IContext, businessPartnerId: string):AsyncResult {\r\n const request = createGetUsersInput(context.queryResultSettings, businessPartnerId);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { Cart, CartSearchCriteria, TokenizedPaymentCard, CartTenderLine, SalesOrder, LoyaltyPointRedemptionEstimate, TenderLine, LineShippingAddress, SalesLineDeliveryOption, CartDeliveryPreferences, Address, DeliveryOption, LineDeliverySpecification, DeliverySpecification, ReasonCodeLine, CartLine, ReturnCartLine, TenderDiscountLine, ReceiptRetrievalCriteria, Receipt, RecallInvoicedSalesLineLookup, CardPaymentAcceptSettings, CommerceProperty, CardPaymentAcceptPoint, RetrievePaymentResultSettings, CardPaymentAcceptResult, CartPromotions, CartPromotionLine, CartLineUserAlerts, ChargeCode, TenderTypeAmount, CartLineValidationResults } from '../Entities/CommerceTypes.g';\r\n import { CartClass, SalesOrderClass, LoyaltyPointRedemptionEstimateClass, TenderLineClass, SalesLineDeliveryOptionClass, CartDeliveryPreferencesClass, DeliveryOptionClass, TenderDiscountLineClass, ReceiptClass, CardPaymentAcceptPointClass, CardPaymentAcceptResultClass, CartPromotionsClass, CartPromotionLineClass, CartLineUserAlertsClass, ChargeCodeClass, TenderTypeAmountClass, CartLineValidationResultsClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function cartsQuery(id?: string): DataServiceQuery {\r\n var key = (id) ? { Id: id } : null;\r\n return new DataServiceQuery(\"Carts\", \"Cart\", CartClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: Cart): IDataServiceRequest {\r\n return cartsQuery().create(entity);\r\n }\r\n\r\n export function createCartAsync(context: IContext, entity: Cart): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: Cart): IDataServiceRequest {\r\n return cartsQuery(entity.Id).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: Cart): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: Cart): IDataServiceRequest {\r\n return cartsQuery(entity.Id).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: Cart): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(id: string): IDataServiceRequest {\r\n return cartsQuery(id).read();\r\n }\r\n\r\n export function readAsync(context: IContext, id: string): AsyncResult {\r\n const request = createReadAsync(id);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return cartsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchInput(queryResultSettings: IQueryResultSettings, cartSearchCriteria?: CartSearchCriteria | null): IDataServiceRequest { \r\n const query = cartsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Search', true, CartClass, 'true', {bypassCache: 'none', returnEntity: 'Cart'}, {cartSearchCriteria: cartSearchCriteria });\r\n } \r\n \r\n export function searchAsync(context: IContext, cartSearchCriteria?: CartSearchCriteria | null):AsyncResult {\r\n const request = createSearchInput(context.queryResultSettings, cartSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCheckoutInput(id: string, receiptEmail?: string | null, tokenizedPaymentCard?: TokenizedPaymentCard | null, receiptNumberSequence?: string | null, cartTenderLines?: CartTenderLine[] | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('Checkout', true, SalesOrderClass, 'false', {bypassCache: 'get', returnEntity: 'SalesOrder'}, {receiptEmail: receiptEmail, tokenizedPaymentCard: tokenizedPaymentCard, receiptNumberSequence: receiptNumberSequence, cartTenderLines: cartTenderLines, cartVersion: cartVersion });\r\n } \r\n \r\n export function checkoutAsync(context: IContext, id: string, receiptEmail?: string | null, tokenizedPaymentCard?: TokenizedPaymentCard | null, receiptNumberSequence?: string | null, cartTenderLines?: CartTenderLine[] | null, cartVersion?: number | null):AsyncResult {\r\n const request = createCheckoutInput(id, receiptEmail, tokenizedPaymentCard, receiptNumberSequence, cartTenderLines, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetMaxLoyaltyPointsToRedeemForTransactionBalanceInput(id: string, loyaltyCardId?: string | null, currencyCode?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('GetMaxLoyaltyPointsToRedeemForTransactionBalance', true, LoyaltyPointRedemptionEstimateClass, 'false', {bypassCache: 'none', returnEntity: 'LoyaltyPointRedemptionEstimate'}, {loyaltyCardId: loyaltyCardId, currencyCode: currencyCode });\r\n } \r\n \r\n export function getMaxLoyaltyPointsToRedeemForTransactionBalanceAsync(context: IContext, id: string, loyaltyCardId?: string | null, currencyCode?: string | null):AsyncResult {\r\n const request = createGetMaxLoyaltyPointsToRedeemForTransactionBalanceInput(id, loyaltyCardId, currencyCode);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPaymentsHistoryInput(queryResultSettings: IQueryResultSettings, id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetPaymentsHistory', true, TenderLineClass, 'true', {bypassCache: 'none', returnEntity: 'TenderLine'}, { });\r\n } \r\n \r\n export function getPaymentsHistoryAsync(context: IContext, id: string):AsyncResult {\r\n const request = createGetPaymentsHistoryInput(context.queryResultSettings, id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetLineDeliveryOptionsByChannelIdInput(queryResultSettings: IQueryResultSettings, id: string, lineShippingAddresses: LineShippingAddress[] | null, channelId: number, filterOption?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLineDeliveryOptionsByChannelId', true, SalesLineDeliveryOptionClass, 'true', {bypassCache: 'none', returnEntity: 'SalesLineDeliveryOption'}, {lineShippingAddresses: lineShippingAddresses, channelId: channelId, filterOption: filterOption });\r\n } \r\n \r\n export function getLineDeliveryOptionsByChannelIdAsync(context: IContext, id: string, lineShippingAddresses: LineShippingAddress[] | null, channelId: number, filterOption?: number | null):AsyncResult {\r\n const request = createGetLineDeliveryOptionsByChannelIdInput(context.queryResultSettings, id, lineShippingAddresses, channelId, filterOption);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetLineDeliveryOptionsInput(queryResultSettings: IQueryResultSettings, id: string, lineShippingAddresses?: LineShippingAddress[] | null, filterOption?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLineDeliveryOptions', true, SalesLineDeliveryOptionClass, 'true', {bypassCache: 'none', returnEntity: 'SalesLineDeliveryOption'}, {lineShippingAddresses: lineShippingAddresses, filterOption: filterOption });\r\n } \r\n \r\n export function getLineDeliveryOptionsAsync(context: IContext, id: string, lineShippingAddresses?: LineShippingAddress[] | null, filterOption?: number | null):AsyncResult {\r\n const request = createGetLineDeliveryOptionsInput(context.queryResultSettings, id, lineShippingAddresses, filterOption);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeliveryPreferencesInput(id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('GetDeliveryPreferences', true, CartDeliveryPreferencesClass, 'false', {bypassCache: 'none', returnEntity: 'CartDeliveryPreferences'}, { });\r\n } \r\n \r\n export function getDeliveryPreferencesAsync(context: IContext, id: string):AsyncResult {\r\n const request = createGetDeliveryPreferencesInput(id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeliveryOptionsInput(queryResultSettings: IQueryResultSettings, id: string, shippingAddress?: Address | null, cartLineIds?: string[] | null, filterOption?: number | null, ignoreLinesWithDeliveryMode?: boolean | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDeliveryOptions', true, DeliveryOptionClass, 'true', {bypassCache: 'none', returnEntity: 'DeliveryOption'}, {shippingAddress: shippingAddress, cartLineIds: cartLineIds, filterOption: filterOption, ignoreLinesWithDeliveryMode: ignoreLinesWithDeliveryMode });\r\n } \r\n \r\n export function getDeliveryOptionsAsync(context: IContext, id: string, shippingAddress?: Address | null, cartLineIds?: string[] | null, filterOption?: number | null, ignoreLinesWithDeliveryMode?: boolean | null):AsyncResult {\r\n const request = createGetDeliveryOptionsInput(context.queryResultSettings, id, shippingAddress, cartLineIds, filterOption, ignoreLinesWithDeliveryMode);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateLineDeliverySpecificationsInput(id: string, lineDeliverySpecifications?: LineDeliverySpecification[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('UpdateLineDeliverySpecifications', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {lineDeliverySpecifications: lineDeliverySpecifications });\r\n } \r\n \r\n export function updateLineDeliverySpecificationsAsync(context: IContext, id: string, lineDeliverySpecifications?: LineDeliverySpecification[] | null):AsyncResult {\r\n const request = createUpdateLineDeliverySpecificationsInput(id, lineDeliverySpecifications);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateDeliverySpecificationInput(id: string, deliverySpecification?: DeliverySpecification | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('UpdateDeliverySpecification', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {deliverySpecification: deliverySpecification });\r\n } \r\n \r\n export function updateDeliverySpecificationAsync(context: IContext, id: string, deliverySpecification?: DeliverySpecification | null):AsyncResult {\r\n const request = createUpdateDeliverySpecificationInput(id, deliverySpecification);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddChargeInput(id: string, moduleTypeValue: number, chargeCode: string | null, amount: number): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddCharge', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {moduleTypeValue: moduleTypeValue, chargeCode: chargeCode, amount: amount });\r\n } \r\n \r\n export function addChargeAsync(context: IContext, id: string, moduleTypeValue: number, chargeCode: string | null, amount: number):AsyncResult {\r\n const request = createAddChargeInput(id, moduleTypeValue, chargeCode, amount);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createOverrideChargeInput(id: string, chargeLineId: string | null, amount: number, reasonCodeLines?: ReasonCodeLine[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('OverrideCharge', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {chargeLineId: chargeLineId, amount: amount, reasonCodeLines: reasonCodeLines });\r\n } \r\n \r\n export function overrideChargeAsync(context: IContext, id: string, chargeLineId: string | null, amount: number, reasonCodeLines?: ReasonCodeLine[] | null):AsyncResult {\r\n const request = createOverrideChargeInput(id, chargeLineId, amount, reasonCodeLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddCartLineChargeInput(id: string, cartLineId: string | null, moduleTypeValue: number, chargeCode: string | null, amount: number): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddCartLineCharge', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLineId: cartLineId, moduleTypeValue: moduleTypeValue, chargeCode: chargeCode, amount: amount });\r\n } \r\n \r\n export function addCartLineChargeAsync(context: IContext, id: string, cartLineId: string | null, moduleTypeValue: number, chargeCode: string | null, amount: number):AsyncResult {\r\n const request = createAddCartLineChargeInput(id, cartLineId, moduleTypeValue, chargeCode, amount);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createOverrideCartLineChargeInput(id: string, cartLineId: string | null, chargeLineId: string | null, amount: number, reasonCodeLines?: ReasonCodeLine[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('OverrideCartLineCharge', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLineId: cartLineId, chargeLineId: chargeLineId, amount: amount, reasonCodeLines: reasonCodeLines });\r\n } \r\n \r\n export function overrideCartLineChargeAsync(context: IContext, id: string, cartLineId: string | null, chargeLineId: string | null, amount: number, reasonCodeLines?: ReasonCodeLine[] | null):AsyncResult {\r\n const request = createOverrideCartLineChargeInput(id, cartLineId, chargeLineId, amount, reasonCodeLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createVoidInput(id: string, reasonCodeLines?: ReasonCodeLine[] | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('Void', true, SalesOrderClass, 'false', {bypassCache: 'get', returnEntity: 'SalesOrder'}, {reasonCodeLines: reasonCodeLines, cartVersion: cartVersion });\r\n } \r\n \r\n export function voidAsync(context: IContext, id: string, reasonCodeLines?: ReasonCodeLine[] | null, cartVersion?: number | null):AsyncResult {\r\n const request = createVoidInput(id, reasonCodeLines, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddCartLinesInput(id: string, cartLines?: CartLine[] | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddCartLines', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLines: cartLines, cartVersion: cartVersion });\r\n } \r\n \r\n export function addCartLinesAsync(context: IContext, id: string, cartLines?: CartLine[] | null, cartVersion?: number | null):AsyncResult {\r\n const request = createAddCartLinesInput(id, cartLines, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddReturnCartLinesInput(id: string, returnCartLines: ReturnCartLine[] | null, returnTransactionSearchLocation: number, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddReturnCartLines', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {returnCartLines: returnCartLines, returnTransactionSearchLocation: returnTransactionSearchLocation, cartVersion: cartVersion });\r\n } \r\n \r\n export function addReturnCartLinesAsync(context: IContext, id: string, returnCartLines: ReturnCartLine[] | null, returnTransactionSearchLocation: number, cartVersion?: number | null):AsyncResult {\r\n const request = createAddReturnCartLinesInput(id, returnCartLines, returnTransactionSearchLocation, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateCartLinesInput(id: string, cartLines?: CartLine[] | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('UpdateCartLines', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLines: cartLines, cartVersion: cartVersion });\r\n } \r\n \r\n export function updateCartLinesAsync(context: IContext, id: string, cartLines?: CartLine[] | null, cartVersion?: number | null):AsyncResult {\r\n const request = createUpdateCartLinesInput(id, cartLines, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createVoidCartLinesInput(id: string, cartLines?: CartLine[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('VoidCartLines', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLines: cartLines });\r\n } \r\n \r\n export function voidCartLinesAsync(context: IContext, id: string, cartLines?: CartLine[] | null):AsyncResult {\r\n const request = createVoidCartLinesInput(id, cartLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRemoveCartLinesInput(id: string, cartLineIds?: string[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('RemoveCartLines', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLineIds: cartLineIds });\r\n } \r\n \r\n export function removeCartLinesAsync(context: IContext, id: string, cartLineIds?: string[] | null):AsyncResult {\r\n const request = createRemoveCartLinesInput(id, cartLineIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddTenderLineInput(id: string, cartTenderLine?: CartTenderLine | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddTenderLine', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartTenderLine: cartTenderLine, cartVersion: cartVersion });\r\n } \r\n \r\n export function addTenderLineAsync(context: IContext, id: string, cartTenderLine?: CartTenderLine | null, cartVersion?: number | null):AsyncResult {\r\n const request = createAddTenderLineInput(id, cartTenderLine, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCalculateTenderDiscountInput(id: string, tenderLine?: TenderLine | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('CalculateTenderDiscount', true, TenderDiscountLineClass, 'false', {bypassCache: 'get', returnEntity: 'TenderDiscountLine'}, {tenderLine: tenderLine, cartVersion: cartVersion });\r\n } \r\n \r\n export function calculateTenderDiscountAsync(context: IContext, id: string, tenderLine?: TenderLine | null, cartVersion?: number | null):AsyncResult {\r\n const request = createCalculateTenderDiscountInput(id, tenderLine, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddPreprocessedTenderLineInput(id: string, preprocessedTenderLine?: TenderLine | null, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddPreprocessedTenderLine', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {preprocessedTenderLine: preprocessedTenderLine, cartVersion: cartVersion });\r\n } \r\n \r\n export function addPreprocessedTenderLineAsync(context: IContext, id: string, preprocessedTenderLine?: TenderLine | null, cartVersion?: number | null):AsyncResult {\r\n const request = createAddPreprocessedTenderLineInput(id, preprocessedTenderLine, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createValidateTenderLineForAddInput(id: string, tenderLine?: TenderLine | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('ValidateTenderLineForAdd', true, '', '', {bypassCache: 'get', returnEntity: ''}, {tenderLine: tenderLine });\r\n } \r\n \r\n export function validateTenderLineForAddAsync(context: IContext, id: string, tenderLine?: TenderLine | null):AsyncResult {\r\n const request = createValidateTenderLineForAddInput(id, tenderLine);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateTenderLineSignatureInput(id: string, tenderLineId?: string | null, signatureData?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('UpdateTenderLineSignature', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {tenderLineId: tenderLineId, signatureData: signatureData });\r\n } \r\n \r\n export function updateTenderLineSignatureAsync(context: IContext, id: string, tenderLineId?: string | null, signatureData?: string | null):AsyncResult {\r\n const request = createUpdateTenderLineSignatureInput(id, tenderLineId, signatureData);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeclinedOrVoidedCardReceiptsInput(queryResultSettings: IQueryResultSettings, id: string, preprocessedTenderLine?: TenderLine | null, receiptRetrievalCriteria?: ReceiptRetrievalCriteria | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDeclinedOrVoidedCardReceipts', true, ReceiptClass, 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {preprocessedTenderLine: preprocessedTenderLine, receiptRetrievalCriteria: receiptRetrievalCriteria });\r\n } \r\n \r\n export function getDeclinedOrVoidedCardReceiptsAsync(context: IContext, id: string, preprocessedTenderLine?: TenderLine | null, receiptRetrievalCriteria?: ReceiptRetrievalCriteria | null):AsyncResult {\r\n const request = createGetDeclinedOrVoidedCardReceiptsInput(context.queryResultSettings, id, preprocessedTenderLine, receiptRetrievalCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCopyInput(id: string, targetCartType: number): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('Copy', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {targetCartType: targetCartType });\r\n } \r\n \r\n export function copyAsync(context: IContext, id: string, targetCartType: number):AsyncResult {\r\n const request = createCopyInput(id, targetCartType);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddInvoicedSalesLinesToCartInput(transactionId: string | null, invoicedSalesLinesIds: number[]): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('AddInvoicedSalesLinesToCart', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {transactionId: transactionId, invoicedSalesLinesIds: invoicedSalesLinesIds });\r\n } \r\n \r\n export function addInvoicedSalesLinesToCartAsync(context: IContext, transactionId: string | null, invoicedSalesLinesIds: number[]):AsyncResult {\r\n const request = createAddInvoicedSalesLinesToCartInput(transactionId, invoicedSalesLinesIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRecallInvoicedSalesLinesInput(id: string, recallInvoicedSalesLineLookups?: RecallInvoicedSalesLineLookup[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('RecallInvoicedSalesLines', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {recallInvoicedSalesLineLookups: recallInvoicedSalesLineLookups });\r\n } \r\n \r\n export function recallInvoicedSalesLinesAsync(context: IContext, id: string, recallInvoicedSalesLineLookups?: RecallInvoicedSalesLineLookup[] | null):AsyncResult {\r\n const request = createRecallInvoicedSalesLinesInput(id, recallInvoicedSalesLineLookups);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createVoidTenderLineInput(id: string, tenderLineId?: string | null, reasonCodeLines?: ReasonCodeLine[] | null, isPreprocessed?: boolean | null, forceVoid?: boolean | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('VoidTenderLine', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {tenderLineId: tenderLineId, reasonCodeLines: reasonCodeLines, isPreprocessed: isPreprocessed, forceVoid: forceVoid });\r\n } \r\n \r\n export function voidTenderLineAsync(context: IContext, id: string, tenderLineId?: string | null, reasonCodeLines?: ReasonCodeLine[] | null, isPreprocessed?: boolean | null, forceVoid?: boolean | null):AsyncResult {\r\n const request = createVoidTenderLineInput(id, tenderLineId, reasonCodeLines, isPreprocessed, forceVoid);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createIssueGiftCardInput(id: string, giftCardId: string | null, amount: number, currencyCode?: string | null, lineDescription?: string | null, tenderTypeId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('IssueGiftCard', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {giftCardId: giftCardId, amount: amount, currencyCode: currencyCode, lineDescription: lineDescription, tenderTypeId: tenderTypeId });\r\n } \r\n \r\n export function issueGiftCardAsync(context: IContext, id: string, giftCardId: string | null, amount: number, currencyCode?: string | null, lineDescription?: string | null, tenderTypeId?: string | null):AsyncResult {\r\n const request = createIssueGiftCardInput(id, giftCardId, amount, currencyCode, lineDescription, tenderTypeId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRefillGiftCardInput(id: string, giftCardId: string | null, amount: number, currencyCode?: string | null, lineDescription?: string | null, tenderTypeId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('RefillGiftCard', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {giftCardId: giftCardId, amount: amount, currencyCode: currencyCode, lineDescription: lineDescription, tenderTypeId: tenderTypeId });\r\n } \r\n \r\n export function refillGiftCardAsync(context: IContext, id: string, giftCardId: string | null, amount: number, currencyCode?: string | null, lineDescription?: string | null, tenderTypeId?: string | null):AsyncResult {\r\n const request = createRefillGiftCardInput(id, giftCardId, amount, currencyCode, lineDescription, tenderTypeId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCashOutGiftCardInput(id: string, giftCardId: string | null, amount: number, currencyCode?: string | null, lineDescription?: string | null, tenderTypeId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('CashOutGiftCard', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {giftCardId: giftCardId, amount: amount, currencyCode: currencyCode, lineDescription: lineDescription, tenderTypeId: tenderTypeId });\r\n } \r\n \r\n export function cashOutGiftCardAsync(context: IContext, id: string, giftCardId: string | null, amount: number, currencyCode?: string | null, lineDescription?: string | null, tenderTypeId?: string | null):AsyncResult {\r\n const request = createCashOutGiftCardInput(id, giftCardId, amount, currencyCode, lineDescription, tenderTypeId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSuspendInput(id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('Suspend', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, { });\r\n } \r\n \r\n export function suspendAsync(context: IContext, id: string):AsyncResult {\r\n const request = createSuspendInput(id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSuspendWithJournalInput(id: string, journalCartId?: string | null, receiptNumberSequence?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('SuspendWithJournal', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {journalCartId: journalCartId, receiptNumberSequence: receiptNumberSequence });\r\n } \r\n \r\n export function suspendWithJournalAsync(context: IContext, id: string, journalCartId?: string | null, receiptNumberSequence?: string | null):AsyncResult {\r\n const request = createSuspendWithJournalInput(id, journalCartId, receiptNumberSequence);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createResumeInput(id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('Resume', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, { });\r\n } \r\n \r\n export function resumeAsync(context: IContext, id: string):AsyncResult {\r\n const request = createResumeInput(id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createResumeFromReceiptIdInput(receiptId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('ResumeFromReceiptId', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {receiptId: receiptId });\r\n } \r\n \r\n export function resumeFromReceiptIdAsync(context: IContext, receiptId?: string | null):AsyncResult {\r\n const request = createResumeFromReceiptIdInput(receiptId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRemoveDiscountCodesInput(id: string, discountCodes?: string[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('RemoveDiscountCodes', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {discountCodes: discountCodes });\r\n } \r\n \r\n export function removeDiscountCodesAsync(context: IContext, id: string, discountCodes?: string[] | null):AsyncResult {\r\n const request = createRemoveDiscountCodesInput(id, discountCodes);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetSuspendedInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = cartsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSuspended', true, CartClass, 'true', {bypassCache: 'none', returnEntity: 'Cart'}, { });\r\n } \r\n \r\n export function getSuspendedAsync(context: IContext, ):AsyncResult {\r\n const request = createGetSuspendedInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createOverrideCartLinePriceInput(id: string, cartLineId: string | null, price: number): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('OverrideCartLinePrice', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLineId: cartLineId, price: price });\r\n } \r\n \r\n export function overrideCartLinePriceAsync(context: IContext, id: string, cartLineId: string | null, price: number):AsyncResult {\r\n const request = createOverrideCartLinePriceInput(id, cartLineId, price);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCardPaymentAcceptPointInput(id: string, cardPaymentAcceptSettings?: CardPaymentAcceptSettings | null, extensionProperties?: CommerceProperty[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('GetCardPaymentAcceptPoint', true, CardPaymentAcceptPointClass, 'false', {bypassCache: 'none', returnEntity: 'CardPaymentAcceptPoint'}, {cardPaymentAcceptSettings: cardPaymentAcceptSettings, extensionProperties: extensionProperties });\r\n } \r\n \r\n export function getCardPaymentAcceptPointAsync(context: IContext, id: string, cardPaymentAcceptSettings?: CardPaymentAcceptSettings | null, extensionProperties?: CommerceProperty[] | null):AsyncResult {\r\n const request = createGetCardPaymentAcceptPointInput(id, cardPaymentAcceptSettings, extensionProperties);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRetrieveCardPaymentAcceptResultInput(resultAccessCode?: string | null, extensionProperties?: CommerceProperty[] | null, cartId?: string | null, settings?: RetrievePaymentResultSettings | null): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('RetrieveCardPaymentAcceptResult', true, CardPaymentAcceptResultClass, 'false', {bypassCache: 'get', returnEntity: 'CardPaymentAcceptResult'}, {resultAccessCode: resultAccessCode, extensionProperties: extensionProperties, cartId: cartId, settings: settings });\r\n } \r\n \r\n export function retrieveCardPaymentAcceptResultAsync(context: IContext, resultAccessCode?: string | null, extensionProperties?: CommerceProperty[] | null, cartId?: string | null, settings?: RetrievePaymentResultSettings | null):AsyncResult {\r\n const request = createRetrieveCardPaymentAcceptResultInput(resultAccessCode, extensionProperties, cartId, settings);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRecallOrderInput(transactionId?: string | null, salesId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('RecallOrder', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {transactionId: transactionId, salesId: salesId });\r\n } \r\n \r\n export function recallOrderAsync(context: IContext, transactionId?: string | null, salesId?: string | null):AsyncResult {\r\n const request = createRecallOrderInput(transactionId, salesId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRecallQuoteInput(transactionId?: string | null, quoteId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('RecallQuote', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {transactionId: transactionId, quoteId: quoteId });\r\n } \r\n \r\n export function recallQuoteAsync(context: IContext, transactionId?: string | null, quoteId?: string | null):AsyncResult {\r\n const request = createRecallQuoteInput(transactionId, quoteId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRecalculateOrderInput(id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('RecalculateOrder', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, { });\r\n } \r\n \r\n export function recalculateOrderAsync(context: IContext, id: string):AsyncResult {\r\n const request = createRecalculateOrderInput(id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createResetAllChargesInput(id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('ResetAllCharges', false, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, { });\r\n } \r\n \r\n export function resetAllChargesAsync(context: IContext, id: string):AsyncResult {\r\n const request = createResetAllChargesInput(id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPromotionsInput(id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('GetPromotions', true, CartPromotionsClass, 'false', {bypassCache: 'none', returnEntity: 'CartPromotions'}, { });\r\n } \r\n \r\n export function getPromotionsAsync(context: IContext, id: string):AsyncResult {\r\n const request = createGetPromotionsInput(id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAvailablePromotionsInput(queryResultSettings: IQueryResultSettings, id: string, cartLineIds?: string[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAvailablePromotions', true, CartPromotionLineClass, 'true', {bypassCache: 'none', returnEntity: 'CartPromotionLine'}, {cartLineIds: cartLineIds });\r\n } \r\n \r\n export function getAvailablePromotionsAsync(context: IContext, id: string, cartLineIds?: string[] | null):AsyncResult {\r\n const request = createGetAvailablePromotionsInput(context.queryResultSettings, id, cartLineIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRecallSalesInvoiceInput(transactionId?: string | null, invoiceId?: string | null): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('RecallSalesInvoice', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {transactionId: transactionId, invoiceId: invoiceId });\r\n } \r\n \r\n export function recallSalesInvoiceAsync(context: IContext, transactionId?: string | null, invoiceId?: string | null):AsyncResult {\r\n const request = createRecallSalesInvoiceInput(transactionId, invoiceId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddOrderInvoiceInput(id: string, invoiceId?: string | null, lineDescription?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddOrderInvoice', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {invoiceId: invoiceId, lineDescription: lineDescription });\r\n } \r\n \r\n export function addOrderInvoiceAsync(context: IContext, id: string, invoiceId?: string | null, lineDescription?: string | null):AsyncResult {\r\n const request = createAddOrderInvoiceInput(id, invoiceId, lineDescription);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddInvoicesInput(id: string, invoiceIds?: string[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddInvoices', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {invoiceIds: invoiceIds });\r\n } \r\n \r\n export function addInvoicesAsync(context: IContext, id: string, invoiceIds?: string[] | null):AsyncResult {\r\n const request = createAddInvoicesInput(id, invoiceIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateCommissionSalesGroupInput(transactionId: string | null, cartLineId: string | null, commissionSalesGroup: string | null, isUserInitiated: boolean): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('UpdateCommissionSalesGroup', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {transactionId: transactionId, cartLineId: cartLineId, commissionSalesGroup: commissionSalesGroup, isUserInitiated: isUserInitiated });\r\n } \r\n \r\n export function updateCommissionSalesGroupAsync(context: IContext, transactionId: string | null, cartLineId: string | null, commissionSalesGroup: string | null, isUserInitiated: boolean):AsyncResult {\r\n const request = createUpdateCommissionSalesGroupInput(transactionId, cartLineId, commissionSalesGroup, isUserInitiated);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddCouponsInput(id: string, couponCodes?: string[] | null, isLegacyDiscountCode?: boolean | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddCoupons', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {couponCodes: couponCodes, isLegacyDiscountCode: isLegacyDiscountCode });\r\n } \r\n \r\n export function addCouponsAsync(context: IContext, id: string, couponCodes?: string[] | null, isLegacyDiscountCode?: boolean | null):AsyncResult {\r\n const request = createAddCouponsInput(id, couponCodes, isLegacyDiscountCode);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRemoveCouponsInput(id: string, couponCodes?: string[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('RemoveCoupons', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {couponCodes: couponCodes });\r\n } \r\n \r\n export function removeCouponsAsync(context: IContext, id: string, couponCodes?: string[] | null):AsyncResult {\r\n const request = createRemoveCouponsInput(id, couponCodes);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCartLineUserAlertsForAddInput(queryResultSettings: IQueryResultSettings, id: string, cartLines?: CartLine[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCartLineUserAlertsForAdd', true, CartLineUserAlertsClass, 'true', {bypassCache: 'none', returnEntity: 'CartLineUserAlerts'}, {cartLines: cartLines });\r\n } \r\n \r\n export function getCartLineUserAlertsForAddAsync(context: IContext, id: string, cartLines?: CartLine[] | null):AsyncResult {\r\n const request = createGetCartLineUserAlertsForAddInput(context.queryResultSettings, id, cartLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCartLineUserAlertsInput(queryResultSettings: IQueryResultSettings, id: string, cartLineIds?: string[] | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCartLineUserAlerts', true, CartLineUserAlertsClass, 'true', {bypassCache: 'none', returnEntity: 'CartLineUserAlerts'}, {cartLineIds: cartLineIds });\r\n } \r\n \r\n export function getCartLineUserAlertsAsync(context: IContext, id: string, cartLineIds?: string[] | null):AsyncResult {\r\n const request = createGetCartLineUserAlertsInput(context.queryResultSettings, id, cartLineIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetChargeCodesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = cartsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetChargeCodes', false, ChargeCodeClass, 'true', {bypassCache: 'none', returnEntity: 'ChargeCode'}, { });\r\n } \r\n \r\n export function getChargeCodesAsync(context: IContext, ):AsyncResult {\r\n const request = createGetChargeCodesInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetReceiptTypesInput(queryResultSettings: IQueryResultSettings, id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReceiptTypes', false, '', 'true', {bypassCache: 'none', returnEntity: ''}, { });\r\n } \r\n \r\n export function getReceiptTypesAsync(context: IContext, id: string):AsyncResult {\r\n const request = createGetReceiptTypesInput(context.queryResultSettings, id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSetInvoiceLinePriceInput(id: string, cartLineId: string | null, price: number, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('SetInvoiceLinePrice', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {cartLineId: cartLineId, price: price, cartVersion: cartVersion });\r\n } \r\n \r\n export function setInvoiceLinePriceAsync(context: IContext, id: string, cartLineId: string | null, price: number, cartVersion?: number | null):AsyncResult {\r\n const request = createSetInvoiceLinePriceInput(id, cartLineId, price, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddDiscountCodeInput(id: string, discountCode?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddDiscountCode', true, CartClass, 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {discountCode: discountCode });\r\n } \r\n \r\n export function addDiscountCodeAsync(context: IContext, id: string, discountCode?: string | null):AsyncResult {\r\n const request = createAddDiscountCodeInput(id, discountCode);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetReturnOptionsInput(queryResultSettings: IQueryResultSettings, id: string, ): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReturnOptions', false, TenderTypeAmountClass, 'true', {bypassCache: 'none', returnEntity: 'TenderTypeAmount'}, { });\r\n } \r\n \r\n export function getReturnOptionsAsync(context: IContext, id: string):AsyncResult {\r\n const request = createGetReturnOptionsInput(context.queryResultSettings, id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createValidateForCheckoutInput(id: string, cartVersion?: number | null): IDataServiceRequest { \r\n const query = cartsQuery(id);\r\n return query.createDataServiceRequestForOperation('ValidateForCheckout', false, CartLineValidationResultsClass, 'false', {bypassCache: 'get', returnEntity: 'CartLineValidationResults'}, {cartVersion: cartVersion });\r\n } \r\n \r\n export function validateForCheckoutAsync(context: IContext, id: string, cartVersion?: number | null):AsyncResult {\r\n const request = createValidateForCheckoutInput(id, cartVersion);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetTenderSuggestionsInput(queryResultSettings: IQueryResultSettings, id: string, tenderTypeId?: string | null, currencyCode?: string | null): IDataServiceRequest { \r\n const query = cartsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetTenderSuggestions', false, TenderLineClass, 'true', {bypassCache: 'none', returnEntity: 'TenderLine'}, {tenderTypeId: tenderTypeId, currencyCode: currencyCode });\r\n } \r\n \r\n export function getTenderSuggestionsAsync(context: IContext, id: string, tenderTypeId?: string | null, currencyCode?: string | null):AsyncResult {\r\n const request = createGetTenderSuggestionsInput(context.queryResultSettings, id, tenderTypeId, currencyCode);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { Category, AttributeCategory } from '../Entities/CommerceTypes.g';\r\n import { CategoryClass, AttributeCategoryClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function categoriesQuery(recordId?: number): DataServiceQuery {\r\n var key = (recordId) ? { RecordId: recordId } : null;\r\n return new DataServiceQuery(\"Categories\", \"Category\", CategoryClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: Category): IDataServiceRequest {\r\n return categoriesQuery().create(entity);\r\n }\r\n\r\n export function createCategoryAsync(context: IContext, entity: Category): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: Category): IDataServiceRequest {\r\n return categoriesQuery(entity.RecordId).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: Category): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: Category): IDataServiceRequest {\r\n return categoriesQuery(entity.RecordId).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: Category): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(recordId: number): IDataServiceRequest {\r\n return categoriesQuery(recordId).read();\r\n }\r\n\r\n export function readAsync(context: IContext, recordId: number): AsyncResult {\r\n const request = createReadAsync(recordId);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return categoriesQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCategoriesInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId?: number | null): IDataServiceRequest { \r\n const query = categoriesQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCategories', true, CategoryClass, 'true', {bypassCache: 'none', returnEntity: 'Category'}, {channelId: channelId, catalogId: catalogId });\r\n } \r\n \r\n export function getCategoriesAsync(context: IContext, channelId: number, catalogId?: number | null):AsyncResult {\r\n const request = createGetCategoriesInput(context.queryResultSettings, channelId, catalogId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAttributesInput(queryResultSettings: IQueryResultSettings, categoryId: number): IDataServiceRequest { \r\n const query = categoriesQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAttributes', false, AttributeCategoryClass, 'true', {bypassCache: 'none', returnEntity: 'AttributeCategory'}, {categoryId: categoryId });\r\n } \r\n \r\n export function getAttributesAsync(context: IContext, categoryId: number):AsyncResult {\r\n const request = createGetAttributesInput(context.queryResultSettings, categoryId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCatalogAttributesInput(queryResultSettings: IQueryResultSettings, catalogId: number, categoryIds: number[]): IDataServiceRequest { \r\n const query = categoriesQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCatalogAttributes', true, AttributeCategoryClass, 'true', {bypassCache: 'none', returnEntity: 'AttributeCategory'}, {catalogId: catalogId, categoryIds: categoryIds });\r\n } \r\n \r\n export function getCatalogAttributesAsync(context: IContext, catalogId: number, categoryIds: number[]):AsyncResult {\r\n const request = createGetCatalogAttributesInput(context.queryResultSettings, catalogId, categoryIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetChildrenInput(queryResultSettings: IQueryResultSettings, channelId: number, categoryId: number): IDataServiceRequest { \r\n const query = categoriesQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetChildren', true, CategoryClass, 'true', {bypassCache: 'none', returnEntity: 'Category'}, {channelId: channelId, categoryId: categoryId });\r\n } \r\n \r\n export function getChildrenAsync(context: IContext, channelId: number, categoryId: number):AsyncResult {\r\n const request = createGetChildrenInput(context.queryResultSettings, channelId, categoryId);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { CommerceList, CommerceListLine, CommerceListContributor, CommerceListInvitation } from '../Entities/CommerceTypes.g';\r\n import { CommerceListClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function commerceListsQuery(id?: number): DataServiceQuery {\r\n var key = (id) ? { Id: id } : null;\r\n return new DataServiceQuery(\"CommerceLists\", \"CommerceList\", CommerceListClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: CommerceList): IDataServiceRequest {\r\n return commerceListsQuery().create(entity);\r\n }\r\n\r\n export function createCommerceListAsync(context: IContext, entity: CommerceList): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: CommerceList): IDataServiceRequest {\r\n return commerceListsQuery(entity.Id).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: CommerceList): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: CommerceList): IDataServiceRequest {\r\n return commerceListsQuery(entity.Id).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: CommerceList): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(id: number): IDataServiceRequest {\r\n return commerceListsQuery(id).read();\r\n }\r\n\r\n export function readAsync(context: IContext, id: number): AsyncResult {\r\n const request = createReadAsync(id);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return commerceListsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetByCustomerInput(queryResultSettings: IQueryResultSettings, customerId?: string | null): IDataServiceRequest { \r\n const query = commerceListsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByCustomer', true, CommerceListClass, 'true', {bypassCache: 'none', returnEntity: 'CommerceList'}, {customerId: customerId });\r\n } \r\n \r\n export function getByCustomerAsync(context: IContext, customerId?: string | null):AsyncResult {\r\n const request = createGetByCustomerInput(context.queryResultSettings, customerId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddLinesInput(id: number, commerceListLines?: CommerceListLine[] | null): IDataServiceRequest { \r\n const query = commerceListsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddLines', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListLines: commerceListLines });\r\n } \r\n \r\n export function addLinesAsync(context: IContext, id: number, commerceListLines?: CommerceListLine[] | null):AsyncResult {\r\n const request = createAddLinesInput(id, commerceListLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateLinesInput(id: number, commerceListLines?: CommerceListLine[] | null): IDataServiceRequest { \r\n const query = commerceListsQuery(id);\r\n return query.createDataServiceRequestForOperation('UpdateLines', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListLines: commerceListLines });\r\n } \r\n \r\n export function updateLinesAsync(context: IContext, id: number, commerceListLines?: CommerceListLine[] | null):AsyncResult {\r\n const request = createUpdateLinesInput(id, commerceListLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRemoveLinesInput(id: number, commerceListLines?: CommerceListLine[] | null): IDataServiceRequest { \r\n const query = commerceListsQuery(id);\r\n return query.createDataServiceRequestForOperation('RemoveLines', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListLines: commerceListLines });\r\n } \r\n \r\n export function removeLinesAsync(context: IContext, id: number, commerceListLines?: CommerceListLine[] | null):AsyncResult {\r\n const request = createRemoveLinesInput(id, commerceListLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createMoveLinesInput(commerceListLines: CommerceListLine[] | null, destinationId: number): IDataServiceRequest { \r\n const query = commerceListsQuery();\r\n return query.createDataServiceRequestForOperation('MoveLines', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListLines: commerceListLines, destinationId: destinationId });\r\n } \r\n \r\n export function moveLinesAsync(context: IContext, commerceListLines: CommerceListLine[] | null, destinationId: number):AsyncResult {\r\n const request = createMoveLinesInput(commerceListLines, destinationId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCopyLinesInput(commerceListLines: CommerceListLine[] | null, destinationId: number): IDataServiceRequest { \r\n const query = commerceListsQuery();\r\n return query.createDataServiceRequestForOperation('CopyLines', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListLines: commerceListLines, destinationId: destinationId });\r\n } \r\n \r\n export function copyLinesAsync(context: IContext, commerceListLines: CommerceListLine[] | null, destinationId: number):AsyncResult {\r\n const request = createCopyLinesInput(commerceListLines, destinationId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddContributorsInput(id: number, commerceListContributors?: CommerceListContributor[] | null): IDataServiceRequest { \r\n const query = commerceListsQuery(id);\r\n return query.createDataServiceRequestForOperation('AddContributors', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListContributors: commerceListContributors });\r\n } \r\n \r\n export function addContributorsAsync(context: IContext, id: number, commerceListContributors?: CommerceListContributor[] | null):AsyncResult {\r\n const request = createAddContributorsInput(id, commerceListContributors);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRemoveContributorsInput(id: number, commerceListContributors?: CommerceListContributor[] | null): IDataServiceRequest { \r\n const query = commerceListsQuery(id);\r\n return query.createDataServiceRequestForOperation('RemoveContributors', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListContributors: commerceListContributors });\r\n } \r\n \r\n export function removeContributorsAsync(context: IContext, id: number, commerceListContributors?: CommerceListContributor[] | null):AsyncResult {\r\n const request = createRemoveContributorsInput(id, commerceListContributors);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCreateInvitationsInput(id: number, commerceListInvitations?: CommerceListInvitation[] | null): IDataServiceRequest { \r\n const query = commerceListsQuery(id);\r\n return query.createDataServiceRequestForOperation('CreateInvitations', true, CommerceListClass, 'false', {bypassCache: 'get', returnEntity: 'CommerceList'}, {commerceListInvitations: commerceListInvitations });\r\n } \r\n \r\n export function createInvitationsAsync(context: IContext, id: number, commerceListInvitations?: CommerceListInvitation[] | null):AsyncResult {\r\n const request = createCreateInvitationsInput(id, commerceListInvitations);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAcceptInvitationInput(invitationToken?: string | null, customerId?: string | null): IDataServiceRequest { \r\n const query = commerceListsQuery();\r\n return query.createDataServiceRequestForOperation('AcceptInvitation', true, '', '', {bypassCache: 'get', returnEntity: ''}, {invitationToken: invitationToken, customerId: customerId });\r\n } \r\n \r\n export function acceptInvitationAsync(context: IContext, invitationToken?: string | null, customerId?: string | null):AsyncResult {\r\n const request = createAcceptInvitationInput(invitationToken, customerId);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { Customer, CustomerSearchCriteria, GlobalCustomer, CustomerSearchByFieldCriteria, CustomerTimelineItem, CustomerRefiner, SalesOrder, OrderShipments, PurchaseHistory, CustomerSearchField, CustomerTimelineItemTypeMap, CustomerTimelineRefiner, CustomerTitle } from '../Entities/CommerceTypes.g';\r\n import { CustomerClass, GlobalCustomerClass, CustomerTimelineItemClass, CustomerRefinerClass, SalesOrderClass, OrderShipmentsClass, PurchaseHistoryClass, CustomerSearchFieldClass, CustomerTimelineItemTypeMapClass, CustomerTimelineRefinerClass, CustomerTitleClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function customersQuery(accountNumber?: string): DataServiceQuery {\r\n var key = (accountNumber !== null && accountNumber !== undefined) ? { AccountNumber: accountNumber } : null;\r\n return new DataServiceQuery(\"Customers\", \"Customer\", CustomerClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: Customer): IDataServiceRequest {\r\n return customersQuery().create(entity);\r\n }\r\n\r\n export function createCustomerAsync(context: IContext, entity: Customer): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: Customer): IDataServiceRequest {\r\n return customersQuery(entity.AccountNumber).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: Customer): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: Customer): IDataServiceRequest {\r\n return customersQuery(entity.AccountNumber).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: Customer): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(accountNumber: string): IDataServiceRequest {\r\n return customersQuery(accountNumber).read();\r\n }\r\n\r\n export function readAsync(context: IContext, accountNumber: string): AsyncResult {\r\n const request = createReadAsync(accountNumber);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return customersQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchInput(queryResultSettings: IQueryResultSettings, customerSearchCriteria?: CustomerSearchCriteria | null): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Search', true, GlobalCustomerClass, 'true', {bypassCache: 'none', returnEntity: 'GlobalCustomer'}, {customerSearchCriteria: customerSearchCriteria });\r\n } \r\n \r\n export function searchAsync(context: IContext, customerSearchCriteria?: CustomerSearchCriteria | null):AsyncResult {\r\n const request = createSearchInput(context.queryResultSettings, customerSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchByFieldsInput(queryResultSettings: IQueryResultSettings, customerSearchByFieldCriteria?: CustomerSearchByFieldCriteria | null): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchByFields', true, GlobalCustomerClass, 'true', {bypassCache: 'none', returnEntity: 'GlobalCustomer'}, {CustomerSearchByFieldCriteria: customerSearchByFieldCriteria });\r\n } \r\n \r\n export function searchByFieldsAsync(context: IContext, customerSearchByFieldCriteria?: CustomerSearchByFieldCriteria | null):AsyncResult {\r\n const request = createSearchByFieldsInput(context.queryResultSettings, customerSearchByFieldCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetByAccountNumbersInput(queryResultSettings: IQueryResultSettings, accountNumbers: string[] | null, searchLocationValue: number): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByAccountNumbers', true, CustomerClass, 'true', {bypassCache: 'none', returnEntity: 'Customer'}, {accountNumbers: accountNumbers, searchLocationValue: searchLocationValue });\r\n } \r\n \r\n export function getByAccountNumbersAsync(context: IContext, accountNumbers: string[] | null, searchLocationValue: number):AsyncResult {\r\n const request = createGetByAccountNumbersInput(context.queryResultSettings, accountNumbers, searchLocationValue);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCreateCustomerTimelineItemInput(customerTimelineItem?: CustomerTimelineItem | null): IDataServiceRequest { \r\n const query = customersQuery();\r\n return query.createDataServiceRequestForOperation('CreateCustomerTimelineItem', true, CustomerTimelineItemClass, 'false', {bypassCache: 'get', returnEntity: 'CustomerTimelineItem'}, {customerTimelineItem: customerTimelineItem });\r\n } \r\n \r\n export function createCustomerTimelineItemAsync(context: IContext, customerTimelineItem?: CustomerTimelineItem | null):AsyncResult {\r\n const request = createCreateCustomerTimelineItemInput(customerTimelineItem);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateCustomerTimelineItemInput(customerTimelineItem?: CustomerTimelineItem | null): IDataServiceRequest { \r\n const query = customersQuery();\r\n return query.createDataServiceRequestForOperation('UpdateCustomerTimelineItem', true, CustomerTimelineItemClass, 'false', {bypassCache: 'get', returnEntity: 'CustomerTimelineItem'}, {customerTimelineItem: customerTimelineItem });\r\n } \r\n \r\n export function updateCustomerTimelineItemAsync(context: IContext, customerTimelineItem?: CustomerTimelineItem | null):AsyncResult {\r\n const request = createUpdateCustomerTimelineItemInput(customerTimelineItem);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRefinersInput(queryResultSettings: IQueryResultSettings, searchCriteria: CustomerSearchCriteria | null, refinerSourceTypes: number[]): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRefiners', true, CustomerRefinerClass, 'true', {bypassCache: 'none', returnEntity: 'CustomerRefiner'}, {searchCriteria: searchCriteria, refinerSourceTypes: refinerSourceTypes });\r\n } \r\n \r\n export function getRefinersAsync(context: IContext, searchCriteria: CustomerSearchCriteria | null, refinerSourceTypes: number[]):AsyncResult {\r\n const request = createGetRefinersInput(context.queryResultSettings, searchCriteria, refinerSourceTypes);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOrderHistoryInput(queryResultSettings: IQueryResultSettings, accountNumber: string, ): IDataServiceRequest { \r\n const query = customersQuery(accountNumber).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOrderHistory', true, SalesOrderClass, 'true', {bypassCache: 'none', returnEntity: 'SalesOrder'}, { });\r\n } \r\n \r\n export function getOrderHistoryAsync(context: IContext, accountNumber: string):AsyncResult {\r\n const request = createGetOrderHistoryInput(context.queryResultSettings, accountNumber);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOrderShipmentsHistoryInput(queryResultSettings: IQueryResultSettings, accountNumber: string, nextPageToken?: string | null): IDataServiceRequest { \r\n const query = customersQuery(accountNumber).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOrderShipmentsHistory', true, OrderShipmentsClass, 'true', {bypassCache: 'none', returnEntity: 'OrderShipments'}, {nextPageToken: nextPageToken });\r\n } \r\n \r\n export function getOrderShipmentsHistoryAsync(context: IContext, accountNumber: string, nextPageToken?: string | null):AsyncResult {\r\n const request = createGetOrderShipmentsHistoryInput(context.queryResultSettings, accountNumber, nextPageToken);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createPostNonTransactionalActivityLoyaltyPointsInput(loyaltyCardId: string | null, channelId: number, affiliationId: number, activityTypeId?: string | null): IDataServiceRequest { \r\n const query = customersQuery();\r\n return query.createDataServiceRequestForOperation('PostNonTransactionalActivityLoyaltyPoints', true, '', '', {bypassCache: 'get', returnEntity: ''}, {loyaltyCardId: loyaltyCardId, channelId: channelId, affiliationId: affiliationId, activityTypeId: activityTypeId });\r\n } \r\n \r\n export function postNonTransactionalActivityLoyaltyPointsAsync(context: IContext, loyaltyCardId: string | null, channelId: number, affiliationId: number, activityTypeId?: string | null):AsyncResult {\r\n const request = createPostNonTransactionalActivityLoyaltyPointsInput(loyaltyCardId, channelId, affiliationId, activityTypeId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPurchaseHistoryInput(queryResultSettings: IQueryResultSettings, accountNumber: string, ): IDataServiceRequest { \r\n const query = customersQuery(accountNumber).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetPurchaseHistory', false, PurchaseHistoryClass, 'true', {bypassCache: 'none', returnEntity: 'PurchaseHistory'}, { });\r\n } \r\n \r\n export function getPurchaseHistoryAsync(context: IContext, accountNumber: string):AsyncResult {\r\n const request = createGetPurchaseHistoryInput(context.queryResultSettings, accountNumber);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCustomerSearchFieldsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCustomerSearchFields', false, CustomerSearchFieldClass, 'true', {bypassCache: 'none', returnEntity: 'CustomerSearchField'}, { });\r\n } \r\n \r\n export function getCustomerSearchFieldsAsync(context: IContext, ):AsyncResult {\r\n const request = createGetCustomerSearchFieldsInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCustomerTimelineItemTypesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCustomerTimelineItemTypes', false, CustomerTimelineItemTypeMapClass, 'true', {bypassCache: 'none', returnEntity: 'CustomerTimelineItemTypeMap'}, { });\r\n } \r\n \r\n export function getCustomerTimelineItemTypesAsync(context: IContext, ):AsyncResult {\r\n const request = createGetCustomerTimelineItemTypesInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCustomerTimelineItemsInput(queryResultSettings: IQueryResultSettings, accountNumber: string, ): IDataServiceRequest { \r\n const query = customersQuery(accountNumber).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCustomerTimelineItems', false, CustomerTimelineItemClass, 'true', {bypassCache: 'none', returnEntity: 'CustomerTimelineItem'}, { });\r\n } \r\n \r\n export function getCustomerTimelineItemsAsync(context: IContext, accountNumber: string):AsyncResult {\r\n const request = createGetCustomerTimelineItemsInput(context.queryResultSettings, accountNumber);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCustomerTimelineRefinersInput(queryResultSettings: IQueryResultSettings, accountNumber: string, ): IDataServiceRequest { \r\n const query = customersQuery(accountNumber).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCustomerTimelineRefiners', false, CustomerTimelineRefinerClass, 'true', {bypassCache: 'none', returnEntity: 'CustomerTimelineRefiner'}, { });\r\n } \r\n \r\n export function getCustomerTimelineRefinersAsync(context: IContext, accountNumber: string):AsyncResult {\r\n const request = createGetCustomerTimelineRefinersInput(context.queryResultSettings, accountNumber);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetTitlesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = customersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetTitles', false, CustomerTitleClass, 'true', {bypassCache: 'none', returnEntity: 'CustomerTitle'}, { });\r\n } \r\n \r\n export function getTitlesAsync(context: IContext, ):AsyncResult {\r\n const request = createGetTitlesInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { OrgUnit, TillLayout, SearchStoreCriteria, SearchArea, OrgUnitLocation, OrgUnitLocationSearchCriteria, ChannelConfiguration, StoreHours, ChannelDeliveryOption, OrgUnitAvailability, ItemUnit, ProductDimensionCombination, OrgUnitAvailabilitySearchCriteria, TerminalInfo } from '../Entities/CommerceTypes.g';\r\n import { OrgUnitClass, TillLayoutClass, OrgUnitLocationClass, ChannelConfigurationClass, StoreHoursClass, ChannelDeliveryOptionClass, OrgUnitAvailabilityClass, TerminalInfoClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function orgUnitsQuery(orgUnitNumber?: string): DataServiceQuery {\r\n var key = (orgUnitNumber) ? { OrgUnitNumber: orgUnitNumber } : null;\r\n return new DataServiceQuery(\"OrgUnits\", \"OrgUnit\", OrgUnitClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: OrgUnit): IDataServiceRequest {\r\n return orgUnitsQuery().create(entity);\r\n }\r\n\r\n export function createOrgUnitAsync(context: IContext, entity: OrgUnit): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: OrgUnit): IDataServiceRequest {\r\n return orgUnitsQuery(entity.OrgUnitNumber).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: OrgUnit): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: OrgUnit): IDataServiceRequest {\r\n return orgUnitsQuery(entity.OrgUnitNumber).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: OrgUnit): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(orgUnitNumber: string): IDataServiceRequest {\r\n return orgUnitsQuery(orgUnitNumber).read();\r\n }\r\n\r\n export function readAsync(context: IContext, orgUnitNumber: string): AsyncResult {\r\n const request = createReadAsync(orgUnitNumber);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return orgUnitsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetTillLayoutInput(height?: number | null, width?: number | null, includeImage?: boolean | null): IDataServiceRequest { \r\n const query = orgUnitsQuery();\r\n return query.createDataServiceRequestForOperation('GetTillLayout', true, TillLayoutClass, 'false', {bypassCache: 'none', returnEntity: 'TillLayout'}, {height: height, width: width, includeImage: includeImage });\r\n } \r\n \r\n export function getTillLayoutAsync(context: IContext, height?: number | null, width?: number | null, includeImage?: boolean | null):AsyncResult {\r\n const request = createGetTillLayoutInput(height, width, includeImage);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchInput(queryResultSettings: IQueryResultSettings, storeSearchCriteria?: SearchStoreCriteria | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Search', true, OrgUnitClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnit'}, {storeSearchCriteria: storeSearchCriteria });\r\n } \r\n \r\n export function searchAsync(context: IContext, storeSearchCriteria?: SearchStoreCriteria | null):AsyncResult {\r\n const request = createSearchInput(context.queryResultSettings, storeSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOrgUnitLocationsByAreaInput(queryResultSettings: IQueryResultSettings, searchArea?: SearchArea | null, deliveryModeTypeFilter?: number | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOrgUnitLocationsByArea', true, OrgUnitLocationClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitLocation'}, {searchArea: searchArea, deliveryModeTypeFilter: deliveryModeTypeFilter });\r\n } \r\n \r\n export function getOrgUnitLocationsByAreaAsync(context: IContext, searchArea?: SearchArea | null, deliveryModeTypeFilter?: number | null):AsyncResult {\r\n const request = createGetOrgUnitLocationsByAreaInput(context.queryResultSettings, searchArea, deliveryModeTypeFilter);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchOrgUnitLocationsInput(queryResultSettings: IQueryResultSettings, orgUnitLocationSearchCriteria?: OrgUnitLocationSearchCriteria | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchOrgUnitLocations', true, OrgUnitLocationClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitLocation'}, {orgUnitLocationSearchCriteria: orgUnitLocationSearchCriteria });\r\n } \r\n \r\n export function searchOrgUnitLocationsAsync(context: IContext, orgUnitLocationSearchCriteria?: OrgUnitLocationSearchCriteria | null):AsyncResult {\r\n const request = createSearchOrgUnitLocationsInput(context.queryResultSettings, orgUnitLocationSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOrgUnitConfigurationInput(): IDataServiceRequest { \r\n const query = orgUnitsQuery();\r\n return query.createDataServiceRequestForOperation('GetOrgUnitConfiguration', true, ChannelConfigurationClass, 'false', {bypassCache: 'none', returnEntity: 'ChannelConfiguration'}, { });\r\n } \r\n \r\n export function getOrgUnitConfigurationAsync(context: IContext, ):AsyncResult {\r\n const request = createGetOrgUnitConfigurationInput();\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetStoreHoursInput(storeNumber?: string | null): IDataServiceRequest { \r\n const query = orgUnitsQuery();\r\n return query.createDataServiceRequestForOperation('GetStoreHours', false, StoreHoursClass, 'false', {bypassCache: 'none', returnEntity: 'StoreHours'}, {storeNumber: storeNumber });\r\n } \r\n \r\n export function getStoreHoursAsync(context: IContext, storeNumber?: string | null):AsyncResult {\r\n const request = createGetStoreHoursInput(storeNumber);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetChannelDeliveryOptionsInput(queryResultSettings: IQueryResultSettings, channelIds: number[], filterOption?: number | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetChannelDeliveryOptions', true, ChannelDeliveryOptionClass, 'true', {bypassCache: 'none', returnEntity: 'ChannelDeliveryOption'}, {channelIds: channelIds, filterOption: filterOption });\r\n } \r\n \r\n export function getChannelDeliveryOptionsAsync(context: IContext, channelIds: number[], filterOption?: number | null):AsyncResult {\r\n const request = createGetChannelDeliveryOptionsInput(context.queryResultSettings, channelIds, filterOption);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAvailableInventoryInput(queryResultSettings: IQueryResultSettings, itemId?: string | null, variantId?: string | null, barcode?: string | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAvailableInventory', true, OrgUnitAvailabilityClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitAvailability'}, {itemId: itemId, variantId: variantId, barcode: barcode });\r\n } \r\n \r\n export function getAvailableInventoryAsync(context: IContext, itemId?: string | null, variantId?: string | null, barcode?: string | null):AsyncResult {\r\n const request = createGetAvailableInventoryInput(context.queryResultSettings, itemId, variantId, barcode);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAvailableInventoryNearbyInput(queryResultSettings: IQueryResultSettings, itemIds?: ItemUnit[] | null, searchArea?: SearchArea | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAvailableInventoryNearby', true, OrgUnitAvailabilityClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitAvailability'}, {itemIds: itemIds, searchArea: searchArea });\r\n } \r\n \r\n export function getAvailableInventoryNearbyAsync(context: IContext, itemIds?: ItemUnit[] | null, searchArea?: SearchArea | null):AsyncResult {\r\n const request = createGetAvailableInventoryNearbyInput(context.queryResultSettings, itemIds, searchArea);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductAvailabilityByDimensionsInput(queryResultSettings: IQueryResultSettings, inventLocationIds: string[] | null, productId: number, productDimensionCombinations?: ProductDimensionCombination[] | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductAvailabilityByDimensions', true, OrgUnitAvailabilityClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitAvailability'}, {inventLocationIds: inventLocationIds, productId: productId, productDimensionCombinations: productDimensionCombinations });\r\n } \r\n \r\n export function getProductAvailabilityByDimensionsAsync(context: IContext, inventLocationIds: string[] | null, productId: number, productDimensionCombinations?: ProductDimensionCombination[] | null):AsyncResult {\r\n const request = createGetProductAvailabilityByDimensionsInput(context.queryResultSettings, inventLocationIds, productId, productDimensionCombinations);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchProductAvailabilityInput(queryResultSettings: IQueryResultSettings, productId: number, orgUnitAvailabilitySearchCriteria?: OrgUnitAvailabilitySearchCriteria | null): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchProductAvailability', true, OrgUnitAvailabilityClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitAvailability'}, {productId: productId, orgUnitAvailabilitySearchCriteria: orgUnitAvailabilitySearchCriteria });\r\n } \r\n \r\n export function searchProductAvailabilityAsync(context: IContext, productId: number, orgUnitAvailabilitySearchCriteria?: OrgUnitAvailabilitySearchCriteria | null):AsyncResult {\r\n const request = createSearchProductAvailabilityInput(context.queryResultSettings, productId, orgUnitAvailabilitySearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetTerminalInfoInput(queryResultSettings: IQueryResultSettings, orgUnitNumber: string, deviceType: number): IDataServiceRequest { \r\n const query = orgUnitsQuery(orgUnitNumber).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetTerminalInfo', false, TerminalInfoClass, 'true', {bypassCache: 'none', returnEntity: 'TerminalInfo'}, {deviceType: deviceType });\r\n } \r\n \r\n export function getTerminalInfoAsync(context: IContext, orgUnitNumber: string, deviceType: number):AsyncResult {\r\n const request = createGetTerminalInfoInput(context.queryResultSettings, orgUnitNumber, deviceType);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductAvailabilityInput(queryResultSettings: IQueryResultSettings, productId: number): IDataServiceRequest { \r\n const query = orgUnitsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductAvailability', false, OrgUnitAvailabilityClass, 'true', {bypassCache: 'none', returnEntity: 'OrgUnitAvailability'}, {productId: productId });\r\n } \r\n \r\n export function getProductAvailabilityAsync(context: IContext, productId: number):AsyncResult {\r\n const request = createGetProductAvailabilityInput(context.queryResultSettings, productId);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { ProductList, ProductListSearchCriteria, ProductListLine } from '../Entities/CommerceTypes.g';\r\n import { ProductListClass, ProductListLineClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function productListsQuery(id?: string): DataServiceQuery {\r\n var key = (id) ? { Id: id } : null;\r\n return new DataServiceQuery(\"ProductLists\", \"ProductList\", ProductListClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: ProductList): IDataServiceRequest {\r\n return productListsQuery().create(entity);\r\n }\r\n\r\n export function createProductListAsync(context: IContext, entity: ProductList): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: ProductList): IDataServiceRequest {\r\n return productListsQuery(entity.Id).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: ProductList): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: ProductList): IDataServiceRequest {\r\n return productListsQuery(entity.Id).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: ProductList): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(id: string): IDataServiceRequest {\r\n return productListsQuery(id).read();\r\n }\r\n\r\n export function readAsync(context: IContext, id: string): AsyncResult {\r\n const request = createReadAsync(id);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return productListsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchInput(queryResultSettings: IQueryResultSettings, searchCriteria?: ProductListSearchCriteria | null): IDataServiceRequest { \r\n const query = productListsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Search', true, ProductListClass, 'true', {bypassCache: 'none', returnEntity: 'ProductList'}, {searchCriteria: searchCriteria });\r\n } \r\n \r\n export function searchAsync(context: IContext, searchCriteria?: ProductListSearchCriteria | null):AsyncResult {\r\n const request = createSearchInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductListLinesInput(queryResultSettings: IQueryResultSettings, id: string, searchText?: string | null): IDataServiceRequest { \r\n const query = productListsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductListLines', true, ProductListLineClass, 'true', {bypassCache: 'none', returnEntity: 'ProductListLine'}, {searchText: searchText });\r\n } \r\n \r\n export function getProductListLinesAsync(context: IContext, id: string, searchText?: string | null):AsyncResult {\r\n const request = createGetProductListLinesInput(context.queryResultSettings, id, searchText);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAddProductListLinesInput(queryResultSettings: IQueryResultSettings, id: string, productListLines?: ProductListLine[] | null): IDataServiceRequest { \r\n const query = productListsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('AddProductListLines', true, ProductListLineClass, 'true', {bypassCache: 'get', returnEntity: 'ProductListLine'}, {productListLines: productListLines });\r\n } \r\n \r\n export function addProductListLinesAsync(context: IContext, id: string, productListLines?: ProductListLine[] | null):AsyncResult {\r\n const request = createAddProductListLinesInput(context.queryResultSettings, id, productListLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateProductListLinesInput(queryResultSettings: IQueryResultSettings, id: string, productListLines?: ProductListLine[] | null): IDataServiceRequest { \r\n const query = productListsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('UpdateProductListLines', true, ProductListLineClass, 'true', {bypassCache: 'get', returnEntity: 'ProductListLine'}, {productListLines: productListLines });\r\n } \r\n \r\n export function updateProductListLinesAsync(context: IContext, id: string, productListLines?: ProductListLine[] | null):AsyncResult {\r\n const request = createUpdateProductListLinesInput(context.queryResultSettings, id, productListLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRemoveProductListLinesInput(id: string, productListLines?: ProductListLine[] | null): IDataServiceRequest { \r\n const query = productListsQuery(id);\r\n return query.createDataServiceRequestForOperation('RemoveProductListLines', true, '', '', {bypassCache: 'get', returnEntity: ''}, {productListLines: productListLines });\r\n } \r\n \r\n export function removeProductListLinesAsync(context: IContext, id: string, productListLines?: ProductListLine[] | null):AsyncResult {\r\n const request = createRemoveProductListLinesInput(id, productListLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCopyCartToProductListInput(id: string, cartId?: string | null, isRewrite?: boolean | null, isQuantityAggregate?: boolean | null): IDataServiceRequest { \r\n const query = productListsQuery(id);\r\n return query.createDataServiceRequestForOperation('CopyCartToProductList', true, ProductListClass, 'false', {bypassCache: 'get', returnEntity: 'ProductList'}, {cartId: cartId, isRewrite: isRewrite, isQuantityAggregate: isQuantityAggregate });\r\n } \r\n \r\n export function copyCartToProductListAsync(context: IContext, id: string, cartId?: string | null, isRewrite?: boolean | null, isQuantityAggregate?: boolean | null):AsyncResult {\r\n const request = createCopyCartToProductListInput(id, cartId, isRewrite, isQuantityAggregate);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { Product, ProductSearchCriteria, ProductRefiner, ProductDimension, ProductVariantResolutionOnKitSelectionContext, ProductDimensionValue, ProductDimensionAvailabilitySearchCriteria, ProductDimensionValueInventoryAvailability, SimpleProduct, ComponentInSlotRelation, ProductComparisonLine, ProductSearchResult, ProductRefinerValue, Address, ProductDeliveryOptions, ChangedProductsSearchCriteria, ReadChangedProductsSession, DeletedListingsResult, AssortedProductIdentity, ProductExistenceCriteria, ProductExistenceId, ProductRating, ProductAssortmentInterval, ListingPublishStatus, AttributeProduct, ProductPrice, ProductAvailableQuantity, ProjectionDomain, AffiliationLoyaltyTier, ProductComponent, SearchSuggestion, CategoryPathLookup, CategoryPathResult, UnitOfMeasure, ProductLookupClause, AttributeValue, MediaLocation, MediaBlob, ProductRelationType, ProductWarrantiesMapping, ProductWarehouse, ProductWarehouseInventoryInformation, InventoryAvailabilitySearchCriteria } from '../Entities/CommerceTypes.g';\r\n import { ProductClass, ProductRefinerClass, ProductDimensionValueClass, ProductDimensionValueInventoryAvailabilityClass, SimpleProductClass, ProductComparisonLineClass, ProductSearchResultClass, ProductDeliveryOptionsClass, ReadChangedProductsSessionClass, DeletedListingsResultClass, AssortedProductIdentityClass, ProductExistenceIdClass, ProductRatingClass, ProductAssortmentIntervalClass, AttributeProductClass, ProductPriceClass, ProductAvailableQuantityClass, ProductComponentClass, SearchSuggestionClass, CategoryPathResultClass, UnitOfMeasureClass, ProductRefinerValueClass, AttributeValueClass, MediaLocationClass, MediaBlobClass, ProductRelationTypeClass, ProductWarrantiesMappingClass, ProductWarehouseInventoryInformationClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function productsQuery(recordId?: number): DataServiceQuery {\r\n var key = (recordId) ? { RecordId: recordId } : null;\r\n return new DataServiceQuery(\"Products\", \"Product\", ProductClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: Product): IDataServiceRequest {\r\n return productsQuery().create(entity);\r\n }\r\n\r\n export function createProductAsync(context: IContext, entity: Product): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: Product): IDataServiceRequest {\r\n return productsQuery(entity.RecordId).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: Product): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: Product): IDataServiceRequest {\r\n return productsQuery(entity.RecordId).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: Product): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(recordId: number): IDataServiceRequest {\r\n return productsQuery(recordId).read();\r\n }\r\n\r\n export function readAsync(context: IContext, recordId: number): AsyncResult {\r\n const request = createReadAsync(recordId);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return productsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchInput(queryResultSettings: IQueryResultSettings, productSearchCriteria?: ProductSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Search', true, ProductClass, 'true', {bypassCache: 'none', returnEntity: 'Product'}, {productSearchCriteria: productSearchCriteria });\r\n } \r\n \r\n export function searchAsync(context: IContext, productSearchCriteria?: ProductSearchCriteria | null):AsyncResult {\r\n const request = createSearchInput(context.queryResultSettings, productSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRefinersInput(queryResultSettings: IQueryResultSettings, productSearchCriteria?: ProductSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRefiners', true, ProductRefinerClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRefiner'}, {productSearchCriteria: productSearchCriteria });\r\n } \r\n \r\n export function getRefinersAsync(context: IContext, productSearchCriteria?: ProductSearchCriteria | null):AsyncResult {\r\n const request = createGetRefinersInput(context.queryResultSettings, productSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDimensionValuesInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, dimension: number, matchingDimensionValues?: ProductDimension[] | null, kitVariantResolutionContext?: ProductVariantResolutionOnKitSelectionContext | null): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDimensionValues', true, ProductDimensionValueClass, 'true', {bypassCache: 'none', returnEntity: 'ProductDimensionValue'}, {channelId: channelId, dimension: dimension, matchingDimensionValues: matchingDimensionValues, kitVariantResolutionContext: kitVariantResolutionContext });\r\n } \r\n \r\n export function getDimensionValuesAsync(context: IContext, recordId: number, channelId: number, dimension: number, matchingDimensionValues?: ProductDimension[] | null, kitVariantResolutionContext?: ProductVariantResolutionOnKitSelectionContext | null):AsyncResult {\r\n const request = createGetDimensionValuesInput(context.queryResultSettings, recordId, channelId, dimension, matchingDimensionValues, kitVariantResolutionContext);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDimensionValuesWithEstimatedAvailabilitiesInput(queryResultSettings: IQueryResultSettings, recordId: number, searchCriteria?: ProductDimensionAvailabilitySearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDimensionValuesWithEstimatedAvailabilities', true, ProductDimensionValueInventoryAvailabilityClass, 'true', {bypassCache: 'none', returnEntity: 'ProductDimensionValueInventoryAvailability'}, {searchCriteria: searchCriteria });\r\n } \r\n \r\n export function getDimensionValuesWithEstimatedAvailabilitiesAsync(context: IContext, recordId: number, searchCriteria?: ProductDimensionAvailabilitySearchCriteria | null):AsyncResult {\r\n const request = createGetDimensionValuesWithEstimatedAvailabilitiesInput(context.queryResultSettings, recordId, searchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetVariantsByDimensionValuesInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, matchingDimensionValues?: ProductDimension[] | null): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetVariantsByDimensionValues', true, SimpleProductClass, 'true', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId, matchingDimensionValues: matchingDimensionValues });\r\n } \r\n \r\n export function getVariantsByDimensionValuesAsync(context: IContext, recordId: number, channelId: number, matchingDimensionValues?: ProductDimension[] | null):AsyncResult {\r\n const request = createGetVariantsByDimensionValuesInput(context.queryResultSettings, recordId, channelId, matchingDimensionValues);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetVariantsByComponentsInSlotsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, matchingSlotToComponentRelationship?: ComponentInSlotRelation[] | null): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetVariantsByComponentsInSlots', true, SimpleProductClass, 'true', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId, matchingSlotToComponentRelationship: matchingSlotToComponentRelationship });\r\n } \r\n \r\n export function getVariantsByComponentsInSlotsAsync(context: IContext, recordId: number, channelId: number, matchingSlotToComponentRelationship?: ComponentInSlotRelation[] | null):AsyncResult {\r\n const request = createGetVariantsByComponentsInSlotsInput(context.queryResultSettings, recordId, channelId, matchingSlotToComponentRelationship);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetByIdsInput(queryResultSettings: IQueryResultSettings, channelId: number, productIds: number[], inventLocationId?: string | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByIds', true, SimpleProductClass, 'true', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId, productIds: productIds, inventLocationId: inventLocationId });\r\n } \r\n \r\n export function getByIdsAsync(context: IContext, channelId: number, productIds: number[], inventLocationId?: string | null):AsyncResult {\r\n const request = createGetByIdsInput(context.queryResultSettings, channelId, productIds, inventLocationId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCompareInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, productIds: number[]): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Compare', true, ProductComparisonLineClass, 'true', {bypassCache: 'get', returnEntity: 'ProductComparisonLine'}, {channelId: channelId, catalogId: catalogId, productIds: productIds });\r\n } \r\n \r\n export function compareAsync(context: IContext, channelId: number, catalogId: number, productIds: number[]):AsyncResult {\r\n const request = createCompareInput(context.queryResultSettings, channelId, catalogId, productIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRecommendedProductsInput(queryResultSettings: IQueryResultSettings, productIds: number[], customerId?: string | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRecommendedProducts', true, ProductSearchResultClass, 'true', {bypassCache: 'none', returnEntity: 'ProductSearchResult'}, {productIds: productIds, customerId: customerId });\r\n } \r\n \r\n export function getRecommendedProductsAsync(context: IContext, productIds: number[], customerId?: string | null):AsyncResult {\r\n const request = createGetRecommendedProductsInput(context.queryResultSettings, productIds, customerId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRefineSearchByCategoryInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, categoryId: number, refinementCriteria?: ProductRefinerValue[] | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('RefineSearchByCategory', true, ProductSearchResultClass, 'true', {bypassCache: 'get', returnEntity: 'ProductSearchResult'}, {channelId: channelId, catalogId: catalogId, categoryId: categoryId, refinementCriteria: refinementCriteria });\r\n } \r\n \r\n export function refineSearchByCategoryAsync(context: IContext, channelId: number, catalogId: number, categoryId: number, refinementCriteria?: ProductRefinerValue[] | null):AsyncResult {\r\n const request = createRefineSearchByCategoryInput(context.queryResultSettings, channelId, catalogId, categoryId, refinementCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRefineSearchByTextInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, searchText?: string | null, refinementCriteria?: ProductRefinerValue[] | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('RefineSearchByText', true, ProductSearchResultClass, 'true', {bypassCache: 'get', returnEntity: 'ProductSearchResult'}, {channelId: channelId, catalogId: catalogId, searchText: searchText, refinementCriteria: refinementCriteria });\r\n } \r\n \r\n export function refineSearchByTextAsync(context: IContext, channelId: number, catalogId: number, searchText?: string | null, refinementCriteria?: ProductRefinerValue[] | null):AsyncResult {\r\n const request = createRefineSearchByTextInput(context.queryResultSettings, channelId, catalogId, searchText, refinementCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductSearchRefinersInput(queryResultSettings: IQueryResultSettings, searchCriteria?: ProductSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductSearchRefiners', true, ProductRefinerClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRefiner'}, {searchCriteria: searchCriteria });\r\n } \r\n \r\n export function getProductSearchRefinersAsync(context: IContext, searchCriteria?: ProductSearchCriteria | null):AsyncResult {\r\n const request = createGetProductSearchRefinersInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeliveryOptionsInput(queryResultSettings: IQueryResultSettings, productIds: number[], address?: Address | null, filterOption?: number | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDeliveryOptions', true, ProductDeliveryOptionsClass, 'true', {bypassCache: 'none', returnEntity: 'ProductDeliveryOptions'}, {productIds: productIds, address: address, filterOption: filterOption });\r\n } \r\n \r\n export function getDeliveryOptionsAsync(context: IContext, productIds: number[], address?: Address | null, filterOption?: number | null):AsyncResult {\r\n const request = createGetDeliveryOptionsInput(context.queryResultSettings, productIds, address, filterOption);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createChangesInput(queryResultSettings: IQueryResultSettings, productSearchCriteria?: ChangedProductsSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Changes', true, ProductClass, 'true', {bypassCache: 'get', returnEntity: 'Product'}, {productSearchCriteria: productSearchCriteria });\r\n } \r\n \r\n export function changesAsync(context: IContext, productSearchCriteria?: ChangedProductsSearchCriteria | null):AsyncResult {\r\n const request = createChangesInput(context.queryResultSettings, productSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createBeginReadChangedProductsInput(changedProductSearchCriteria?: ChangedProductsSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('BeginReadChangedProducts', true, ReadChangedProductsSessionClass, 'false', {bypassCache: 'get', returnEntity: 'ReadChangedProductsSession'}, {changedProductSearchCriteria: changedProductSearchCriteria });\r\n } \r\n \r\n export function beginReadChangedProductsAsync(context: IContext, changedProductSearchCriteria?: ChangedProductsSearchCriteria | null):AsyncResult {\r\n const request = createBeginReadChangedProductsInput(changedProductSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createReadChangedProductsInput(queryResultSettings: IQueryResultSettings, productSearchCriteria?: ChangedProductsSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('ReadChangedProducts', true, ProductClass, 'true', {bypassCache: 'none', returnEntity: 'Product'}, {productSearchCriteria: productSearchCriteria });\r\n } \r\n \r\n export function readChangedProductsAsync(context: IContext, productSearchCriteria?: ChangedProductsSearchCriteria | null):AsyncResult {\r\n const request = createReadChangedProductsInput(context.queryResultSettings, productSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeletedListingsInput(catalogId: number, skip: number, top: number): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('GetDeletedListings', true, DeletedListingsResultClass, 'false', {bypassCache: 'none', returnEntity: 'DeletedListingsResult'}, {catalogId: catalogId, skip: skip, top: top });\r\n } \r\n \r\n export function getDeletedListingsAsync(context: IContext, catalogId: number, skip: number, top: number):AsyncResult {\r\n const request = createGetDeletedListingsInput(catalogId, skip, top);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAssortedProductIdsInput(queryResultSettings: IQueryResultSettings, productIds: number[], includeFutureAssortedProducts: boolean): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAssortedProductIds', true, AssortedProductIdentityClass, 'true', {bypassCache: 'none', returnEntity: 'AssortedProductIdentity'}, {productIds: productIds, includeFutureAssortedProducts: includeFutureAssortedProducts });\r\n } \r\n \r\n export function getAssortedProductIdsAsync(context: IContext, productIds: number[], includeFutureAssortedProducts: boolean):AsyncResult {\r\n const request = createGetAssortedProductIdsInput(context.queryResultSettings, productIds, includeFutureAssortedProducts);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCheckProductsExistenceInput(queryResultSettings: IQueryResultSettings, productExistenceCriteria?: ProductExistenceCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('CheckProductsExistence', true, ProductExistenceIdClass, 'true', {bypassCache: 'get', returnEntity: 'ProductExistenceId'}, {productExistenceCriteria: productExistenceCriteria });\r\n } \r\n \r\n export function checkProductsExistenceAsync(context: IContext, productExistenceCriteria?: ProductExistenceCriteria | null):AsyncResult {\r\n const request = createCheckProductsExistenceInput(context.queryResultSettings, productExistenceCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeletedCatalogsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDeletedCatalogs', false, '', 'true', {bypassCache: 'none', returnEntity: ''}, { });\r\n } \r\n \r\n export function getDeletedCatalogsAsync(context: IContext, ):AsyncResult {\r\n const request = createGetDeletedCatalogsInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDeletedLanguagesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDeletedLanguages', false, '', 'true', {bypassCache: 'none', returnEntity: ''}, { });\r\n } \r\n \r\n export function getDeletedLanguagesAsync(context: IContext, ):AsyncResult {\r\n const request = createGetDeletedLanguagesInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductRatingsInput(queryResultSettings: IQueryResultSettings, productIds: number[]): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductRatings', true, ProductRatingClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRating'}, {productIds: productIds });\r\n } \r\n \r\n export function getProductRatingsAsync(context: IContext, productIds: number[]):AsyncResult {\r\n const request = createGetProductRatingsInput(context.queryResultSettings, productIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductAssortmentIntervalsInput(queryResultSettings: IQueryResultSettings, productIds: number[]): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductAssortmentIntervals', true, ProductAssortmentIntervalClass, 'true', {bypassCache: 'none', returnEntity: 'ProductAssortmentInterval'}, {productIds: productIds });\r\n } \r\n \r\n export function getProductAssortmentIntervalsAsync(context: IContext, productIds: number[]):AsyncResult {\r\n const request = createGetProductAssortmentIntervalsInput(context.queryResultSettings, productIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createDeleteListingsByCatalogsInput(catalogIds: number[]): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('DeleteListingsByCatalogs', true, '', '', {bypassCache: 'get', returnEntity: ''}, {catalogIds: catalogIds });\r\n } \r\n \r\n export function deleteListingsByCatalogsAsync(context: IContext, catalogIds: number[]):AsyncResult {\r\n const request = createDeleteListingsByCatalogsInput(catalogIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createDeleteListingsByLanguagesInput(languages?: string[] | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('DeleteListingsByLanguages', true, '', '', {bypassCache: 'get', returnEntity: ''}, {languages: languages });\r\n } \r\n \r\n export function deleteListingsByLanguagesAsync(context: IContext, languages?: string[] | null):AsyncResult {\r\n const request = createDeleteListingsByLanguagesInput(languages);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createEndReadChangedProductsInput(session?: ReadChangedProductsSession | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('EndReadChangedProducts', true, '', '', {bypassCache: 'get', returnEntity: ''}, {session: session });\r\n } \r\n \r\n export function endReadChangedProductsAsync(context: IContext, session?: ReadChangedProductsSession | null):AsyncResult {\r\n const request = createEndReadChangedProductsInput(session);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createUpdateListingPublishingStatusInput(publishingStatuses?: ListingPublishStatus[] | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('UpdateListingPublishingStatus', true, '', '', {bypassCache: 'get', returnEntity: ''}, {publishingStatuses: publishingStatuses });\r\n } \r\n \r\n export function updateListingPublishingStatusAsync(context: IContext, publishingStatuses?: ListingPublishStatus[] | null):AsyncResult {\r\n const request = createUpdateListingPublishingStatusInput(publishingStatuses);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCatalogProductAttributesInput(queryResultSettings: IQueryResultSettings, catalogId: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCatalogProductAttributes', true, AttributeProductClass, 'true', {bypassCache: 'none', returnEntity: 'AttributeProduct'}, {catalogId: catalogId });\r\n } \r\n \r\n export function getCatalogProductAttributesAsync(context: IContext, catalogId: number):AsyncResult {\r\n const request = createGetCatalogProductAttributesInput(context.queryResultSettings, catalogId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPricesInput(queryResultSettings: IQueryResultSettings, itemId: string | null, inventoryDimensionId: string | null, barcode: string | null, customerAccountNumber: string | null, unitOfMeasureSymbol: string | null, quantity: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetPrices', true, ProductPriceClass, 'true', {bypassCache: 'none', returnEntity: 'ProductPrice'}, {itemId: itemId, inventoryDimensionId: inventoryDimensionId, barcode: barcode, customerAccountNumber: customerAccountNumber, unitOfMeasureSymbol: unitOfMeasureSymbol, quantity: quantity });\r\n } \r\n \r\n export function getPricesAsync(context: IContext, itemId: string | null, inventoryDimensionId: string | null, barcode: string | null, customerAccountNumber: string | null, unitOfMeasureSymbol: string | null, quantity: number):AsyncResult {\r\n const request = createGetPricesInput(context.queryResultSettings, itemId, inventoryDimensionId, barcode, customerAccountNumber, unitOfMeasureSymbol, quantity);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetProductAvailabilitiesInput(queryResultSettings: IQueryResultSettings, itemIds: number[], channelId: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetProductAvailabilities', true, ProductAvailableQuantityClass, 'true', {bypassCache: 'none', returnEntity: 'ProductAvailableQuantity'}, {itemIds: itemIds, channelId: channelId });\r\n } \r\n \r\n export function getProductAvailabilitiesAsync(context: IContext, itemIds: number[], channelId: number):AsyncResult {\r\n const request = createGetProductAvailabilitiesInput(context.queryResultSettings, itemIds, channelId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetActivePricesInput(queryResultSettings: IQueryResultSettings, projectDomain: ProjectionDomain | null, productIds: number[], activeDate: Date, customerId?: string | null, affiliationLoyaltyTiers?: AffiliationLoyaltyTier[] | null, includeSimpleDiscountsInContextualPrice?: boolean | null, includeVariantPriceRange?: boolean | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetActivePrices', true, ProductPriceClass, 'true', {bypassCache: 'none', returnEntity: 'ProductPrice'}, {projectDomain: projectDomain, productIds: productIds, activeDate: activeDate, customerId: customerId, affiliationLoyaltyTiers: affiliationLoyaltyTiers, includeSimpleDiscountsInContextualPrice: includeSimpleDiscountsInContextualPrice, includeVariantPriceRange: includeVariantPriceRange });\r\n } \r\n \r\n export function getActivePricesAsync(context: IContext, projectDomain: ProjectionDomain | null, productIds: number[], activeDate: Date, customerId?: string | null, affiliationLoyaltyTiers?: AffiliationLoyaltyTier[] | null, includeSimpleDiscountsInContextualPrice?: boolean | null, includeVariantPriceRange?: boolean | null):AsyncResult {\r\n const request = createGetActivePricesInput(context.queryResultSettings, projectDomain, productIds, activeDate, customerId, affiliationLoyaltyTiers, includeSimpleDiscountsInContextualPrice, includeVariantPriceRange);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetFilteredSlotComponentsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, slotId: number, selectedComponents?: ComponentInSlotRelation[] | null): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFilteredSlotComponents', true, ProductComponentClass, 'true', {bypassCache: 'none', returnEntity: 'ProductComponent'}, {channelId: channelId, slotId: slotId, selectedComponents: selectedComponents });\r\n } \r\n \r\n export function getFilteredSlotComponentsAsync(context: IContext, recordId: number, channelId: number, slotId: number, selectedComponents?: ComponentInSlotRelation[] | null):AsyncResult {\r\n const request = createGetFilteredSlotComponentsInput(context.queryResultSettings, recordId, channelId, slotId, selectedComponents);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetComponentByProductSlotRelationInput(channelId: number, componentRelation?: ComponentInSlotRelation | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('GetComponentByProductSlotRelation', true, ProductComponentClass, 'false', {bypassCache: 'none', returnEntity: 'ProductComponent'}, {channelId: channelId, componentRelation: componentRelation });\r\n } \r\n \r\n export function getComponentByProductSlotRelationAsync(context: IContext, channelId: number, componentRelation?: ComponentInSlotRelation | null):AsyncResult {\r\n const request = createGetComponentByProductSlotRelationInput(channelId, componentRelation);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetSearchSuggestionsInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, searchText?: string | null, hitPrefix?: string | null, hitSuffix?: string | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSearchSuggestions', false, SearchSuggestionClass, 'true', {bypassCache: 'none', returnEntity: 'SearchSuggestion'}, {channelId: channelId, catalogId: catalogId, searchText: searchText, hitPrefix: hitPrefix, hitSuffix: hitSuffix });\r\n } \r\n \r\n export function getSearchSuggestionsAsync(context: IContext, channelId: number, catalogId: number, searchText?: string | null, hitPrefix?: string | null, hitSuffix?: string | null):AsyncResult {\r\n const request = createGetSearchSuggestionsInput(context.queryResultSettings, channelId, catalogId, searchText, hitPrefix, hitSuffix);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetCategoryPathsInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, categoryPathLookups?: CategoryPathLookup[] | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCategoryPaths', true, CategoryPathResultClass, 'true', {bypassCache: 'none', returnEntity: 'CategoryPathResult'}, {channelId: channelId, catalogId: catalogId, CategoryPathLookups: categoryPathLookups });\r\n } \r\n \r\n export function getCategoryPathsAsync(context: IContext, channelId: number, catalogId: number, categoryPathLookups?: CategoryPathLookup[] | null):AsyncResult {\r\n const request = createGetCategoryPathsInput(context.queryResultSettings, channelId, catalogId, categoryPathLookups);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetUnitsOfMeasureInput(queryResultSettings: IQueryResultSettings, recordId: number, ): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetUnitsOfMeasure', false, UnitOfMeasureClass, 'true', {bypassCache: 'none', returnEntity: 'UnitOfMeasure'}, { });\r\n } \r\n \r\n export function getUnitsOfMeasureAsync(context: IContext, recordId: number):AsyncResult {\r\n const request = createGetUnitsOfMeasureInput(context.queryResultSettings, recordId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchByCategoryInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, categoryId: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchByCategory', false, ProductSearchResultClass, 'true', {bypassCache: 'none', returnEntity: 'ProductSearchResult'}, {channelId: channelId, catalogId: catalogId, categoryId: categoryId });\r\n } \r\n \r\n export function searchByCategoryAsync(context: IContext, channelId: number, catalogId: number, categoryId: number):AsyncResult {\r\n const request = createSearchByCategoryInput(context.queryResultSettings, channelId, catalogId, categoryId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchByTextInput(queryResultSettings: IQueryResultSettings, channelId: number, catalogId: number, searchText?: string | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchByText', false, ProductSearchResultClass, 'true', {bypassCache: 'none', returnEntity: 'ProductSearchResult'}, {channelId: channelId, catalogId: catalogId, searchText: searchText });\r\n } \r\n \r\n export function searchByTextAsync(context: IContext, channelId: number, catalogId: number, searchText?: string | null):AsyncResult {\r\n const request = createSearchByTextInput(context.queryResultSettings, channelId, catalogId, searchText);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchByCriteriaInput(queryResultSettings: IQueryResultSettings, searchCriteria?: ProductSearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchByCriteria', true, ProductSearchResultClass, 'true', {bypassCache: 'none', returnEntity: 'ProductSearchResult'}, {searchCriteria: searchCriteria });\r\n } \r\n \r\n export function searchByCriteriaAsync(context: IContext, searchCriteria?: ProductSearchCriteria | null):AsyncResult {\r\n const request = createSearchByCriteriaInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetByLookupClausesInput(queryResultSettings: IQueryResultSettings, channelId: number, productLookupClauses?: ProductLookupClause[] | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByLookupClauses', true, SimpleProductClass, 'true', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId, productLookupClauses: productLookupClauses });\r\n } \r\n \r\n export function getByLookupClausesAsync(context: IContext, channelId: number, productLookupClauses?: ProductLookupClause[] | null):AsyncResult {\r\n const request = createGetByLookupClausesInput(context.queryResultSettings, channelId, productLookupClauses);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRefinersByCategoryInput(queryResultSettings: IQueryResultSettings, catalogId: number, categoryId: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRefinersByCategory', false, ProductRefinerClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRefiner'}, {catalogId: catalogId, categoryId: categoryId });\r\n } \r\n \r\n export function getRefinersByCategoryAsync(context: IContext, catalogId: number, categoryId: number):AsyncResult {\r\n const request = createGetRefinersByCategoryInput(context.queryResultSettings, catalogId, categoryId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRefinersByTextInput(queryResultSettings: IQueryResultSettings, catalogId: number, searchText?: string | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRefinersByText', false, ProductRefinerClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRefiner'}, {catalogId: catalogId, searchText: searchText });\r\n } \r\n \r\n export function getRefinersByTextAsync(context: IContext, catalogId: number, searchText?: string | null):AsyncResult {\r\n const request = createGetRefinersByTextInput(context.queryResultSettings, catalogId, searchText);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRefinerValuesByCategoryInput(queryResultSettings: IQueryResultSettings, catalogId: number, categoryId: number, refinerId: number, refinerSourceValue: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRefinerValuesByCategory', false, ProductRefinerValueClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRefinerValue'}, {catalogId: catalogId, categoryId: categoryId, refinerId: refinerId, refinerSourceValue: refinerSourceValue });\r\n } \r\n \r\n export function getRefinerValuesByCategoryAsync(context: IContext, catalogId: number, categoryId: number, refinerId: number, refinerSourceValue: number):AsyncResult {\r\n const request = createGetRefinerValuesByCategoryInput(context.queryResultSettings, catalogId, categoryId, refinerId, refinerSourceValue);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRefinerValuesByTextInput(queryResultSettings: IQueryResultSettings, catalogId: number, searchText: string | null, refinerId: number, refinerSourceValue: number): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRefinerValuesByText', false, ProductRefinerValueClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRefinerValue'}, {catalogId: catalogId, searchText: searchText, refinerId: refinerId, refinerSourceValue: refinerSourceValue });\r\n } \r\n \r\n export function getRefinerValuesByTextAsync(context: IContext, catalogId: number, searchText: string | null, refinerId: number, refinerSourceValue: number):AsyncResult {\r\n const request = createGetRefinerValuesByTextInput(context.queryResultSettings, catalogId, searchText, refinerId, refinerSourceValue);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetChannelProductAttributesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetChannelProductAttributes', false, AttributeProductClass, 'true', {bypassCache: 'none', returnEntity: 'AttributeProduct'}, { });\r\n } \r\n \r\n export function getChannelProductAttributesAsync(context: IContext, ):AsyncResult {\r\n const request = createGetChannelProductAttributesInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetByIdInput(recordId: number, channelId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId);\r\n return query.createDataServiceRequestForOperation('GetById', false, SimpleProductClass, 'false', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId });\r\n } \r\n \r\n export function getByIdAsync(context: IContext, recordId: number, channelId: number):AsyncResult {\r\n const request = createGetByIdInput(recordId, channelId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAttributeValuesInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, catalogId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAttributeValues', false, AttributeValueClass, 'true', {bypassCache: 'none', returnEntity: 'AttributeValue'}, {channelId: channelId, catalogId: catalogId });\r\n } \r\n \r\n export function getAttributeValuesAsync(context: IContext, recordId: number, channelId: number, catalogId: number):AsyncResult {\r\n const request = createGetAttributeValuesInput(context.queryResultSettings, recordId, channelId, catalogId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetMediaLocationsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, catalogId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetMediaLocations', false, MediaLocationClass, 'true', {bypassCache: 'none', returnEntity: 'MediaLocation'}, {channelId: channelId, catalogId: catalogId });\r\n } \r\n \r\n export function getMediaLocationsAsync(context: IContext, recordId: number, channelId: number, catalogId: number):AsyncResult {\r\n const request = createGetMediaLocationsInput(context.queryResultSettings, recordId, channelId, catalogId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetMediaBlobsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, catalogId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetMediaBlobs', false, MediaBlobClass, 'true', {bypassCache: 'none', returnEntity: 'MediaBlob'}, {channelId: channelId, catalogId: catalogId });\r\n } \r\n \r\n export function getMediaBlobsAsync(context: IContext, recordId: number, channelId: number, catalogId: number):AsyncResult {\r\n const request = createGetMediaBlobsInput(context.queryResultSettings, recordId, channelId, catalogId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetDefaultComponentsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDefaultComponents', false, ProductComponentClass, 'true', {bypassCache: 'none', returnEntity: 'ProductComponent'}, {channelId: channelId });\r\n } \r\n \r\n export function getDefaultComponentsAsync(context: IContext, recordId: number, channelId: number):AsyncResult {\r\n const request = createGetDefaultComponentsInput(context.queryResultSettings, recordId, channelId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetSlotComponentsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, slotId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSlotComponents', false, ProductComponentClass, 'true', {bypassCache: 'none', returnEntity: 'ProductComponent'}, {channelId: channelId, slotId: slotId });\r\n } \r\n \r\n export function getSlotComponentsAsync(context: IContext, recordId: number, channelId: number, slotId: number):AsyncResult {\r\n const request = createGetSlotComponentsInput(context.queryResultSettings, recordId, channelId, slotId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetAllRelationTypesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAllRelationTypes', false, ProductRelationTypeClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRelationType'}, { });\r\n } \r\n \r\n export function getAllRelationTypesAsync(context: IContext, ):AsyncResult {\r\n const request = createGetAllRelationTypesInput(context.queryResultSettings, );\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRelationTypesInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, catalogId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRelationTypes', false, ProductRelationTypeClass, 'true', {bypassCache: 'none', returnEntity: 'ProductRelationType'}, {channelId: channelId, catalogId: catalogId });\r\n } \r\n \r\n export function getRelationTypesAsync(context: IContext, recordId: number, channelId: number, catalogId: number):AsyncResult {\r\n const request = createGetRelationTypesInput(context.queryResultSettings, recordId, channelId, catalogId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetRelatedProductsInput(queryResultSettings: IQueryResultSettings, recordId: number, channelId: number, catalogId: number, relationTypeId: number): IDataServiceRequest { \r\n const query = productsQuery(recordId).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetRelatedProducts', false, ProductSearchResultClass, 'true', {bypassCache: 'none', returnEntity: 'ProductSearchResult'}, {channelId: channelId, catalogId: catalogId, relationTypeId: relationTypeId });\r\n } \r\n \r\n export function getRelatedProductsAsync(context: IContext, recordId: number, channelId: number, catalogId: number, relationTypeId: number):AsyncResult {\r\n const request = createGetRelatedProductsInput(context.queryResultSettings, recordId, channelId, catalogId, relationTypeId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetApplicableWarrantiesInput(queryResultSettings: IQueryResultSettings, catalogId: number, warrantableProductIds: number[]): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetApplicableWarranties', true, ProductWarrantiesMappingClass, 'true', {bypassCache: 'none', returnEntity: 'ProductWarrantiesMapping'}, {catalogId: catalogId, warrantableProductIds: warrantableProductIds });\r\n } \r\n \r\n export function getApplicableWarrantiesAsync(context: IContext, catalogId: number, warrantableProductIds: number[]):AsyncResult {\r\n const request = createGetApplicableWarrantiesInput(context.queryResultSettings, catalogId, warrantableProductIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPriceInput(recordId: number, customerAccountNumber?: string | null, unitOfMeasureSymbol?: string | null): IDataServiceRequest { \r\n const query = productsQuery(recordId);\r\n return query.createDataServiceRequestForOperation('GetPrice', false, ProductPriceClass, 'false', {bypassCache: 'none', returnEntity: 'ProductPrice'}, {customerAccountNumber: customerAccountNumber, unitOfMeasureSymbol: unitOfMeasureSymbol });\r\n } \r\n \r\n export function getPriceAsync(context: IContext, recordId: number, customerAccountNumber?: string | null, unitOfMeasureSymbol?: string | null):AsyncResult {\r\n const request = createGetPriceInput(recordId, customerAccountNumber, unitOfMeasureSymbol);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCalculateProductPriceInput(recordId: number, customerAccountNumber?: string | null, unitOfMeasureSymbol?: string | null, loyaltyCardId?: string | null, affiliationLoyaltyTiers?: AffiliationLoyaltyTier[] | null): IDataServiceRequest { \r\n const query = productsQuery(recordId);\r\n return query.createDataServiceRequestForOperation('CalculateProductPrice', true, ProductPriceClass, 'false', {bypassCache: 'get', returnEntity: 'ProductPrice'}, {customerAccountNumber: customerAccountNumber, unitOfMeasureSymbol: unitOfMeasureSymbol, loyaltyCardId: loyaltyCardId, affiliationLoyaltyTiers: affiliationLoyaltyTiers });\r\n } \r\n \r\n export function calculateProductPriceAsync(context: IContext, recordId: number, customerAccountNumber?: string | null, unitOfMeasureSymbol?: string | null, loyaltyCardId?: string | null, affiliationLoyaltyTiers?: AffiliationLoyaltyTier[] | null):AsyncResult {\r\n const request = createCalculateProductPriceInput(recordId, customerAccountNumber, unitOfMeasureSymbol, loyaltyCardId, affiliationLoyaltyTiers);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetEstimatedProductWarehouseAvailabilityInput(productWarehouses?: ProductWarehouse[] | null, quantityUnitType?: number | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('GetEstimatedProductWarehouseAvailability', true, ProductWarehouseInventoryInformationClass, 'false', {bypassCache: 'none', returnEntity: 'ProductWarehouseInventoryInformation'}, {productWarehouses: productWarehouses, quantityUnitType: quantityUnitType });\r\n } \r\n \r\n export function getEstimatedProductWarehouseAvailabilityAsync(context: IContext, productWarehouses?: ProductWarehouse[] | null, quantityUnitType?: number | null):AsyncResult {\r\n const request = createGetEstimatedProductWarehouseAvailabilityInput(productWarehouses, quantityUnitType);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetEstimatedAvailabilityInput(searchCriteria?: InventoryAvailabilitySearchCriteria | null): IDataServiceRequest { \r\n const query = productsQuery();\r\n return query.createDataServiceRequestForOperation('GetEstimatedAvailability', true, ProductWarehouseInventoryInformationClass, 'false', {bypassCache: 'none', returnEntity: 'ProductWarehouseInventoryInformation'}, {searchCriteria: searchCriteria });\r\n } \r\n \r\n export function getEstimatedAvailabilityAsync(context: IContext, searchCriteria?: InventoryAvailabilitySearchCriteria | null):AsyncResult {\r\n const request = createGetEstimatedAvailabilityInput(searchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { Recommendation, RecommendationCriteria, RecommendedElement } from '../Entities/CommerceTypes.g';\r\n import { RecommendationClass, RecommendedElementClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function recommendationsQuery(id?: string): DataServiceQuery {\r\n var key = (id) ? { Id: id } : null;\r\n return new DataServiceQuery(\"Recommendations\", \"Recommendation\", RecommendationClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: Recommendation): IDataServiceRequest {\r\n return recommendationsQuery().create(entity);\r\n }\r\n\r\n export function createRecommendationAsync(context: IContext, entity: Recommendation): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: Recommendation): IDataServiceRequest {\r\n return recommendationsQuery(entity.Id).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: Recommendation): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: Recommendation): IDataServiceRequest {\r\n return recommendationsQuery(entity.Id).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: Recommendation): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(id: string): IDataServiceRequest {\r\n return recommendationsQuery(id).read();\r\n }\r\n\r\n export function readAsync(context: IContext, id: string): AsyncResult {\r\n const request = createReadAsync(id);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return recommendationsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetElementsInput(queryResultSettings: IQueryResultSettings, id: string, recommendationCriteria?: RecommendationCriteria | null): IDataServiceRequest { \r\n const query = recommendationsQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetElements', true, RecommendedElementClass, 'true', {bypassCache: 'none', returnEntity: 'RecommendedElement'}, {recommendationCriteria: recommendationCriteria });\r\n } \r\n \r\n export function getElementsAsync(context: IContext, id: string, recommendationCriteria?: RecommendationCriteria | null):AsyncResult {\r\n const request = createGetElementsInput(context.queryResultSettings, id, recommendationCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { SalesOrder, SalesOrderSearchCriteria, OrderSearchCriteria, FulfillmentLineSearchCriteria, FulfillmentLine, ReceiptRetrievalCriteria, Receipt, SearchReceiptCriteria, ElectronicAddress, ChannelReferenceLookupCriteria, ShipFulfillmentLine, FulfillmentLineParameter, RejectFulfillmentLine, SalesInvoice, OrderInvoice, InvoiceSearchCriteria, InvoiceDetailsSearchCriteria, SalesLine, PickAndPackSalesLineParameter, PickingList, FulfillmentLineUserAlerts, CommerceProperty, CheckInForOrderPickupConfirmation, PackingSlipData } from '../Entities/CommerceTypes.g';\r\n import { SalesOrderClass, FulfillmentLineClass, ReceiptClass, SalesInvoiceClass, OrderInvoiceClass, SalesLineClass, PickingListClass, FulfillmentLineUserAlertsClass, CheckInForOrderPickupConfirmationClass, PackingSlipDataClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function salesOrdersQuery(id?: string): DataServiceQuery {\r\n var key = (id) ? { Id: id } : null;\r\n return new DataServiceQuery(\"SalesOrders\", \"SalesOrder\", SalesOrderClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: SalesOrder): IDataServiceRequest {\r\n return salesOrdersQuery().create(entity);\r\n }\r\n\r\n export function createSalesOrderAsync(context: IContext, entity: SalesOrder): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: SalesOrder): IDataServiceRequest {\r\n return salesOrdersQuery(entity.Id).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: SalesOrder): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: SalesOrder): IDataServiceRequest {\r\n return salesOrdersQuery(entity.Id).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: SalesOrder): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(id: string): IDataServiceRequest {\r\n return salesOrdersQuery(id).read();\r\n }\r\n\r\n export function readAsync(context: IContext, id: string): AsyncResult {\r\n const request = createReadAsync(id);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return salesOrdersQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchInput(queryResultSettings: IQueryResultSettings, salesOrderSearchCriteria?: SalesOrderSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('Search', true, SalesOrderClass, 'true', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {salesOrderSearchCriteria: salesOrderSearchCriteria });\r\n } \r\n \r\n export function searchAsync(context: IContext, salesOrderSearchCriteria?: SalesOrderSearchCriteria | null):AsyncResult {\r\n const request = createSearchInput(context.queryResultSettings, salesOrderSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchSalesTransactionsByReceiptIdInput(queryResultSettings: IQueryResultSettings, receiptId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchSalesTransactionsByReceiptId', true, SalesOrderClass, 'true', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {receiptId: receiptId });\r\n } \r\n \r\n export function searchSalesTransactionsByReceiptIdAsync(context: IContext, receiptId?: string | null):AsyncResult {\r\n const request = createSearchSalesTransactionsByReceiptIdInput(context.queryResultSettings, receiptId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSearchOrdersInput(queryResultSettings: IQueryResultSettings, orderSearchCriteria?: OrderSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchOrders', true, SalesOrderClass, 'true', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {orderSearchCriteria: orderSearchCriteria });\r\n } \r\n \r\n export function searchOrdersAsync(context: IContext, orderSearchCriteria?: OrderSearchCriteria | null):AsyncResult {\r\n const request = createSearchOrdersInput(context.queryResultSettings, orderSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetFulfillmentLinesInput(queryResultSettings: IQueryResultSettings, fulfillmentLineSearchCriteria?: FulfillmentLineSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFulfillmentLines', true, FulfillmentLineClass, 'true', {bypassCache: 'none', returnEntity: 'FulfillmentLine'}, {fulfillmentLineSearchCriteria: fulfillmentLineSearchCriteria });\r\n } \r\n \r\n export function getFulfillmentLinesAsync(context: IContext, fulfillmentLineSearchCriteria?: FulfillmentLineSearchCriteria | null):AsyncResult {\r\n const request = createGetFulfillmentLinesInput(context.queryResultSettings, fulfillmentLineSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetReceiptsInput(queryResultSettings: IQueryResultSettings, id: string, receiptRetrievalCriteria?: ReceiptRetrievalCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReceipts', true, ReceiptClass, 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {receiptRetrievalCriteria: receiptRetrievalCriteria });\r\n } \r\n \r\n export function getReceiptsAsync(context: IContext, id: string, receiptRetrievalCriteria?: ReceiptRetrievalCriteria | null):AsyncResult {\r\n const request = createGetReceiptsInput(context.queryResultSettings, id, receiptRetrievalCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createSendReceiptInput(searchCriteria?: SearchReceiptCriteria | null, recipientAddresses?: ElectronicAddress[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('SendReceipt', true, '', '', {bypassCache: 'get', returnEntity: ''}, {searchCriteria: searchCriteria, recipientAddresses: recipientAddresses });\r\n } \r\n \r\n export function sendReceiptAsync(context: IContext, searchCriteria?: SearchReceiptCriteria | null, recipientAddresses?: ElectronicAddress[] | null):AsyncResult {\r\n const request = createSendReceiptInput(searchCriteria, recipientAddresses);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetGiftReceiptsInput(queryResultSettings: IQueryResultSettings, id: string, salesLineNumbers: number[], receiptRetrievalCriteria?: ReceiptRetrievalCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetGiftReceipts', true, ReceiptClass, 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {SalesLineNumbers: salesLineNumbers, receiptRetrievalCriteria: receiptRetrievalCriteria });\r\n } \r\n \r\n export function getGiftReceiptsAsync(context: IContext, id: string, salesLineNumbers: number[], receiptRetrievalCriteria?: ReceiptRetrievalCriteria | null):AsyncResult {\r\n const request = createGetGiftReceiptsInput(context.queryResultSettings, id, salesLineNumbers, receiptRetrievalCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetByReceiptIdInput(queryResultSettings: IQueryResultSettings, receiptId?: string | null, orderStoreNumber?: string | null, orderTerminalId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByReceiptId', true, SalesOrderClass, 'true', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {receiptId: receiptId, orderStoreNumber: orderStoreNumber, orderTerminalId: orderTerminalId });\r\n } \r\n \r\n export function getByReceiptIdAsync(context: IContext, receiptId?: string | null, orderStoreNumber?: string | null, orderTerminalId?: string | null):AsyncResult {\r\n const request = createGetByReceiptIdInput(context.queryResultSettings, receiptId, orderStoreNumber, orderTerminalId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetSalesOrderDetailsByTransactionIdInput(transactionId: string | null, searchLocationValue: number): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('GetSalesOrderDetailsByTransactionId', false, SalesOrderClass, 'false', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {transactionId: transactionId, searchLocationValue: searchLocationValue });\r\n } \r\n \r\n export function getSalesOrderDetailsByTransactionIdAsync(context: IContext, transactionId: string | null, searchLocationValue: number):AsyncResult {\r\n const request = createGetSalesOrderDetailsByTransactionIdInput(transactionId, searchLocationValue);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetSalesOrderDetailsBySalesIdInput(salesId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('GetSalesOrderDetailsBySalesId', false, SalesOrderClass, 'false', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {salesId: salesId });\r\n } \r\n \r\n export function getSalesOrderDetailsBySalesIdAsync(context: IContext, salesId?: string | null):AsyncResult {\r\n const request = createGetSalesOrderDetailsBySalesIdInput(salesId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOrderByChannelReferenceLookupCriteriaInput(channelReferenceLookupCriteria?: ChannelReferenceLookupCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('GetOrderByChannelReferenceLookupCriteria', true, SalesOrderClass, 'false', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {channelReferenceLookupCriteria: channelReferenceLookupCriteria });\r\n } \r\n \r\n export function getOrderByChannelReferenceLookupCriteriaAsync(context: IContext, channelReferenceLookupCriteria?: ChannelReferenceLookupCriteria | null):AsyncResult {\r\n const request = createGetOrderByChannelReferenceLookupCriteriaInput(channelReferenceLookupCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetSalesOrderDetailsByQuotationIdInput(quotationId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('GetSalesOrderDetailsByQuotationId', false, SalesOrderClass, 'false', {bypassCache: 'none', returnEntity: 'SalesOrder'}, {quotationId: quotationId });\r\n } \r\n \r\n export function getSalesOrderDetailsByQuotationIdAsync(context: IContext, quotationId?: string | null):AsyncResult {\r\n const request = createGetSalesOrderDetailsByQuotationIdInput(quotationId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createShipFulfillmentLinesInput(shipFulfillmentLines?: ShipFulfillmentLine[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('ShipFulfillmentLines', true, '', '', {bypassCache: 'get', returnEntity: ''}, {ShipFulfillmentLines: shipFulfillmentLines });\r\n } \r\n \r\n export function shipFulfillmentLinesAsync(context: IContext, shipFulfillmentLines?: ShipFulfillmentLine[] | null):AsyncResult {\r\n const request = createShipFulfillmentLinesInput(shipFulfillmentLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createAcceptFulfillmentLinesInput(fulfillmentLineParameter?: FulfillmentLineParameter[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('AcceptFulfillmentLines', true, '', '', {bypassCache: 'get', returnEntity: ''}, {FulfillmentLineParameter: fulfillmentLineParameter });\r\n } \r\n \r\n export function acceptFulfillmentLinesAsync(context: IContext, fulfillmentLineParameter?: FulfillmentLineParameter[] | null):AsyncResult {\r\n const request = createAcceptFulfillmentLinesInput(fulfillmentLineParameter);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createPickFulfillmentLinesInput(fulfillmentLineParameter?: FulfillmentLineParameter[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('PickFulfillmentLines', true, '', '', {bypassCache: 'get', returnEntity: ''}, {FulfillmentLineParameter: fulfillmentLineParameter });\r\n } \r\n \r\n export function pickFulfillmentLinesAsync(context: IContext, fulfillmentLineParameter?: FulfillmentLineParameter[] | null):AsyncResult {\r\n const request = createPickFulfillmentLinesInput(fulfillmentLineParameter);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createPackFulfillmentLinesInput(fulfillmentLineParameter?: FulfillmentLineParameter[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('PackFulfillmentLines', true, '', '', {bypassCache: 'get', returnEntity: ''}, {FulfillmentLineParameter: fulfillmentLineParameter });\r\n } \r\n \r\n export function packFulfillmentLinesAsync(context: IContext, fulfillmentLineParameter?: FulfillmentLineParameter[] | null):AsyncResult {\r\n const request = createPackFulfillmentLinesInput(fulfillmentLineParameter);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createMarkFulfillmentLinesAsPackedInput(fulfillmentLineParameter?: FulfillmentLineParameter[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('MarkFulfillmentLinesAsPacked', true, '', 'false', {bypassCache: 'get', returnEntity: ''}, {FulfillmentLineParameter: fulfillmentLineParameter });\r\n } \r\n \r\n export function markFulfillmentLinesAsPackedAsync(context: IContext, fulfillmentLineParameter?: FulfillmentLineParameter[] | null):AsyncResult {\r\n const request = createMarkFulfillmentLinesAsPackedInput(fulfillmentLineParameter);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createMarkAsPickedInput(fulfillmentLineParameter?: FulfillmentLineParameter[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('MarkAsPicked', true, '', '', {bypassCache: 'get', returnEntity: ''}, {FulfillmentLineParameter: fulfillmentLineParameter });\r\n } \r\n \r\n export function markAsPickedAsync(context: IContext, fulfillmentLineParameter?: FulfillmentLineParameter[] | null):AsyncResult {\r\n const request = createMarkAsPickedInput(fulfillmentLineParameter);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetFulfillmentPickingListsInput(queryResultSettings: IQueryResultSettings, pickingListFulfillmentLine?: FulfillmentLineParameter[] | null, hardwareProfileId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFulfillmentPickingLists', true, ReceiptClass, 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {pickingListFulfillmentLine: pickingListFulfillmentLine, hardwareProfileId: hardwareProfileId });\r\n } \r\n \r\n export function getFulfillmentPickingListsAsync(context: IContext, pickingListFulfillmentLine?: FulfillmentLineParameter[] | null, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetFulfillmentPickingListsInput(context.queryResultSettings, pickingListFulfillmentLine, hardwareProfileId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetFulfillmentPackingSlipsInput(queryResultSettings: IQueryResultSettings, packFulfillmentLines?: FulfillmentLineParameter[] | null, hardwareProfileId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFulfillmentPackingSlips', true, ReceiptClass, 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {packFulfillmentLines: packFulfillmentLines, hardwareProfileId: hardwareProfileId });\r\n } \r\n \r\n export function getFulfillmentPackingSlipsAsync(context: IContext, packFulfillmentLines?: FulfillmentLineParameter[] | null, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetFulfillmentPackingSlipsInput(context.queryResultSettings, packFulfillmentLines, hardwareProfileId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetFulfillmentPackingSlipsByIdInput(queryResultSettings: IQueryResultSettings, salesId?: string | null, packingSlipId?: string | null, hardwareProfileId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFulfillmentPackingSlipsById', true, ReceiptClass, 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {salesId: salesId, PackingSlipId: packingSlipId, hardwareProfileId: hardwareProfileId });\r\n } \r\n \r\n export function getFulfillmentPackingSlipsByIdAsync(context: IContext, salesId?: string | null, packingSlipId?: string | null, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetFulfillmentPackingSlipsByIdInput(context.queryResultSettings, salesId, packingSlipId, hardwareProfileId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createRejectFulfillmentLinesInput(rejectFulfillmentLines?: RejectFulfillmentLine[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('RejectFulfillmentLines', true, '', '', {bypassCache: 'get', returnEntity: ''}, {RejectFulfillmentLines: rejectFulfillmentLines });\r\n } \r\n \r\n export function rejectFulfillmentLinesAsync(context: IContext, rejectFulfillmentLines?: RejectFulfillmentLine[] | null):AsyncResult {\r\n const request = createRejectFulfillmentLinesInput(rejectFulfillmentLines);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetInvoicesBySalesIdInput(queryResultSettings: IQueryResultSettings, salesId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetInvoicesBySalesId', true, SalesInvoiceClass, 'true', {bypassCache: 'none', returnEntity: 'SalesInvoice'}, {salesId: salesId });\r\n } \r\n \r\n export function getInvoicesBySalesIdAsync(context: IContext, salesId?: string | null):AsyncResult {\r\n const request = createGetInvoicesBySalesIdInput(context.queryResultSettings, salesId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetOrderInvoicesInput(queryResultSettings: IQueryResultSettings, customerId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOrderInvoices', true, OrderInvoiceClass, 'true', {bypassCache: 'none', returnEntity: 'OrderInvoice'}, {customerId: customerId });\r\n } \r\n \r\n export function getOrderInvoicesAsync(context: IContext, customerId?: string | null):AsyncResult {\r\n const request = createGetOrderInvoicesInput(context.queryResultSettings, customerId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetInvoicesInput(queryResultSettings: IQueryResultSettings, invoiceSearchCriteria?: InvoiceSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetInvoices', true, OrderInvoiceClass, 'true', {bypassCache: 'none', returnEntity: 'OrderInvoice'}, {invoiceSearchCriteria: invoiceSearchCriteria });\r\n } \r\n \r\n export function getInvoicesAsync(context: IContext, invoiceSearchCriteria?: InvoiceSearchCriteria | null):AsyncResult {\r\n const request = createGetInvoicesInput(context.queryResultSettings, invoiceSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetInvoiceDetailsInput(invoiceDetailsSearchCriteria?: InvoiceDetailsSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('GetInvoiceDetails', true, SalesInvoiceClass, 'false', {bypassCache: 'none', returnEntity: 'SalesInvoice'}, {invoiceDetailsSearchCriteria: invoiceDetailsSearchCriteria });\r\n } \r\n \r\n export function getInvoiceDetailsAsync(context: IContext, invoiceDetailsSearchCriteria?: InvoiceDetailsSearchCriteria | null):AsyncResult {\r\n const request = createGetInvoiceDetailsInput(invoiceDetailsSearchCriteria);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetInvoicedSalesLinesBySalesIdsInput(queryResultSettings: IQueryResultSettings, salesIds?: string[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetInvoicedSalesLinesBySalesIds', true, SalesLineClass, 'true', {bypassCache: 'none', returnEntity: 'SalesLine'}, {salesIds: salesIds });\r\n } \r\n \r\n export function getInvoicedSalesLinesBySalesIdsAsync(context: IContext, salesIds?: string[] | null):AsyncResult {\r\n const request = createGetInvoicedSalesLinesBySalesIdsInput(context.queryResultSettings, salesIds);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCreatePickingListInput(salesId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('CreatePickingList', true, '', '', {bypassCache: 'get', returnEntity: ''}, {salesId: salesId });\r\n } \r\n \r\n export function createPickingListAsync(context: IContext, salesId?: string | null):AsyncResult {\r\n const request = createCreatePickingListInput(salesId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCreatePickingListForItemsInput(salesId?: string | null, pickAndPackSalesLineParameters?: PickAndPackSalesLineParameter[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('CreatePickingListForItems', true, '', 'false', {bypassCache: 'get', returnEntity: ''}, {salesId: salesId, pickAndPackSalesLineParameters: pickAndPackSalesLineParameters });\r\n } \r\n \r\n export function createPickingListForItemsAsync(context: IContext, salesId?: string | null, pickAndPackSalesLineParameters?: PickAndPackSalesLineParameter[] | null):AsyncResult {\r\n const request = createCreatePickingListForItemsInput(salesId, pickAndPackSalesLineParameters);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPickingListsInput(queryResultSettings: IQueryResultSettings, id: string, ): IDataServiceRequest { \r\n const query = salesOrdersQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetPickingLists', false, PickingListClass, 'true', {bypassCache: 'none', returnEntity: 'PickingList'}, { });\r\n } \r\n \r\n export function getPickingListsAsync(context: IContext, id: string):AsyncResult {\r\n const request = createGetPickingListsInput(context.queryResultSettings, id);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCreatePackingSlipInput(salesId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('CreatePackingSlip', true, '', '', {bypassCache: 'get', returnEntity: ''}, {salesId: salesId });\r\n } \r\n \r\n export function createPackingSlipAsync(context: IContext, salesId?: string | null):AsyncResult {\r\n const request = createCreatePackingSlipInput(salesId);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetFulfillmentLineUserAlertsInput(queryResultSettings: IQueryResultSettings, fulfillmentLineParameter: FulfillmentLineParameter[] | null, fulfillmentOperation: number): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFulfillmentLineUserAlerts', true, FulfillmentLineUserAlertsClass, 'true', {bypassCache: 'none', returnEntity: 'FulfillmentLineUserAlerts'}, {FulfillmentLineParameter: fulfillmentLineParameter, FulfillmentOperation: fulfillmentOperation });\r\n } \r\n \r\n export function getFulfillmentLineUserAlertsAsync(context: IContext, fulfillmentLineParameter: FulfillmentLineParameter[] | null, fulfillmentOperation: number):AsyncResult {\r\n const request = createGetFulfillmentLineUserAlertsInput(context.queryResultSettings, fulfillmentLineParameter, fulfillmentOperation);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createCheckInForOrderPickupInput(channelId: number, packingSlipId?: string | null, channelReferenceId?: string | null, extensionProperties?: CommerceProperty[] | null): IDataServiceRequest { \r\n const query = salesOrdersQuery();\r\n return query.createDataServiceRequestForOperation('CheckInForOrderPickup', true, CheckInForOrderPickupConfirmationClass, 'false', {bypassCache: 'get', returnEntity: 'CheckInForOrderPickupConfirmation'}, {channelId: channelId, PackingSlipId: packingSlipId, channelReferenceId: channelReferenceId, extensionProperties: extensionProperties });\r\n } \r\n \r\n export function checkInForOrderPickupAsync(context: IContext, channelId: number, packingSlipId?: string | null, channelReferenceId?: string | null, extensionProperties?: CommerceProperty[] | null):AsyncResult {\r\n const request = createCheckInForOrderPickupInput(channelId, packingSlipId, channelReferenceId, extensionProperties);\r\n return executeAction(request, context);\r\n } \r\n \r\n export function createGetPackingSlipsDataInput(queryResultSettings: IQueryResultSettings, salesId?: string | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetPackingSlipsData', false, PackingSlipDataClass, 'true', {bypassCache: 'none', returnEntity: 'PackingSlipData'}, {salesId: salesId });\r\n } \r\n \r\n export function getPackingSlipsDataAsync(context: IContext, salesId?: string | null):AsyncResult {\r\n const request = createGetPackingSlipsDataInput(context.queryResultSettings, salesId);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { ScanResult } from '../Entities/CommerceTypes.g';\r\n import { ScanResultClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function scanResultsQuery(scannedText?: string): DataServiceQuery {\r\n var key = (scannedText) ? { ScannedText: scannedText } : null;\r\n return new DataServiceQuery(\"ScanResults\", \"ScanResult\", ScanResultClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: ScanResult): IDataServiceRequest {\r\n return scanResultsQuery().create(entity);\r\n }\r\n\r\n export function createScanResultAsync(context: IContext, entity: ScanResult): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: ScanResult): IDataServiceRequest {\r\n return scanResultsQuery(entity.ScannedText).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: ScanResult): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: ScanResult): IDataServiceRequest {\r\n return scanResultsQuery(entity.ScannedText).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: ScanResult): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(scannedText: string): IDataServiceRequest {\r\n return scanResultsQuery(scannedText).read();\r\n }\r\n\r\n export function readAsync(context: IContext, scannedText: string): AsyncResult {\r\n const request = createReadAsync(scannedText);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return scanResultsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n ","\r\n // \r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { DeliveryOption, Affiliation, ReasonCodeLine, DiscountsSearchCriteria, Promotion, PaymentMerchantInformation, StoreSafe, ShiftReconciliationLineRetrievalCriteria, ShiftReconciliationLine, ReceiptMask, SearchSuggestionCriteria, SearchSuggestion, DeviceActivationResult, CreateHardwareStationTokenResult, ValidateHardwareStationTokenResult, Barcode, ButtonGrid, GetButtonGridsByIdsCriteria, MediaBlob, CardTypeInfo, CityInfo, CountryRegionInfo, OnlineChannel, CountyInfo, CreditMemo, TerminalDataDownloadRequestInfo, DataDownloadParameters, TerminalDataUploadRequestInfo, DataUploadParameters, DownloadSession, OfflineTerminalState, NumberSequenceSeedData, ReceiptNumberResetInfo, LoyaltyRewardPointActivity, CurrencyRequest, CurrencyAmount, DiscountCode, DistrictInfo, HardwareStationProfile, HardwareProfile, LocalizedString, OperationPermission, ReasonCode, CommerceProperty, ReportDataSet, IncomeExpenseAccount, StateProvinceInfo, ZipCodeInfo, KitTransaction, LoyaltyCard, LoyaltyCardTransaction, TransactionSearchCriteria, Transaction, GiftCard, NonSalesTransaction, DropAndDeclareTransaction, TaxOverride, CustomerBalances, NameValuePair, LinkToExistingCustomerResult, OfflineSyncStatsLine, StorageAccessToken, Framework, TaskGuidesSearchResult, Recording, AttributeDefinitionCriteria, AttributeDefinition, AttributeGroupDefinitionCriteria, AttributeGroupDefinition, FiscalTransaction, SalesOrder, AuditEvent, InventoryAvailableToPromise, NotificationItem, FiscalIntegrationDocumentRetrievalCriteria, FiscalIntegrationDocument, FiscalIntegrationRegistrationResult, FiscalIntegrationRegistrationProcess, FiscalIntegrationSupportedEvents, FiscalIntegrationTechnicalProfile, FiscalIntegrationTechnicalProfileSearchCriteria, FiscalIntegrationServiceInfo, FiscalIntegrationServiceStatus, FiscalIntegrationServiceCommunicationResult, FeatureState, FiscalIntegrationSequentialSignatureData, PickupTimeslotAvailabilitySearchCriteria, PickupTimeslotAvailability, OperationalInsightsConfiguration, CashDeclaration, CustomerGroup, ChannelDeliveryOptionConfiguration, ChannelIdentity, ChannelSearchCriteria, EnvironmentConfiguration, SearchConfiguration, ExtensionPackageDefinition, ExtensionProfile, DeviceConfiguration, VisualProfile, SupportedLanguage, SalesTaxGroup, TenderType, UnitOfMeasure, Currency, CommissionSalesGroup, ChannelInventoryConfiguration, ChannelPurchaseConfiguration, InventoryJournalNameSearchCriteria, InventoryJournalName, Device, UserDefinedSecretCertificateResult, ExtensibleEnumerationContainer, AddressPurpose, ReturnPolicy, EmailReceiptSettings, } from '../Entities/CommerceTypes.g';\r\n import { ReceiptMaskClass, DeliveryOptionClass, AffiliationClass, PromotionClass, PaymentMerchantInformationClass, StoreSafeClass, ShiftReconciliationLineClass, SearchSuggestionClass, DeviceActivationResultClass, CreateHardwareStationTokenResultClass, ValidateHardwareStationTokenResultClass, BarcodeClass, ButtonGridClass, MediaBlobClass, CardTypeInfoClass, CityInfoClass, CountryRegionInfoClass, OnlineChannelClass, CountyInfoClass, CreditMemoClass, DataDownloadParametersClass, DataUploadParametersClass, DownloadSessionClass, NumberSequenceSeedDataClass, ReceiptNumberResetInfoClass, LoyaltyRewardPointActivityClass, CurrencyAmountClass, DiscountCodeClass, DistrictInfoClass, HardwareStationProfileClass, HardwareProfileClass, LocalizedStringClass, OperationPermissionClass, ReasonCodeClass, ReportDataSetClass, IncomeExpenseAccountClass, StateProvinceInfoClass, ZipCodeInfoClass, KitTransactionClass, LoyaltyCardClass, LoyaltyCardTransactionClass, TransactionClass, GiftCardClass, NonSalesTransactionClass, DropAndDeclareTransactionClass, TaxOverrideClass, CustomerBalancesClass, LinkToExistingCustomerResultClass, OfflineSyncStatsLineClass, StorageAccessTokenClass, FrameworkClass, TaskGuidesSearchResultClass, RecordingClass, AttributeDefinitionClass, AttributeGroupDefinitionClass, AuditEventClass, InventoryAvailableToPromiseClass, SalesOrderClass, NotificationItemClass, FiscalIntegrationDocumentClass, FiscalIntegrationRegistrationProcessClass, FiscalIntegrationSupportedEventsClass, FiscalIntegrationTechnicalProfileClass, FiscalIntegrationServiceStatusClass, FiscalIntegrationServiceCommunicationResultClass, FeatureStateClass, FiscalIntegrationSequentialSignatureDataClass, FiscalTransactionClass, PickupTimeslotAvailabilityClass, OperationalInsightsConfigurationClass, CashDeclarationClass, CustomerGroupClass, ChannelDeliveryOptionConfigurationClass, ChannelIdentityClass, EnvironmentConfigurationClass, SearchConfigurationClass, ExtensionPackageDefinitionClass, ExtensionProfileClass, DeviceConfigurationClass, VisualProfileClass, SupportedLanguageClass, SalesTaxGroupClass, TenderTypeClass, UnitOfMeasureClass, CurrencyClass, CommissionSalesGroupClass, ChannelInventoryConfigurationClass, ChannelPurchaseConfigurationClass, InventoryJournalNameClass, DeviceClass, UserDefinedSecretCertificateResultClass, ExtensibleEnumerationContainerClass, AddressPurposeClass, ReturnPolicyClass, EmailReceiptSettingsClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n function storeQuery(): DataServiceQuery {\r\n return new DataServiceQuery();\r\n }\r\n \r\n export function createGetDeliveryOptionsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDeliveryOptions', false, DeliveryOptionClass, 'true', { bypassCache: 'none', returnEntity: 'DeliveryOption'}, { });\r\n }\r\n\r\n export function getDeliveryOptionsAsync(context: IContext):AsyncResult {\r\n const request = createGetDeliveryOptionsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createRoundAmountByTenderTypeInput(amount: number, tenderTypeId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('RoundAmountByTenderType', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {amount: amount, tenderTypeId: tenderTypeId });\r\n }\r\n\r\n export function roundAmountByTenderTypeAsync(context: IContext, amount: number, tenderTypeId?: string | null):AsyncResult {\r\n const request = createRoundAmountByTenderTypeInput(amount, tenderTypeId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAffiliationsByNameInput(queryResultSettings: IQueryResultSettings, affiliationNames?: string[] | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAffiliationsByName', true, AffiliationClass, 'true', { bypassCache: 'none', returnEntity: 'Affiliation'}, {affiliationNames: affiliationNames });\r\n }\r\n\r\n export function getAffiliationsByNameAsync(context: IContext, affiliationNames?: string[] | null):AsyncResult {\r\n const request = createGetAffiliationsByNameInput(context.queryResultSettings, affiliationNames);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createVoidSuspendedTransactionsInput(suspendedCartIds?: string[] | null, shiftId?: number | null, shiftTerminalId?: string | null, reasonCodeLines?: ReasonCodeLine[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('VoidSuspendedTransactions', true, '', '', { bypassCache: 'get', returnEntity: ''}, {suspendedCartIds: suspendedCartIds, shiftId: shiftId, shiftTerminalId: shiftTerminalId, reasonCodeLines: reasonCodeLines });\r\n }\r\n\r\n export function voidSuspendedTransactionsAsync(context: IContext, suspendedCartIds?: string[] | null, shiftId?: number | null, shiftTerminalId?: string | null, reasonCodeLines?: ReasonCodeLine[] | null):AsyncResult {\r\n const request = createVoidSuspendedTransactionsInput(suspendedCartIds, shiftId, shiftTerminalId, reasonCodeLines);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAvailablePromotionsInput(queryResultSettings: IQueryResultSettings, searchCriteria?: DiscountsSearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAvailablePromotions', true, PromotionClass, 'true', { bypassCache: 'none', returnEntity: 'Promotion'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function getAvailablePromotionsAsync(context: IContext, searchCriteria?: DiscountsSearchCriteria | null):AsyncResult {\r\n const request = createGetAvailablePromotionsInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetMerchantPropertiesByServiceAccountIdInput(queryResultSettings: IQueryResultSettings, serviceAccountIds?: string[] | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetMerchantPropertiesByServiceAccountId', true, PaymentMerchantInformationClass, 'true', { bypassCache: 'none', returnEntity: 'PaymentMerchantInformation'}, {serviceAccountIds: serviceAccountIds });\r\n }\r\n\r\n export function getMerchantPropertiesByServiceAccountIdAsync(context: IContext, serviceAccountIds?: string[] | null):AsyncResult {\r\n const request = createGetMerchantPropertiesByServiceAccountIdInput(context.queryResultSettings, serviceAccountIds);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetStoreSafesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetStoreSafes', true, StoreSafeClass, 'true', { bypassCache: 'none', returnEntity: 'StoreSafe'}, { });\r\n }\r\n\r\n export function getStoreSafesAsync(context: IContext):AsyncResult {\r\n const request = createGetStoreSafesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetShiftReconciliationLinesInput(queryResultSettings: IQueryResultSettings, shiftReconciliationLineRetrievalCriteria?: ShiftReconciliationLineRetrievalCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetShiftReconciliationLines', true, ShiftReconciliationLineClass, 'true', { bypassCache: 'none', returnEntity: 'ShiftReconciliationLine'}, {shiftReconciliationLineRetrievalCriteria: shiftReconciliationLineRetrievalCriteria });\r\n }\r\n\r\n export function getShiftReconciliationLinesAsync(context: IContext, shiftReconciliationLineRetrievalCriteria?: ShiftReconciliationLineRetrievalCriteria | null):AsyncResult {\r\n const request = createGetShiftReconciliationLinesInput(context.queryResultSettings, shiftReconciliationLineRetrievalCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createReconcileLinesInput(shiftReconciliationLines?: ShiftReconciliationLine[] | null, description?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('ReconcileLines', true, '', '', { bypassCache: 'get', returnEntity: ''}, {shiftReconciliationLines: shiftReconciliationLines, Description: description });\r\n }\r\n\r\n export function reconcileLinesAsync(context: IContext, shiftReconciliationLines?: ShiftReconciliationLine[] | null, description?: string | null):AsyncResult {\r\n const request = createReconcileLinesInput(shiftReconciliationLines, description);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createUndoReconciliationInput(shiftReconciliationLines?: ShiftReconciliationLine[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('UndoReconciliation', true, '', '', { bypassCache: 'get', returnEntity: ''}, {shiftReconciliationLines: shiftReconciliationLines });\r\n }\r\n\r\n export function undoReconciliationAsync(context: IContext, shiftReconciliationLines?: ShiftReconciliationLine[] | null):AsyncResult {\r\n const request = createUndoReconciliationInput(shiftReconciliationLines);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReceiptMasksInput(queryResultSettings: IQueryResultSettings, receiptTransactionType?: number | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReceiptMasks', true, ReceiptMaskClass, 'true', { bypassCache: 'none', returnEntity: 'ReceiptMask'}, {receiptTransactionType: receiptTransactionType });\r\n }\r\n\r\n export function getReceiptMasksAsync(context: IContext, receiptTransactionType?: number | null):AsyncResult {\r\n const request = createGetReceiptMasksInput(context.queryResultSettings, receiptTransactionType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetSearchSuggestionsInput(queryResultSettings: IQueryResultSettings, searchSuggestionCriteria?: SearchSuggestionCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSearchSuggestions', true, SearchSuggestionClass, 'true', { bypassCache: 'none', returnEntity: 'SearchSuggestion'}, {searchSuggestionCriteria: searchSuggestionCriteria });\r\n }\r\n\r\n export function getSearchSuggestionsAsync(context: IContext, searchSuggestionCriteria?: SearchSuggestionCriteria | null):AsyncResult {\r\n const request = createGetSearchSuggestionsInput(context.queryResultSettings, searchSuggestionCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createStartSessionInput(transactionId: string | null, overrideSession: boolean): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('StartSession', true, '', '', { bypassCache: 'get', returnEntity: ''}, {transactionId: transactionId, overrideSession: overrideSession });\r\n }\r\n\r\n export function startSessionAsync(context: IContext, transactionId: string | null, overrideSession: boolean):AsyncResult {\r\n const request = createStartSessionInput(transactionId, overrideSession);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createEndSessionInput(transactionId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('EndSession', true, '', '', { bypassCache: 'get', returnEntity: ''}, {transactionId: transactionId });\r\n }\r\n\r\n export function endSessionAsync(context: IContext, transactionId?: string | null):AsyncResult {\r\n const request = createEndSessionInput(transactionId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createActivateDeviceInput(deviceNumber: string | null, terminalId: string | null, deviceId: string | null, forceActivate: boolean, deviceType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('ActivateDevice', true, DeviceActivationResultClass, 'false', { bypassCache: 'get', returnEntity: 'DeviceActivationResult'}, {deviceNumber: deviceNumber, terminalId: terminalId, deviceId: deviceId, forceActivate: forceActivate, deviceType: deviceType });\r\n }\r\n\r\n export function activateDeviceAsync(context: IContext, deviceNumber: string | null, terminalId: string | null, deviceId: string | null, forceActivate: boolean, deviceType?: number | null):AsyncResult {\r\n const request = createActivateDeviceInput(deviceNumber, terminalId, deviceId, forceActivate, deviceType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createMassActivateDeviceInput(deviceNumber?: string | null, terminalId?: string | null, deviceId?: string | null, deviceType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('MassActivateDevice', true, DeviceActivationResultClass, 'false', { bypassCache: 'get', returnEntity: 'DeviceActivationResult'}, {deviceNumber: deviceNumber, terminalId: terminalId, deviceId: deviceId, deviceType: deviceType });\r\n }\r\n\r\n export function massActivateDeviceAsync(context: IContext, deviceNumber?: string | null, terminalId?: string | null, deviceId?: string | null, deviceType?: number | null):AsyncResult {\r\n const request = createMassActivateDeviceInput(deviceNumber, terminalId, deviceId, deviceType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createDeactivateDeviceInput(transactionId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('DeactivateDevice', true, '', '', { bypassCache: 'get', returnEntity: ''}, {transactionId: transactionId });\r\n }\r\n\r\n export function deactivateDeviceAsync(context: IContext, transactionId?: string | null):AsyncResult {\r\n const request = createDeactivateDeviceInput(transactionId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createCreateHardwareStationTokenInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CreateHardwareStationToken', true, CreateHardwareStationTokenResultClass, 'false', { bypassCache: 'get', returnEntity: 'CreateHardwareStationTokenResult'}, { });\r\n }\r\n\r\n export function createHardwareStationTokenAsync(context: IContext):AsyncResult {\r\n const request = createCreateHardwareStationTokenInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createValidateHardwareStationTokenInput(deviceNumber?: string | null, hardwareStationToken?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('ValidateHardwareStationToken', true, ValidateHardwareStationTokenResultClass, 'false', { bypassCache: 'get', returnEntity: 'ValidateHardwareStationTokenResult'}, {deviceNumber: deviceNumber, hardwareStationToken: hardwareStationToken });\r\n }\r\n\r\n export function validateHardwareStationTokenAsync(context: IContext, deviceNumber?: string | null, hardwareStationToken?: string | null):AsyncResult {\r\n const request = createValidateHardwareStationTokenInput(deviceNumber, hardwareStationToken);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetBarcodeByIdInput(barcodeId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetBarcodeById', true, BarcodeClass, 'false', { bypassCache: 'none', returnEntity: 'Barcode'}, {barcodeId: barcodeId });\r\n }\r\n\r\n export function getBarcodeByIdAsync(context: IContext, barcodeId?: string | null):AsyncResult {\r\n const request = createGetBarcodeByIdInput(barcodeId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetButtonGridByIdInput(buttonGridId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetButtonGridById', true, ButtonGridClass, 'false', { bypassCache: 'none', returnEntity: 'ButtonGrid'}, {buttonGridId: buttonGridId });\r\n }\r\n\r\n export function getButtonGridByIdAsync(context: IContext, buttonGridId?: string | null):AsyncResult {\r\n const request = createGetButtonGridByIdInput(buttonGridId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetButtonGridsWithoutImageInput(queryResultSettings: IQueryResultSettings, height: number, width: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetButtonGridsWithoutImage', true, ButtonGridClass, 'true', { bypassCache: 'none', returnEntity: 'ButtonGrid'}, {height: height, width: width });\r\n }\r\n\r\n export function getButtonGridsWithoutImageAsync(context: IContext, height: number, width: number):AsyncResult {\r\n const request = createGetButtonGridsWithoutImageInput(context.queryResultSettings, height, width);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetButtonGridsByIdsInput(queryResultSettings: IQueryResultSettings, getButtonGridsByIdsCriteria?: GetButtonGridsByIdsCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetButtonGridsByIds', true, ButtonGridClass, 'true', { bypassCache: 'none', returnEntity: 'ButtonGrid'}, {getButtonGridsByIdsCriteria: getButtonGridsByIdsCriteria });\r\n }\r\n\r\n export function getButtonGridsByIdsAsync(context: IContext, getButtonGridsByIdsCriteria?: GetButtonGridsByIdsCriteria | null):AsyncResult {\r\n const request = createGetButtonGridsByIdsInput(context.queryResultSettings, getButtonGridsByIdsCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetImageBlobsByPictureIdsInput(queryResultSettings: IQueryResultSettings, pictureIds: number[]): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetImageBlobsByPictureIds', true, MediaBlobClass, 'true', { bypassCache: 'none', returnEntity: 'MediaBlob'}, {pictureIds: pictureIds });\r\n }\r\n\r\n export function getImageBlobsByPictureIdsAsync(context: IContext, pictureIds: number[]):AsyncResult {\r\n const request = createGetImageBlobsByPictureIdsInput(context.queryResultSettings, pictureIds);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCardTypesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCardTypes', true, CardTypeInfoClass, 'true', { bypassCache: 'none', returnEntity: 'CardTypeInfo'}, { });\r\n }\r\n\r\n export function getCardTypesAsync(context: IContext):AsyncResult {\r\n const request = createGetCardTypesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createResolveCardTypesInput(queryResultSettings: IQueryResultSettings, cardNumberPrefix?: string | null, cardType?: number | null, paymentToken?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('ResolveCardTypes', true, CardTypeInfoClass, 'true', { bypassCache: 'get', returnEntity: 'CardTypeInfo'}, {cardNumberPrefix: cardNumberPrefix, cardType: cardType, paymentToken: paymentToken });\r\n }\r\n\r\n export function resolveCardTypesAsync(context: IContext, cardNumberPrefix?: string | null, cardType?: number | null, paymentToken?: string | null):AsyncResult {\r\n const request = createResolveCardTypesInput(context.queryResultSettings, cardNumberPrefix, cardType, paymentToken);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetSupportedPaymentCardTypesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSupportedPaymentCardTypes', true, '', 'true', { bypassCache: 'none', returnEntity: ''}, { });\r\n }\r\n\r\n export function getSupportedPaymentCardTypesAsync(context: IContext):AsyncResult {\r\n const request = createGetSupportedPaymentCardTypesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCitiesInput(queryResultSettings: IQueryResultSettings, countryRegionId?: string | null, stateProvinceId?: string | null, countyId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCities', true, CityInfoClass, 'true', { bypassCache: 'none', returnEntity: 'CityInfo'}, {countryRegionId: countryRegionId, stateProvinceId: stateProvinceId, countyId: countyId });\r\n }\r\n\r\n export function getCitiesAsync(context: IContext, countryRegionId?: string | null, stateProvinceId?: string | null, countyId?: string | null):AsyncResult {\r\n const request = createGetCitiesInput(context.queryResultSettings, countryRegionId, stateProvinceId, countyId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCountryRegionsForShippingInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCountryRegionsForShipping', false, CountryRegionInfoClass, 'true', { bypassCache: 'none', returnEntity: 'CountryRegionInfo'}, { });\r\n }\r\n\r\n export function getCountryRegionsForShippingAsync(context: IContext):AsyncResult {\r\n const request = createGetCountryRegionsForShippingInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCountryRegionsByLanguageIdInput(queryResultSettings: IQueryResultSettings, languageId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCountryRegionsByLanguageId', true, CountryRegionInfoClass, 'true', { bypassCache: 'none', returnEntity: 'CountryRegionInfo'}, {languageId: languageId });\r\n }\r\n\r\n export function getCountryRegionsByLanguageIdAsync(context: IContext, languageId?: string | null):AsyncResult {\r\n const request = createGetCountryRegionsByLanguageIdInput(context.queryResultSettings, languageId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOnlineChannelInput(channelId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetOnlineChannel', false, OnlineChannelClass, 'false', { bypassCache: 'none', returnEntity: 'OnlineChannel'}, {channelId: channelId });\r\n }\r\n\r\n export function getOnlineChannelAsync(context: IContext, channelId: number):AsyncResult {\r\n const request = createGetOnlineChannelInput(channelId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCountiesInput(queryResultSettings: IQueryResultSettings, countryRegionId?: string | null, stateProvinceId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCounties', true, CountyInfoClass, 'true', { bypassCache: 'none', returnEntity: 'CountyInfo'}, {countryRegionId: countryRegionId, stateProvinceId: stateProvinceId });\r\n }\r\n\r\n export function getCountiesAsync(context: IContext, countryRegionId?: string | null, stateProvinceId?: string | null):AsyncResult {\r\n const request = createGetCountiesInput(context.queryResultSettings, countryRegionId, stateProvinceId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCreditMemoByIdInput(creditMemoId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetCreditMemoById', true, CreditMemoClass, 'false', { bypassCache: 'none', returnEntity: 'CreditMemo'}, {creditMemoId: creditMemoId });\r\n }\r\n\r\n export function getCreditMemoByIdAsync(context: IContext, creditMemoId?: string | null):AsyncResult {\r\n const request = createGetCreditMemoByIdInput(creditMemoId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDownloadIntervalInput(dataStoreName?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetDownloadInterval', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, {dataStoreName: dataStoreName });\r\n }\r\n\r\n export function getDownloadIntervalAsync(context: IContext, dataStoreName?: string | null):AsyncResult {\r\n const request = createGetDownloadIntervalInput(dataStoreName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetTerminalDataStoreNameInput(terminalId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetTerminalDataStoreName', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, {terminalId: terminalId });\r\n }\r\n\r\n export function getTerminalDataStoreNameAsync(context: IContext, terminalId?: string | null):AsyncResult {\r\n const request = createGetTerminalDataStoreNameInput(terminalId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDownloadLinkInput(dataStoreName: string | null, downloadSessionId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetDownloadLink', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, {dataStoreName: dataStoreName, downloadSessionId: downloadSessionId });\r\n }\r\n\r\n export function getDownloadLinkAsync(context: IContext, dataStoreName: string | null, downloadSessionId: number):AsyncResult {\r\n const request = createGetDownloadLinkInput(dataStoreName, downloadSessionId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDataDownloadParametersByTerminalInput(terminalDataDownloadRequestInfo?: TerminalDataDownloadRequestInfo | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetDataDownloadParametersByTerminal', true, DataDownloadParametersClass, 'false', { bypassCache: 'none', returnEntity: 'DataDownloadParameters'}, {TerminalDataDownloadRequestInfo: terminalDataDownloadRequestInfo });\r\n }\r\n\r\n export function getDataDownloadParametersByTerminalAsync(context: IContext, terminalDataDownloadRequestInfo?: TerminalDataDownloadRequestInfo | null):AsyncResult {\r\n const request = createGetDataDownloadParametersByTerminalInput(terminalDataDownloadRequestInfo);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDataUploadParametersByTerminalInput(terminalDataUploadRequestInfo?: TerminalDataUploadRequestInfo | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetDataUploadParametersByTerminal', true, DataUploadParametersClass, 'false', { bypassCache: 'none', returnEntity: 'DataUploadParameters'}, {TerminalDataUploadRequestInfo: terminalDataUploadRequestInfo });\r\n }\r\n\r\n export function getDataUploadParametersByTerminalAsync(context: IContext, terminalDataUploadRequestInfo?: TerminalDataUploadRequestInfo | null):AsyncResult {\r\n const request = createGetDataUploadParametersByTerminalInput(terminalDataUploadRequestInfo);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDownloadSessionsInput(queryResultSettings: IQueryResultSettings, dataStoreName?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDownloadSessions', true, DownloadSessionClass, 'true', { bypassCache: 'none', returnEntity: 'DownloadSession'}, {dataStoreName: dataStoreName });\r\n }\r\n\r\n export function getDownloadSessionsAsync(context: IContext, dataStoreName?: string | null):AsyncResult {\r\n const request = createGetDownloadSessionsInput(context.queryResultSettings, dataStoreName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetInitialDownloadSessionsInput(queryResultSettings: IQueryResultSettings, dataStoreName?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetInitialDownloadSessions', true, DownloadSessionClass, 'true', { bypassCache: 'none', returnEntity: 'DownloadSession'}, {dataStoreName: dataStoreName });\r\n }\r\n\r\n export function getInitialDownloadSessionsAsync(context: IContext, dataStoreName?: string | null):AsyncResult {\r\n const request = createGetInitialDownloadSessionsInput(context.queryResultSettings, dataStoreName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetUploadJobDefinitionsInput(queryResultSettings: IQueryResultSettings, dataStoreName?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetUploadJobDefinitions', true, '', 'true', { bypassCache: 'none', returnEntity: ''}, {dataStoreName: dataStoreName });\r\n }\r\n\r\n export function getUploadJobDefinitionsAsync(context: IContext, dataStoreName?: string | null):AsyncResult {\r\n const request = createGetUploadJobDefinitionsInput(context.queryResultSettings, dataStoreName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetUploadIntervalInput(dataStoreName?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetUploadInterval', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, {dataStoreName: dataStoreName });\r\n }\r\n\r\n export function getUploadIntervalAsync(context: IContext, dataStoreName?: string | null):AsyncResult {\r\n const request = createGetUploadIntervalInput(dataStoreName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createPostOfflineTransactionsInput(offlineTransactionForMPOS?: string[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('PostOfflineTransactions', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {offlineTransactionForMPOS: offlineTransactionForMPOS });\r\n }\r\n\r\n export function postOfflineTransactionsAsync(context: IContext, offlineTransactionForMPOS?: string[] | null):AsyncResult {\r\n const request = createPostOfflineTransactionsInput(offlineTransactionForMPOS);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSetOfflineTerminalStateInput(offlineTerminalState?: OfflineTerminalState | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('SetOfflineTerminalState', true, '', '', { bypassCache: 'get', returnEntity: ''}, {offlineTerminalState: offlineTerminalState });\r\n }\r\n\r\n export function setOfflineTerminalStateAsync(context: IContext, offlineTerminalState?: OfflineTerminalState | null):AsyncResult {\r\n const request = createSetOfflineTerminalStateInput(offlineTerminalState);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetRetailTrialPlanOfferInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetRetailTrialPlanOffer', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, { });\r\n }\r\n\r\n export function getRetailTrialPlanOfferAsync(context: IContext):AsyncResult {\r\n const request = createGetRetailTrialPlanOfferInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLatestNumberSequenceInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLatestNumberSequence', true, NumberSequenceSeedDataClass, 'true', { bypassCache: 'none', returnEntity: 'NumberSequenceSeedData'}, { });\r\n }\r\n\r\n export function getLatestNumberSequenceAsync(context: IContext):AsyncResult {\r\n const request = createGetLatestNumberSequenceInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReceiptNumberResetInfoInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReceiptNumberResetInfo', true, ReceiptNumberResetInfoClass, 'true', { bypassCache: 'none', returnEntity: 'ReceiptNumberResetInfo'}, { });\r\n }\r\n\r\n export function getReceiptNumberResetInfoAsync(context: IContext):AsyncResult {\r\n const request = createGetReceiptNumberResetInfoInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLoyaltyRewardPointActivityTimelineInput(queryResultSettings: IQueryResultSettings, cardNumber?: string | null, rewardPointId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLoyaltyRewardPointActivityTimeline', true, LoyaltyRewardPointActivityClass, 'true', { bypassCache: 'none', returnEntity: 'LoyaltyRewardPointActivity'}, {cardNumber: cardNumber, rewardPointId: rewardPointId });\r\n }\r\n\r\n export function getLoyaltyRewardPointActivityTimelineAsync(context: IContext, cardNumber?: string | null, rewardPointId?: string | null):AsyncResult {\r\n const request = createGetLoyaltyRewardPointActivityTimelineInput(context.queryResultSettings, cardNumber, rewardPointId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLoyaltyRewardPointActivityTimelineForExpiredPointsInput(queryResultSettings: IQueryResultSettings, cardNumber?: string | null, rewardPointId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLoyaltyRewardPointActivityTimelineForExpiredPoints', true, LoyaltyRewardPointActivityClass, 'true', { bypassCache: 'none', returnEntity: 'LoyaltyRewardPointActivity'}, {cardNumber: cardNumber, rewardPointId: rewardPointId });\r\n }\r\n\r\n export function getLoyaltyRewardPointActivityTimelineForExpiredPointsAsync(context: IContext, cardNumber?: string | null, rewardPointId?: string | null):AsyncResult {\r\n const request = createGetLoyaltyRewardPointActivityTimelineForExpiredPointsInput(context.queryResultSettings, cardNumber, rewardPointId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createCalculateTotalCurrencyAmountInput(currenciesAmount?: CurrencyRequest[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CalculateTotalCurrencyAmount', true, CurrencyAmountClass, 'false', { bypassCache: 'get', returnEntity: 'CurrencyAmount'}, {currenciesAmount: currenciesAmount });\r\n }\r\n\r\n export function calculateTotalCurrencyAmountAsync(context: IContext, currenciesAmount?: CurrencyRequest[] | null):AsyncResult {\r\n const request = createCalculateTotalCurrencyAmountInput(currenciesAmount);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDiscountCodeInput(discountCode?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetDiscountCode', true, DiscountCodeClass, 'false', { bypassCache: 'none', returnEntity: 'DiscountCode'}, {discountCode: discountCode });\r\n }\r\n\r\n export function getDiscountCodeAsync(context: IContext, discountCode?: string | null):AsyncResult {\r\n const request = createGetDiscountCodeInput(discountCode);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDiscountCodesByOfferIdInput(queryResultSettings: IQueryResultSettings, offerId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDiscountCodesByOfferId', true, DiscountCodeClass, 'true', { bypassCache: 'none', returnEntity: 'DiscountCode'}, {offerId: offerId });\r\n }\r\n\r\n export function getDiscountCodesByOfferIdAsync(context: IContext, offerId?: string | null):AsyncResult {\r\n const request = createGetDiscountCodesByOfferIdInput(context.queryResultSettings, offerId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDiscountCodesByKeywordInput(queryResultSettings: IQueryResultSettings, keyword: string | null, activeDate: Date): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDiscountCodesByKeyword', true, DiscountCodeClass, 'true', { bypassCache: 'none', returnEntity: 'DiscountCode'}, {keyword: keyword, activeDate: activeDate });\r\n }\r\n\r\n export function getDiscountCodesByKeywordAsync(context: IContext, keyword: string | null, activeDate: Date):AsyncResult {\r\n const request = createGetDiscountCodesByKeywordInput(context.queryResultSettings, keyword, activeDate);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDistrictsInput(queryResultSettings: IQueryResultSettings, countryRegionId?: string | null, stateProvinceId?: string | null, countyId?: string | null, cityName?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDistricts', true, DistrictInfoClass, 'true', { bypassCache: 'none', returnEntity: 'DistrictInfo'}, {countryRegionId: countryRegionId, stateProvinceId: stateProvinceId, countyId: countyId, cityName: cityName });\r\n }\r\n\r\n export function getDistrictsAsync(context: IContext, countryRegionId?: string | null, stateProvinceId?: string | null, countyId?: string | null, cityName?: string | null):AsyncResult {\r\n const request = createGetDistrictsInput(context.queryResultSettings, countryRegionId, stateProvinceId, countyId, cityName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetHardwareStationProfilesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetHardwareStationProfiles', true, HardwareStationProfileClass, 'true', { bypassCache: 'none', returnEntity: 'HardwareStationProfile'}, { });\r\n }\r\n\r\n export function getHardwareStationProfilesAsync(context: IContext):AsyncResult {\r\n const request = createGetHardwareStationProfilesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetHardwareProfileByIdInput(hardwareProfileId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetHardwareProfileById', true, HardwareProfileClass, 'false', { bypassCache: 'none', returnEntity: 'HardwareProfile'}, {hardwareProfileId: hardwareProfileId });\r\n }\r\n\r\n export function getHardwareProfileByIdAsync(context: IContext, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetHardwareProfileByIdInput(hardwareProfileId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLocalizedStringsInput(queryResultSettings: IQueryResultSettings, languageId?: string | null, textId?: number | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLocalizedStrings', true, LocalizedStringClass, 'true', { bypassCache: 'none', returnEntity: 'LocalizedString'}, {languageId: languageId, textId: textId });\r\n }\r\n\r\n export function getLocalizedStringsAsync(context: IContext, languageId?: string | null, textId?: number | null):AsyncResult {\r\n const request = createGetLocalizedStringsInput(context.queryResultSettings, languageId, textId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOperationPermissionByIdInput(operationId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetOperationPermissionById', true, OperationPermissionClass, 'false', { bypassCache: 'none', returnEntity: 'OperationPermission'}, {operationId: operationId });\r\n }\r\n\r\n export function getOperationPermissionByIdAsync(context: IContext, operationId: number):AsyncResult {\r\n const request = createGetOperationPermissionByIdInput(operationId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReasonCodesByIdInput(queryResultSettings: IQueryResultSettings, reasonCodeGroupId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReasonCodesById', true, ReasonCodeClass, 'true', { bypassCache: 'none', returnEntity: 'ReasonCode'}, {reasonCodeGroupId: reasonCodeGroupId });\r\n }\r\n\r\n export function getReasonCodesByIdAsync(context: IContext, reasonCodeGroupId?: string | null):AsyncResult {\r\n const request = createGetReasonCodesByIdInput(context.queryResultSettings, reasonCodeGroupId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchReportDataSetInput(reportId?: string | null, parameters?: CommerceProperty[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('SearchReportDataSet', true, ReportDataSetClass, 'false', { bypassCache: 'none', returnEntity: 'ReportDataSet'}, {reportId: reportId, parameters: parameters });\r\n }\r\n\r\n export function searchReportDataSetAsync(context: IContext, reportId?: string | null, parameters?: CommerceProperty[] | null):AsyncResult {\r\n const request = createSearchReportDataSetInput(reportId, parameters);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReportDataSetByIdInput(reportId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetReportDataSetById', true, ReportDataSetClass, 'false', { bypassCache: 'none', returnEntity: 'ReportDataSet'}, {reportId: reportId });\r\n }\r\n\r\n export function getReportDataSetByIdAsync(context: IContext, reportId?: string | null):AsyncResult {\r\n const request = createGetReportDataSetByIdInput(reportId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetSrsReportDataSetInput(reportId?: string | null, parameters?: CommerceProperty[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetSrsReportDataSet', true, ReportDataSetClass, 'false', { bypassCache: 'none', returnEntity: 'ReportDataSet'}, {reportId: reportId, parameters: parameters });\r\n }\r\n\r\n export function getSrsReportDataSetAsync(context: IContext, reportId?: string | null, parameters?: CommerceProperty[] | null):AsyncResult {\r\n const request = createGetSrsReportDataSetInput(reportId, parameters);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetIncomeExpenseAccountsInput(queryResultSettings: IQueryResultSettings, incomeExpenseAccountType: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetIncomeExpenseAccounts', true, IncomeExpenseAccountClass, 'true', { bypassCache: 'none', returnEntity: 'IncomeExpenseAccount'}, {incomeExpenseAccountType: incomeExpenseAccountType });\r\n }\r\n\r\n export function getIncomeExpenseAccountsAsync(context: IContext, incomeExpenseAccountType: number):AsyncResult {\r\n const request = createGetIncomeExpenseAccountsInput(context.queryResultSettings, incomeExpenseAccountType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetStateProvincesInput(queryResultSettings: IQueryResultSettings, countryRegionId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetStateProvinces', true, StateProvinceInfoClass, 'true', { bypassCache: 'none', returnEntity: 'StateProvinceInfo'}, {countryRegionId: countryRegionId });\r\n }\r\n\r\n export function getStateProvincesAsync(context: IContext, countryRegionId?: string | null):AsyncResult {\r\n const request = createGetStateProvincesInput(context.queryResultSettings, countryRegionId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetZipCodesInput(queryResultSettings: IQueryResultSettings, countryRegionId?: string | null, stateProvinceId?: string | null, countyId?: string | null, cityName?: string | null, district?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetZipCodes', true, ZipCodeInfoClass, 'true', { bypassCache: 'none', returnEntity: 'ZipCodeInfo'}, {countryRegionId: countryRegionId, stateProvinceId: stateProvinceId, countyId: countyId, cityName: cityName, district: district });\r\n }\r\n\r\n export function getZipCodesAsync(context: IContext, countryRegionId?: string | null, stateProvinceId?: string | null, countyId?: string | null, cityName?: string | null, district?: string | null):AsyncResult {\r\n const request = createGetZipCodesInput(context.queryResultSettings, countryRegionId, stateProvinceId, countyId, cityName, district);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAddressFromZipCodeInput(queryResultSettings: IQueryResultSettings, countryRegionId?: string | null, zipPostalCode?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAddressFromZipCode', true, ZipCodeInfoClass, 'true', { bypassCache: 'none', returnEntity: 'ZipCodeInfo'}, {countryRegionId: countryRegionId, zipPostalCode: zipPostalCode });\r\n }\r\n\r\n export function getAddressFromZipCodeAsync(context: IContext, countryRegionId?: string | null, zipPostalCode?: string | null):AsyncResult {\r\n const request = createGetAddressFromZipCodeInput(context.queryResultSettings, countryRegionId, zipPostalCode);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createDisassembleKitTransactionsInput(kitTransaction?: KitTransaction | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('DisassembleKitTransactions', true, KitTransactionClass, 'false', { bypassCache: 'get', returnEntity: 'KitTransaction'}, {kitTransaction: kitTransaction });\r\n }\r\n\r\n export function disassembleKitTransactionsAsync(context: IContext, kitTransaction?: KitTransaction | null):AsyncResult {\r\n const request = createDisassembleKitTransactionsInput(kitTransaction);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createIssueLoyaltyCardInput(loyaltyCard?: LoyaltyCard | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('IssueLoyaltyCard', true, LoyaltyCardClass, 'false', { bypassCache: 'get', returnEntity: 'LoyaltyCard'}, {loyaltyCard: loyaltyCard });\r\n }\r\n\r\n export function issueLoyaltyCardAsync(context: IContext, loyaltyCard?: LoyaltyCard | null):AsyncResult {\r\n const request = createIssueLoyaltyCardInput(loyaltyCard);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLoyaltyCardInput(cardNumber?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetLoyaltyCard', true, LoyaltyCardClass, 'false', { bypassCache: 'none', returnEntity: 'LoyaltyCard'}, {cardNumber: cardNumber });\r\n }\r\n\r\n export function getLoyaltyCardAsync(context: IContext, cardNumber?: string | null):AsyncResult {\r\n const request = createGetLoyaltyCardInput(cardNumber);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCustomerLoyaltyCardsInput(queryResultSettings: IQueryResultSettings, accountNumber?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCustomerLoyaltyCards', true, LoyaltyCardClass, 'true', { bypassCache: 'none', returnEntity: 'LoyaltyCard'}, {accountNumber: accountNumber });\r\n }\r\n\r\n export function getCustomerLoyaltyCardsAsync(context: IContext, accountNumber?: string | null):AsyncResult {\r\n const request = createGetCustomerLoyaltyCardsInput(context.queryResultSettings, accountNumber);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLoyaltyCardTransactionsInput(queryResultSettings: IQueryResultSettings, cardNumber?: string | null, rewardPointId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLoyaltyCardTransactions', true, LoyaltyCardTransactionClass, 'true', { bypassCache: 'none', returnEntity: 'LoyaltyCardTransaction'}, {cardNumber: cardNumber, rewardPointId: rewardPointId });\r\n }\r\n\r\n export function getLoyaltyCardTransactionsAsync(context: IContext, cardNumber?: string | null, rewardPointId?: string | null):AsyncResult {\r\n const request = createGetLoyaltyCardTransactionsInput(context.queryResultSettings, cardNumber, rewardPointId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLoyaltyRewardPointsExpiringSoonInput(queryResultSettings: IQueryResultSettings, cardNumber: string | null, rewardPointId: string | null, daysToExpiry: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLoyaltyRewardPointsExpiringSoon', true, LoyaltyRewardPointActivityClass, 'true', { bypassCache: 'none', returnEntity: 'LoyaltyRewardPointActivity'}, {cardNumber: cardNumber, rewardPointId: rewardPointId, daysToExpiry: daysToExpiry });\r\n }\r\n\r\n export function getLoyaltyRewardPointsExpiringSoonAsync(context: IContext, cardNumber: string | null, rewardPointId: string | null, daysToExpiry: number):AsyncResult {\r\n const request = createGetLoyaltyRewardPointsExpiringSoonInput(context.queryResultSettings, cardNumber, rewardPointId, daysToExpiry);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchJournalTransactionsInput(queryResultSettings: IQueryResultSettings, searchCriteria?: TransactionSearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchJournalTransactions', true, TransactionClass, 'true', { bypassCache: 'none', returnEntity: 'Transaction'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function searchJournalTransactionsAsync(context: IContext, searchCriteria?: TransactionSearchCriteria | null):AsyncResult {\r\n const request = createSearchJournalTransactionsInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetGiftCardInput(giftCardId?: string | null, tenderTypeId?: string | null, pin?: string | null, expirationMonth?: number | null, expirationYear?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetGiftCard', true, GiftCardClass, 'false', { bypassCache: 'none', returnEntity: 'GiftCard'}, {giftCardId: giftCardId, tenderTypeId: tenderTypeId, pin: pin, expirationMonth: expirationMonth, expirationYear: expirationYear });\r\n }\r\n\r\n export function getGiftCardAsync(context: IContext, giftCardId?: string | null, tenderTypeId?: string | null, pin?: string | null, expirationMonth?: number | null, expirationYear?: number | null):AsyncResult {\r\n const request = createGetGiftCardInput(giftCardId, tenderTypeId, pin, expirationMonth, expirationYear);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetGiftCardInquiryInput(giftCardId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetGiftCardInquiry', true, GiftCardClass, 'false', { bypassCache: 'none', returnEntity: 'GiftCard'}, {giftCardId: giftCardId });\r\n }\r\n\r\n export function getGiftCardInquiryAsync(context: IContext, giftCardId?: string | null):AsyncResult {\r\n const request = createGetGiftCardInquiryInput(giftCardId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetNonSalesTransactionsInput(queryResultSettings: IQueryResultSettings, shiftId: string | null, shiftTerminalId: string | null, nonSalesTenderTypeValue: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetNonSalesTransactions', true, NonSalesTransactionClass, 'true', { bypassCache: 'none', returnEntity: 'NonSalesTransaction'}, {shiftId: shiftId, shiftTerminalId: shiftTerminalId, nonSalesTenderTypeValue: nonSalesTenderTypeValue });\r\n }\r\n\r\n export function getNonSalesTransactionsAsync(context: IContext, shiftId: string | null, shiftTerminalId: string | null, nonSalesTenderTypeValue: number):AsyncResult {\r\n const request = createGetNonSalesTransactionsInput(context.queryResultSettings, shiftId, shiftTerminalId, nonSalesTenderTypeValue);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createCreateNonSalesTransactionInput(nonSalesTransaction?: NonSalesTransaction | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CreateNonSalesTransaction', true, NonSalesTransactionClass, 'false', { bypassCache: 'get', returnEntity: 'NonSalesTransaction'}, {nonSalesTransaction: nonSalesTransaction });\r\n }\r\n\r\n export function createNonSalesTransactionAsync(context: IContext, nonSalesTransaction?: NonSalesTransaction | null):AsyncResult {\r\n const request = createCreateNonSalesTransactionInput(nonSalesTransaction);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createCreateDropAndDeclareTransactionInput(dropAndDeclareTransaction?: DropAndDeclareTransaction | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CreateDropAndDeclareTransaction', true, DropAndDeclareTransactionClass, 'false', { bypassCache: 'get', returnEntity: 'DropAndDeclareTransaction'}, {dropAndDeclareTransaction: dropAndDeclareTransaction });\r\n }\r\n\r\n export function createDropAndDeclareTransactionAsync(context: IContext, dropAndDeclareTransaction?: DropAndDeclareTransaction | null):AsyncResult {\r\n const request = createCreateDropAndDeclareTransactionInput(dropAndDeclareTransaction);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetTaxOverridesInput(queryResultSettings: IQueryResultSettings, overrideBy?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetTaxOverrides', true, TaxOverrideClass, 'true', { bypassCache: 'none', returnEntity: 'TaxOverride'}, {overrideBy: overrideBy });\r\n }\r\n\r\n export function getTaxOverridesAsync(context: IContext, overrideBy?: string | null):AsyncResult {\r\n const request = createGetTaxOverridesInput(context.queryResultSettings, overrideBy);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCustomerBalanceInput(accountNumber?: string | null, invoiceAccountNumber?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetCustomerBalance', true, CustomerBalancesClass, 'false', { bypassCache: 'none', returnEntity: 'CustomerBalances'}, {accountNumber: accountNumber, invoiceAccountNumber: invoiceAccountNumber });\r\n }\r\n\r\n export function getCustomerBalanceAsync(context: IContext, accountNumber?: string | null, invoiceAccountNumber?: string | null):AsyncResult {\r\n const request = createGetCustomerBalanceInput(accountNumber, invoiceAccountNumber);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createInitiateLinkToExistingCustomerInput(email?: string | null, activationToken?: string | null, emailTemplateId?: string | null, emailProperties?: NameValuePair[] | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('InitiateLinkToExistingCustomer', true, LinkToExistingCustomerResultClass, 'false', { bypassCache: 'get', returnEntity: 'LinkToExistingCustomerResult'}, {email: email, ActivationToken: activationToken, emailTemplateId: emailTemplateId, emailProperties: emailProperties });\r\n }\r\n\r\n export function initiateLinkToExistingCustomerAsync(context: IContext, email?: string | null, activationToken?: string | null, emailTemplateId?: string | null, emailProperties?: NameValuePair[] | null):AsyncResult {\r\n const request = createInitiateLinkToExistingCustomerInput(email, activationToken, emailTemplateId, emailProperties);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createFinalizeLinkToExistingCustomerInput(email?: string | null, activationToken?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('FinalizeLinkToExistingCustomer', true, LinkToExistingCustomerResultClass, 'false', { bypassCache: 'get', returnEntity: 'LinkToExistingCustomerResult'}, {email: email, ActivationToken: activationToken });\r\n }\r\n\r\n export function finalizeLinkToExistingCustomerAsync(context: IContext, email?: string | null, activationToken?: string | null):AsyncResult {\r\n const request = createFinalizeLinkToExistingCustomerInput(email, activationToken);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createUnlinkFromExistingCustomerInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('UnlinkFromExistingCustomer', true, '', '', { bypassCache: 'get', returnEntity: ''}, { });\r\n }\r\n\r\n export function unlinkFromExistingCustomerAsync(context: IContext):AsyncResult {\r\n const request = createUnlinkFromExistingCustomerInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOfflineSyncStatusInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOfflineSyncStatus', true, OfflineSyncStatsLineClass, 'true', { bypassCache: 'none', returnEntity: 'OfflineSyncStatsLine'}, { });\r\n }\r\n\r\n export function getOfflineSyncStatusAsync(context: IContext):AsyncResult {\r\n const request = createGetOfflineSyncStatusInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOfflinePendingTransactionCountInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetOfflinePendingTransactionCount', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, { });\r\n }\r\n\r\n export function getOfflinePendingTransactionCountAsync(context: IContext):AsyncResult {\r\n const request = createGetOfflinePendingTransactionCountInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOfflinePendingTransactionCountByShiftInput(shiftId: number, shiftTerminalId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetOfflinePendingTransactionCountByShift', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, {shiftId: shiftId, shiftTerminalId: shiftTerminalId });\r\n }\r\n\r\n export function getOfflinePendingTransactionCountByShiftAsync(context: IContext, shiftId: number, shiftTerminalId?: string | null):AsyncResult {\r\n const request = createGetOfflinePendingTransactionCountByShiftInput(shiftId, shiftTerminalId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createUpdateDownloadSessionInput(downloadSession?: DownloadSession | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('UpdateDownloadSession', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {downloadSession: downloadSession });\r\n }\r\n\r\n export function updateDownloadSessionAsync(context: IContext, downloadSession?: DownloadSession | null):AsyncResult {\r\n const request = createUpdateDownloadSessionInput(downloadSession);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createUpdateApplicationVersionInput(appVersion?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('UpdateApplicationVersion', true, '', '', { bypassCache: 'get', returnEntity: ''}, {appVersion: appVersion });\r\n }\r\n\r\n export function updateApplicationVersionAsync(context: IContext, appVersion?: string | null):AsyncResult {\r\n const request = createUpdateApplicationVersionInput(appVersion);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetStorageAccessTokenForUploadInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetStorageAccessTokenForUpload', true, StorageAccessTokenClass, 'false', { bypassCache: 'none', returnEntity: 'StorageAccessToken'}, { });\r\n }\r\n\r\n export function getStorageAccessTokenForUploadAsync(context: IContext):AsyncResult {\r\n const request = createGetStorageAccessTokenForUploadInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetBusinessProcessModelLibrariesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetBusinessProcessModelLibraries', true, FrameworkClass, 'true', { bypassCache: 'none', returnEntity: 'Framework'}, { });\r\n }\r\n\r\n export function getBusinessProcessModelLibrariesAsync(context: IContext):AsyncResult {\r\n const request = createGetBusinessProcessModelLibrariesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetBusinessProcessModelLibraryInput(businessProcessModelFrameworkLineId: number, hierarchyDepth: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetBusinessProcessModelLibrary', true, FrameworkClass, 'false', { bypassCache: 'none', returnEntity: 'Framework'}, {businessProcessModelFrameworkLineId: businessProcessModelFrameworkLineId, hierarchyDepth: hierarchyDepth });\r\n }\r\n\r\n export function getBusinessProcessModelLibraryAsync(context: IContext, businessProcessModelFrameworkLineId: number, hierarchyDepth: number):AsyncResult {\r\n const request = createGetBusinessProcessModelLibraryInput(businessProcessModelFrameworkLineId, hierarchyDepth);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchTaskGuidesByTitleInput(queryResultSettings: IQueryResultSettings, businessProcessModelFrameworkLineId: number, taskGuideSearchText: string | null, queryTypeValue: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchTaskGuidesByTitle', true, TaskGuidesSearchResultClass, 'true', { bypassCache: 'none', returnEntity: 'TaskGuidesSearchResult'}, {businessProcessModelFrameworkLineId: businessProcessModelFrameworkLineId, taskGuideSearchText: taskGuideSearchText, queryTypeValue: queryTypeValue });\r\n }\r\n\r\n export function searchTaskGuidesByTitleAsync(context: IContext, businessProcessModelFrameworkLineId: number, taskGuideSearchText: string | null, queryTypeValue: number):AsyncResult {\r\n const request = createSearchTaskGuidesByTitleInput(context.queryResultSettings, businessProcessModelFrameworkLineId, taskGuideSearchText, queryTypeValue);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGenerateBusinessProcessModelPackageInput(taskRecording?: Recording | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GenerateBusinessProcessModelPackage', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {taskRecording: taskRecording });\r\n }\r\n\r\n export function generateBusinessProcessModelPackageAsync(context: IContext, taskRecording?: Recording | null):AsyncResult {\r\n const request = createGenerateBusinessProcessModelPackageInput(taskRecording);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createDownloadRecordingInput(businessProcessModelLineId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('DownloadRecording', true, RecordingClass, 'false', { bypassCache: 'get', returnEntity: 'Recording'}, {businessProcessModelLineId: businessProcessModelLineId });\r\n }\r\n\r\n export function downloadRecordingAsync(context: IContext, businessProcessModelLineId: number):AsyncResult {\r\n const request = createDownloadRecordingInput(businessProcessModelLineId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createLoadRecordingFromFileInput(recordingUrl?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('LoadRecordingFromFile', true, RecordingClass, 'false', { bypassCache: 'get', returnEntity: 'Recording'}, {recordingUrl: recordingUrl });\r\n }\r\n\r\n export function loadRecordingFromFileAsync(context: IContext, recordingUrl?: string | null):AsyncResult {\r\n const request = createLoadRecordingFromFileInput(recordingUrl);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGenerateRecordingFileInput(taskRecording?: Recording | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GenerateRecordingFile', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {taskRecording: taskRecording });\r\n }\r\n\r\n export function generateRecordingFileAsync(context: IContext, taskRecording?: Recording | null):AsyncResult {\r\n const request = createGenerateRecordingFileInput(taskRecording);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGenerateTrainingDocumentInput(taskRecording?: Recording | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GenerateTrainingDocument', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {taskRecording: taskRecording });\r\n }\r\n\r\n export function generateTrainingDocumentAsync(context: IContext, taskRecording?: Recording | null):AsyncResult {\r\n const request = createGenerateTrainingDocumentInput(taskRecording);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGenerateRecordingBundleInput(taskRecording?: Recording | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GenerateRecordingBundle', true, '', 'false', { bypassCache: 'get', returnEntity: ''}, {taskRecording: taskRecording });\r\n }\r\n\r\n export function generateRecordingBundleAsync(context: IContext, taskRecording?: Recording | null):AsyncResult {\r\n const request = createGenerateRecordingBundleInput(taskRecording);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createUploadRecordingInput(taskRecording: Recording | null, businessProcessModelLineId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('UploadRecording', true, '', '', { bypassCache: 'get', returnEntity: ''}, {taskRecording: taskRecording, businessProcessModelLineId: businessProcessModelLineId });\r\n }\r\n\r\n export function uploadRecordingAsync(context: IContext, taskRecording: Recording | null, businessProcessModelLineId: number):AsyncResult {\r\n const request = createUploadRecordingInput(taskRecording, businessProcessModelLineId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAttributeDefinitionsInput(queryResultSettings: IQueryResultSettings, attributeDefinitionCriteria?: AttributeDefinitionCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAttributeDefinitions', true, AttributeDefinitionClass, 'true', { bypassCache: 'none', returnEntity: 'AttributeDefinition'}, {attributeDefinitionCriteria: attributeDefinitionCriteria });\r\n }\r\n\r\n export function getAttributeDefinitionsAsync(context: IContext, attributeDefinitionCriteria?: AttributeDefinitionCriteria | null):AsyncResult {\r\n const request = createGetAttributeDefinitionsInput(context.queryResultSettings, attributeDefinitionCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAttributeGroupDefinitionsInput(queryResultSettings: IQueryResultSettings, attributeGroupDefinitionCriteria?: AttributeGroupDefinitionCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAttributeGroupDefinitions', true, AttributeGroupDefinitionClass, 'true', { bypassCache: 'none', returnEntity: 'AttributeGroupDefinition'}, {attributeGroupDefinitionCriteria: attributeGroupDefinitionCriteria });\r\n }\r\n\r\n export function getAttributeGroupDefinitionsAsync(context: IContext, attributeGroupDefinitionCriteria?: AttributeGroupDefinitionCriteria | null):AsyncResult {\r\n const request = createGetAttributeGroupDefinitionsInput(context.queryResultSettings, attributeGroupDefinitionCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSaveFiscalTransactionInput(fiscalTransaction?: FiscalTransaction | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('SaveFiscalTransaction', true, '', '', { bypassCache: 'get', returnEntity: ''}, {fiscalTransaction: fiscalTransaction });\r\n }\r\n\r\n export function saveFiscalTransactionAsync(context: IContext, fiscalTransaction?: FiscalTransaction | null):AsyncResult {\r\n const request = createSaveFiscalTransactionInput(fiscalTransaction);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createValidatePrintReceiptCopyAllowedInput(salesOrderToPrint?: SalesOrder | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('ValidatePrintReceiptCopyAllowed', true, '', '', { bypassCache: 'get', returnEntity: ''}, {salesOrderToPrint: salesOrderToPrint });\r\n }\r\n\r\n export function validatePrintReceiptCopyAllowedAsync(context: IContext, salesOrderToPrint?: SalesOrder | null):AsyncResult {\r\n const request = createValidatePrintReceiptCopyAllowedInput(salesOrderToPrint);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createRegisterAuditEventInput(auditEvent?: AuditEvent | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('RegisterAuditEvent', true, '', '', { bypassCache: 'get', returnEntity: ''}, {auditEvent: auditEvent });\r\n }\r\n\r\n export function registerAuditEventAsync(context: IContext, auditEvent?: AuditEvent | null):AsyncResult {\r\n const request = createRegisterAuditEventInput(auditEvent);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createRegisterAndGetAuditEventInput(auditEvent?: AuditEvent | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('RegisterAndGetAuditEvent', true, AuditEventClass, 'false', { bypassCache: 'get', returnEntity: 'AuditEvent'}, {auditEvent: auditEvent });\r\n }\r\n\r\n export function registerAndGetAuditEventAsync(context: IContext, auditEvent?: AuditEvent | null):AsyncResult {\r\n const request = createRegisterAndGetAuditEventInput(auditEvent);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetInventoryAvailableToPromiseInput(queryResultSettings: IQueryResultSettings, productId: number, itemId?: string | null, inventLocationId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetInventoryAvailableToPromise', true, InventoryAvailableToPromiseClass, 'true', { bypassCache: 'none', returnEntity: 'InventoryAvailableToPromise'}, {productId: productId, itemId: itemId, inventLocationId: inventLocationId });\r\n }\r\n\r\n export function getInventoryAvailableToPromiseAsync(context: IContext, productId: number, itemId?: string | null, inventLocationId?: string | null):AsyncResult {\r\n const request = createGetInventoryAvailableToPromiseInput(context.queryResultSettings, productId, itemId, inventLocationId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetSalesOrdersWithNoFiscalTransactionsInput(queryResultSettings: IQueryResultSettings, storeNumber?: string | null, terminalId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSalesOrdersWithNoFiscalTransactions', true, SalesOrderClass, 'true', { bypassCache: 'none', returnEntity: 'SalesOrder'}, {storeNumber: storeNumber, terminalId: terminalId });\r\n }\r\n\r\n export function getSalesOrdersWithNoFiscalTransactionsAsync(context: IContext, storeNumber?: string | null, terminalId?: string | null):AsyncResult {\r\n const request = createGetSalesOrdersWithNoFiscalTransactionsInput(context.queryResultSettings, storeNumber, terminalId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetNotificationsInput(queryResultSettings: IQueryResultSettings, subscribedOperations: number[], extensionProperties?: CommerceProperty[] | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetNotifications', true, NotificationItemClass, 'true', { bypassCache: 'none', returnEntity: 'NotificationItem'}, {subscribedOperations: subscribedOperations, extensionProperties: extensionProperties });\r\n }\r\n\r\n export function getNotificationsAsync(context: IContext, subscribedOperations: number[], extensionProperties?: CommerceProperty[] | null):AsyncResult {\r\n const request = createGetNotificationsInput(context.queryResultSettings, subscribedOperations, extensionProperties);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createAcknowledgeNotificationsInput(lastPullDateTime: Date): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('AcknowledgeNotifications', true, '', '', { bypassCache: 'get', returnEntity: ''}, {lastPullDateTime: lastPullDateTime });\r\n }\r\n\r\n export function acknowledgeNotificationsAsync(context: IContext, lastPullDateTime: Date):AsyncResult {\r\n const request = createAcknowledgeNotificationsInput(lastPullDateTime);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationFiscalDocumentInput(hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, fiscalIntegrationDocumentRetrievalCriteria?: FiscalIntegrationDocumentRetrievalCriteria | null, connectorType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationFiscalDocument', true, FiscalIntegrationDocumentClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationDocument'}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId, fiscalIntegrationDocumentRetrievalCriteria: fiscalIntegrationDocumentRetrievalCriteria, connectorType: connectorType });\r\n }\r\n\r\n export function getFiscalIntegrationFiscalDocumentAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, fiscalIntegrationDocumentRetrievalCriteria?: FiscalIntegrationDocumentRetrievalCriteria | null, connectorType?: number | null):AsyncResult {\r\n const request = createGetFiscalIntegrationFiscalDocumentInput(hardwareProfileId, functionalityProfileGroupId, fiscalIntegrationDocumentRetrievalCriteria, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationNonFiscalDocumentInput(hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, fiscalIntegrationDocumentRetrievalCriteria?: FiscalIntegrationDocumentRetrievalCriteria | null, connectorType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationNonFiscalDocument', true, FiscalIntegrationDocumentClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationDocument'}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId, fiscalIntegrationDocumentRetrievalCriteria: fiscalIntegrationDocumentRetrievalCriteria, connectorType: connectorType });\r\n }\r\n\r\n export function getFiscalIntegrationNonFiscalDocumentAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, fiscalIntegrationDocumentRetrievalCriteria?: FiscalIntegrationDocumentRetrievalCriteria | null, connectorType?: number | null):AsyncResult {\r\n const request = createGetFiscalIntegrationNonFiscalDocumentInput(hardwareProfileId, functionalityProfileGroupId, fiscalIntegrationDocumentRetrievalCriteria, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationFiscalServiceSetupDocumentInput(hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, connectorType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationFiscalServiceSetupDocument', true, FiscalIntegrationDocumentClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationDocument'}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId, connectorType: connectorType });\r\n }\r\n\r\n export function getFiscalIntegrationFiscalServiceSetupDocumentAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, connectorType?: number | null):AsyncResult {\r\n const request = createGetFiscalIntegrationFiscalServiceSetupDocumentInput(hardwareProfileId, functionalityProfileGroupId, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationFiscalServiceReadDataDocumentInput(hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, connectorType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationFiscalServiceReadDataDocument', true, FiscalIntegrationDocumentClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationDocument'}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId, connectorType: connectorType });\r\n }\r\n\r\n export function getFiscalIntegrationFiscalServiceReadDataDocumentAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, connectorType?: number | null):AsyncResult {\r\n const request = createGetFiscalIntegrationFiscalServiceReadDataDocumentInput(hardwareProfileId, functionalityProfileGroupId, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createProcessFiscalIntegrationFiscalServiceReadDataResultInput(hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, documentToProcess?: string | null, connectorType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('ProcessFiscalIntegrationFiscalServiceReadDataResult', true, '', '', { bypassCache: 'get', returnEntity: ''}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId, documentToProcess: documentToProcess, connectorType: connectorType });\r\n }\r\n\r\n export function processFiscalIntegrationFiscalServiceReadDataResultAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, documentToProcess?: string | null, connectorType?: number | null):AsyncResult {\r\n const request = createProcessFiscalIntegrationFiscalServiceReadDataResultInput(hardwareProfileId, functionalityProfileGroupId, documentToProcess, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSaveFiscalIntegrationRegistrationResultInput(hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, registrationResult?: FiscalIntegrationRegistrationResult | null, connectorType?: number | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('SaveFiscalIntegrationRegistrationResult', true, '', '', { bypassCache: 'get', returnEntity: ''}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId, registrationResult: registrationResult, connectorType: connectorType });\r\n }\r\n\r\n export function saveFiscalIntegrationRegistrationResultAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string | null, registrationResult?: FiscalIntegrationRegistrationResult | null, connectorType?: number | null):AsyncResult {\r\n const request = createSaveFiscalIntegrationRegistrationResultInput(hardwareProfileId, functionalityProfileGroupId, registrationResult, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationRegistrationProcessInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationRegistrationProcess', true, FiscalIntegrationRegistrationProcessClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationRegistrationProcess'}, { });\r\n }\r\n\r\n export function getFiscalIntegrationRegistrationProcessAsync(context: IContext):AsyncResult {\r\n const request = createGetFiscalIntegrationRegistrationProcessInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetChannelSupportedFiscalIntegrationEventsByGroupInput(functionalityProfileGroupId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetChannelSupportedFiscalIntegrationEventsByGroup', true, FiscalIntegrationSupportedEventsClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationSupportedEvents'}, {functionalityProfileGroupId: functionalityProfileGroupId });\r\n }\r\n\r\n export function getChannelSupportedFiscalIntegrationEventsByGroupAsync(context: IContext, functionalityProfileGroupId?: string | null):AsyncResult {\r\n const request = createGetChannelSupportedFiscalIntegrationEventsByGroupInput(functionalityProfileGroupId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationTechnicalProfilesInput(queryResultSettings: IQueryResultSettings, hardwareProfileId?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationTechnicalProfiles', true, FiscalIntegrationTechnicalProfileClass, 'true', { bypassCache: 'none', returnEntity: 'FiscalIntegrationTechnicalProfile'}, {hardwareProfileId: hardwareProfileId });\r\n }\r\n\r\n export function getFiscalIntegrationTechnicalProfilesAsync(context: IContext, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetFiscalIntegrationTechnicalProfilesInput(context.queryResultSettings, hardwareProfileId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationTechnicalProfilesByFunctionalityGroupIdsInput(queryResultSettings: IQueryResultSettings, hardwareProfileId?: string | null, functionalityProfileGroupId?: string[] | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationTechnicalProfilesByFunctionalityGroupIds', true, FiscalIntegrationTechnicalProfileClass, 'true', { bypassCache: 'none', returnEntity: 'FiscalIntegrationTechnicalProfile'}, {hardwareProfileId: hardwareProfileId, functionalityProfileGroupId: functionalityProfileGroupId });\r\n }\r\n\r\n export function getFiscalIntegrationTechnicalProfilesByFunctionalityGroupIdsAsync(context: IContext, hardwareProfileId?: string | null, functionalityProfileGroupId?: string[] | null):AsyncResult {\r\n const request = createGetFiscalIntegrationTechnicalProfilesByFunctionalityGroupIdsInput(context.queryResultSettings, hardwareProfileId, functionalityProfileGroupId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createBackupFiscalRegistrationProcessContextInput(terminalId: string | null, storeNumber: string | null, channelId: number, fiscalProcessCompleted: boolean, fiscalIntegrationSerializedContext?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('BackupFiscalRegistrationProcessContext', true, '', '', { bypassCache: 'get', returnEntity: ''}, {terminalId: terminalId, storeNumber: storeNumber, channelId: channelId, fiscalProcessCompleted: fiscalProcessCompleted, fiscalIntegrationSerializedContext: fiscalIntegrationSerializedContext });\r\n }\r\n\r\n export function backupFiscalRegistrationProcessContextAsync(context: IContext, terminalId: string | null, storeNumber: string | null, channelId: number, fiscalProcessCompleted: boolean, fiscalIntegrationSerializedContext?: string | null):AsyncResult {\r\n const request = createBackupFiscalRegistrationProcessContextInput(terminalId, storeNumber, channelId, fiscalProcessCompleted, fiscalIntegrationSerializedContext);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetActiveFiscalRegistrationProcessContextBackupInput(terminalId: string | null, storeNumber: string | null, channelId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetActiveFiscalRegistrationProcessContextBackup', true, '', 'false', { bypassCache: 'none', returnEntity: ''}, {terminalId: terminalId, storeNumber: storeNumber, channelId: channelId });\r\n }\r\n\r\n export function getActiveFiscalRegistrationProcessContextBackupAsync(context: IContext, terminalId: string | null, storeNumber: string | null, channelId: number):AsyncResult {\r\n const request = createGetActiveFiscalRegistrationProcessContextBackupInput(terminalId, storeNumber, channelId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationTechnicalProfilesBySearchCriteriaInput(queryResultSettings: IQueryResultSettings, hardwareProfileId?: string | null, fiscalIntegrationTechnicalProfileSearchCriteria?: FiscalIntegrationTechnicalProfileSearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationTechnicalProfilesBySearchCriteria', true, FiscalIntegrationTechnicalProfileClass, 'true', { bypassCache: 'none', returnEntity: 'FiscalIntegrationTechnicalProfile'}, {hardwareProfileId: hardwareProfileId, fiscalIntegrationTechnicalProfileSearchCriteria: fiscalIntegrationTechnicalProfileSearchCriteria });\r\n }\r\n\r\n export function getFiscalIntegrationTechnicalProfilesBySearchCriteriaAsync(context: IContext, hardwareProfileId?: string | null, fiscalIntegrationTechnicalProfileSearchCriteria?: FiscalIntegrationTechnicalProfileSearchCriteria | null):AsyncResult {\r\n const request = createGetFiscalIntegrationTechnicalProfilesBySearchCriteriaInput(context.queryResultSettings, hardwareProfileId, fiscalIntegrationTechnicalProfileSearchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFiscalIntegrationServiceStatusInput(fiscalIntegrationServiceInfo?: FiscalIntegrationServiceInfo | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalIntegrationServiceStatus', true, FiscalIntegrationServiceStatusClass, 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationServiceStatus'}, {fiscalIntegrationServiceInfo: fiscalIntegrationServiceInfo });\r\n }\r\n\r\n export function getFiscalIntegrationServiceStatusAsync(context: IContext, fiscalIntegrationServiceInfo?: FiscalIntegrationServiceInfo | null):AsyncResult {\r\n const request = createGetFiscalIntegrationServiceStatusInput(fiscalIntegrationServiceInfo);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSubmitFiscalIntegrationDocumentInput(documentToSubmit?: string | null, fiscalIntegrationServiceInfo?: FiscalIntegrationServiceInfo | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('SubmitFiscalIntegrationDocument', true, FiscalIntegrationServiceCommunicationResultClass, 'false', { bypassCache: 'get', returnEntity: 'FiscalIntegrationServiceCommunicationResult'}, {documentToSubmit: documentToSubmit, fiscalIntegrationServiceInfo: fiscalIntegrationServiceInfo });\r\n }\r\n\r\n export function submitFiscalIntegrationDocumentAsync(context: IContext, documentToSubmit?: string | null, fiscalIntegrationServiceInfo?: FiscalIntegrationServiceInfo | null):AsyncResult {\r\n const request = createSubmitFiscalIntegrationDocumentInput(documentToSubmit, fiscalIntegrationServiceInfo);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetFeatureStatesInput(queryResultSettings: IQueryResultSettings, featureNames?: string[] | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetFeatureStates', true, FeatureStateClass, 'true', { bypassCache: 'none', returnEntity: 'FeatureState'}, {featureNames: featureNames });\r\n }\r\n\r\n export function getFeatureStatesAsync(context: IContext, featureNames?: string[] | null):AsyncResult {\r\n const request = createGetFeatureStatesInput(context.queryResultSettings, featureNames);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLastFiscalIntegrationSequentialSignaturesInput(queryResultSettings: IQueryResultSettings, sequentialKeys?: string[] | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLastFiscalIntegrationSequentialSignatures', true, FiscalIntegrationSequentialSignatureDataClass, 'true', { bypassCache: 'none', returnEntity: 'FiscalIntegrationSequentialSignatureData'}, {sequentialKeys: sequentialKeys });\r\n }\r\n\r\n export function getLastFiscalIntegrationSequentialSignaturesAsync(context: IContext, sequentialKeys?: string[] | null):AsyncResult {\r\n const request = createGetLastFiscalIntegrationSequentialSignaturesInput(context.queryResultSettings, sequentialKeys);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createCreateFiscalTransactionInput(functionalityProfileGroupId: string | null, registrationResult: FiscalIntegrationRegistrationResult | null, connectorType: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CreateFiscalTransaction', true, FiscalTransactionClass, 'false', { bypassCache: 'get', returnEntity: 'FiscalTransaction'}, {functionalityProfileGroupId: functionalityProfileGroupId, registrationResult: registrationResult, connectorType: connectorType });\r\n }\r\n\r\n export function createFiscalTransactionAsync(context: IContext, functionalityProfileGroupId: string | null, registrationResult: FiscalIntegrationRegistrationResult | null, connectorType: number):AsyncResult {\r\n const request = createCreateFiscalTransactionInput(functionalityProfileGroupId, registrationResult, connectorType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetEstimatedPickupTimeslotAvailabilitiesInput(queryResultSettings: IQueryResultSettings, searchCriteria?: PickupTimeslotAvailabilitySearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetEstimatedPickupTimeslotAvailabilities', true, PickupTimeslotAvailabilityClass, 'true', { bypassCache: 'none', returnEntity: 'PickupTimeslotAvailability'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function getEstimatedPickupTimeslotAvailabilitiesAsync(context: IContext, searchCriteria?: PickupTimeslotAvailabilitySearchCriteria | null):AsyncResult {\r\n const request = createGetEstimatedPickupTimeslotAvailabilitiesInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetButtonGridsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetButtonGrids', false, ButtonGridClass, 'true', { bypassCache: 'none', returnEntity: 'ButtonGrid'}, { });\r\n }\r\n\r\n export function getButtonGridsAsync(context: IContext):AsyncResult {\r\n const request = createGetButtonGridsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetButtonGridsByScreenSizeInput(queryResultSettings: IQueryResultSettings, height: number, width: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetButtonGridsByScreenSize', false, ButtonGridClass, 'true', { bypassCache: 'none', returnEntity: 'ButtonGrid'}, {height: height, width: width });\r\n }\r\n\r\n export function getButtonGridsByScreenSizeAsync(context: IContext, height: number, width: number):AsyncResult {\r\n const request = createGetButtonGridsByScreenSizeInput(context.queryResultSettings, height, width);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOperationalInsightsConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetOperationalInsightsConfiguration', false, OperationalInsightsConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'OperationalInsightsConfiguration'}, { });\r\n }\r\n\r\n export function getOperationalInsightsConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetOperationalInsightsConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCashDeclarationsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCashDeclarations', false, CashDeclarationClass, 'true', { bypassCache: 'none', returnEntity: 'CashDeclaration'}, { });\r\n }\r\n\r\n export function getCashDeclarationsAsync(context: IContext):AsyncResult {\r\n const request = createGetCashDeclarationsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCountryRegionsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCountryRegions', false, CountryRegionInfoClass, 'true', { bypassCache: 'none', returnEntity: 'CountryRegionInfo'}, { });\r\n }\r\n\r\n export function getCountryRegionsAsync(context: IContext):AsyncResult {\r\n const request = createGetCountryRegionsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCustomerGroupsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCustomerGroups', false, CustomerGroupClass, 'true', { bypassCache: 'none', returnEntity: 'CustomerGroup'}, { });\r\n }\r\n\r\n export function getCustomerGroupsAsync(context: IContext):AsyncResult {\r\n const request = createGetCustomerGroupsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetChannelDeliveryOptionConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetChannelDeliveryOptionConfiguration', false, ChannelDeliveryOptionConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'ChannelDeliveryOptionConfiguration'}, { });\r\n }\r\n\r\n export function getChannelDeliveryOptionConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetChannelDeliveryOptionConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetChannelsByTypeInput(queryResultSettings: IQueryResultSettings, channelType?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetChannelsByType', false, ChannelIdentityClass, 'true', { bypassCache: 'none', returnEntity: 'ChannelIdentity'}, {channelType: channelType });\r\n }\r\n\r\n export function getChannelsByTypeAsync(context: IContext, channelType?: string | null):AsyncResult {\r\n const request = createGetChannelsByTypeInput(context.queryResultSettings, channelType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetChannelsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetChannels', false, ChannelIdentityClass, 'true', { bypassCache: 'none', returnEntity: 'ChannelIdentity'}, { });\r\n }\r\n\r\n export function getChannelsAsync(context: IContext):AsyncResult {\r\n const request = createGetChannelsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchChannelsInput(queryResultSettings: IQueryResultSettings, searchCriteria?: ChannelSearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchChannels', true, ChannelIdentityClass, 'true', { bypassCache: 'none', returnEntity: 'ChannelIdentity'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function searchChannelsAsync(context: IContext, searchCriteria?: ChannelSearchCriteria | null):AsyncResult {\r\n const request = createSearchChannelsInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetEnvironmentConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetEnvironmentConfiguration', false, EnvironmentConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'EnvironmentConfiguration'}, { });\r\n }\r\n\r\n export function getEnvironmentConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetEnvironmentConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetSearchConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetSearchConfiguration', false, SearchConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'SearchConfiguration'}, { });\r\n }\r\n\r\n export function getSearchConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetSearchConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetExtensionPackageDefinitionsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetExtensionPackageDefinitions', false, ExtensionPackageDefinitionClass, 'true', { bypassCache: 'none', returnEntity: 'ExtensionPackageDefinition'}, { });\r\n }\r\n\r\n export function getExtensionPackageDefinitionsAsync(context: IContext):AsyncResult {\r\n const request = createGetExtensionPackageDefinitionsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetExtensionProfileInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetExtensionProfile', false, ExtensionProfileClass, 'false', { bypassCache: 'none', returnEntity: 'ExtensionProfile'}, { });\r\n }\r\n\r\n export function getExtensionProfileAsync(context: IContext):AsyncResult {\r\n const request = createGetExtensionProfileInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDeviceConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetDeviceConfiguration', false, DeviceConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'DeviceConfiguration'}, { });\r\n }\r\n\r\n export function getDeviceConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetDeviceConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetVisualProfileInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetVisualProfile', false, VisualProfileClass, 'false', { bypassCache: 'none', returnEntity: 'VisualProfile'}, { });\r\n }\r\n\r\n export function getVisualProfileAsync(context: IContext):AsyncResult {\r\n const request = createGetVisualProfileInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetLanguagesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetLanguages', false, SupportedLanguageClass, 'true', { bypassCache: 'none', returnEntity: 'SupportedLanguage'}, { });\r\n }\r\n\r\n export function getLanguagesAsync(context: IContext):AsyncResult {\r\n const request = createGetLanguagesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAffiliationsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAffiliations', false, AffiliationClass, 'true', { bypassCache: 'none', returnEntity: 'Affiliation'}, { });\r\n }\r\n\r\n export function getAffiliationsAsync(context: IContext):AsyncResult {\r\n const request = createGetAffiliationsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOperationPermissionsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOperationPermissions', false, OperationPermissionClass, 'true', { bypassCache: 'none', returnEntity: 'OperationPermission'}, { });\r\n }\r\n\r\n export function getOperationPermissionsAsync(context: IContext):AsyncResult {\r\n const request = createGetOperationPermissionsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReasonCodesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReasonCodes', false, ReasonCodeClass, 'true', { bypassCache: 'none', returnEntity: 'ReasonCode'}, { });\r\n }\r\n\r\n export function getReasonCodesAsync(context: IContext):AsyncResult {\r\n const request = createGetReasonCodesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReturnOrderReasonCodesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReturnOrderReasonCodes', false, ReasonCodeClass, 'true', { bypassCache: 'none', returnEntity: 'ReasonCode'}, { });\r\n }\r\n\r\n export function getReturnOrderReasonCodesAsync(context: IContext):AsyncResult {\r\n const request = createGetReturnOrderReasonCodesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetSalesTaxGroupsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetSalesTaxGroups', false, SalesTaxGroupClass, 'true', { bypassCache: 'none', returnEntity: 'SalesTaxGroup'}, { });\r\n }\r\n\r\n export function getSalesTaxGroupsAsync(context: IContext):AsyncResult {\r\n const request = createGetSalesTaxGroupsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetTenderTypesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetTenderTypes', false, TenderTypeClass, 'true', { bypassCache: 'none', returnEntity: 'TenderType'}, { });\r\n }\r\n\r\n export function getTenderTypesAsync(context: IContext):AsyncResult {\r\n const request = createGetTenderTypesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetUnitsOfMeasureInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetUnitsOfMeasure', false, UnitOfMeasureClass, 'true', { bypassCache: 'none', returnEntity: 'UnitOfMeasure'}, { });\r\n }\r\n\r\n export function getUnitsOfMeasureAsync(context: IContext):AsyncResult {\r\n const request = createGetUnitsOfMeasureInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetDiscountCodesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetDiscountCodes', false, DiscountCodeClass, 'true', { bypassCache: 'none', returnEntity: 'DiscountCode'}, { });\r\n }\r\n\r\n export function getDiscountCodesAsync(context: IContext):AsyncResult {\r\n const request = createGetDiscountCodesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCurrenciesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCurrencies', false, CurrencyClass, 'true', { bypassCache: 'none', returnEntity: 'Currency'}, { });\r\n }\r\n\r\n export function getCurrenciesAsync(context: IContext):AsyncResult {\r\n const request = createGetCurrenciesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCurrenciesAmountInput(queryResultSettings: IQueryResultSettings, currencyCode: string | null, amount: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCurrenciesAmount', false, CurrencyAmountClass, 'true', { bypassCache: 'none', returnEntity: 'CurrencyAmount'}, {currencyCode: currencyCode, amount: amount });\r\n }\r\n\r\n export function getCurrenciesAmountAsync(context: IContext, currencyCode: string | null, amount: number):AsyncResult {\r\n const request = createGetCurrenciesAmountInput(context.queryResultSettings, currencyCode, amount);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCommissionSalesGroupsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCommissionSalesGroups', false, CommissionSalesGroupClass, 'true', { bypassCache: 'none', returnEntity: 'CommissionSalesGroup'}, { });\r\n }\r\n\r\n export function getCommissionSalesGroupsAsync(context: IContext):AsyncResult {\r\n const request = createGetCommissionSalesGroupsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchCommissionSalesGroupsInput(queryResultSettings: IQueryResultSettings, searchText?: string | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchCommissionSalesGroups', false, CommissionSalesGroupClass, 'true', { bypassCache: 'none', returnEntity: 'CommissionSalesGroup'}, {searchText: searchText });\r\n }\r\n\r\n export function searchCommissionSalesGroupsAsync(context: IContext, searchText?: string | null):AsyncResult {\r\n const request = createSearchCommissionSalesGroupsInput(context.queryResultSettings, searchText);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetPaymentMerchantInformationInput(hardwareProfileId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetPaymentMerchantInformation', false, PaymentMerchantInformationClass, 'false', { bypassCache: 'none', returnEntity: 'PaymentMerchantInformation'}, {hardwareProfileId: hardwareProfileId });\r\n }\r\n\r\n export function getPaymentMerchantInformationAsync(context: IContext, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetPaymentMerchantInformationInput(hardwareProfileId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetPaymentPropertiesIfModifiedInput(hardwareProfileId?: string | null, merchantInformationHash?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetPaymentPropertiesIfModified', false, PaymentMerchantInformationClass, 'false', { bypassCache: 'none', returnEntity: 'PaymentMerchantInformation'}, {hardwareProfileId: hardwareProfileId, merchantInformationHash: merchantInformationHash });\r\n }\r\n\r\n export function getPaymentPropertiesIfModifiedAsync(context: IContext, hardwareProfileId?: string | null, merchantInformationHash?: string | null):AsyncResult {\r\n const request = createGetPaymentPropertiesIfModifiedInput(hardwareProfileId, merchantInformationHash);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetOnlineChannelPublishStatusInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetOnlineChannelPublishStatus', false, '', 'false', { bypassCache: 'none', returnEntity: ''}, { });\r\n }\r\n\r\n export function getOnlineChannelPublishStatusAsync(context: IContext):AsyncResult {\r\n const request = createGetOnlineChannelPublishStatusInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSetOnlineChannelPublishStatusInput(publishingStatus: number, statusMessage?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('SetOnlineChannelPublishStatus', true, '', '', { bypassCache: 'get', returnEntity: ''}, {publishingStatus: publishingStatus, statusMessage: statusMessage });\r\n }\r\n\r\n export function setOnlineChannelPublishStatusAsync(context: IContext, publishingStatus: number, statusMessage?: string | null):AsyncResult {\r\n const request = createSetOnlineChannelPublishStatusInput(publishingStatus, statusMessage);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetInventoryConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetInventoryConfiguration', false, ChannelInventoryConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'ChannelInventoryConfiguration'}, { });\r\n }\r\n\r\n export function getInventoryConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetInventoryConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetPurchaseConfigurationInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetPurchaseConfiguration', false, ChannelPurchaseConfigurationClass, 'false', { bypassCache: 'none', returnEntity: 'ChannelPurchaseConfiguration'}, { });\r\n }\r\n\r\n export function getPurchaseConfigurationAsync(context: IContext):AsyncResult {\r\n const request = createGetPurchaseConfigurationInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchJournalNamesInput(queryResultSettings: IQueryResultSettings, searchCriteria?: InventoryJournalNameSearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchJournalNames', true, InventoryJournalNameClass, 'true', { bypassCache: 'none', returnEntity: 'InventoryJournalName'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function searchJournalNamesAsync(context: IContext, searchCriteria?: InventoryJournalNameSearchCriteria | null):AsyncResult {\r\n const request = createSearchJournalNamesInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAvailableDevicesInput(queryResultSettings: IQueryResultSettings, deviceType: number): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAvailableDevices', false, DeviceClass, 'true', { bypassCache: 'none', returnEntity: 'Device'}, {deviceType: deviceType });\r\n }\r\n\r\n export function getAvailableDevicesAsync(context: IContext, deviceType: number):AsyncResult {\r\n const request = createGetAvailableDevicesInput(context.queryResultSettings, deviceType);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetUserDefinedSecretStringInput(secretName?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetUserDefinedSecretString', false, '', 'false', { bypassCache: 'none', returnEntity: ''}, {secretName: secretName });\r\n }\r\n\r\n export function getUserDefinedSecretStringAsync(context: IContext, secretName?: string | null):AsyncResult {\r\n const request = createGetUserDefinedSecretStringInput(secretName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetUserDefinedSecretCertificateInput(secretName?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetUserDefinedSecretCertificate', false, UserDefinedSecretCertificateResultClass, 'false', { bypassCache: 'none', returnEntity: 'UserDefinedSecretCertificateResult'}, {secretName: secretName });\r\n }\r\n\r\n export function getUserDefinedSecretCertificateAsync(context: IContext, secretName?: string | null):AsyncResult {\r\n const request = createGetUserDefinedSecretCertificateInput(secretName);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetImageBlobInput(imageId: number): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetImageBlob', false, MediaBlobClass, 'false', { bypassCache: 'none', returnEntity: 'MediaBlob'}, {imageId: imageId });\r\n }\r\n\r\n export function getImageBlobAsync(context: IContext, imageId: number):AsyncResult {\r\n const request = createGetImageBlobInput(imageId);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetExtensibleEnumerationsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetExtensibleEnumerations', false, ExtensibleEnumerationContainerClass, 'true', { bypassCache: 'none', returnEntity: 'ExtensibleEnumerationContainer'}, { });\r\n }\r\n\r\n export function getExtensibleEnumerationsAsync(context: IContext):AsyncResult {\r\n const request = createGetExtensibleEnumerationsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetAddressPurposesInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetAddressPurposes', false, AddressPurposeClass, 'true', { bypassCache: 'none', returnEntity: 'AddressPurpose'}, { });\r\n }\r\n\r\n export function getAddressPurposesAsync(context: IContext):AsyncResult {\r\n const request = createGetAddressPurposesInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetReturnPolicyInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetReturnPolicy', false, ReturnPolicyClass, 'false', { bypassCache: 'none', returnEntity: 'ReturnPolicy'}, { });\r\n }\r\n\r\n export function getReturnPolicyAsync(context: IContext):AsyncResult {\r\n const request = createGetReturnPolicyInput();\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetEmailReceiptSettingsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetEmailReceiptSettings', false, EmailReceiptSettingsClass, 'true', { bypassCache: 'none', returnEntity: 'EmailReceiptSettings'}, { });\r\n }\r\n\r\n export function getEmailReceiptSettingsAsync(context: IContext):AsyncResult {\r\n const request = createGetEmailReceiptSettingsInput(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n ","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { DataServiceRequest } from './DataServiceRequest';\nimport { IDataServiceOptions, IDataServiceQueryInternal, IDataServiceRequest, IQueryResultSettings } from './Interfaces';\n\n/**\n * Represents a data service query object.\n */\nexport class DataServiceQuery {\n private _query: IDataServiceQueryInternal;\n\n /**\n * Creates a new instance of DataServiceQuery.\n * @param {IDataServiceRequestFactory} dataServiceRequestFactory The data service request factory.\n * @param {string} [entitySet] The entity set name.\n * @param {string} [entityType] The entity type name.\n * @param {any} [returntype] The return type of query.\n * @param {any} [key] Entity key.\n */\n constructor(entitySet?: string, entityType?: string, returnType?: any, key?: any) {\n this._query = {\n entitySet,\n entityType,\n key,\n returnType,\n tokens: {},\n // by default all action will skip reading from cache before making execute call\n options: { bypassCache: 'get', returnEntity: entityType },\n resultSettings: { Paging: {}, Sorting: {} }\n };\n }\n\n /**\n * Query result settings.\n *\n * @param {string} value The value of query result settings.\n */\n public resultSettings(value: IQueryResultSettings): DataServiceQuery {\n if (!value) {\n value = {};\n }\n\n this._query.resultSettings = {};\n this._query.resultSettings.Paging = value.Paging || {};\n this._query.resultSettings.Sorting = value.Sorting || {};\n this._query.resultSettings.count = value.count;\n\n return this;\n }\n\n /**\n * Filter Clause.\n * @param {string} value The filter value.\n */\n public filter(value: string): DataServiceQuery {\n this._query.filterSettings = value;\n\n return this;\n }\n\n /**\n * Top clause\n * @param {string} value The number of top rows to select.\n */\n public top(value: number): DataServiceQuery {\n this._query.resultSettings.Paging.Top = value;\n\n return this;\n }\n\n /**\n * Skip clause\n * @param {string} value The number of rows to skip\n */\n public skip(value: number): DataServiceQuery {\n this._query.resultSettings.Paging.Skip = value;\n\n return this;\n }\n\n /**\n * Expand clause\n * @param {string} propertyName The property name to expand.\n */\n public expand(propertyName: string): DataServiceQuery {\n if (this._query.expands == null) {\n this._query.expands = [];\n }\n\n this._query.expands.push(propertyName);\n return this;\n }\n\n /**\n * Request number of total row available.\n */\n public inlineCount(): DataServiceQuery {\n this._query.inlineCount = true;\n\n return this;\n }\n\n /**\n * Order by clause.\n * @param {string} value The field name for ordering.\n */\n public orderBy(value: string): DataServiceQuery {\n if (!this._query.resultSettings.Sorting.Columns) {\n this._query.resultSettings.Sorting.Columns = [];\n }\n\n this._query.resultSettings.Sorting.Columns.push({ ColumnName: value });\n\n return this;\n }\n\n /**\n * Transforms the request into a create request.\n * @param {string} object The object.\n * @return {IDataServiceRequest} The data service request.\n */\n public create(object: any): IDataServiceRequest {\n this._query.action = 'Create';\n this._query.data = this._createODataParameters(object);\n this._query.options.bypassCache = 'none';\n return this._createRequest();\n }\n\n /**\n * Transforms the request into a read request.\n * @return {IDataServiceRequest} The data service request.\n */\n public read(): IDataServiceRequest {\n if (this._query.key || (this._query.entitySet === 'Customers' && this._query.key !== null && this._query.key !== undefined)) {\n this._query.action = 'Read';\n } else {\n this._query.action = 'ReadAll';\n this._query.isReturnTypeACollection = true;\n }\n\n this._query.options.bypassCache = 'none';\n return this._createRequest();\n }\n\n /**\n * Transforms the request into an update request.\n * @param {string} object The object.\n * @return {IDataServiceRequest} The data service request.\n */\n public update(object: any): IDataServiceRequest {\n this._query.action = 'Update';\n this._query.data = this._createODataParameters(object);\n\n return this._createRequest();\n }\n\n /**\n * Transforms the request into a delete request.\n * @return {DataServiceRequest} The data service request.\n */\n public delete(): IDataServiceRequest {\n this._query.action = 'Delete';\n\n return this._createRequest();\n }\n\n public setGetAllRecords(): void {\n this._query.resultSettings.Paging.Top = -1;\n }\n\n public isGetAllRecords(): boolean {\n return this._query.resultSettings.Paging.Top === -1;\n }\n\n public createDataServiceRequestForOperation(\n operationName: string,\n isAction: boolean,\n returnType: any,\n isReturnTypeACollection: string,\n options: IDataServiceOptions,\n data?: unknown\n ): IDataServiceRequest {\n this._query.returnType = returnType;\n this._query.isAction = isAction;\n this._query.isReturnTypeACollection = isReturnTypeACollection === 'true';\n this._query.action = operationName;\n this._query.data = this._createODataParameters(data);\n this._query.options = { ...{ bypassCache: 'get', returnEntity: 'CUSTOM-ENTITY' }, ...options };\n\n if (this._query.isReturnTypeACollection && !this._query.resultSettings.Paging.Top) {\n // for paginated requests, where we didn't specify page size, set to fetch all records\n this.setGetAllRecords();\n }\n\n return this._createRequest();\n }\n\n private _createODataParameters(data: unknown) {\n return data ? { parameters: data } : undefined;\n }\n\n private _createRequest(): IDataServiceRequest {\n return new DataServiceRequest(this._query);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { toJS } from 'mobx';\n\nimport { ApiVersion, EntityIdentifier, SortColumn } from './Entities/CommerceTypes.g';\n\nimport {\n BypassCache,\n CacheType,\n ICallerContext,\n IDataServiceQueryInternal,\n IDataServiceRequest,\n IDictionary,\n IPartialCookieContext\n} from './Interfaces';\nimport {\n modelManagersRetailServerRequestError,\n modelManagersRetailServerRequestFinished,\n modelManagersRetailServerRequestStarted,\n Tracer,\n Utils\n} from './logging';\n\nimport { ProxyError } from './exceptions';\nimport { ErrorParser } from './exceptions/ErrorParser';\nimport {\n convertToString,\n EMPTY,\n format,\n hasElements,\n isEmpty,\n isNullOrWhitespace,\n isObjectNotEmptyOrNull\n} from './extensions/StringExtensions';\n\nimport { IODataRequest, ODataHttpRequest } from './externals/DataJS.New';\nexport const ODATA_HAS_NEXT_PAGE_PROPERTY = '@odata.nextLink';\nexport const GET: string = 'GET';\nexport const POST: string = 'POST';\nexport const PATCH: string = 'PATCH';\nexport const DELETE: string = 'DELETE';\nexport const GET_FROM_RETURNIDENTIFIER: string = '___GET__FROM__RETURNIDENTIIER___';\nexport const ODATA_TOTAL_COUNT_PROPERTY = '@odata.count';\n\nconst ApiTimeoutInMilliSecond = 10000;\nconst OPERATINGUNITNUMBER_HEADERNAME = 'OUN';\nconst AUTHORIZATION_HEADERNAME = 'Authorization';\nconst ACCEPT_LANGUAGE = 'Accept-Language';\nconst REQUEST_ID = 'RequestId';\nconst APPSESSION_ID = 'AppSessionId';\nconst USERSESSION_ID = 'UserSessionId';\nconst DEFAULT_HEADER: { [headerName: string]: string } = {\n Prefer: 'return=representation'\n};\n\n/***\n * Parses the odata result returned from server.\n *\n * @param {any} data The result returned from server.\n * @param {any} resultType The entity type to parse the result as.\n */\nexport function parseOdataResult(data: any, resultType: any): any {\n if (!data) {\n return data;\n }\n\n if (!data.value) {\n return resultType ? new resultType(data) : data;\n }\n\n const resultSet = data.value;\n\n if (resultType) {\n if (Object.prototype.toString.call(resultSet) === '[object Array]') {\n for (let i = 0; i < resultSet.length; i++) {\n resultSet[i] = new resultType(resultSet[i]);\n }\n }\n }\n\n // hasNextPage only apply to array which is typeof 'object'\n typeof resultSet === 'object' ? (resultSet.hasNextPage = !(data[ODATA_HAS_NEXT_PAGE_PROPERTY] === undefined)) : null;\n return resultSet;\n}\n\n/**\n * Represents a data service request object.\n */\nexport class DataServiceRequest implements IDataServiceRequest {\n private get batchRequestUri(): string {\n return this._callerContext.requestContext.apiSettings.baseUrl + '/$batch';\n }\n\n /**\n * Gets Locale for the current data service factory instance.\n */\n public get locale(): string {\n return this._callerContext.requestContext.locale;\n }\n\n /**\n * Sets Locale for the current data service factory instance.\n */\n public set locale(locale: string) {\n this._callerContext.requestContext.locale = locale;\n }\n\n /**\n * get cacheKeyFromInput.\n */\n public get cacheKeyFromInput(): string {\n return this._cacheKeyFromInput;\n }\n\n /**\n * get cacheKeyIdentifierFromReturnType.\n */\n public get cacheKeyIdentifierFromReturnType(): string {\n return this._cacheKeyIdentifierFromReturnType;\n }\n\n /**\n * get cacheObjectType.\n */\n public get cacheObjectType(): string {\n return this._cacheObjectType;\n }\n\n /**\n * get cacheKeyFromReturnType.\n */\n public get cacheKeyFromReturnType(): string[] {\n return this._cacheKeyFromReturnType;\n }\n\n /**\n * get totalCount.\n */\n public get totalCount(): number {\n return this._totalCount;\n }\n\n /**\n * get query.\n */\n public get query(): IDataServiceQueryInternal {\n return this._query;\n }\n\n /**\n * Gets query parameters for data service request.\n */\n public queryParams(): T {\n return this._query.data.parameters as T;\n }\n\n /**\n * Gets Odata properties\n */\n public get otherOdataProperties(): IDictionary {\n return this._otherOdata;\n }\n\n private _actionId: string;\n private _cacheObjectType: string;\n private _cacheKeyFromInput: string;\n private _cacheKeyFromReturnType: string[] = [];\n private _cacheKeyIdentifierFromReturnType: string;\n\n private _query: IDataServiceQueryInternal;\n private _callerContext: ICallerContext;\n private _requestUri: string;\n private _method: string;\n private _id: number;\n private _hasOperationName: boolean;\n private _totalCount: number;\n private _otherOdata: IDictionary;\n\n private static buildBatchRequest(batchRequestUri: string, requests: DataServiceRequest[]): IODataRequest {\n let requestId = 1;\n\n // Creates an empty batch request.\n const odataBatchRequest: IODataRequest = {\n requestUri: batchRequestUri,\n method: POST,\n data: { __batchRequests: [] }\n };\n\n const batchRequests = odataBatchRequest.data.__batchRequests;\n let changeRequests: IODataRequest[];\n\n requests.forEach(request => {\n request._id = requestId++;\n\n const odataRequest: IODataRequest = {\n requestUri: request._requestUri,\n method: request._method,\n data: DataServiceRequest.toJson(request._query.data),\n headers: { 'Content-ID': request.id(), Prefer: 'return=representation' }\n };\n\n if (request._method === GET) {\n batchRequests.push(odataRequest);\n } else {\n if (!changeRequests) {\n changeRequests = [];\n batchRequests.push({ __changeRequests: changeRequests });\n }\n changeRequests.push(odataRequest);\n }\n });\n\n return odataBatchRequest;\n }\n\n /**\n * Parse the batch responses.\n * @param {any[]} batchResponses The server responses.\n * @param {any[]} requests The request objects.\n * @param {any[]} responses The responses passed down to the success callback.\n */\n private static parseBatchResponses(batchResponses: any[], requests: any[], responses: any[]): ProxyError[] {\n let errors: ProxyError[] = new Array();\n\n batchResponses.forEach(response => {\n if (response.__changeResponses) {\n errors = errors.concat(DataServiceRequest.parseBatchResponses(response.__changeResponses, requests, responses));\n } else {\n if (!response.message) {\n const requestId = parseInt(response.headers['Content-ID'], 10);\n\n responses[requestId] = parseOdataResult(response.data, requests[requestId - 1]._query.returnType);\n } else {\n errors = errors.concat(ErrorParser.parseErrorMessage(response));\n }\n }\n });\n\n return errors;\n }\n\n /**\n * TODO - check if below function can be replaced with JSON.stringify.\n * Helper function to convert data into a stringified JSON object.\n * @param {any} parent The container of the element.\n * @param {any} data The data to be converted to a stringified JSON object.\n * @param {boolean} [modifyDataInPlace] Whether the object passed should be modified in place. If not, a clone is created instead.\n */\n private static toJson(data: any, parent?: any, modifyDataInPlace?: boolean): string {\n let clone = data;\n\n if (data === null) {\n return null;\n } else if (typeof data !== 'object') {\n // if data type is primitive type, no need to process further\n // as calling jquery extend or calling foreach prop on string type\n // will transform string to array of chars which will be incorrect result.\n return data;\n }\n\n if (data && data.parameters) {\n data = data.parameters;\n parent = null;\n } else {\n parent = data;\n }\n\n // clones the data object instead of changing it, if no modifications in place\n if (!modifyDataInPlace) {\n clone = { ...data };\n }\n\n for (const prop in clone) {\n if (clone.hasOwnProperty(prop)) {\n const property = clone[prop];\n\n // only non-undefined properties are added to the object\n if (typeof property !== 'undefined') {\n let value;\n if (property === null) {\n value = null;\n } else if (typeof property === 'object') {\n if (property instanceof Array) {\n value = DataServiceRequest.arrayToJson(property, parent, modifyDataInPlace);\n } else if (property instanceof Date) {\n value = DataServiceRequest.toDateTimeOffset(property);\n } else {\n // recursively stringifies objects\n value = DataServiceRequest.toJson(property, clone, modifyDataInPlace);\n }\n } else {\n value = property;\n }\n\n clone[prop] = value;\n }\n }\n }\n\n return clone;\n }\n\n /**\n * Helper function to convert array into a stringified JSON object following OData specifications.\n * @param {Array} array The data to be converted to a stringified JSON object.\n * @param {any} parent The container of the array.\n * @param {boolean} [modifyDataInPlace] Whether the object passed should be modified in place. If not, a clone is created instead.\n */\n private static arrayToJson(array: any[], parent: any, modifyDataInPlace?: boolean): any {\n const data = [];\n for (let i = 0; i < array.length; i++) {\n data[i] = DataServiceRequest.toJson(array[i], array, modifyDataInPlace);\n }\n\n // if array is not a top level data on an action\n return data;\n }\n\n /**\n * Add offset fields to Date object for serialization purposes.\n * @param {Date} dateTime The date.\n * @return {Date} The date with __edmType and __offset fields injected.\n */\n private static toDateTimeOffset(dateTime: Date): Date {\n if (!(dateTime as any).__edmType || !(dateTime as any).__offset) {\n const pad: (val: number) => string = (val: number) => (val < 10 ? '0' + val : val.toString());\n const sign: string = dateTime.getTimezoneOffset() > 0 ? '-' : '+';\n const offset: number = Math.abs(dateTime.getTimezoneOffset());\n const hours: string = pad(Math.floor(offset / 60));\n const minutes: string = pad(offset % 60);\n\n (dateTime as any).__edmType = 'Edm.DateTimeOffset';\n (dateTime as any).__offset = sign + hours + ':' + minutes;\n }\n\n return dateTime;\n }\n\n /**\n * Formats entity key(s) in request Uri.\n * @param {any} key The key dictionary.\n * @return {string} The formated string of the key(s).\n */\n private static formatKey(key: any): string {\n let result: string = EMPTY;\n\n if (key) {\n const formattedKey = [];\n let propertyName: string = EMPTY;\n\n for (const property in key) {\n if (key.hasOwnProperty(property)) {\n propertyName = property;\n if (typeof key[propertyName] === 'string') {\n formattedKey.push(propertyName + `='${key[propertyName]}'`);\n } else {\n formattedKey.push(propertyName + '=' + key[propertyName]);\n }\n }\n }\n\n if (formattedKey.length === 1) {\n if (typeof key[propertyName] === 'string') {\n result = `'${key[propertyName]}'`;\n } else {\n result = key[propertyName];\n }\n } else {\n result = formattedKey.join();\n }\n }\n\n return result;\n }\n\n /**\n * Formats function parameters in request Uri.\n * @param {any} parameters The parameter dictionary.\n * @return {string} The formated and encoded string of the parameters.\n */\n private static formatFunctionParameter(parameters: any): string {\n let result: string = EMPTY;\n\n if (parameters) {\n for (const parameter in parameters) {\n if (parameters.hasOwnProperty(parameter)) {\n const paramValue = parameters[parameter];\n\n if (!isEmpty(result)) {\n result += ',';\n }\n\n if (paramValue === undefined) {\n // handles undefined value\n continue;\n } else if (typeof paramValue === 'string') {\n // handles string type value\n result += parameter + `='${encodeURIComponent(paramValue)}'`;\n } else {\n // handles null and other types value\n result += parameter + '=' + encodeURIComponent(paramValue);\n }\n }\n }\n }\n\n return result;\n }\n\n // TODO - use node url api for url parsing\n private static addParameter(requestUri: string, key: string, value: any): string {\n if (value) {\n let parameterSeparator = '?';\n\n if (requestUri.indexOf(parameterSeparator) > 0) {\n parameterSeparator = '&';\n }\n\n return requestUri + parameterSeparator + key + '=' + value;\n } else {\n return requestUri;\n }\n }\n\n private static getActionIdFromInput(query: IDataServiceQueryInternal) {\n return `@msdyn365-commerce/retail-proxy/${query.entitySet}/${query.action}`;\n }\n\n private static getCacheObjectValueFromReturnType(returnType: any): string {\n // return type can be actual class itself like CategoryClass instead of string 'CategoryClass'\n const cacheObjectTypeValue = typeof returnType === 'function' ? returnType.name : returnType;\n return cacheObjectTypeValue.replace('Class', '');\n }\n\n private static buildCacheFromInput(query: IDataServiceQueryInternal, cacheKeyIdentifierFromReturnType: string): string {\n // TODO if return type have distinct primary key (and not a collection), cache key for action will be computed primary key\n\n let cacheKey = {};\n // if query have key like { RecordId: 56873008 }\n query.key && (cacheKey = { ...query.key });\n // parameters are input to function like query.createDataServiceRequestForOperation('GetCategories', true, CategoryClass, 'true', { channelId })\n // => {channelId} is parameters.\n query.data && query.data.parameters && (cacheKey = { ...cacheKey, ...(query.data.parameters as {}) });\n query.resultSettings &&\n (cacheKey = {\n ...cacheKey,\n ...query.resultSettings.Paging,\n ...query.resultSettings.Sorting\n });\n query.filterSettings && (cacheKey['filter'] = query.filterSettings);\n isObjectNotEmptyOrNull(query.tokens) && (cacheKey['token'] = query.tokens);\n // TODO - add OUN in cache key\n const cacheKeyValue =\n convertToString(cacheKey) ||\n (cacheKeyIdentifierFromReturnType ? GET_FROM_RETURNIDENTIFIER : `${query.entitySet}|${query.entityType}|NOKEY`);\n Tracer.Information(`{CacheKey - CacheValue} : ${cacheKey} - ${cacheKeyValue}`);\n return cacheKeyValue;\n }\n\n private static getDataCacheType(query: IDataServiceQueryInternal): CacheType {\n // cache all result in request cacheisObjectNotEmptyOrNull\n //\n // Follow following rule for app cache\n // -------------------------------------------------------------------------------------\n // scenario app cache\n // -------------------------------------------------------------------------------------\n // 1. if returnType is - true\n // a. Category\n // b. Product\n // c. OrgUnit\n // d. ProductCatalog\n // e. Warehouse\n if (query.entitySet === 'Carts' && query.action === 'GetMaxLoyaltyPointsToRedeemForTransactionBalance') {\n return 'none';\n }\n\n return query.options.bypassCache === 'get' || query.options.bypassCache === 'getAndPut' ? 'none' : 'request';\n }\n\n constructor(query: IDataServiceQueryInternal) {\n Tracer.Information('DataServiceRequest.constructor()');\n this._query = toJS(query, { recurseEverything: true });\n this._hasOperationName = false;\n\n switch (query.action) {\n case 'Read':\n case 'ReadAll':\n this._method = GET;\n break;\n\n case 'Create':\n this._method = POST;\n break;\n\n case 'Update':\n this._method = PATCH;\n break;\n\n case 'Delete':\n this._method = DELETE;\n break;\n\n default:\n if (query.isAction) {\n // Sets the HTTP method to be POST for actions\n this._method = POST;\n } else {\n // Sets the HTTP method to be GET for functions\n this._method = GET;\n }\n\n this._hasOperationName = true;\n }\n\n this._actionId = DataServiceRequest.getActionIdFromInput(query);\n\n this._cacheObjectType = DataServiceRequest.getCacheObjectValueFromReturnType(query.options.returnEntity);\n // TODO - handle Key when it is array like SHIFT case\n const entityIdentifier = this._cacheObjectType === 'SimpleProduct' ? 'Product' : this._cacheObjectType;\n this._cacheKeyIdentifierFromReturnType = EntityIdentifier[entityIdentifier] && EntityIdentifier[entityIdentifier].Key;\n\n this._cacheKeyFromInput = DataServiceRequest.buildCacheFromInput(this._query, this._cacheKeyIdentifierFromReturnType);\n }\n\n /**\n * Gets the Request Identifier.\n * Auto-generated unique identifier if executed in batch. Used to fetch the response from batch result array.\n */\n public id(): number {\n return this._id;\n }\n\n public getActionId = () => this._actionId;\n\n public getCacheObjectType = () => this._cacheObjectType;\n\n public getCacheKey = () => this._cacheKeyFromInput;\n\n public dataCacheType = () => DataServiceRequest.getDataCacheType(this._query);\n\n public shouldCacheOutput = () => true;\n\n public overrideCacheType = (bypassCache: BypassCache) => {\n bypassCache && (this._query.options.bypassCache = bypassCache);\n };\n\n /**\n * Executes the request.\n * @param {any} callerContext The caller context.\n * @return {IAsyncResult} The async result.\n */\n public execute(callerContext: ICallerContext): Promise {\n if (\n !callerContext.requestContext ||\n !callerContext.requestContext.apiSettings ||\n !callerContext.requestContext.apiSettings.oun ||\n !callerContext.requestContext.apiSettings.baseUrl\n ) {\n throw new Error(`CallerContext missing required request parameters - [${JSON.stringify(callerContext.requestContext)}]`);\n }\n\n if (!callerContext.requestContext.locale) {\n throw new Error(`CallerContext missing locale - [${JSON.stringify(callerContext.requestContext)}]`);\n }\n\n this._callerContext = callerContext;\n this._requestUri = this.getRequestUri();\n let result: Promise;\n const headers: { [headerName: string]: string } = this.buildQueryHeader();\n\n if (\n !this._query.isReturnTypeACollection ||\n (this._query.resultSettings &&\n this._query.resultSettings.Paging &&\n this._query.resultSettings.Paging.Top &&\n this._query.resultSettings.Paging.Top >= 0)\n ) {\n result = this.loadPage(headers);\n } else {\n result = this.getAllPages(headers, 0);\n }\n\n return result;\n }\n\n // Need to build batch handler ----------- PENDING\n /**\n * Executes the batch requests.\n * @param {DataServiceRequest[]} requests The collection of requests to execute.\n * @param {any} [callerContext] The caller context.\n * @return {IAsyncResult} The async result. Responses at index I correlates to request with identifier I.\n */\n public executeBatch(requests: DataServiceRequest[], callerContext?: ICallerContext): Promise {\n if (\n !callerContext.requestContext ||\n !callerContext.requestContext.apiSettings ||\n !callerContext.requestContext.apiSettings.oun ||\n !callerContext.requestContext.apiSettings.baseUrl\n ) {\n throw new Error(`CallerContext missing required request parameters - [${JSON.stringify(callerContext.requestContext)}]`);\n }\n\n if (!callerContext.requestContext.locale) {\n throw new Error(`CallerContext missing locale - [${JSON.stringify(callerContext.requestContext)}]`);\n }\n\n this._callerContext = callerContext;\n this._requestUri = this.getRequestUri();\n\n return new Promise((resolve, reject) => {\n ODataHttpRequest(\n DataServiceRequest.buildBatchRequest(this.batchRequestUri, requests),\n (data: any) => {\n const responses: any[] = new Array();\n const errors: ProxyError[] = DataServiceRequest.parseBatchResponses(data.__batchResponses, requests, responses);\n\n if (errors.length === 0) {\n Tracer.Information(this.batchRequestUri + ' success');\n resolve(responses);\n } else {\n Tracer.Errors(errors, this.batchRequestUri + ' failed.');\n reject(errors);\n }\n },\n (error: any) => {\n Tracer.Error(this.batchRequestUri + ' failed');\n reject(ErrorParser.parseErrorMessage(error));\n }\n );\n });\n }\n\n /**\n * Gets the Request Uri.\n */\n private getRequestUri(): string {\n let requestUri: string = this._callerContext.requestContext.apiSettings.baseUrl + 'Commerce';\n if (this._query.entitySet) {\n requestUri = `${requestUri}/${this._query.entitySet}`;\n\n if (this._query.key) {\n requestUri = `${requestUri}(${DataServiceRequest.formatKey(this._query.key)})`;\n } else if (this._query.entitySet === 'Customers' && this._query.key !== null && this._query.key !== undefined) {\n requestUri = `${requestUri}('')`;\n }\n }\n\n // Appends the action (POST) or function (GET) name to the Uri\n if (this._hasOperationName) {\n requestUri += '/' + this._query.action;\n\n // Construct OData function Url with parameters. [e.g. Func(), Func(param1='',param2='')]\n if (!this._query.isAction && this._query.data && this._query.data.parameters) {\n requestUri += '(' + DataServiceRequest.formatFunctionParameter(this._query.data.parameters) + ')';\n }\n }\n\n if (this._query.isReturnTypeACollection) {\n requestUri = DataServiceRequest.addParameter(\n requestUri,\n '$top',\n this._query.resultSettings && this._query.resultSettings.Paging\n ? this._query.resultSettings.Paging.Top\n : ApiTimeoutInMilliSecond\n ); // Config.defaultPageSize);\n requestUri = DataServiceRequest.addParameter(\n requestUri,\n '$skip',\n this._query.resultSettings && this._query.resultSettings.Paging ? this._query.resultSettings.Paging.Skip : 0\n );\n requestUri = DataServiceRequest.addParameter(requestUri, '$inlinecount', this._query.inlineCount ? 'allpages' : null);\n\n if (this._query.resultSettings.count) {\n requestUri = DataServiceRequest.addParameter(requestUri, '$count', 'true');\n }\n\n requestUri = DataServiceRequest.addParameter(\n requestUri,\n '$filter',\n this._query.filterSettings ? this._query.filterSettings : 0\n );\n\n if (this._query.resultSettings && this._query.resultSettings.Sorting && this._query.resultSettings.Sorting.Columns) {\n this._query.resultSettings.Sorting.Columns.forEach((column: SortColumn) => {\n if (!isNullOrWhitespace(column.ColumnName || EMPTY)) {\n const orderByColumn: string = format('{0}%20{1}', column.ColumnName, column.IsDescending ? 'desc' : 'asc');\n\n requestUri = DataServiceRequest.addParameter(requestUri, '$orderby', orderByColumn);\n }\n });\n }\n }\n\n if (this._query.expands && hasElements(this._query.expands)) {\n requestUri = DataServiceRequest.addParameter(requestUri, '$expand', this._query.expands.join());\n }\n\n if (!isNullOrWhitespace(ApiVersion)) {\n requestUri = DataServiceRequest.addParameter(requestUri, 'api-version', ApiVersion);\n }\n\n return requestUri;\n }\n\n /**\n * Executes paginated requests for all entities.\n * @param {AsyncResult{T}} asyncResult The async result.\n * @param {{ [headerName: string]: string }} headerName the headers for the request.\n * @param {number} skip The offset.\n * @param {Array} The array result.\n */\n private getAllPages(headers: { [headerName: string]: string }, skip: number, results?: T[]): Promise {\n skip = skip || 0;\n const top = 1000; // Config.defaultPageSize;\n this._query.resultSettings = this._query.resultSettings || {};\n this._query.resultSettings.Paging = this._query.resultSettings.Paging || {};\n this._query.resultSettings.Paging.Top = top;\n results = results || [];\n\n return this.loadPage(headers, skip)\n .then((loadPageResults: T) => {\n if (loadPageResults) {\n if (typeof (loadPageResults as any).length === 'number') {\n results = results.concat(loadPageResults);\n\n if ((loadPageResults as any).length < top) {\n // This page contains less items than top\n if ((loadPageResults as any).hasNextPage) {\n // This means the pagesize defined on server side is smaller than the top\n skip += (loadPageResults as any).length;\n return this.getAllPages(headers, skip, results); // Try to fetch the next page\n } else {\n // No more pages need to fetch\n return Promise.resolve((results as any) as T);\n }\n } else {\n // This page contains exact amount of item as the top, should not contain more\n skip += top;\n return this.getAllPages(headers, skip, results); // Try to fetch the next page\n }\n } else {\n // The pageResult is a single item\n results.push((loadPageResults as unknown) as T);\n return Promise.resolve((results as unknown) as T);\n }\n }\n })\n .catch(error => {\n return Promise.reject(error);\n });\n }\n\n /**\n * Builds the header to be sent as part of the request.\n * @returns {{ [headerName: string]: string }} a key value pair collection of header names and header values.\n */\n private buildQueryHeader(): { [headerName: string]: string } {\n const headers: { [headerName: string]: string } = {};\n headers['from-keystone'] = 'true';\n\n // copy default values from default header\n for (const headerName in DEFAULT_HEADER) {\n if (DEFAULT_HEADER.hasOwnProperty(headerName)) {\n headers[headerName] = DEFAULT_HEADER[headerName];\n }\n }\n\n // Copy operating unit number if present for C2 (if an operation is done by a customer or by anonymous user) scenarios.\n if (!isNullOrWhitespace(this._callerContext.requestContext.apiSettings.oun)) {\n headers[OPERATINGUNITNUMBER_HEADERNAME] = this._callerContext.requestContext.apiSettings.oun;\n }\n\n // Add accept-language header to send user preferred locale to server.\n headers[ACCEPT_LANGUAGE] = this._callerContext.requestContext.locale;\n\n // Add custom AppInsights headers\n headers[REQUEST_ID] = this._callerContext.requestContext.operationId;\n\n // add any tokens as part of the header\n for (const tokenName in this._query.tokens) {\n if (this._query.tokens.hasOwnProperty(tokenName)) {\n const tokenValue: string = this._query.tokens[tokenName];\n\n if (!isNullOrWhitespace(tokenValue)) {\n headers[tokenName] = tokenValue;\n }\n }\n }\n\n // Now check whether authentication token is present or not, if present it will be added into Authorization header.\n if (\n this._callerContext &&\n this._callerContext.requestContext.user &&\n !isNullOrWhitespace(this._callerContext.requestContext.user.token)\n ) {\n headers[AUTHORIZATION_HEADERNAME] = `id_token ${this._callerContext.requestContext.user.token}`;\n }\n\n // Check if an Bearer access token is being provided. If present it will be added into Authorization header\n if (\n this._callerContext &&\n this._callerContext.requestContext &&\n !isNullOrWhitespace(this._callerContext.requestContext.accessToken)\n ) {\n headers[AUTHORIZATION_HEADERNAME] = `Bearer ${this._callerContext.requestContext.accessToken}`;\n }\n\n // Add AppSessionId and UserSessionId to request header\n if (this._callerContext.requestContext[`cookies`]) {\n const cookieData: IPartialCookieContext = this._callerContext.requestContext[`cookies`];\n const appSessionCookie = cookieData.get('ai_session');\n const userSessionCookie = cookieData.get('ai_user');\n\n if (appSessionCookie && appSessionCookie.status === 'FOUND') {\n const appSessionId = appSessionCookie.value?.split('|')[0];\n headers[APPSESSION_ID] = appSessionId;\n }\n if (userSessionCookie && userSessionCookie.status === 'FOUND') {\n const userSessionId = userSessionCookie.value?.split('|')[0];\n headers[USERSESSION_ID] = userSessionId;\n }\n }\n\n return headers;\n }\n\n /**\n * Executes request for one page.\n * @param {AsyncResult} The async result.\n * @param {{ [headerName: string]: string }} headerName the headers for the request.\n */\n private loadPage(headers: { [headerName: string]: string }, skip?: number): Promise {\n if (skip) {\n this._query.resultSettings = this._query.resultSettings || {};\n this._query.resultSettings.Paging = this._query.resultSettings.Paging || {};\n this._query.resultSettings.Paging.Skip = skip;\n }\n\n const requestId = Utils.generateGuid();\n modelManagersRetailServerRequestStarted(requestId, this._requestUri);\n\n return new Promise((resolve, reject) => {\n // This is the pipe for all OData API calls.\n ODataHttpRequest(\n {\n requestUri: this.getRequestUri(),\n method: this._method,\n data: DataServiceRequest.toJson(this._query.data),\n headers\n },\n (data: any) => {\n modelManagersRetailServerRequestFinished(requestId, this._requestUri);\n const resultSet = parseOdataResult(data, this._query.returnType);\n\n if (data) {\n if (data[ODATA_TOTAL_COUNT_PROPERTY]) {\n this._totalCount = data[ODATA_TOTAL_COUNT_PROPERTY];\n }\n const otherOdata = DataServiceRequest.setMetadata(data);\n if (otherOdata) {\n this._otherOdata = otherOdata;\n }\n }\n\n if (this._cacheKeyIdentifierFromReturnType) {\n if (Object.prototype.toString.call(resultSet) === '[object Array]') {\n this._cacheKeyFromReturnType.concat(\n resultSet.map(result => result[this._cacheKeyIdentifierFromReturnType]).filter(Boolean)\n );\n } else if (typeof resultSet === 'object') {\n this._cacheKeyFromReturnType.push(resultSet[this._cacheKeyIdentifierFromReturnType]);\n }\n }\n\n resolve(resultSet);\n },\n (error: any) => {\n modelManagersRetailServerRequestError(requestId, this._requestUri, error.message);\n reject(ErrorParser.parseErrorMessage(error));\n }\n );\n });\n }\n\n /**\n * Sets all the Odata propeties from retail api on DataServiceRequest\n * @param data retail api call data\n */\n private static setMetadata(data: any): IDictionary | undefined {\n // Sets all the Odata properties on DataServiceRequest\n const odataList = Object.keys(data).filter(key => {\n if (key !== ODATA_TOTAL_COUNT_PROPERTY) {\n return key.indexOf('@odata') === 0;\n }\n });\n\n if (odataList.length > 0) {\n const odata = odataList.reduce(function(newData, key) {\n const newKey = key.replace('@odata.', '');\n newData[newKey] = data[key];\n return newData;\n }, {});\n\n return odata;\n }\n return undefined;\n }\n}\n","\r\n import * as Entities from './CommerceTypes.g';\r\n import { jsonLightReadStringPropertyValue } from '../externals';\r\n\r\n const entityDictionary = {};\r\n \r\n /**\r\n * Category entity class.\r\n */\r\n export class CategoryClass implements Entities.Category {\r\n public RecordId: number;\r\n public OfflineImage: string;\r\n public Name: string;\r\n public ParentCategory: number;\r\n public DisplayOrder: number;\r\n public Images: Entities.MediaLocation[];\r\n public NameTranslations: Entities.TextValueTranslation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.OfflineImage = \r\n odataObject.OfflineImage;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ParentCategory = \r\n (odataObject.ParentCategory != null) ? parseInt(odataObject.ParentCategory, 10) : undefined;\r\n \r\n this.DisplayOrder = \r\n (odataObject.DisplayOrder != null) ? parseFloat(odataObject.DisplayOrder) : undefined;\r\n \r\n this.Images = undefined;\r\n if (odataObject.Images) {\r\n this.Images = [];\r\n for (var i = 0; i < odataObject.Images.length; i++) {\r\n if (odataObject.Images[i] != null) {\r\n if (odataObject.Images[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Images[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Images[i] = new entityDictionary[className](odataObject.Images[i])\r\n }\r\n } else {\r\n this.Images[i] = new MediaLocationClass(odataObject.Images[i]);\r\n }\r\n } else {\r\n this.Images[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.NameTranslations = undefined;\r\n if (odataObject.NameTranslations) {\r\n this.NameTranslations = [];\r\n for (var i = 0; i < odataObject.NameTranslations.length; i++) {\r\n if (odataObject.NameTranslations[i] != null) {\r\n if (odataObject.NameTranslations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.NameTranslations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.NameTranslations[i] = new entityDictionary[className](odataObject.NameTranslations[i])\r\n }\r\n } else {\r\n this.NameTranslations[i] = new TextValueTranslationClass(odataObject.NameTranslations[i]);\r\n }\r\n } else {\r\n this.NameTranslations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CategoryClass'] = CategoryClass;\r\n \r\n /**\r\n * Cart entity class.\r\n */\r\n export class CartClass implements Entities.Cart {\r\n public AffiliationLines: Entities.AffiliationLoyaltyTier[];\r\n public IsRequiredAmountPaid: boolean;\r\n public IsDiscountFullyCalculated: boolean;\r\n public IgnoreDiscountCalculation: boolean;\r\n public AmountDue: number;\r\n public AmountPaid: number;\r\n public AttributeValues: Entities.AttributeValueBase[];\r\n public BeginDateTime: Date;\r\n public BusinessDate: Date;\r\n public CancellationChargeAmount: number;\r\n public EstimatedShippingAmount: number;\r\n public CartLines: Entities.CartLine[];\r\n public CartTypeValue: number;\r\n public ChannelId: number;\r\n public ChargeAmount: number;\r\n public CustomerOrderRemainingBalance: number;\r\n public ChargeLines: Entities.ChargeLine[];\r\n public TaxViewLines: Entities.TaxViewLine[];\r\n public Comment: string;\r\n public InvoiceComment: string;\r\n public Coupons: Entities.Coupon[];\r\n public CustomerId: string;\r\n public CustomerOrderModeValue: number;\r\n public DeliveryMode: string;\r\n public DeliveryModeChargeAmount: number;\r\n public DiscountAmount: number;\r\n public DiscountAmountWithoutTax: number;\r\n public DiscountCodes: string[];\r\n public Id: string;\r\n public SuspendedCartId: string;\r\n public TransactionTypeValue: number;\r\n public CustomerAccountDepositLines: Entities.CustomerAccountDepositLine[];\r\n public IncomeExpenseLines: Entities.IncomeExpenseLine[];\r\n public IncomeExpenseTotalAmount: number;\r\n public IsReturnByReceipt: boolean;\r\n public ReturnTransactionHasLoyaltyPayment: boolean;\r\n public IsFavorite: boolean;\r\n public IsRecurring: boolean;\r\n public IsSuspended: boolean;\r\n public LoyaltyCardId: string;\r\n public ModifiedDateTime: Date;\r\n public Name: string;\r\n public OrderNumber: string;\r\n public AvailableDepositAmount: number;\r\n public OverriddenDepositAmount: number;\r\n public OverriddenDepositWithoutCarryoutAmount: number;\r\n public PrepaymentAmountPaid: number;\r\n public PrepaymentAppliedOnPickup: number;\r\n public PrepaymentAmountInvoiced: number;\r\n public PromotionLines: string[];\r\n public QuotationExpiryDate: Date;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public ReceiptEmail: string;\r\n public RequestedDeliveryDate: Date;\r\n public RequiredDepositAmount: number;\r\n public RequiredDepositWithoutCarryoutAmount: number;\r\n public SalesId: string;\r\n public ShippingAddress: Entities.Address;\r\n public StaffId: string;\r\n public SubtotalAmount: number;\r\n public SubtotalAmountWithoutTax: number;\r\n public NetPrice: number;\r\n public SubtotalSalesAmount: number;\r\n public TaxAmount: number;\r\n public TaxOnCancellationCharge: number;\r\n public TaxOnShippingCharge: number;\r\n public TaxOnNonShippingCharges: number;\r\n public TaxOverrideCode: string;\r\n public TenderLines: Entities.TenderLine[];\r\n public RefundableTenderLines: Entities.TenderLine[];\r\n public TerminalId: string;\r\n public TotalAmount: number;\r\n public TotalSalesAmount: number;\r\n public TotalReturnAmount: number;\r\n public TotalCarryoutSalesAmount: number;\r\n public TotalCustomerOrderSalesAmount: number;\r\n public TotalManualDiscountAmount: number;\r\n public TotalManualDiscountPercentage: number;\r\n public WarehouseId: string;\r\n public IsCreatedOffline: boolean;\r\n public CartStatusValue: number;\r\n public ReceiptTransactionTypeValue: number;\r\n public CommissionSalesGroup: string;\r\n public Version: number;\r\n public TotalItems: number;\r\n public HasTaxCalculationTriggered: boolean;\r\n public MerchantProperties: Entities.PaymentMerchantInformation[];\r\n public HasChargeCalculationTriggered: boolean;\r\n public FiscalTransactions: Entities.FiscalTransaction[];\r\n public ShippingChargeAmount: number;\r\n public OtherChargeAmount: number;\r\n public PeriodicDiscountsCalculateScopeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AffiliationLines = undefined;\r\n if (odataObject.AffiliationLines) {\r\n this.AffiliationLines = [];\r\n for (var i = 0; i < odataObject.AffiliationLines.length; i++) {\r\n if (odataObject.AffiliationLines[i] != null) {\r\n if (odataObject.AffiliationLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AffiliationLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AffiliationLines[i] = new entityDictionary[className](odataObject.AffiliationLines[i])\r\n }\r\n } else {\r\n this.AffiliationLines[i] = new AffiliationLoyaltyTierClass(odataObject.AffiliationLines[i]);\r\n }\r\n } else {\r\n this.AffiliationLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsRequiredAmountPaid = \r\n odataObject.IsRequiredAmountPaid;\r\n \r\n this.IsDiscountFullyCalculated = \r\n odataObject.IsDiscountFullyCalculated;\r\n \r\n this.IgnoreDiscountCalculation = \r\n odataObject.IgnoreDiscountCalculation;\r\n \r\n this.AmountDue = \r\n (odataObject.AmountDue != null) ? parseFloat(odataObject.AmountDue) : undefined;\r\n \r\n this.AmountPaid = \r\n (odataObject.AmountPaid != null) ? parseFloat(odataObject.AmountPaid) : undefined;\r\n \r\n this.AttributeValues = undefined;\r\n if (odataObject.AttributeValues) {\r\n this.AttributeValues = [];\r\n for (var i = 0; i < odataObject.AttributeValues.length; i++) {\r\n if (odataObject.AttributeValues[i] != null) {\r\n if (odataObject.AttributeValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttributeValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValues[i] = new entityDictionary[className](odataObject.AttributeValues[i])\r\n }\r\n } else {\r\n this.AttributeValues[i] = new AttributeValueBaseClass(odataObject.AttributeValues[i]);\r\n }\r\n } else {\r\n this.AttributeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.BeginDateTime = \r\n (odataObject.BeginDateTime instanceof Date) ? odataObject.BeginDateTime\r\n : (odataObject.BeginDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.BeginDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.BusinessDate = \r\n (odataObject.BusinessDate instanceof Date) ? odataObject.BusinessDate\r\n : (odataObject.BusinessDate != null) ? jsonLightReadStringPropertyValue(odataObject.BusinessDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CancellationChargeAmount = \r\n (odataObject.CancellationChargeAmount != null) ? parseFloat(odataObject.CancellationChargeAmount) : undefined;\r\n \r\n this.EstimatedShippingAmount = \r\n (odataObject.EstimatedShippingAmount != null) ? parseFloat(odataObject.EstimatedShippingAmount) : undefined;\r\n \r\n this.CartLines = undefined;\r\n if (odataObject.CartLines) {\r\n this.CartLines = [];\r\n for (var i = 0; i < odataObject.CartLines.length; i++) {\r\n if (odataObject.CartLines[i] != null) {\r\n if (odataObject.CartLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CartLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CartLines[i] = new entityDictionary[className](odataObject.CartLines[i])\r\n }\r\n } else {\r\n this.CartLines[i] = new CartLineClass(odataObject.CartLines[i]);\r\n }\r\n } else {\r\n this.CartLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CartTypeValue = \r\n odataObject.CartTypeValue;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.ChargeAmount = \r\n (odataObject.ChargeAmount != null) ? parseFloat(odataObject.ChargeAmount) : undefined;\r\n \r\n this.CustomerOrderRemainingBalance = \r\n (odataObject.CustomerOrderRemainingBalance != null) ? parseFloat(odataObject.CustomerOrderRemainingBalance) : undefined;\r\n \r\n this.ChargeLines = undefined;\r\n if (odataObject.ChargeLines) {\r\n this.ChargeLines = [];\r\n for (var i = 0; i < odataObject.ChargeLines.length; i++) {\r\n if (odataObject.ChargeLines[i] != null) {\r\n if (odataObject.ChargeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChargeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChargeLines[i] = new entityDictionary[className](odataObject.ChargeLines[i])\r\n }\r\n } else {\r\n this.ChargeLines[i] = new ChargeLineClass(odataObject.ChargeLines[i]);\r\n }\r\n } else {\r\n this.ChargeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxViewLines = undefined;\r\n if (odataObject.TaxViewLines) {\r\n this.TaxViewLines = [];\r\n for (var i = 0; i < odataObject.TaxViewLines.length; i++) {\r\n if (odataObject.TaxViewLines[i] != null) {\r\n if (odataObject.TaxViewLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxViewLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxViewLines[i] = new entityDictionary[className](odataObject.TaxViewLines[i])\r\n }\r\n } else {\r\n this.TaxViewLines[i] = new TaxViewLineClass(odataObject.TaxViewLines[i]);\r\n }\r\n } else {\r\n this.TaxViewLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this.InvoiceComment = \r\n odataObject.InvoiceComment;\r\n \r\n this.Coupons = undefined;\r\n if (odataObject.Coupons) {\r\n this.Coupons = [];\r\n for (var i = 0; i < odataObject.Coupons.length; i++) {\r\n if (odataObject.Coupons[i] != null) {\r\n if (odataObject.Coupons[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Coupons[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Coupons[i] = new entityDictionary[className](odataObject.Coupons[i])\r\n }\r\n } else {\r\n this.Coupons[i] = new CouponClass(odataObject.Coupons[i]);\r\n }\r\n } else {\r\n this.Coupons[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerOrderModeValue = \r\n odataObject.CustomerOrderModeValue;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.DeliveryModeChargeAmount = \r\n (odataObject.DeliveryModeChargeAmount != null) ? parseFloat(odataObject.DeliveryModeChargeAmount) : undefined;\r\n \r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.DiscountAmountWithoutTax = \r\n (odataObject.DiscountAmountWithoutTax != null) ? parseFloat(odataObject.DiscountAmountWithoutTax) : undefined;\r\n \r\n this.DiscountCodes = undefined;\r\n if (odataObject.DiscountCodes) {\r\n this.DiscountCodes = [];\r\n for (var i = 0; i < odataObject.DiscountCodes.length; i++) {\r\n if (odataObject.DiscountCodes[i] != null) {\r\n this.DiscountCodes[i] = \r\n odataObject.DiscountCodes[i];\r\n } else {\r\n this.DiscountCodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.SuspendedCartId = \r\n odataObject.SuspendedCartId;\r\n \r\n this.TransactionTypeValue = \r\n odataObject.TransactionTypeValue;\r\n \r\n this.CustomerAccountDepositLines = undefined;\r\n if (odataObject.CustomerAccountDepositLines) {\r\n this.CustomerAccountDepositLines = [];\r\n for (var i = 0; i < odataObject.CustomerAccountDepositLines.length; i++) {\r\n if (odataObject.CustomerAccountDepositLines[i] != null) {\r\n if (odataObject.CustomerAccountDepositLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomerAccountDepositLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomerAccountDepositLines[i] = new entityDictionary[className](odataObject.CustomerAccountDepositLines[i])\r\n }\r\n } else {\r\n this.CustomerAccountDepositLines[i] = new CustomerAccountDepositLineClass(odataObject.CustomerAccountDepositLines[i]);\r\n }\r\n } else {\r\n this.CustomerAccountDepositLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IncomeExpenseLines = undefined;\r\n if (odataObject.IncomeExpenseLines) {\r\n this.IncomeExpenseLines = [];\r\n for (var i = 0; i < odataObject.IncomeExpenseLines.length; i++) {\r\n if (odataObject.IncomeExpenseLines[i] != null) {\r\n if (odataObject.IncomeExpenseLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.IncomeExpenseLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.IncomeExpenseLines[i] = new entityDictionary[className](odataObject.IncomeExpenseLines[i])\r\n }\r\n } else {\r\n this.IncomeExpenseLines[i] = new IncomeExpenseLineClass(odataObject.IncomeExpenseLines[i]);\r\n }\r\n } else {\r\n this.IncomeExpenseLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IncomeExpenseTotalAmount = \r\n (odataObject.IncomeExpenseTotalAmount != null) ? parseFloat(odataObject.IncomeExpenseTotalAmount) : undefined;\r\n \r\n this.IsReturnByReceipt = \r\n odataObject.IsReturnByReceipt;\r\n \r\n this.ReturnTransactionHasLoyaltyPayment = \r\n odataObject.ReturnTransactionHasLoyaltyPayment;\r\n \r\n this.IsFavorite = \r\n odataObject.IsFavorite;\r\n \r\n this.IsRecurring = \r\n odataObject.IsRecurring;\r\n \r\n this.IsSuspended = \r\n odataObject.IsSuspended;\r\n \r\n this.LoyaltyCardId = \r\n odataObject.LoyaltyCardId;\r\n \r\n this.ModifiedDateTime = \r\n (odataObject.ModifiedDateTime instanceof Date) ? odataObject.ModifiedDateTime\r\n : (odataObject.ModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.ModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.OrderNumber = \r\n odataObject.OrderNumber;\r\n \r\n this.AvailableDepositAmount = \r\n (odataObject.AvailableDepositAmount != null) ? parseFloat(odataObject.AvailableDepositAmount) : undefined;\r\n \r\n this.OverriddenDepositAmount = \r\n (odataObject.OverriddenDepositAmount != null) ? parseFloat(odataObject.OverriddenDepositAmount) : undefined;\r\n \r\n this.OverriddenDepositWithoutCarryoutAmount = \r\n (odataObject.OverriddenDepositWithoutCarryoutAmount != null) ? parseFloat(odataObject.OverriddenDepositWithoutCarryoutAmount) : undefined;\r\n \r\n this.PrepaymentAmountPaid = \r\n (odataObject.PrepaymentAmountPaid != null) ? parseFloat(odataObject.PrepaymentAmountPaid) : undefined;\r\n \r\n this.PrepaymentAppliedOnPickup = \r\n (odataObject.PrepaymentAppliedOnPickup != null) ? parseFloat(odataObject.PrepaymentAppliedOnPickup) : undefined;\r\n \r\n this.PrepaymentAmountInvoiced = \r\n (odataObject.PrepaymentAmountInvoiced != null) ? parseFloat(odataObject.PrepaymentAmountInvoiced) : undefined;\r\n \r\n this.PromotionLines = undefined;\r\n if (odataObject.PromotionLines) {\r\n this.PromotionLines = [];\r\n for (var i = 0; i < odataObject.PromotionLines.length; i++) {\r\n if (odataObject.PromotionLines[i] != null) {\r\n this.PromotionLines[i] = \r\n odataObject.PromotionLines[i];\r\n } else {\r\n this.PromotionLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.QuotationExpiryDate = \r\n (odataObject.QuotationExpiryDate instanceof Date) ? odataObject.QuotationExpiryDate\r\n : (odataObject.QuotationExpiryDate != null) ? jsonLightReadStringPropertyValue(odataObject.QuotationExpiryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReceiptEmail = \r\n odataObject.ReceiptEmail;\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequiredDepositAmount = \r\n (odataObject.RequiredDepositAmount != null) ? parseFloat(odataObject.RequiredDepositAmount) : undefined;\r\n \r\n this.RequiredDepositWithoutCarryoutAmount = \r\n (odataObject.RequiredDepositWithoutCarryoutAmount != null) ? parseFloat(odataObject.RequiredDepositWithoutCarryoutAmount) : undefined;\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n if (odataObject.ShippingAddress == null) {\r\n this.ShippingAddress = undefined;\r\n } else if (odataObject.ShippingAddress['@odata.type'] == null) {\r\n this.ShippingAddress = new AddressClass(odataObject.ShippingAddress);\r\n } else {\r\n var className: string = odataObject.ShippingAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingAddress = new entityDictionary[className](odataObject.ShippingAddress)\r\n }\r\n }\r\n\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.SubtotalAmount = \r\n (odataObject.SubtotalAmount != null) ? parseFloat(odataObject.SubtotalAmount) : undefined;\r\n \r\n this.SubtotalAmountWithoutTax = \r\n (odataObject.SubtotalAmountWithoutTax != null) ? parseFloat(odataObject.SubtotalAmountWithoutTax) : undefined;\r\n \r\n this.NetPrice = \r\n (odataObject.NetPrice != null) ? parseFloat(odataObject.NetPrice) : undefined;\r\n \r\n this.SubtotalSalesAmount = \r\n (odataObject.SubtotalSalesAmount != null) ? parseFloat(odataObject.SubtotalSalesAmount) : undefined;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.TaxOnCancellationCharge = \r\n (odataObject.TaxOnCancellationCharge != null) ? parseFloat(odataObject.TaxOnCancellationCharge) : undefined;\r\n \r\n this.TaxOnShippingCharge = \r\n (odataObject.TaxOnShippingCharge != null) ? parseFloat(odataObject.TaxOnShippingCharge) : undefined;\r\n \r\n this.TaxOnNonShippingCharges = \r\n (odataObject.TaxOnNonShippingCharges != null) ? parseFloat(odataObject.TaxOnNonShippingCharges) : undefined;\r\n \r\n this.TaxOverrideCode = \r\n odataObject.TaxOverrideCode;\r\n \r\n this.TenderLines = undefined;\r\n if (odataObject.TenderLines) {\r\n this.TenderLines = [];\r\n for (var i = 0; i < odataObject.TenderLines.length; i++) {\r\n if (odataObject.TenderLines[i] != null) {\r\n if (odataObject.TenderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLines[i] = new entityDictionary[className](odataObject.TenderLines[i])\r\n }\r\n } else {\r\n this.TenderLines[i] = new TenderLineClass(odataObject.TenderLines[i]);\r\n }\r\n } else {\r\n this.TenderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.RefundableTenderLines = undefined;\r\n if (odataObject.RefundableTenderLines) {\r\n this.RefundableTenderLines = [];\r\n for (var i = 0; i < odataObject.RefundableTenderLines.length; i++) {\r\n if (odataObject.RefundableTenderLines[i] != null) {\r\n if (odataObject.RefundableTenderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RefundableTenderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RefundableTenderLines[i] = new entityDictionary[className](odataObject.RefundableTenderLines[i])\r\n }\r\n } else {\r\n this.RefundableTenderLines[i] = new TenderLineClass(odataObject.RefundableTenderLines[i]);\r\n }\r\n } else {\r\n this.RefundableTenderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.TotalSalesAmount = \r\n (odataObject.TotalSalesAmount != null) ? parseFloat(odataObject.TotalSalesAmount) : undefined;\r\n \r\n this.TotalReturnAmount = \r\n (odataObject.TotalReturnAmount != null) ? parseFloat(odataObject.TotalReturnAmount) : undefined;\r\n \r\n this.TotalCarryoutSalesAmount = \r\n (odataObject.TotalCarryoutSalesAmount != null) ? parseFloat(odataObject.TotalCarryoutSalesAmount) : undefined;\r\n \r\n this.TotalCustomerOrderSalesAmount = \r\n (odataObject.TotalCustomerOrderSalesAmount != null) ? parseFloat(odataObject.TotalCustomerOrderSalesAmount) : undefined;\r\n \r\n this.TotalManualDiscountAmount = \r\n (odataObject.TotalManualDiscountAmount != null) ? parseFloat(odataObject.TotalManualDiscountAmount) : undefined;\r\n \r\n this.TotalManualDiscountPercentage = \r\n (odataObject.TotalManualDiscountPercentage != null) ? parseFloat(odataObject.TotalManualDiscountPercentage) : undefined;\r\n \r\n this.WarehouseId = \r\n odataObject.WarehouseId;\r\n \r\n this.IsCreatedOffline = \r\n odataObject.IsCreatedOffline;\r\n \r\n this.CartStatusValue = \r\n odataObject.CartStatusValue;\r\n \r\n this.ReceiptTransactionTypeValue = \r\n odataObject.ReceiptTransactionTypeValue;\r\n \r\n this.CommissionSalesGroup = \r\n odataObject.CommissionSalesGroup;\r\n \r\n this.Version = \r\n (odataObject.Version != null) ? parseInt(odataObject.Version, 10) : undefined;\r\n \r\n this.TotalItems = \r\n (odataObject.TotalItems != null) ? parseFloat(odataObject.TotalItems) : undefined;\r\n \r\n this.HasTaxCalculationTriggered = \r\n odataObject.HasTaxCalculationTriggered;\r\n \r\n this.MerchantProperties = undefined;\r\n if (odataObject.MerchantProperties) {\r\n this.MerchantProperties = [];\r\n for (var i = 0; i < odataObject.MerchantProperties.length; i++) {\r\n if (odataObject.MerchantProperties[i] != null) {\r\n if (odataObject.MerchantProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.MerchantProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.MerchantProperties[i] = new entityDictionary[className](odataObject.MerchantProperties[i])\r\n }\r\n } else {\r\n this.MerchantProperties[i] = new PaymentMerchantInformationClass(odataObject.MerchantProperties[i]);\r\n }\r\n } else {\r\n this.MerchantProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.HasChargeCalculationTriggered = \r\n odataObject.HasChargeCalculationTriggered;\r\n \r\n this.FiscalTransactions = undefined;\r\n if (odataObject.FiscalTransactions) {\r\n this.FiscalTransactions = [];\r\n for (var i = 0; i < odataObject.FiscalTransactions.length; i++) {\r\n if (odataObject.FiscalTransactions[i] != null) {\r\n if (odataObject.FiscalTransactions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FiscalTransactions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FiscalTransactions[i] = new entityDictionary[className](odataObject.FiscalTransactions[i])\r\n }\r\n } else {\r\n this.FiscalTransactions[i] = new FiscalTransactionClass(odataObject.FiscalTransactions[i]);\r\n }\r\n } else {\r\n this.FiscalTransactions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ShippingChargeAmount = \r\n (odataObject.ShippingChargeAmount != null) ? parseFloat(odataObject.ShippingChargeAmount) : undefined;\r\n \r\n this.OtherChargeAmount = \r\n (odataObject.OtherChargeAmount != null) ? parseFloat(odataObject.OtherChargeAmount) : undefined;\r\n \r\n this.PeriodicDiscountsCalculateScopeValue = \r\n odataObject.PeriodicDiscountsCalculateScopeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartClass'] = CartClass;\r\n \r\n /**\r\n * Customer entity class.\r\n */\r\n export class CustomerClass implements Entities.Customer {\r\n public AccountNumber: string;\r\n public RecordId: number;\r\n public CreatedDateTime: Date;\r\n public ChargeGroup: string;\r\n public PriceGroup: string;\r\n public IsCustomerTaxInclusive: boolean;\r\n public Phone: string;\r\n public PhoneRecordId: number;\r\n public PhoneExt: string;\r\n public Cellphone: string;\r\n public Email: string;\r\n public EmailRecordId: number;\r\n public Url: string;\r\n public UrlRecordId: number;\r\n public Name: string;\r\n public PersonNameId: number;\r\n public FirstName: string;\r\n public MiddleName: string;\r\n public LastName: string;\r\n public DirectoryPartyRecordId: number;\r\n public PartyNumber: string;\r\n public CustomerTypeValue: number;\r\n public Language: string;\r\n public CustomerGroup: string;\r\n public CurrencyCode: string;\r\n public CNPJCPFNumber: string;\r\n public IdentificationNumber: string;\r\n public InvoiceAccount: string;\r\n public MandatoryCreditLimit: boolean;\r\n public CreditRating: string;\r\n public CreditLimit: number;\r\n public Balance: number;\r\n public Blocked: boolean;\r\n public BlockedType: number;\r\n public UseOrderNumberReference: boolean;\r\n public OrganizationId: string;\r\n public UsePurchaseRequest: boolean;\r\n public MultilineDiscountGroup: string;\r\n public TotalDiscountGroup: string;\r\n public LineDiscountGroup: string;\r\n public TaxGroup: string;\r\n public SalesTaxGroup: string;\r\n public CommissionSalesGroupId: string;\r\n public TaxExemptNumber: string;\r\n public VatNumber: string;\r\n public TaxOffice: string;\r\n public NonChargeableAccount: boolean;\r\n public Tag: string;\r\n public ReceiptSettings: number;\r\n public ReceiptEmail: string;\r\n public OptOutPersonalization: boolean;\r\n public OptOutWebActivityTracking: boolean;\r\n public RetailCustomerTableRecordId: number;\r\n public OfflineImage: string;\r\n public IsAsyncCustomer: boolean;\r\n public NewCustomerPartyNumber: string;\r\n public CustomerAffiliations: Entities.CustomerAffiliation[];\r\n public Addresses: Entities.Address[];\r\n public Attributes: Entities.CustomerAttribute[];\r\n public Images: Entities.MediaLocation[];\r\n public TitleRecordId: number;\r\n public IsFloorLimitBlocked: boolean;\r\n public IsB2b: boolean;\r\n public IsB2bAdmin: boolean;\r\n public BusinessPartnerId: string;\r\n public Contacts: Entities.ContactInfo[];\r\n public AllowOnAccountPayment: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AccountNumber = \r\n odataObject.AccountNumber;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ChargeGroup = \r\n odataObject.ChargeGroup;\r\n \r\n this.PriceGroup = \r\n odataObject.PriceGroup;\r\n \r\n this.IsCustomerTaxInclusive = \r\n odataObject.IsCustomerTaxInclusive;\r\n \r\n this.Phone = \r\n odataObject.Phone;\r\n \r\n this.PhoneRecordId = \r\n (odataObject.PhoneRecordId != null) ? parseInt(odataObject.PhoneRecordId, 10) : undefined;\r\n \r\n this.PhoneExt = \r\n odataObject.PhoneExt;\r\n \r\n this.Cellphone = \r\n odataObject.Cellphone;\r\n \r\n this.Email = \r\n odataObject.Email;\r\n \r\n this.EmailRecordId = \r\n (odataObject.EmailRecordId != null) ? parseInt(odataObject.EmailRecordId, 10) : undefined;\r\n \r\n this.Url = \r\n odataObject.Url;\r\n \r\n this.UrlRecordId = \r\n (odataObject.UrlRecordId != null) ? parseInt(odataObject.UrlRecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.PersonNameId = \r\n (odataObject.PersonNameId != null) ? parseInt(odataObject.PersonNameId, 10) : undefined;\r\n \r\n this.FirstName = \r\n odataObject.FirstName;\r\n \r\n this.MiddleName = \r\n odataObject.MiddleName;\r\n \r\n this.LastName = \r\n odataObject.LastName;\r\n \r\n this.DirectoryPartyRecordId = \r\n (odataObject.DirectoryPartyRecordId != null) ? parseInt(odataObject.DirectoryPartyRecordId, 10) : undefined;\r\n \r\n this.PartyNumber = \r\n odataObject.PartyNumber;\r\n \r\n this.CustomerTypeValue = \r\n odataObject.CustomerTypeValue;\r\n \r\n this.Language = \r\n odataObject.Language;\r\n \r\n this.CustomerGroup = \r\n odataObject.CustomerGroup;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.CNPJCPFNumber = \r\n odataObject.CNPJCPFNumber;\r\n \r\n this.IdentificationNumber = \r\n odataObject.IdentificationNumber;\r\n \r\n this.InvoiceAccount = \r\n odataObject.InvoiceAccount;\r\n \r\n this.MandatoryCreditLimit = \r\n odataObject.MandatoryCreditLimit;\r\n \r\n this.CreditRating = \r\n odataObject.CreditRating;\r\n \r\n this.CreditLimit = \r\n (odataObject.CreditLimit != null) ? parseFloat(odataObject.CreditLimit) : undefined;\r\n \r\n this.Balance = \r\n (odataObject.Balance != null) ? parseFloat(odataObject.Balance) : undefined;\r\n \r\n this.Blocked = \r\n odataObject.Blocked;\r\n \r\n this.BlockedType = \r\n odataObject.BlockedType;\r\n \r\n this.UseOrderNumberReference = \r\n odataObject.UseOrderNumberReference;\r\n \r\n this.OrganizationId = \r\n odataObject.OrganizationId;\r\n \r\n this.UsePurchaseRequest = \r\n odataObject.UsePurchaseRequest;\r\n \r\n this.MultilineDiscountGroup = \r\n odataObject.MultilineDiscountGroup;\r\n \r\n this.TotalDiscountGroup = \r\n odataObject.TotalDiscountGroup;\r\n \r\n this.LineDiscountGroup = \r\n odataObject.LineDiscountGroup;\r\n \r\n this.TaxGroup = \r\n odataObject.TaxGroup;\r\n \r\n this.SalesTaxGroup = \r\n odataObject.SalesTaxGroup;\r\n \r\n this.CommissionSalesGroupId = \r\n odataObject.CommissionSalesGroupId;\r\n \r\n this.TaxExemptNumber = \r\n odataObject.TaxExemptNumber;\r\n \r\n this.VatNumber = \r\n odataObject.VatNumber;\r\n \r\n this.TaxOffice = \r\n odataObject.TaxOffice;\r\n \r\n this.NonChargeableAccount = \r\n odataObject.NonChargeableAccount;\r\n \r\n this.Tag = \r\n odataObject.Tag;\r\n \r\n this.ReceiptSettings = \r\n odataObject.ReceiptSettings;\r\n \r\n this.ReceiptEmail = \r\n odataObject.ReceiptEmail;\r\n \r\n this.OptOutPersonalization = \r\n odataObject.OptOutPersonalization;\r\n \r\n this.OptOutWebActivityTracking = \r\n odataObject.OptOutWebActivityTracking;\r\n \r\n this.RetailCustomerTableRecordId = \r\n (odataObject.RetailCustomerTableRecordId != null) ? parseInt(odataObject.RetailCustomerTableRecordId, 10) : undefined;\r\n \r\n this.OfflineImage = \r\n odataObject.OfflineImage;\r\n \r\n this.IsAsyncCustomer = \r\n odataObject.IsAsyncCustomer;\r\n \r\n this.NewCustomerPartyNumber = \r\n odataObject.NewCustomerPartyNumber;\r\n \r\n this.CustomerAffiliations = undefined;\r\n if (odataObject.CustomerAffiliations) {\r\n this.CustomerAffiliations = [];\r\n for (var i = 0; i < odataObject.CustomerAffiliations.length; i++) {\r\n if (odataObject.CustomerAffiliations[i] != null) {\r\n if (odataObject.CustomerAffiliations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomerAffiliations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomerAffiliations[i] = new entityDictionary[className](odataObject.CustomerAffiliations[i])\r\n }\r\n } else {\r\n this.CustomerAffiliations[i] = new CustomerAffiliationClass(odataObject.CustomerAffiliations[i]);\r\n }\r\n } else {\r\n this.CustomerAffiliations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Addresses = undefined;\r\n if (odataObject.Addresses) {\r\n this.Addresses = [];\r\n for (var i = 0; i < odataObject.Addresses.length; i++) {\r\n if (odataObject.Addresses[i] != null) {\r\n if (odataObject.Addresses[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Addresses[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Addresses[i] = new entityDictionary[className](odataObject.Addresses[i])\r\n }\r\n } else {\r\n this.Addresses[i] = new AddressClass(odataObject.Addresses[i]);\r\n }\r\n } else {\r\n this.Addresses[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Attributes = undefined;\r\n if (odataObject.Attributes) {\r\n this.Attributes = [];\r\n for (var i = 0; i < odataObject.Attributes.length; i++) {\r\n if (odataObject.Attributes[i] != null) {\r\n if (odataObject.Attributes[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Attributes[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Attributes[i] = new entityDictionary[className](odataObject.Attributes[i])\r\n }\r\n } else {\r\n this.Attributes[i] = new CustomerAttributeClass(odataObject.Attributes[i]);\r\n }\r\n } else {\r\n this.Attributes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Images = undefined;\r\n if (odataObject.Images) {\r\n this.Images = [];\r\n for (var i = 0; i < odataObject.Images.length; i++) {\r\n if (odataObject.Images[i] != null) {\r\n if (odataObject.Images[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Images[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Images[i] = new entityDictionary[className](odataObject.Images[i])\r\n }\r\n } else {\r\n this.Images[i] = new MediaLocationClass(odataObject.Images[i]);\r\n }\r\n } else {\r\n this.Images[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TitleRecordId = \r\n (odataObject.TitleRecordId != null) ? parseInt(odataObject.TitleRecordId, 10) : undefined;\r\n \r\n this.IsFloorLimitBlocked = \r\n odataObject.IsFloorLimitBlocked;\r\n \r\n this.IsB2b = \r\n odataObject.IsB2b;\r\n \r\n this.IsB2bAdmin = \r\n odataObject.IsB2bAdmin;\r\n \r\n this.BusinessPartnerId = \r\n odataObject.BusinessPartnerId;\r\n \r\n this.Contacts = undefined;\r\n if (odataObject.Contacts) {\r\n this.Contacts = [];\r\n for (var i = 0; i < odataObject.Contacts.length; i++) {\r\n if (odataObject.Contacts[i] != null) {\r\n if (odataObject.Contacts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Contacts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Contacts[i] = new entityDictionary[className](odataObject.Contacts[i])\r\n }\r\n } else {\r\n this.Contacts[i] = new ContactInfoClass(odataObject.Contacts[i]);\r\n }\r\n } else {\r\n this.Contacts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AllowOnAccountPayment = \r\n odataObject.AllowOnAccountPayment;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerClass'] = CustomerClass;\r\n \r\n /**\r\n * Employee entity class.\r\n */\r\n export class EmployeeClass implements Entities.Employee {\r\n public StaffId: string;\r\n public NameOnReceipt: string;\r\n public Name: string;\r\n public CultureName: string;\r\n public NumberOfDaysToPasswordExpiry: number;\r\n public Permissions: Entities.EmployeePermissions;\r\n public Images: Entities.MediaLocation[];\r\n public DefaultImage: string;\r\n public DefaultCommissionSalesGroup: string;\r\n public IdentifierTypeValue: number;\r\n public RecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.NameOnReceipt = \r\n odataObject.NameOnReceipt;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.CultureName = \r\n odataObject.CultureName;\r\n \r\n this.NumberOfDaysToPasswordExpiry = \r\n odataObject.NumberOfDaysToPasswordExpiry;\r\n \r\n if (odataObject.Permissions == null) {\r\n this.Permissions = undefined;\r\n } else if (odataObject.Permissions['@odata.type'] == null) {\r\n this.Permissions = new EmployeePermissionsClass(odataObject.Permissions);\r\n } else {\r\n var className: string = odataObject.Permissions['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Permissions = new entityDictionary[className](odataObject.Permissions)\r\n }\r\n }\r\n\r\n \r\n this.Images = undefined;\r\n if (odataObject.Images) {\r\n this.Images = [];\r\n for (var i = 0; i < odataObject.Images.length; i++) {\r\n if (odataObject.Images[i] != null) {\r\n if (odataObject.Images[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Images[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Images[i] = new entityDictionary[className](odataObject.Images[i])\r\n }\r\n } else {\r\n this.Images[i] = new MediaLocationClass(odataObject.Images[i]);\r\n }\r\n } else {\r\n this.Images[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DefaultImage = \r\n odataObject.DefaultImage;\r\n \r\n this.DefaultCommissionSalesGroup = \r\n odataObject.DefaultCommissionSalesGroup;\r\n \r\n this.IdentifierTypeValue = \r\n odataObject.IdentifierTypeValue;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['EmployeeClass'] = EmployeeClass;\r\n \r\n /**\r\n * Checklist entity class.\r\n */\r\n export class ChecklistClass implements Entities.Checklist {\r\n public RecordId: number;\r\n public Tasks: Entities.ChecklistTask[];\r\n public Version: string;\r\n public ProcessId: string;\r\n public Name: string;\r\n public Description: string;\r\n public AssignedToChannelId: number;\r\n public AssignedToWorkerPersonnelNumber: string;\r\n public StatusValue: number;\r\n public StartDateTime: Date;\r\n public EndDateTime: Date;\r\n public TargetDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Tasks = undefined;\r\n if (odataObject.Tasks) {\r\n this.Tasks = [];\r\n for (var i = 0; i < odataObject.Tasks.length; i++) {\r\n if (odataObject.Tasks[i] != null) {\r\n if (odataObject.Tasks[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Tasks[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Tasks[i] = new entityDictionary[className](odataObject.Tasks[i])\r\n }\r\n } else {\r\n this.Tasks[i] = new ChecklistTaskClass(odataObject.Tasks[i]);\r\n }\r\n } else {\r\n this.Tasks[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Version = \r\n odataObject.Version;\r\n \r\n this.ProcessId = \r\n odataObject.ProcessId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.AssignedToChannelId = \r\n (odataObject.AssignedToChannelId != null) ? parseInt(odataObject.AssignedToChannelId, 10) : undefined;\r\n \r\n this.AssignedToWorkerPersonnelNumber = \r\n odataObject.AssignedToWorkerPersonnelNumber;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TargetDateTime = \r\n (odataObject.TargetDateTime instanceof Date) ? odataObject.TargetDateTime\r\n : (odataObject.TargetDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.TargetDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChecklistClass'] = ChecklistClass;\r\n \r\n /**\r\n * SalesOrder entity class.\r\n */\r\n export class SalesOrderClass implements Entities.SalesOrder {\r\n public DocumentStatusValue: number;\r\n public RecordId: number;\r\n public StatusValue: number;\r\n public McrOrderStopped: boolean;\r\n public Shipments: Entities.Shipment[];\r\n public AggregateInventoryQuantities: Entities.InventoryQuantities;\r\n public UnifiedDeliveryInformation: Entities.DeliveryInformation;\r\n public PaymentStatusValue: number;\r\n public DetailedOrderStatusValue: number;\r\n public AffiliationLoyaltyTierLines: Entities.SalesAffiliationLoyaltyTier[];\r\n public IsRequiredAmountPaid: boolean;\r\n public IsDiscountFullyCalculated: boolean;\r\n public IgnoreDiscountCalculation: boolean;\r\n public AmountDue: number;\r\n public EstimatedShippingAmount: number;\r\n public AmountPaid: number;\r\n public CustomerOrderRemainingBalance: number;\r\n public AttributeValues: Entities.AttributeValueBase[];\r\n public AvailableDepositAmount: number;\r\n public BeginDateTime: Date;\r\n public CreatedDateTime: Date;\r\n public BusinessDate: Date;\r\n public CalculatedDepositAmount: number;\r\n public CancellationCharge: number;\r\n public ChannelId: number;\r\n public ChannelReferenceId: string;\r\n public ChargeAmount: number;\r\n public ChargeLines: Entities.ChargeLine[];\r\n public Comment: string;\r\n public Coupons: Entities.Coupon[];\r\n public InvoiceComment: string;\r\n public ContactInformationCollection: Entities.ContactInformation[];\r\n public CurrencyCode: string;\r\n public CustomerAccountDepositLines: Entities.CustomerAccountDepositLine[];\r\n public CustomerId: string;\r\n public CustomerOrderModeValue: number;\r\n public CustomerOrderTypeValue: number;\r\n public DeliveryMode: string;\r\n public DeliveryModeChargeAmount: number;\r\n public DiscountAmount: number;\r\n public DiscountAmountWithoutTax: number;\r\n public NetPrice: number;\r\n public DiscountCodes: string[];\r\n public EntryStatusValue: number;\r\n public GrossAmount: number;\r\n public HasLoyaltyPayment: boolean;\r\n public Id: string;\r\n public InternalTransactionId: string;\r\n public SuspendedTransactionId: string;\r\n public IncomeExpenseLines: Entities.IncomeExpenseLine[];\r\n public IncomeExpenseTotalAmount: number;\r\n public InventoryLocationId: string;\r\n public IsCreatedOffline: boolean;\r\n public IsReturnByReceipt: boolean;\r\n public IsSuspended: boolean;\r\n public IsTaxIncludedInPrice: boolean;\r\n public IsTaxExemptedForPriceInclusive: boolean;\r\n public LineDiscount: number;\r\n public LineDiscountCalculationTypeValue: number;\r\n public LoyaltyCardId: string;\r\n public LoyaltyDiscountAmount: number;\r\n public LoyaltyManualDiscountAmount: number;\r\n public LoyaltyRewardPointLines: Entities.LoyaltyRewardPointLine[];\r\n public ModifiedDateTime: Date;\r\n public Name: string;\r\n public NetAmount: number;\r\n public NetAmountWithoutTax: number;\r\n public NetAmountWithNoTax: number;\r\n public NetAmountWithTax: number;\r\n public NumberOfItems: number;\r\n public OverriddenDepositAmount: number;\r\n public OverriddenDepositWithoutCarryoutAmount: number;\r\n public PeriodicDiscountAmount: number;\r\n public TenderDiscountAmount: number;\r\n public PrepaymentAmountAppliedOnPickup: number;\r\n public PrepaymentAmountInvoiced: number;\r\n public PrepaymentAmountPaid: number;\r\n public QuotationExpiryDate: Date;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public ReceiptEmail: string;\r\n public ReceiptId: string;\r\n public RequestedDeliveryDate: Date;\r\n public RequiredDepositAmount: number;\r\n public RequiredDepositWithoutCarryoutAmount: number;\r\n public ReturnTransactionHasLoyaltyPayment: boolean;\r\n public SalesId: string;\r\n public SalesPaymentDifference: number;\r\n public SalesLines: Entities.SalesLine[];\r\n public ShiftId: number;\r\n public ShiftTerminalId: string;\r\n public ShippingAddress: Entities.Address;\r\n public StaffId: string;\r\n public StatementCode: string;\r\n public StoreId: string;\r\n public SubtotalAmount: number;\r\n public SubtotalAmountWithoutTax: number;\r\n public SubtotalSalesAmount: number;\r\n public TaxAmount: number;\r\n public TaxAmountExclusive: number;\r\n public TaxAmountInclusive: number;\r\n public TaxLines: Entities.TaxLine[];\r\n public TaxOnCancellationCharge: number;\r\n public TaxOnShippingCharge: number;\r\n public TaxOnNonShippingCharges: number;\r\n public TaxOverrideCode: string;\r\n public TenderLines: Entities.TenderLine[];\r\n public RefundableTenderLines: Entities.TenderLine[];\r\n public TerminalId: string;\r\n public TotalAmount: number;\r\n public TotalSalesAmount: number;\r\n public TotalReturnAmount: number;\r\n public TotalCarryoutSalesAmount: number;\r\n public TotalCustomerOrderSalesAmount: number;\r\n public TotalDiscount: number;\r\n public TotalManualDiscountAmount: number;\r\n public TotalManualDiscountPercentage: number;\r\n public TransactionTypeValue: number;\r\n public TaxCalculationTypeValue: number;\r\n public SalesInvoiceAmount: number;\r\n public GiftCardActiveFrom: Date;\r\n public GiftCardBalance: number;\r\n public GiftCardExpireDate: Date;\r\n public GiftCardHistoryDetails: string;\r\n public GiftCardIssueAmount: number;\r\n public GiftCardIdMasked: string;\r\n public CommissionSalesGroup: string;\r\n public IsCommissionSalesGroupOverriddenByCustomer: boolean;\r\n public CommissionSalesGroupSetByCashier: string;\r\n public HasTaxCalculationTriggered: boolean;\r\n public HasChargeCalculationTriggered: boolean;\r\n public ShippingChargeAmount: number;\r\n public OtherChargeAmount: number;\r\n public PeriodicDiscountsCalculateScopeValue: number;\r\n public CustomerName: string;\r\n public FiscalTransactions: Entities.FiscalTransaction[];\r\n public LanguageId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentStatusValue = \r\n odataObject.DocumentStatusValue;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.McrOrderStopped = \r\n odataObject.McrOrderStopped;\r\n \r\n this.Shipments = undefined;\r\n if (odataObject.Shipments) {\r\n this.Shipments = [];\r\n for (var i = 0; i < odataObject.Shipments.length; i++) {\r\n if (odataObject.Shipments[i] != null) {\r\n if (odataObject.Shipments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Shipments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Shipments[i] = new entityDictionary[className](odataObject.Shipments[i])\r\n }\r\n } else {\r\n this.Shipments[i] = new ShipmentClass(odataObject.Shipments[i]);\r\n }\r\n } else {\r\n this.Shipments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.AggregateInventoryQuantities == null) {\r\n this.AggregateInventoryQuantities = undefined;\r\n } else if (odataObject.AggregateInventoryQuantities['@odata.type'] == null) {\r\n this.AggregateInventoryQuantities = new InventoryQuantitiesClass(odataObject.AggregateInventoryQuantities);\r\n } else {\r\n var className: string = odataObject.AggregateInventoryQuantities['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AggregateInventoryQuantities = new entityDictionary[className](odataObject.AggregateInventoryQuantities)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.UnifiedDeliveryInformation == null) {\r\n this.UnifiedDeliveryInformation = undefined;\r\n } else if (odataObject.UnifiedDeliveryInformation['@odata.type'] == null) {\r\n this.UnifiedDeliveryInformation = new DeliveryInformationClass(odataObject.UnifiedDeliveryInformation);\r\n } else {\r\n var className: string = odataObject.UnifiedDeliveryInformation['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UnifiedDeliveryInformation = new entityDictionary[className](odataObject.UnifiedDeliveryInformation)\r\n }\r\n }\r\n\r\n \r\n this.PaymentStatusValue = \r\n odataObject.PaymentStatusValue;\r\n \r\n this.DetailedOrderStatusValue = \r\n odataObject.DetailedOrderStatusValue;\r\n \r\n this.AffiliationLoyaltyTierLines = undefined;\r\n if (odataObject.AffiliationLoyaltyTierLines) {\r\n this.AffiliationLoyaltyTierLines = [];\r\n for (var i = 0; i < odataObject.AffiliationLoyaltyTierLines.length; i++) {\r\n if (odataObject.AffiliationLoyaltyTierLines[i] != null) {\r\n if (odataObject.AffiliationLoyaltyTierLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AffiliationLoyaltyTierLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AffiliationLoyaltyTierLines[i] = new entityDictionary[className](odataObject.AffiliationLoyaltyTierLines[i])\r\n }\r\n } else {\r\n this.AffiliationLoyaltyTierLines[i] = new SalesAffiliationLoyaltyTierClass(odataObject.AffiliationLoyaltyTierLines[i]);\r\n }\r\n } else {\r\n this.AffiliationLoyaltyTierLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsRequiredAmountPaid = \r\n odataObject.IsRequiredAmountPaid;\r\n \r\n this.IsDiscountFullyCalculated = \r\n odataObject.IsDiscountFullyCalculated;\r\n \r\n this.IgnoreDiscountCalculation = \r\n odataObject.IgnoreDiscountCalculation;\r\n \r\n this.AmountDue = \r\n (odataObject.AmountDue != null) ? parseFloat(odataObject.AmountDue) : undefined;\r\n \r\n this.EstimatedShippingAmount = \r\n (odataObject.EstimatedShippingAmount != null) ? parseFloat(odataObject.EstimatedShippingAmount) : undefined;\r\n \r\n this.AmountPaid = \r\n (odataObject.AmountPaid != null) ? parseFloat(odataObject.AmountPaid) : undefined;\r\n \r\n this.CustomerOrderRemainingBalance = \r\n (odataObject.CustomerOrderRemainingBalance != null) ? parseFloat(odataObject.CustomerOrderRemainingBalance) : undefined;\r\n \r\n this.AttributeValues = undefined;\r\n if (odataObject.AttributeValues) {\r\n this.AttributeValues = [];\r\n for (var i = 0; i < odataObject.AttributeValues.length; i++) {\r\n if (odataObject.AttributeValues[i] != null) {\r\n if (odataObject.AttributeValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttributeValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValues[i] = new entityDictionary[className](odataObject.AttributeValues[i])\r\n }\r\n } else {\r\n this.AttributeValues[i] = new AttributeValueBaseClass(odataObject.AttributeValues[i]);\r\n }\r\n } else {\r\n this.AttributeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AvailableDepositAmount = \r\n (odataObject.AvailableDepositAmount != null) ? parseFloat(odataObject.AvailableDepositAmount) : undefined;\r\n \r\n this.BeginDateTime = \r\n (odataObject.BeginDateTime instanceof Date) ? odataObject.BeginDateTime\r\n : (odataObject.BeginDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.BeginDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.BusinessDate = \r\n (odataObject.BusinessDate instanceof Date) ? odataObject.BusinessDate\r\n : (odataObject.BusinessDate != null) ? jsonLightReadStringPropertyValue(odataObject.BusinessDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CalculatedDepositAmount = \r\n (odataObject.CalculatedDepositAmount != null) ? parseFloat(odataObject.CalculatedDepositAmount) : undefined;\r\n \r\n this.CancellationCharge = \r\n (odataObject.CancellationCharge != null) ? parseFloat(odataObject.CancellationCharge) : undefined;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.ChargeAmount = \r\n (odataObject.ChargeAmount != null) ? parseFloat(odataObject.ChargeAmount) : undefined;\r\n \r\n this.ChargeLines = undefined;\r\n if (odataObject.ChargeLines) {\r\n this.ChargeLines = [];\r\n for (var i = 0; i < odataObject.ChargeLines.length; i++) {\r\n if (odataObject.ChargeLines[i] != null) {\r\n if (odataObject.ChargeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChargeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChargeLines[i] = new entityDictionary[className](odataObject.ChargeLines[i])\r\n }\r\n } else {\r\n this.ChargeLines[i] = new ChargeLineClass(odataObject.ChargeLines[i]);\r\n }\r\n } else {\r\n this.ChargeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this.Coupons = undefined;\r\n if (odataObject.Coupons) {\r\n this.Coupons = [];\r\n for (var i = 0; i < odataObject.Coupons.length; i++) {\r\n if (odataObject.Coupons[i] != null) {\r\n if (odataObject.Coupons[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Coupons[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Coupons[i] = new entityDictionary[className](odataObject.Coupons[i])\r\n }\r\n } else {\r\n this.Coupons[i] = new CouponClass(odataObject.Coupons[i]);\r\n }\r\n } else {\r\n this.Coupons[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.InvoiceComment = \r\n odataObject.InvoiceComment;\r\n \r\n this.ContactInformationCollection = undefined;\r\n if (odataObject.ContactInformationCollection) {\r\n this.ContactInformationCollection = [];\r\n for (var i = 0; i < odataObject.ContactInformationCollection.length; i++) {\r\n if (odataObject.ContactInformationCollection[i] != null) {\r\n if (odataObject.ContactInformationCollection[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ContactInformationCollection[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ContactInformationCollection[i] = new entityDictionary[className](odataObject.ContactInformationCollection[i])\r\n }\r\n } else {\r\n this.ContactInformationCollection[i] = new ContactInformationClass(odataObject.ContactInformationCollection[i]);\r\n }\r\n } else {\r\n this.ContactInformationCollection[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.CustomerAccountDepositLines = undefined;\r\n if (odataObject.CustomerAccountDepositLines) {\r\n this.CustomerAccountDepositLines = [];\r\n for (var i = 0; i < odataObject.CustomerAccountDepositLines.length; i++) {\r\n if (odataObject.CustomerAccountDepositLines[i] != null) {\r\n if (odataObject.CustomerAccountDepositLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomerAccountDepositLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomerAccountDepositLines[i] = new entityDictionary[className](odataObject.CustomerAccountDepositLines[i])\r\n }\r\n } else {\r\n this.CustomerAccountDepositLines[i] = new CustomerAccountDepositLineClass(odataObject.CustomerAccountDepositLines[i]);\r\n }\r\n } else {\r\n this.CustomerAccountDepositLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerOrderModeValue = \r\n odataObject.CustomerOrderModeValue;\r\n \r\n this.CustomerOrderTypeValue = \r\n odataObject.CustomerOrderTypeValue;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.DeliveryModeChargeAmount = \r\n (odataObject.DeliveryModeChargeAmount != null) ? parseFloat(odataObject.DeliveryModeChargeAmount) : undefined;\r\n \r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.DiscountAmountWithoutTax = \r\n (odataObject.DiscountAmountWithoutTax != null) ? parseFloat(odataObject.DiscountAmountWithoutTax) : undefined;\r\n \r\n this.NetPrice = \r\n (odataObject.NetPrice != null) ? parseFloat(odataObject.NetPrice) : undefined;\r\n \r\n this.DiscountCodes = undefined;\r\n if (odataObject.DiscountCodes) {\r\n this.DiscountCodes = [];\r\n for (var i = 0; i < odataObject.DiscountCodes.length; i++) {\r\n if (odataObject.DiscountCodes[i] != null) {\r\n this.DiscountCodes[i] = \r\n odataObject.DiscountCodes[i];\r\n } else {\r\n this.DiscountCodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.EntryStatusValue = \r\n odataObject.EntryStatusValue;\r\n \r\n this.GrossAmount = \r\n (odataObject.GrossAmount != null) ? parseFloat(odataObject.GrossAmount) : undefined;\r\n \r\n this.HasLoyaltyPayment = \r\n odataObject.HasLoyaltyPayment;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.InternalTransactionId = \r\n odataObject.InternalTransactionId;\r\n \r\n this.SuspendedTransactionId = \r\n odataObject.SuspendedTransactionId;\r\n \r\n this.IncomeExpenseLines = undefined;\r\n if (odataObject.IncomeExpenseLines) {\r\n this.IncomeExpenseLines = [];\r\n for (var i = 0; i < odataObject.IncomeExpenseLines.length; i++) {\r\n if (odataObject.IncomeExpenseLines[i] != null) {\r\n if (odataObject.IncomeExpenseLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.IncomeExpenseLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.IncomeExpenseLines[i] = new entityDictionary[className](odataObject.IncomeExpenseLines[i])\r\n }\r\n } else {\r\n this.IncomeExpenseLines[i] = new IncomeExpenseLineClass(odataObject.IncomeExpenseLines[i]);\r\n }\r\n } else {\r\n this.IncomeExpenseLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IncomeExpenseTotalAmount = \r\n (odataObject.IncomeExpenseTotalAmount != null) ? parseFloat(odataObject.IncomeExpenseTotalAmount) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.IsCreatedOffline = \r\n odataObject.IsCreatedOffline;\r\n \r\n this.IsReturnByReceipt = \r\n odataObject.IsReturnByReceipt;\r\n \r\n this.IsSuspended = \r\n odataObject.IsSuspended;\r\n \r\n this.IsTaxIncludedInPrice = \r\n odataObject.IsTaxIncludedInPrice;\r\n \r\n this.IsTaxExemptedForPriceInclusive = \r\n odataObject.IsTaxExemptedForPriceInclusive;\r\n \r\n this.LineDiscount = \r\n (odataObject.LineDiscount != null) ? parseFloat(odataObject.LineDiscount) : undefined;\r\n \r\n this.LineDiscountCalculationTypeValue = \r\n odataObject.LineDiscountCalculationTypeValue;\r\n \r\n this.LoyaltyCardId = \r\n odataObject.LoyaltyCardId;\r\n \r\n this.LoyaltyDiscountAmount = \r\n (odataObject.LoyaltyDiscountAmount != null) ? parseFloat(odataObject.LoyaltyDiscountAmount) : undefined;\r\n \r\n this.LoyaltyManualDiscountAmount = \r\n (odataObject.LoyaltyManualDiscountAmount != null) ? parseFloat(odataObject.LoyaltyManualDiscountAmount) : undefined;\r\n \r\n this.LoyaltyRewardPointLines = undefined;\r\n if (odataObject.LoyaltyRewardPointLines) {\r\n this.LoyaltyRewardPointLines = [];\r\n for (var i = 0; i < odataObject.LoyaltyRewardPointLines.length; i++) {\r\n if (odataObject.LoyaltyRewardPointLines[i] != null) {\r\n if (odataObject.LoyaltyRewardPointLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LoyaltyRewardPointLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LoyaltyRewardPointLines[i] = new entityDictionary[className](odataObject.LoyaltyRewardPointLines[i])\r\n }\r\n } else {\r\n this.LoyaltyRewardPointLines[i] = new LoyaltyRewardPointLineClass(odataObject.LoyaltyRewardPointLines[i]);\r\n }\r\n } else {\r\n this.LoyaltyRewardPointLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ModifiedDateTime = \r\n (odataObject.ModifiedDateTime instanceof Date) ? odataObject.ModifiedDateTime\r\n : (odataObject.ModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.ModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.NetAmount = \r\n (odataObject.NetAmount != null) ? parseFloat(odataObject.NetAmount) : undefined;\r\n \r\n this.NetAmountWithoutTax = \r\n (odataObject.NetAmountWithoutTax != null) ? parseFloat(odataObject.NetAmountWithoutTax) : undefined;\r\n \r\n this.NetAmountWithNoTax = \r\n (odataObject.NetAmountWithNoTax != null) ? parseFloat(odataObject.NetAmountWithNoTax) : undefined;\r\n \r\n this.NetAmountWithTax = \r\n (odataObject.NetAmountWithTax != null) ? parseFloat(odataObject.NetAmountWithTax) : undefined;\r\n \r\n this.NumberOfItems = \r\n (odataObject.NumberOfItems != null) ? parseFloat(odataObject.NumberOfItems) : undefined;\r\n \r\n this.OverriddenDepositAmount = \r\n (odataObject.OverriddenDepositAmount != null) ? parseFloat(odataObject.OverriddenDepositAmount) : undefined;\r\n \r\n this.OverriddenDepositWithoutCarryoutAmount = \r\n (odataObject.OverriddenDepositWithoutCarryoutAmount != null) ? parseFloat(odataObject.OverriddenDepositWithoutCarryoutAmount) : undefined;\r\n \r\n this.PeriodicDiscountAmount = \r\n (odataObject.PeriodicDiscountAmount != null) ? parseFloat(odataObject.PeriodicDiscountAmount) : undefined;\r\n \r\n this.TenderDiscountAmount = \r\n (odataObject.TenderDiscountAmount != null) ? parseFloat(odataObject.TenderDiscountAmount) : undefined;\r\n \r\n this.PrepaymentAmountAppliedOnPickup = \r\n (odataObject.PrepaymentAmountAppliedOnPickup != null) ? parseFloat(odataObject.PrepaymentAmountAppliedOnPickup) : undefined;\r\n \r\n this.PrepaymentAmountInvoiced = \r\n (odataObject.PrepaymentAmountInvoiced != null) ? parseFloat(odataObject.PrepaymentAmountInvoiced) : undefined;\r\n \r\n this.PrepaymentAmountPaid = \r\n (odataObject.PrepaymentAmountPaid != null) ? parseFloat(odataObject.PrepaymentAmountPaid) : undefined;\r\n \r\n this.QuotationExpiryDate = \r\n (odataObject.QuotationExpiryDate instanceof Date) ? odataObject.QuotationExpiryDate\r\n : (odataObject.QuotationExpiryDate != null) ? jsonLightReadStringPropertyValue(odataObject.QuotationExpiryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReceiptEmail = \r\n odataObject.ReceiptEmail;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequiredDepositAmount = \r\n (odataObject.RequiredDepositAmount != null) ? parseFloat(odataObject.RequiredDepositAmount) : undefined;\r\n \r\n this.RequiredDepositWithoutCarryoutAmount = \r\n (odataObject.RequiredDepositWithoutCarryoutAmount != null) ? parseFloat(odataObject.RequiredDepositWithoutCarryoutAmount) : undefined;\r\n \r\n this.ReturnTransactionHasLoyaltyPayment = \r\n odataObject.ReturnTransactionHasLoyaltyPayment;\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.SalesPaymentDifference = \r\n (odataObject.SalesPaymentDifference != null) ? parseFloat(odataObject.SalesPaymentDifference) : undefined;\r\n \r\n this.SalesLines = undefined;\r\n if (odataObject.SalesLines) {\r\n this.SalesLines = [];\r\n for (var i = 0; i < odataObject.SalesLines.length; i++) {\r\n if (odataObject.SalesLines[i] != null) {\r\n if (odataObject.SalesLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SalesLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SalesLines[i] = new entityDictionary[className](odataObject.SalesLines[i])\r\n }\r\n } else {\r\n this.SalesLines[i] = new SalesLineClass(odataObject.SalesLines[i]);\r\n }\r\n } else {\r\n this.SalesLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.ShiftTerminalId = \r\n odataObject.ShiftTerminalId;\r\n \r\n if (odataObject.ShippingAddress == null) {\r\n this.ShippingAddress = undefined;\r\n } else if (odataObject.ShippingAddress['@odata.type'] == null) {\r\n this.ShippingAddress = new AddressClass(odataObject.ShippingAddress);\r\n } else {\r\n var className: string = odataObject.ShippingAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingAddress = new entityDictionary[className](odataObject.ShippingAddress)\r\n }\r\n }\r\n\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.StatementCode = \r\n odataObject.StatementCode;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.SubtotalAmount = \r\n (odataObject.SubtotalAmount != null) ? parseFloat(odataObject.SubtotalAmount) : undefined;\r\n \r\n this.SubtotalAmountWithoutTax = \r\n (odataObject.SubtotalAmountWithoutTax != null) ? parseFloat(odataObject.SubtotalAmountWithoutTax) : undefined;\r\n \r\n this.SubtotalSalesAmount = \r\n (odataObject.SubtotalSalesAmount != null) ? parseFloat(odataObject.SubtotalSalesAmount) : undefined;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.TaxAmountExclusive = \r\n (odataObject.TaxAmountExclusive != null) ? parseFloat(odataObject.TaxAmountExclusive) : undefined;\r\n \r\n this.TaxAmountInclusive = \r\n (odataObject.TaxAmountInclusive != null) ? parseFloat(odataObject.TaxAmountInclusive) : undefined;\r\n \r\n this.TaxLines = undefined;\r\n if (odataObject.TaxLines) {\r\n this.TaxLines = [];\r\n for (var i = 0; i < odataObject.TaxLines.length; i++) {\r\n if (odataObject.TaxLines[i] != null) {\r\n if (odataObject.TaxLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxLines[i] = new entityDictionary[className](odataObject.TaxLines[i])\r\n }\r\n } else {\r\n this.TaxLines[i] = new TaxLineClass(odataObject.TaxLines[i]);\r\n }\r\n } else {\r\n this.TaxLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxOnCancellationCharge = \r\n (odataObject.TaxOnCancellationCharge != null) ? parseFloat(odataObject.TaxOnCancellationCharge) : undefined;\r\n \r\n this.TaxOnShippingCharge = \r\n (odataObject.TaxOnShippingCharge != null) ? parseFloat(odataObject.TaxOnShippingCharge) : undefined;\r\n \r\n this.TaxOnNonShippingCharges = \r\n (odataObject.TaxOnNonShippingCharges != null) ? parseFloat(odataObject.TaxOnNonShippingCharges) : undefined;\r\n \r\n this.TaxOverrideCode = \r\n odataObject.TaxOverrideCode;\r\n \r\n this.TenderLines = undefined;\r\n if (odataObject.TenderLines) {\r\n this.TenderLines = [];\r\n for (var i = 0; i < odataObject.TenderLines.length; i++) {\r\n if (odataObject.TenderLines[i] != null) {\r\n if (odataObject.TenderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLines[i] = new entityDictionary[className](odataObject.TenderLines[i])\r\n }\r\n } else {\r\n this.TenderLines[i] = new TenderLineClass(odataObject.TenderLines[i]);\r\n }\r\n } else {\r\n this.TenderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.RefundableTenderLines = undefined;\r\n if (odataObject.RefundableTenderLines) {\r\n this.RefundableTenderLines = [];\r\n for (var i = 0; i < odataObject.RefundableTenderLines.length; i++) {\r\n if (odataObject.RefundableTenderLines[i] != null) {\r\n if (odataObject.RefundableTenderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RefundableTenderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RefundableTenderLines[i] = new entityDictionary[className](odataObject.RefundableTenderLines[i])\r\n }\r\n } else {\r\n this.RefundableTenderLines[i] = new TenderLineClass(odataObject.RefundableTenderLines[i]);\r\n }\r\n } else {\r\n this.RefundableTenderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.TotalSalesAmount = \r\n (odataObject.TotalSalesAmount != null) ? parseFloat(odataObject.TotalSalesAmount) : undefined;\r\n \r\n this.TotalReturnAmount = \r\n (odataObject.TotalReturnAmount != null) ? parseFloat(odataObject.TotalReturnAmount) : undefined;\r\n \r\n this.TotalCarryoutSalesAmount = \r\n (odataObject.TotalCarryoutSalesAmount != null) ? parseFloat(odataObject.TotalCarryoutSalesAmount) : undefined;\r\n \r\n this.TotalCustomerOrderSalesAmount = \r\n (odataObject.TotalCustomerOrderSalesAmount != null) ? parseFloat(odataObject.TotalCustomerOrderSalesAmount) : undefined;\r\n \r\n this.TotalDiscount = \r\n (odataObject.TotalDiscount != null) ? parseFloat(odataObject.TotalDiscount) : undefined;\r\n \r\n this.TotalManualDiscountAmount = \r\n (odataObject.TotalManualDiscountAmount != null) ? parseFloat(odataObject.TotalManualDiscountAmount) : undefined;\r\n \r\n this.TotalManualDiscountPercentage = \r\n (odataObject.TotalManualDiscountPercentage != null) ? parseFloat(odataObject.TotalManualDiscountPercentage) : undefined;\r\n \r\n this.TransactionTypeValue = \r\n odataObject.TransactionTypeValue;\r\n \r\n this.TaxCalculationTypeValue = \r\n odataObject.TaxCalculationTypeValue;\r\n \r\n this.SalesInvoiceAmount = \r\n (odataObject.SalesInvoiceAmount != null) ? parseFloat(odataObject.SalesInvoiceAmount) : undefined;\r\n \r\n this.GiftCardActiveFrom = \r\n (odataObject.GiftCardActiveFrom instanceof Date) ? odataObject.GiftCardActiveFrom\r\n : (odataObject.GiftCardActiveFrom != null) ? jsonLightReadStringPropertyValue(odataObject.GiftCardActiveFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardBalance = \r\n (odataObject.GiftCardBalance != null) ? parseFloat(odataObject.GiftCardBalance) : undefined;\r\n \r\n this.GiftCardExpireDate = \r\n (odataObject.GiftCardExpireDate instanceof Date) ? odataObject.GiftCardExpireDate\r\n : (odataObject.GiftCardExpireDate != null) ? jsonLightReadStringPropertyValue(odataObject.GiftCardExpireDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardHistoryDetails = \r\n odataObject.GiftCardHistoryDetails;\r\n \r\n this.GiftCardIssueAmount = \r\n (odataObject.GiftCardIssueAmount != null) ? parseFloat(odataObject.GiftCardIssueAmount) : undefined;\r\n \r\n this.GiftCardIdMasked = \r\n odataObject.GiftCardIdMasked;\r\n \r\n this.CommissionSalesGroup = \r\n odataObject.CommissionSalesGroup;\r\n \r\n this.IsCommissionSalesGroupOverriddenByCustomer = \r\n odataObject.IsCommissionSalesGroupOverriddenByCustomer;\r\n \r\n this.CommissionSalesGroupSetByCashier = \r\n odataObject.CommissionSalesGroupSetByCashier;\r\n \r\n this.HasTaxCalculationTriggered = \r\n odataObject.HasTaxCalculationTriggered;\r\n \r\n this.HasChargeCalculationTriggered = \r\n odataObject.HasChargeCalculationTriggered;\r\n \r\n this.ShippingChargeAmount = \r\n (odataObject.ShippingChargeAmount != null) ? parseFloat(odataObject.ShippingChargeAmount) : undefined;\r\n \r\n this.OtherChargeAmount = \r\n (odataObject.OtherChargeAmount != null) ? parseFloat(odataObject.OtherChargeAmount) : undefined;\r\n \r\n this.PeriodicDiscountsCalculateScopeValue = \r\n odataObject.PeriodicDiscountsCalculateScopeValue;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.FiscalTransactions = undefined;\r\n if (odataObject.FiscalTransactions) {\r\n this.FiscalTransactions = [];\r\n for (var i = 0; i < odataObject.FiscalTransactions.length; i++) {\r\n if (odataObject.FiscalTransactions[i] != null) {\r\n if (odataObject.FiscalTransactions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FiscalTransactions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FiscalTransactions[i] = new entityDictionary[className](odataObject.FiscalTransactions[i])\r\n }\r\n } else {\r\n this.FiscalTransactions[i] = new FiscalTransactionClass(odataObject.FiscalTransactions[i]);\r\n }\r\n } else {\r\n this.FiscalTransactions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesOrderClass'] = SalesOrderClass;\r\n \r\n /**\r\n * Shift entity class.\r\n */\r\n export class ShiftClass implements Entities.Shift {\r\n public ShiftId: number;\r\n public TerminalId: string;\r\n public StartingAmountTotal: number;\r\n public FloatingEntryAmountTotal: number;\r\n public AddToTenderAmountTotal: number;\r\n public SafeDropTotal: number;\r\n public BankDropTotal: number;\r\n public RemoveTenderAmountTotal: number;\r\n public DeclareTenderAmountTotal: number;\r\n public OverShortTotal: number;\r\n public TenderedTotal: number;\r\n public ChangeTotal: number;\r\n public IncomeAccountTotal: number;\r\n public ExpenseAccountTotal: number;\r\n public CashDrawer: string;\r\n public StoreRecordId: number;\r\n public StoreId: string;\r\n public StaffId: string;\r\n public CurrentStaffId: string;\r\n public StatusValue: number;\r\n public StartDateTime: Date;\r\n public CloseDateTime: Date;\r\n public ClosedAtTerminalId: string;\r\n public ClosedAtShiftId: number;\r\n public CurrentTerminalId: string;\r\n public SalesTotal: number;\r\n public StatusDateTime: Date;\r\n public ReturnsTotal: number;\r\n public PaidToAccountTotal: number;\r\n public TaxTotal: number;\r\n public ChargeTotal: number;\r\n public DiscountTotal: number;\r\n public RoundedAmountTotal: number;\r\n public CustomerCount: number;\r\n public SaleTransactionCount: number;\r\n public NoSaleTransactionCount: number;\r\n public VoidTransactionCount: number;\r\n public LogOnTransactionCount: number;\r\n public SuspendedTransactionCount: number;\r\n public TransactionCount: number;\r\n public ReceiptsCount: number;\r\n public ReturnsCount: number;\r\n public GoodsSoldQty: number;\r\n public ServicesSoldQty: number;\r\n public ReceiptCopiesCount: number;\r\n public ReceiptCopiesTotal: number;\r\n public PriceOverrideTotal: number;\r\n public SuspendedTotal: number;\r\n public SalesTotalIncludingTax: number;\r\n public SalesTotalExcludingTax: number;\r\n public SalesGrandTotal: number;\r\n public ReturnsGrandTotal: number;\r\n public TaxLines: Entities.ShiftTaxLine[];\r\n public TenderLines: Entities.ShiftTenderLine[];\r\n public AccountLines: Entities.ShiftAccountLine[];\r\n public IsShared: boolean;\r\n public StartingAmountRunningTotal: number;\r\n public GiftCardsTotal: number;\r\n public GiftCardCashOutTotal: number;\r\n public VoidedSalesTotal: number;\r\n public ShiftSalesTotal: number;\r\n public ShiftReturnsTotal: number;\r\n public HasPendingOfflineTransactions: number;\r\n public NumberOfUnreconciledLines: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.StartingAmountTotal = \r\n (odataObject.StartingAmountTotal != null) ? parseFloat(odataObject.StartingAmountTotal) : undefined;\r\n \r\n this.FloatingEntryAmountTotal = \r\n (odataObject.FloatingEntryAmountTotal != null) ? parseFloat(odataObject.FloatingEntryAmountTotal) : undefined;\r\n \r\n this.AddToTenderAmountTotal = \r\n (odataObject.AddToTenderAmountTotal != null) ? parseFloat(odataObject.AddToTenderAmountTotal) : undefined;\r\n \r\n this.SafeDropTotal = \r\n (odataObject.SafeDropTotal != null) ? parseFloat(odataObject.SafeDropTotal) : undefined;\r\n \r\n this.BankDropTotal = \r\n (odataObject.BankDropTotal != null) ? parseFloat(odataObject.BankDropTotal) : undefined;\r\n \r\n this.RemoveTenderAmountTotal = \r\n (odataObject.RemoveTenderAmountTotal != null) ? parseFloat(odataObject.RemoveTenderAmountTotal) : undefined;\r\n \r\n this.DeclareTenderAmountTotal = \r\n (odataObject.DeclareTenderAmountTotal != null) ? parseFloat(odataObject.DeclareTenderAmountTotal) : undefined;\r\n \r\n this.OverShortTotal = \r\n (odataObject.OverShortTotal != null) ? parseFloat(odataObject.OverShortTotal) : undefined;\r\n \r\n this.TenderedTotal = \r\n (odataObject.TenderedTotal != null) ? parseFloat(odataObject.TenderedTotal) : undefined;\r\n \r\n this.ChangeTotal = \r\n (odataObject.ChangeTotal != null) ? parseFloat(odataObject.ChangeTotal) : undefined;\r\n \r\n this.IncomeAccountTotal = \r\n (odataObject.IncomeAccountTotal != null) ? parseFloat(odataObject.IncomeAccountTotal) : undefined;\r\n \r\n this.ExpenseAccountTotal = \r\n (odataObject.ExpenseAccountTotal != null) ? parseFloat(odataObject.ExpenseAccountTotal) : undefined;\r\n \r\n this.CashDrawer = \r\n odataObject.CashDrawer;\r\n \r\n this.StoreRecordId = \r\n (odataObject.StoreRecordId != null) ? parseInt(odataObject.StoreRecordId, 10) : undefined;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.CurrentStaffId = \r\n odataObject.CurrentStaffId;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CloseDateTime = \r\n (odataObject.CloseDateTime instanceof Date) ? odataObject.CloseDateTime\r\n : (odataObject.CloseDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CloseDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ClosedAtTerminalId = \r\n odataObject.ClosedAtTerminalId;\r\n \r\n this.ClosedAtShiftId = \r\n (odataObject.ClosedAtShiftId != null) ? parseInt(odataObject.ClosedAtShiftId, 10) : undefined;\r\n \r\n this.CurrentTerminalId = \r\n odataObject.CurrentTerminalId;\r\n \r\n this.SalesTotal = \r\n (odataObject.SalesTotal != null) ? parseFloat(odataObject.SalesTotal) : undefined;\r\n \r\n this.StatusDateTime = \r\n (odataObject.StatusDateTime instanceof Date) ? odataObject.StatusDateTime\r\n : (odataObject.StatusDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StatusDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ReturnsTotal = \r\n (odataObject.ReturnsTotal != null) ? parseFloat(odataObject.ReturnsTotal) : undefined;\r\n \r\n this.PaidToAccountTotal = \r\n (odataObject.PaidToAccountTotal != null) ? parseFloat(odataObject.PaidToAccountTotal) : undefined;\r\n \r\n this.TaxTotal = \r\n (odataObject.TaxTotal != null) ? parseFloat(odataObject.TaxTotal) : undefined;\r\n \r\n this.ChargeTotal = \r\n (odataObject.ChargeTotal != null) ? parseFloat(odataObject.ChargeTotal) : undefined;\r\n \r\n this.DiscountTotal = \r\n (odataObject.DiscountTotal != null) ? parseFloat(odataObject.DiscountTotal) : undefined;\r\n \r\n this.RoundedAmountTotal = \r\n (odataObject.RoundedAmountTotal != null) ? parseFloat(odataObject.RoundedAmountTotal) : undefined;\r\n \r\n this.CustomerCount = \r\n odataObject.CustomerCount;\r\n \r\n this.SaleTransactionCount = \r\n odataObject.SaleTransactionCount;\r\n \r\n this.NoSaleTransactionCount = \r\n odataObject.NoSaleTransactionCount;\r\n \r\n this.VoidTransactionCount = \r\n odataObject.VoidTransactionCount;\r\n \r\n this.LogOnTransactionCount = \r\n odataObject.LogOnTransactionCount;\r\n \r\n this.SuspendedTransactionCount = \r\n odataObject.SuspendedTransactionCount;\r\n \r\n this.TransactionCount = \r\n odataObject.TransactionCount;\r\n \r\n this.ReceiptsCount = \r\n odataObject.ReceiptsCount;\r\n \r\n this.ReturnsCount = \r\n odataObject.ReturnsCount;\r\n \r\n this.GoodsSoldQty = \r\n (odataObject.GoodsSoldQty != null) ? parseFloat(odataObject.GoodsSoldQty) : undefined;\r\n \r\n this.ServicesSoldQty = \r\n (odataObject.ServicesSoldQty != null) ? parseFloat(odataObject.ServicesSoldQty) : undefined;\r\n \r\n this.ReceiptCopiesCount = \r\n odataObject.ReceiptCopiesCount;\r\n \r\n this.ReceiptCopiesTotal = \r\n (odataObject.ReceiptCopiesTotal != null) ? parseFloat(odataObject.ReceiptCopiesTotal) : undefined;\r\n \r\n this.PriceOverrideTotal = \r\n (odataObject.PriceOverrideTotal != null) ? parseFloat(odataObject.PriceOverrideTotal) : undefined;\r\n \r\n this.SuspendedTotal = \r\n (odataObject.SuspendedTotal != null) ? parseFloat(odataObject.SuspendedTotal) : undefined;\r\n \r\n this.SalesTotalIncludingTax = \r\n (odataObject.SalesTotalIncludingTax != null) ? parseFloat(odataObject.SalesTotalIncludingTax) : undefined;\r\n \r\n this.SalesTotalExcludingTax = \r\n (odataObject.SalesTotalExcludingTax != null) ? parseFloat(odataObject.SalesTotalExcludingTax) : undefined;\r\n \r\n this.SalesGrandTotal = \r\n (odataObject.SalesGrandTotal != null) ? parseFloat(odataObject.SalesGrandTotal) : undefined;\r\n \r\n this.ReturnsGrandTotal = \r\n (odataObject.ReturnsGrandTotal != null) ? parseFloat(odataObject.ReturnsGrandTotal) : undefined;\r\n \r\n this.TaxLines = undefined;\r\n if (odataObject.TaxLines) {\r\n this.TaxLines = [];\r\n for (var i = 0; i < odataObject.TaxLines.length; i++) {\r\n if (odataObject.TaxLines[i] != null) {\r\n if (odataObject.TaxLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxLines[i] = new entityDictionary[className](odataObject.TaxLines[i])\r\n }\r\n } else {\r\n this.TaxLines[i] = new ShiftTaxLineClass(odataObject.TaxLines[i]);\r\n }\r\n } else {\r\n this.TaxLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TenderLines = undefined;\r\n if (odataObject.TenderLines) {\r\n this.TenderLines = [];\r\n for (var i = 0; i < odataObject.TenderLines.length; i++) {\r\n if (odataObject.TenderLines[i] != null) {\r\n if (odataObject.TenderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLines[i] = new entityDictionary[className](odataObject.TenderLines[i])\r\n }\r\n } else {\r\n this.TenderLines[i] = new ShiftTenderLineClass(odataObject.TenderLines[i]);\r\n }\r\n } else {\r\n this.TenderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AccountLines = undefined;\r\n if (odataObject.AccountLines) {\r\n this.AccountLines = [];\r\n for (var i = 0; i < odataObject.AccountLines.length; i++) {\r\n if (odataObject.AccountLines[i] != null) {\r\n if (odataObject.AccountLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AccountLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AccountLines[i] = new entityDictionary[className](odataObject.AccountLines[i])\r\n }\r\n } else {\r\n this.AccountLines[i] = new ShiftAccountLineClass(odataObject.AccountLines[i]);\r\n }\r\n } else {\r\n this.AccountLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsShared = \r\n odataObject.IsShared;\r\n \r\n this.StartingAmountRunningTotal = \r\n (odataObject.StartingAmountRunningTotal != null) ? parseFloat(odataObject.StartingAmountRunningTotal) : undefined;\r\n \r\n this.GiftCardsTotal = \r\n (odataObject.GiftCardsTotal != null) ? parseFloat(odataObject.GiftCardsTotal) : undefined;\r\n \r\n this.GiftCardCashOutTotal = \r\n (odataObject.GiftCardCashOutTotal != null) ? parseFloat(odataObject.GiftCardCashOutTotal) : undefined;\r\n \r\n this.VoidedSalesTotal = \r\n (odataObject.VoidedSalesTotal != null) ? parseFloat(odataObject.VoidedSalesTotal) : undefined;\r\n \r\n this.ShiftSalesTotal = \r\n (odataObject.ShiftSalesTotal != null) ? parseFloat(odataObject.ShiftSalesTotal) : undefined;\r\n \r\n this.ShiftReturnsTotal = \r\n (odataObject.ShiftReturnsTotal != null) ? parseFloat(odataObject.ShiftReturnsTotal) : undefined;\r\n \r\n this.HasPendingOfflineTransactions = \r\n odataObject.HasPendingOfflineTransactions;\r\n \r\n this.NumberOfUnreconciledLines = \r\n (odataObject.NumberOfUnreconciledLines != null) ? parseFloat(odataObject.NumberOfUnreconciledLines) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShiftClass'] = ShiftClass;\r\n \r\n /**\r\n * StockCountJournal entity class.\r\n */\r\n export class StockCountJournalClass implements Entities.StockCountJournal {\r\n public JournalId: string;\r\n public RecordId: string;\r\n public Description: string;\r\n public InventLocationId: string;\r\n public DataAreaId: string;\r\n public StockCountTransactionLines: Entities.StockCountJournalTransaction[];\r\n public Worker: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.JournalId = \r\n odataObject.JournalId;\r\n \r\n this.RecordId = \r\n odataObject.RecordId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.StockCountTransactionLines = undefined;\r\n if (odataObject.StockCountTransactionLines) {\r\n this.StockCountTransactionLines = [];\r\n for (var i = 0; i < odataObject.StockCountTransactionLines.length; i++) {\r\n if (odataObject.StockCountTransactionLines[i] != null) {\r\n if (odataObject.StockCountTransactionLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.StockCountTransactionLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.StockCountTransactionLines[i] = new entityDictionary[className](odataObject.StockCountTransactionLines[i])\r\n }\r\n } else {\r\n this.StockCountTransactionLines[i] = new StockCountJournalTransactionClass(odataObject.StockCountTransactionLines[i]);\r\n }\r\n } else {\r\n this.StockCountTransactionLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Worker = \r\n odataObject.Worker;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['StockCountJournalClass'] = StockCountJournalClass;\r\n \r\n /**\r\n * OrgUnit entity class.\r\n */\r\n export class OrgUnitClass implements Entities.OrgUnit {\r\n public OrgUnitNumber: string;\r\n public RecordId: number;\r\n public InventoryLocationId: string;\r\n public OMOperatingUnitNumber: string;\r\n public TaxGroup: string;\r\n public FunctionalityProfileId: string;\r\n public UseCustomerBasedTax: boolean;\r\n public UseCustomerBasedTaxExemption: boolean;\r\n public UseDestinationBasedTax: boolean;\r\n public Currency: string;\r\n public TimeZoneCode: number;\r\n public OrgUnitAddress: Entities.Address;\r\n public OrgUnitFullAddress: string;\r\n public OrgUnitName: string;\r\n public Latitude: number;\r\n public Longitude: number;\r\n public EmailReceiptProfileId: string;\r\n public ShippingWarehouseAddress: Entities.Address;\r\n public TaxRegistrations: Entities.TaxRegistration[];\r\n public EventNotificationProfileId: string;\r\n public Name: string;\r\n public DefaultCustomerAccount: string;\r\n public CategoryHierarchyId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrgUnitNumber = \r\n odataObject.OrgUnitNumber;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.OMOperatingUnitNumber = \r\n odataObject.OMOperatingUnitNumber;\r\n \r\n this.TaxGroup = \r\n odataObject.TaxGroup;\r\n \r\n this.FunctionalityProfileId = \r\n odataObject.FunctionalityProfileId;\r\n \r\n this.UseCustomerBasedTax = \r\n odataObject.UseCustomerBasedTax;\r\n \r\n this.UseCustomerBasedTaxExemption = \r\n odataObject.UseCustomerBasedTaxExemption;\r\n \r\n this.UseDestinationBasedTax = \r\n odataObject.UseDestinationBasedTax;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.TimeZoneCode = \r\n odataObject.TimeZoneCode;\r\n \r\n if (odataObject.OrgUnitAddress == null) {\r\n this.OrgUnitAddress = undefined;\r\n } else if (odataObject.OrgUnitAddress['@odata.type'] == null) {\r\n this.OrgUnitAddress = new AddressClass(odataObject.OrgUnitAddress);\r\n } else {\r\n var className: string = odataObject.OrgUnitAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.OrgUnitAddress = new entityDictionary[className](odataObject.OrgUnitAddress)\r\n }\r\n }\r\n\r\n \r\n this.OrgUnitFullAddress = \r\n odataObject.OrgUnitFullAddress;\r\n \r\n this.OrgUnitName = \r\n odataObject.OrgUnitName;\r\n \r\n this.Latitude = \r\n (odataObject.Latitude != null) ? parseFloat(odataObject.Latitude) : undefined;\r\n \r\n this.Longitude = \r\n (odataObject.Longitude != null) ? parseFloat(odataObject.Longitude) : undefined;\r\n \r\n this.EmailReceiptProfileId = \r\n odataObject.EmailReceiptProfileId;\r\n \r\n if (odataObject.ShippingWarehouseAddress == null) {\r\n this.ShippingWarehouseAddress = undefined;\r\n } else if (odataObject.ShippingWarehouseAddress['@odata.type'] == null) {\r\n this.ShippingWarehouseAddress = new AddressClass(odataObject.ShippingWarehouseAddress);\r\n } else {\r\n var className: string = odataObject.ShippingWarehouseAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingWarehouseAddress = new entityDictionary[className](odataObject.ShippingWarehouseAddress)\r\n }\r\n }\r\n\r\n \r\n this.TaxRegistrations = undefined;\r\n if (odataObject.TaxRegistrations) {\r\n this.TaxRegistrations = [];\r\n for (var i = 0; i < odataObject.TaxRegistrations.length; i++) {\r\n if (odataObject.TaxRegistrations[i] != null) {\r\n if (odataObject.TaxRegistrations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxRegistrations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxRegistrations[i] = new entityDictionary[className](odataObject.TaxRegistrations[i])\r\n }\r\n } else {\r\n this.TaxRegistrations[i] = new TaxRegistrationClass(odataObject.TaxRegistrations[i]);\r\n }\r\n } else {\r\n this.TaxRegistrations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.EventNotificationProfileId = \r\n odataObject.EventNotificationProfileId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.DefaultCustomerAccount = \r\n odataObject.DefaultCustomerAccount;\r\n \r\n this.CategoryHierarchyId = \r\n (odataObject.CategoryHierarchyId != null) ? parseInt(odataObject.CategoryHierarchyId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitClass'] = OrgUnitClass;\r\n \r\n /**\r\n * Product entity class.\r\n */\r\n export class ProductClass implements Entities.Product {\r\n public RecordId: number;\r\n public ProductName: string;\r\n public ProductNumber: string;\r\n public Description: string;\r\n public IsMasterProduct: boolean;\r\n public IsKit: boolean;\r\n public ItemId: string;\r\n public HasLinkedProducts: boolean;\r\n public Rules: Entities.ProductRules;\r\n public DefaultUnitOfMeasure: string;\r\n public Name: string;\r\n public Locale: string;\r\n public OfflineImage: string;\r\n public IsRemote: boolean;\r\n public ChangeTrackingInformation: Entities.ProductChangeTrackingInformation;\r\n public Image: Entities.RichMediaLocations;\r\n public UnitsOfMeasureSymbol: string[];\r\n public LinkedProducts: Entities.LinkedProduct[];\r\n public BasePrice: number;\r\n public Price: number;\r\n public AdjustedPrice: number;\r\n public RetailContext: Entities.ProjectionDomain;\r\n public PrimaryCategoryId: number;\r\n public CategoryIds: number[];\r\n public DisplayOrderInCategories: Entities.DisplayOrderInCategory[];\r\n public RelatedProducts: Entities.RelatedProduct[];\r\n public ProductsRelatedToThis: Entities.RelatedProduct[];\r\n public ProductSchema: string[];\r\n public ProductProperties: Entities.ProductPropertyTranslation[];\r\n public CompositionInformation: Entities.ProductCompositionInformation;\r\n public ParentKits: Entities.KitComponent[];\r\n public SearchName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ProductName = \r\n odataObject.ProductName;\r\n \r\n this.ProductNumber = \r\n odataObject.ProductNumber;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.IsMasterProduct = \r\n odataObject.IsMasterProduct;\r\n \r\n this.IsKit = \r\n odataObject.IsKit;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.HasLinkedProducts = \r\n odataObject.HasLinkedProducts;\r\n \r\n if (odataObject.Rules == null) {\r\n this.Rules = undefined;\r\n } else if (odataObject.Rules['@odata.type'] == null) {\r\n this.Rules = new ProductRulesClass(odataObject.Rules);\r\n } else {\r\n var className: string = odataObject.Rules['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Rules = new entityDictionary[className](odataObject.Rules)\r\n }\r\n }\r\n\r\n \r\n this.DefaultUnitOfMeasure = \r\n odataObject.DefaultUnitOfMeasure;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Locale = \r\n odataObject.Locale;\r\n \r\n this.OfflineImage = \r\n odataObject.OfflineImage;\r\n \r\n this.IsRemote = \r\n odataObject.IsRemote;\r\n \r\n if (odataObject.ChangeTrackingInformation == null) {\r\n this.ChangeTrackingInformation = undefined;\r\n } else if (odataObject.ChangeTrackingInformation['@odata.type'] == null) {\r\n this.ChangeTrackingInformation = new ProductChangeTrackingInformationClass(odataObject.ChangeTrackingInformation);\r\n } else {\r\n var className: string = odataObject.ChangeTrackingInformation['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChangeTrackingInformation = new entityDictionary[className](odataObject.ChangeTrackingInformation)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.Image == null) {\r\n this.Image = undefined;\r\n } else if (odataObject.Image['@odata.type'] == null) {\r\n this.Image = new RichMediaLocationsClass(odataObject.Image);\r\n } else {\r\n var className: string = odataObject.Image['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Image = new entityDictionary[className](odataObject.Image)\r\n }\r\n }\r\n\r\n \r\n this.UnitsOfMeasureSymbol = undefined;\r\n if (odataObject.UnitsOfMeasureSymbol) {\r\n this.UnitsOfMeasureSymbol = [];\r\n for (var i = 0; i < odataObject.UnitsOfMeasureSymbol.length; i++) {\r\n if (odataObject.UnitsOfMeasureSymbol[i] != null) {\r\n this.UnitsOfMeasureSymbol[i] = \r\n odataObject.UnitsOfMeasureSymbol[i];\r\n } else {\r\n this.UnitsOfMeasureSymbol[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LinkedProducts = undefined;\r\n if (odataObject.LinkedProducts) {\r\n this.LinkedProducts = [];\r\n for (var i = 0; i < odataObject.LinkedProducts.length; i++) {\r\n if (odataObject.LinkedProducts[i] != null) {\r\n if (odataObject.LinkedProducts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LinkedProducts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LinkedProducts[i] = new entityDictionary[className](odataObject.LinkedProducts[i])\r\n }\r\n } else {\r\n this.LinkedProducts[i] = new LinkedProductClass(odataObject.LinkedProducts[i]);\r\n }\r\n } else {\r\n this.LinkedProducts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.AdjustedPrice = \r\n (odataObject.AdjustedPrice != null) ? parseFloat(odataObject.AdjustedPrice) : undefined;\r\n \r\n if (odataObject.RetailContext == null) {\r\n this.RetailContext = undefined;\r\n } else if (odataObject.RetailContext['@odata.type'] == null) {\r\n this.RetailContext = new ProjectionDomainClass(odataObject.RetailContext);\r\n } else {\r\n var className: string = odataObject.RetailContext['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RetailContext = new entityDictionary[className](odataObject.RetailContext)\r\n }\r\n }\r\n\r\n \r\n this.PrimaryCategoryId = \r\n (odataObject.PrimaryCategoryId != null) ? parseInt(odataObject.PrimaryCategoryId, 10) : undefined;\r\n \r\n this.CategoryIds = undefined;\r\n if (odataObject.CategoryIds) {\r\n this.CategoryIds = [];\r\n for (var i = 0; i < odataObject.CategoryIds.length; i++) {\r\n if (odataObject.CategoryIds[i] != null) {\r\n this.CategoryIds[i] = \r\n parseInt(odataObject.CategoryIds[i], 10);\r\n } else {\r\n this.CategoryIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DisplayOrderInCategories = undefined;\r\n if (odataObject.DisplayOrderInCategories) {\r\n this.DisplayOrderInCategories = [];\r\n for (var i = 0; i < odataObject.DisplayOrderInCategories.length; i++) {\r\n if (odataObject.DisplayOrderInCategories[i] != null) {\r\n if (odataObject.DisplayOrderInCategories[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DisplayOrderInCategories[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DisplayOrderInCategories[i] = new entityDictionary[className](odataObject.DisplayOrderInCategories[i])\r\n }\r\n } else {\r\n this.DisplayOrderInCategories[i] = new DisplayOrderInCategoryClass(odataObject.DisplayOrderInCategories[i]);\r\n }\r\n } else {\r\n this.DisplayOrderInCategories[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.RelatedProducts = undefined;\r\n if (odataObject.RelatedProducts) {\r\n this.RelatedProducts = [];\r\n for (var i = 0; i < odataObject.RelatedProducts.length; i++) {\r\n if (odataObject.RelatedProducts[i] != null) {\r\n if (odataObject.RelatedProducts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RelatedProducts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RelatedProducts[i] = new entityDictionary[className](odataObject.RelatedProducts[i])\r\n }\r\n } else {\r\n this.RelatedProducts[i] = new RelatedProductClass(odataObject.RelatedProducts[i]);\r\n }\r\n } else {\r\n this.RelatedProducts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ProductsRelatedToThis = undefined;\r\n if (odataObject.ProductsRelatedToThis) {\r\n this.ProductsRelatedToThis = [];\r\n for (var i = 0; i < odataObject.ProductsRelatedToThis.length; i++) {\r\n if (odataObject.ProductsRelatedToThis[i] != null) {\r\n if (odataObject.ProductsRelatedToThis[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductsRelatedToThis[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductsRelatedToThis[i] = new entityDictionary[className](odataObject.ProductsRelatedToThis[i])\r\n }\r\n } else {\r\n this.ProductsRelatedToThis[i] = new RelatedProductClass(odataObject.ProductsRelatedToThis[i]);\r\n }\r\n } else {\r\n this.ProductsRelatedToThis[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ProductSchema = undefined;\r\n if (odataObject.ProductSchema) {\r\n this.ProductSchema = [];\r\n for (var i = 0; i < odataObject.ProductSchema.length; i++) {\r\n if (odataObject.ProductSchema[i] != null) {\r\n this.ProductSchema[i] = \r\n odataObject.ProductSchema[i];\r\n } else {\r\n this.ProductSchema[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ProductProperties = undefined;\r\n if (odataObject.ProductProperties) {\r\n this.ProductProperties = [];\r\n for (var i = 0; i < odataObject.ProductProperties.length; i++) {\r\n if (odataObject.ProductProperties[i] != null) {\r\n if (odataObject.ProductProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductProperties[i] = new entityDictionary[className](odataObject.ProductProperties[i])\r\n }\r\n } else {\r\n this.ProductProperties[i] = new ProductPropertyTranslationClass(odataObject.ProductProperties[i]);\r\n }\r\n } else {\r\n this.ProductProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.CompositionInformation == null) {\r\n this.CompositionInformation = undefined;\r\n } else if (odataObject.CompositionInformation['@odata.type'] == null) {\r\n this.CompositionInformation = new ProductCompositionInformationClass(odataObject.CompositionInformation);\r\n } else {\r\n var className: string = odataObject.CompositionInformation['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CompositionInformation = new entityDictionary[className](odataObject.CompositionInformation)\r\n }\r\n }\r\n\r\n \r\n this.ParentKits = undefined;\r\n if (odataObject.ParentKits) {\r\n this.ParentKits = [];\r\n for (var i = 0; i < odataObject.ParentKits.length; i++) {\r\n if (odataObject.ParentKits[i] != null) {\r\n if (odataObject.ParentKits[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ParentKits[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ParentKits[i] = new entityDictionary[className](odataObject.ParentKits[i])\r\n }\r\n } else {\r\n this.ParentKits[i] = new KitComponentClass(odataObject.ParentKits[i]);\r\n }\r\n } else {\r\n this.ParentKits[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SearchName = \r\n odataObject.SearchName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductClass'] = ProductClass;\r\n \r\n /**\r\n * ProductCatalog entity class.\r\n */\r\n export class ProductCatalogClass implements Entities.ProductCatalog {\r\n public RecordId: number;\r\n public Name: string;\r\n public Description: string;\r\n public Language: string;\r\n public IsSnapshotEnabled: boolean;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public CreatedOn: Date;\r\n public ModifiedOn: Date;\r\n public PublishedOn: Date;\r\n public Images: Entities.MediaLocation[];\r\n public ChannelId: number;\r\n public DefaultImage: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Language = \r\n odataObject.Language;\r\n \r\n this.IsSnapshotEnabled = \r\n odataObject.IsSnapshotEnabled;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CreatedOn = \r\n (odataObject.CreatedOn instanceof Date) ? odataObject.CreatedOn\r\n : (odataObject.CreatedOn != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedOn, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ModifiedOn = \r\n (odataObject.ModifiedOn instanceof Date) ? odataObject.ModifiedOn\r\n : (odataObject.ModifiedOn != null) ? jsonLightReadStringPropertyValue(odataObject.ModifiedOn, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PublishedOn = \r\n (odataObject.PublishedOn instanceof Date) ? odataObject.PublishedOn\r\n : (odataObject.PublishedOn != null) ? jsonLightReadStringPropertyValue(odataObject.PublishedOn, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Images = undefined;\r\n if (odataObject.Images) {\r\n this.Images = [];\r\n for (var i = 0; i < odataObject.Images.length; i++) {\r\n if (odataObject.Images[i] != null) {\r\n if (odataObject.Images[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Images[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Images[i] = new entityDictionary[className](odataObject.Images[i])\r\n }\r\n } else {\r\n this.Images[i] = new MediaLocationClass(odataObject.Images[i]);\r\n }\r\n } else {\r\n this.Images[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.DefaultImage = \r\n odataObject.DefaultImage;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductCatalogClass'] = ProductCatalogClass;\r\n \r\n /**\r\n * CommerceList entity class.\r\n */\r\n export class CommerceListClass implements Entities.CommerceList {\r\n public Id: number;\r\n public Name: string;\r\n public CustomerId: string;\r\n public CustomerName: string;\r\n public IsFavorite: boolean;\r\n public IsRecurring: boolean;\r\n public IsPrivate: boolean;\r\n public IsCollaborative: boolean;\r\n public CreatedDateTime: Date;\r\n public DueDateTime: Date;\r\n public CommerceListTypeValue: number;\r\n public CommerceListLines: Entities.CommerceListLine[];\r\n public CommerceListContributors: Entities.CommerceListContributor[];\r\n public CommerceListInvitations: Entities.CommerceListInvitation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n (odataObject.Id != null) ? parseInt(odataObject.Id, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.IsFavorite = \r\n odataObject.IsFavorite;\r\n \r\n this.IsRecurring = \r\n odataObject.IsRecurring;\r\n \r\n this.IsPrivate = \r\n odataObject.IsPrivate;\r\n \r\n this.IsCollaborative = \r\n odataObject.IsCollaborative;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DueDateTime = \r\n (odataObject.DueDateTime instanceof Date) ? odataObject.DueDateTime\r\n : (odataObject.DueDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.DueDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CommerceListTypeValue = \r\n odataObject.CommerceListTypeValue;\r\n \r\n this.CommerceListLines = undefined;\r\n if (odataObject.CommerceListLines) {\r\n this.CommerceListLines = [];\r\n for (var i = 0; i < odataObject.CommerceListLines.length; i++) {\r\n if (odataObject.CommerceListLines[i] != null) {\r\n if (odataObject.CommerceListLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CommerceListLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CommerceListLines[i] = new entityDictionary[className](odataObject.CommerceListLines[i])\r\n }\r\n } else {\r\n this.CommerceListLines[i] = new CommerceListLineClass(odataObject.CommerceListLines[i]);\r\n }\r\n } else {\r\n this.CommerceListLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CommerceListContributors = undefined;\r\n if (odataObject.CommerceListContributors) {\r\n this.CommerceListContributors = [];\r\n for (var i = 0; i < odataObject.CommerceListContributors.length; i++) {\r\n if (odataObject.CommerceListContributors[i] != null) {\r\n if (odataObject.CommerceListContributors[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CommerceListContributors[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CommerceListContributors[i] = new entityDictionary[className](odataObject.CommerceListContributors[i])\r\n }\r\n } else {\r\n this.CommerceListContributors[i] = new CommerceListContributorClass(odataObject.CommerceListContributors[i]);\r\n }\r\n } else {\r\n this.CommerceListContributors[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CommerceListInvitations = undefined;\r\n if (odataObject.CommerceListInvitations) {\r\n this.CommerceListInvitations = [];\r\n for (var i = 0; i < odataObject.CommerceListInvitations.length; i++) {\r\n if (odataObject.CommerceListInvitations[i] != null) {\r\n if (odataObject.CommerceListInvitations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CommerceListInvitations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CommerceListInvitations[i] = new entityDictionary[className](odataObject.CommerceListInvitations[i])\r\n }\r\n } else {\r\n this.CommerceListInvitations[i] = new CommerceListInvitationClass(odataObject.CommerceListInvitations[i]);\r\n }\r\n } else {\r\n this.CommerceListInvitations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CommerceListClass'] = CommerceListClass;\r\n \r\n /**\r\n * ProductList entity class.\r\n */\r\n export class ProductListClass implements Entities.ProductList {\r\n public Id: string;\r\n public Name: string;\r\n public CustomerId: string;\r\n public CreatedDateTime: Date;\r\n public LastUpdated: Date;\r\n public DeletedDateTime: Date;\r\n public ProductListTypeValue: number;\r\n public DataAreaId: string;\r\n public ProductListLines: Entities.ProductListLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LastUpdated = \r\n (odataObject.LastUpdated instanceof Date) ? odataObject.LastUpdated\r\n : (odataObject.LastUpdated != null) ? jsonLightReadStringPropertyValue(odataObject.LastUpdated, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeletedDateTime = \r\n (odataObject.DeletedDateTime instanceof Date) ? odataObject.DeletedDateTime\r\n : (odataObject.DeletedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.DeletedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ProductListTypeValue = \r\n odataObject.ProductListTypeValue;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ProductListLines = undefined;\r\n if (odataObject.ProductListLines) {\r\n this.ProductListLines = [];\r\n for (var i = 0; i < odataObject.ProductListLines.length; i++) {\r\n if (odataObject.ProductListLines[i] != null) {\r\n if (odataObject.ProductListLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductListLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductListLines[i] = new entityDictionary[className](odataObject.ProductListLines[i])\r\n }\r\n } else {\r\n this.ProductListLines[i] = new ProductListLineClass(odataObject.ProductListLines[i]);\r\n }\r\n } else {\r\n this.ProductListLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductListClass'] = ProductListClass;\r\n \r\n /**\r\n * Recommendation entity class.\r\n */\r\n export class RecommendationClass implements Entities.Recommendation {\r\n public Id: string;\r\n public RecommendationTypeValue: number;\r\n public Title: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.RecommendationTypeValue = \r\n odataObject.RecommendationTypeValue;\r\n \r\n this.Title = \r\n odataObject.Title;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RecommendationClass'] = RecommendationClass;\r\n \r\n /**\r\n * TransferOrder entity class.\r\n */\r\n export class TransferOrderClass implements Entities.TransferOrder {\r\n public OrderId: string;\r\n public RecordId: string;\r\n public Status: string;\r\n public Lines: number;\r\n public TotalItems: number;\r\n public OrderTypeValue: number;\r\n public InventLocationIdFrom: string;\r\n public InventLocationIdTo: string;\r\n public QuantityShipped: number;\r\n public QuantityReceived: number;\r\n public QuantityShipNow: number;\r\n public QuantityReceiveNow: number;\r\n public QuantityShipRemaining: number;\r\n public QuantityReceiveRemaining: number;\r\n public ShipDate: Date;\r\n public ReceiveDate: Date;\r\n public DeliveryModeId: string;\r\n public OrderLines: Entities.TransferOrderLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.RecordId = \r\n odataObject.RecordId;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.Lines = \r\n (odataObject.Lines != null) ? parseFloat(odataObject.Lines) : undefined;\r\n \r\n this.TotalItems = \r\n (odataObject.TotalItems != null) ? parseFloat(odataObject.TotalItems) : undefined;\r\n \r\n this.OrderTypeValue = \r\n odataObject.OrderTypeValue;\r\n \r\n this.InventLocationIdFrom = \r\n odataObject.InventLocationIdFrom;\r\n \r\n this.InventLocationIdTo = \r\n odataObject.InventLocationIdTo;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.QuantityReceived = \r\n (odataObject.QuantityReceived != null) ? parseFloat(odataObject.QuantityReceived) : undefined;\r\n \r\n this.QuantityShipNow = \r\n (odataObject.QuantityShipNow != null) ? parseFloat(odataObject.QuantityShipNow) : undefined;\r\n \r\n this.QuantityReceiveNow = \r\n (odataObject.QuantityReceiveNow != null) ? parseFloat(odataObject.QuantityReceiveNow) : undefined;\r\n \r\n this.QuantityShipRemaining = \r\n (odataObject.QuantityShipRemaining != null) ? parseFloat(odataObject.QuantityShipRemaining) : undefined;\r\n \r\n this.QuantityReceiveRemaining = \r\n (odataObject.QuantityReceiveRemaining != null) ? parseFloat(odataObject.QuantityReceiveRemaining) : undefined;\r\n \r\n this.ShipDate = \r\n (odataObject.ShipDate instanceof Date) ? odataObject.ShipDate\r\n : (odataObject.ShipDate != null) ? jsonLightReadStringPropertyValue(odataObject.ShipDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ReceiveDate = \r\n (odataObject.ReceiveDate instanceof Date) ? odataObject.ReceiveDate\r\n : (odataObject.ReceiveDate != null) ? jsonLightReadStringPropertyValue(odataObject.ReceiveDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeliveryModeId = \r\n odataObject.DeliveryModeId;\r\n \r\n this.OrderLines = undefined;\r\n if (odataObject.OrderLines) {\r\n this.OrderLines = [];\r\n for (var i = 0; i < odataObject.OrderLines.length; i++) {\r\n if (odataObject.OrderLines[i] != null) {\r\n if (odataObject.OrderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.OrderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.OrderLines[i] = new entityDictionary[className](odataObject.OrderLines[i])\r\n }\r\n } else {\r\n this.OrderLines[i] = new TransferOrderLineClass(odataObject.OrderLines[i]);\r\n }\r\n } else {\r\n this.OrderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TransferOrderClass'] = TransferOrderClass;\r\n \r\n /**\r\n * PurchaseOrder entity class.\r\n */\r\n export class PurchaseOrderClass implements Entities.PurchaseOrder {\r\n public OrderId: string;\r\n public RecordId: string;\r\n public Status: string;\r\n public Lines: number;\r\n public TotalItems: number;\r\n public OrderTypeValue: number;\r\n public TotalReceived: number;\r\n public OrderLines: Entities.PurchaseOrderLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.RecordId = \r\n odataObject.RecordId;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.Lines = \r\n (odataObject.Lines != null) ? parseFloat(odataObject.Lines) : undefined;\r\n \r\n this.TotalItems = \r\n (odataObject.TotalItems != null) ? parseFloat(odataObject.TotalItems) : undefined;\r\n \r\n this.OrderTypeValue = \r\n odataObject.OrderTypeValue;\r\n \r\n this.TotalReceived = \r\n (odataObject.TotalReceived != null) ? parseFloat(odataObject.TotalReceived) : undefined;\r\n \r\n this.OrderLines = undefined;\r\n if (odataObject.OrderLines) {\r\n this.OrderLines = [];\r\n for (var i = 0; i < odataObject.OrderLines.length; i++) {\r\n if (odataObject.OrderLines[i] != null) {\r\n if (odataObject.OrderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.OrderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.OrderLines[i] = new entityDictionary[className](odataObject.OrderLines[i])\r\n }\r\n } else {\r\n this.OrderLines[i] = new PurchaseOrderLineClass(odataObject.OrderLines[i]);\r\n }\r\n } else {\r\n this.OrderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PurchaseOrderClass'] = PurchaseOrderClass;\r\n \r\n /**\r\n * PickingList entity class.\r\n */\r\n export class PickingListClass implements Entities.PickingList {\r\n public OrderId: string;\r\n public RecordId: string;\r\n public Status: string;\r\n public Lines: number;\r\n public TotalItems: number;\r\n public OrderTypeValue: number;\r\n public InventLocationId: string;\r\n public DeliveryDate: Date;\r\n public DeliveryMode: string;\r\n public TotalReceived: number;\r\n public OrderLines: Entities.PickingListLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.RecordId = \r\n odataObject.RecordId;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.Lines = \r\n (odataObject.Lines != null) ? parseFloat(odataObject.Lines) : undefined;\r\n \r\n this.TotalItems = \r\n (odataObject.TotalItems != null) ? parseFloat(odataObject.TotalItems) : undefined;\r\n \r\n this.OrderTypeValue = \r\n odataObject.OrderTypeValue;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.DeliveryDate = \r\n (odataObject.DeliveryDate instanceof Date) ? odataObject.DeliveryDate\r\n : (odataObject.DeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.DeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.TotalReceived = \r\n (odataObject.TotalReceived != null) ? parseFloat(odataObject.TotalReceived) : undefined;\r\n \r\n this.OrderLines = undefined;\r\n if (odataObject.OrderLines) {\r\n this.OrderLines = [];\r\n for (var i = 0; i < odataObject.OrderLines.length; i++) {\r\n if (odataObject.OrderLines[i] != null) {\r\n if (odataObject.OrderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.OrderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.OrderLines[i] = new entityDictionary[className](odataObject.OrderLines[i])\r\n }\r\n } else {\r\n this.OrderLines[i] = new PickingListLineClass(odataObject.OrderLines[i]);\r\n }\r\n } else {\r\n this.OrderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PickingListClass'] = PickingListClass;\r\n \r\n /**\r\n * Warehouse entity class.\r\n */\r\n export class WarehouseClass implements Entities.Warehouse {\r\n public InventLocation: string;\r\n public Name: string;\r\n public IsWMSEnabled: boolean;\r\n public DefaultInventoryStatus: string;\r\n public DefaultReceiptLocation: string;\r\n public DefaultLocationId: string;\r\n public DefaultIssueLocation: string;\r\n public Address: Entities.Address;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InventLocation = \r\n odataObject.InventLocation;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.IsWMSEnabled = \r\n odataObject.IsWMSEnabled;\r\n \r\n this.DefaultInventoryStatus = \r\n odataObject.DefaultInventoryStatus;\r\n \r\n this.DefaultReceiptLocation = \r\n odataObject.DefaultReceiptLocation;\r\n \r\n this.DefaultLocationId = \r\n odataObject.DefaultLocationId;\r\n \r\n this.DefaultIssueLocation = \r\n odataObject.DefaultIssueLocation;\r\n \r\n if (odataObject.Address == null) {\r\n this.Address = undefined;\r\n } else if (odataObject.Address['@odata.type'] == null) {\r\n this.Address = new AddressClass(odataObject.Address);\r\n } else {\r\n var className: string = odataObject.Address['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Address = new entityDictionary[className](odataObject.Address)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['WarehouseClass'] = WarehouseClass;\r\n \r\n /**\r\n * ScanResult entity class.\r\n */\r\n export class ScanResultClass implements Entities.ScanResult {\r\n public ScannedText: string;\r\n public MaskTypeValue: number;\r\n public Barcode: Entities.Barcode;\r\n public Product: Entities.SimpleProduct;\r\n public LoyaltyCard: Entities.LoyaltyCard;\r\n public GiftCard: Entities.GiftCard;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n public Customer: Entities.Customer;\r\n \r\n // Navigation properties names\r\n public static customerPropertyName: string = \"Customer\";\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ScannedText = \r\n odataObject.ScannedText;\r\n \r\n this.MaskTypeValue = \r\n odataObject.MaskTypeValue;\r\n \r\n if (odataObject.Barcode == null) {\r\n this.Barcode = undefined;\r\n } else if (odataObject.Barcode['@odata.type'] == null) {\r\n this.Barcode = new BarcodeClass(odataObject.Barcode);\r\n } else {\r\n var className: string = odataObject.Barcode['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Barcode = new entityDictionary[className](odataObject.Barcode)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.Product == null) {\r\n this.Product = undefined;\r\n } else if (odataObject.Product['@odata.type'] == null) {\r\n this.Product = new SimpleProductClass(odataObject.Product);\r\n } else {\r\n var className: string = odataObject.Product['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Product = new entityDictionary[className](odataObject.Product)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.LoyaltyCard == null) {\r\n this.LoyaltyCard = undefined;\r\n } else if (odataObject.LoyaltyCard['@odata.type'] == null) {\r\n this.LoyaltyCard = new LoyaltyCardClass(odataObject.LoyaltyCard);\r\n } else {\r\n var className: string = odataObject.LoyaltyCard['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LoyaltyCard = new entityDictionary[className](odataObject.LoyaltyCard)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.GiftCard == null) {\r\n this.GiftCard = undefined;\r\n } else if (odataObject.GiftCard['@odata.type'] == null) {\r\n this.GiftCard = new GiftCardClass(odataObject.GiftCard);\r\n } else {\r\n var className: string = odataObject.GiftCard['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.GiftCard = new entityDictionary[className](odataObject.GiftCard)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.Customer == null) {\r\n this.Customer = undefined;\r\n } else if (odataObject.Customer['@odata.type'] == null) {\r\n this.Customer = new CustomerClass(odataObject.Customer);\r\n } else {\r\n var className: string = odataObject.Customer['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Customer = new entityDictionary[className](odataObject.Customer)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['ScanResultClass'] = ScanResultClass;\r\n \r\n /**\r\n * SalesOrderContextualOperationsMap entity class.\r\n */\r\n export class SalesOrderContextualOperationsMapClass implements Entities.SalesOrderContextualOperationsMap {\r\n public Id: string;\r\n public ApplicableOperationsValues: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n public SalesOrder: Entities.SalesOrder;\r\n \r\n // Navigation properties names\r\n public static salesOrderPropertyName: string = \"SalesOrder\";\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.ApplicableOperationsValues = undefined;\r\n if (odataObject.ApplicableOperationsValues) {\r\n this.ApplicableOperationsValues = [];\r\n for (var i = 0; i < odataObject.ApplicableOperationsValues.length; i++) {\r\n if (odataObject.ApplicableOperationsValues[i] != null) {\r\n this.ApplicableOperationsValues[i] = \r\n odataObject.ApplicableOperationsValues[i];\r\n } else {\r\n this.ApplicableOperationsValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.SalesOrder == null) {\r\n this.SalesOrder = undefined;\r\n } else if (odataObject.SalesOrder['@odata.type'] == null) {\r\n this.SalesOrder = new SalesOrderClass(odataObject.SalesOrder);\r\n } else {\r\n var className: string = odataObject.SalesOrder['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SalesOrder = new entityDictionary[className](odataObject.SalesOrder)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['SalesOrderContextualOperationsMapClass'] = SalesOrderContextualOperationsMapClass;\r\n \r\n /**\r\n * InventoryInboundOutboundDocument entity class.\r\n */\r\n export class InventoryInboundOutboundDocumentClass implements Entities.InventoryInboundOutboundDocument {\r\n public WorkDocumentId: string;\r\n public TerminalId: string;\r\n public CommitRequestId: string;\r\n public ReceiveDate: Date;\r\n public ShipDate: Date;\r\n public Sender: string;\r\n public Receiver: string;\r\n public SenderDetails: string;\r\n public ReceiverDetails: string;\r\n public DeliveryMode: string;\r\n public OperationTypeValue: number;\r\n public StatusValue: number;\r\n public ReceiptId: string;\r\n public Note: string;\r\n public OperationResultMessage: string;\r\n public DocumentId: string;\r\n public LongVersion: number;\r\n public SourceDocument: Entities.InventoryInboundOutboundSourceDocument;\r\n public SourceDocumentTypeValue: number;\r\n public CreatedDateTime: Date;\r\n public NoteModifiedByStaffId: string;\r\n public NoteModifiedDateTime: Date;\r\n public DocumentTypeId: string;\r\n public Description: string;\r\n public StaffId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.WorkDocumentId = \r\n odataObject.WorkDocumentId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.CommitRequestId = \r\n odataObject.CommitRequestId;\r\n \r\n this.ReceiveDate = \r\n (odataObject.ReceiveDate instanceof Date) ? odataObject.ReceiveDate\r\n : (odataObject.ReceiveDate != null) ? jsonLightReadStringPropertyValue(odataObject.ReceiveDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ShipDate = \r\n (odataObject.ShipDate instanceof Date) ? odataObject.ShipDate\r\n : (odataObject.ShipDate != null) ? jsonLightReadStringPropertyValue(odataObject.ShipDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Sender = \r\n odataObject.Sender;\r\n \r\n this.Receiver = \r\n odataObject.Receiver;\r\n \r\n this.SenderDetails = \r\n odataObject.SenderDetails;\r\n \r\n this.ReceiverDetails = \r\n odataObject.ReceiverDetails;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.OperationTypeValue = \r\n odataObject.OperationTypeValue;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.Note = \r\n odataObject.Note;\r\n \r\n this.OperationResultMessage = \r\n odataObject.OperationResultMessage;\r\n \r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.LongVersion = \r\n (odataObject.LongVersion != null) ? parseInt(odataObject.LongVersion, 10) : undefined;\r\n \r\n if (odataObject.SourceDocument == null) {\r\n this.SourceDocument = undefined;\r\n } else if (odataObject.SourceDocument['@odata.type'] == null) {\r\n this.SourceDocument = new InventoryInboundOutboundSourceDocumentClass(odataObject.SourceDocument);\r\n } else {\r\n var className: string = odataObject.SourceDocument['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SourceDocument = new entityDictionary[className](odataObject.SourceDocument)\r\n }\r\n }\r\n\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.NoteModifiedByStaffId = \r\n odataObject.NoteModifiedByStaffId;\r\n \r\n this.NoteModifiedDateTime = \r\n (odataObject.NoteModifiedDateTime instanceof Date) ? odataObject.NoteModifiedDateTime\r\n : (odataObject.NoteModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.NoteModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DocumentTypeId = \r\n odataObject.DocumentTypeId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryInboundOutboundDocumentClass'] = InventoryInboundOutboundDocumentClass;\r\n \r\n /**\r\n * BusinessPartner entity class.\r\n */\r\n export class BusinessPartnerClass implements Entities.BusinessPartner {\r\n public BusinessPartnerId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.BusinessPartnerId = \r\n odataObject.BusinessPartnerId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BusinessPartnerClass'] = BusinessPartnerClass;\r\n \r\n /**\r\n * BusinessPartnerUser entity class.\r\n */\r\n export class BusinessPartnerUserClass implements Entities.BusinessPartnerUser {\r\n public B2BUserId: string;\r\n public BusinessPartnerId: string;\r\n public FirstName: string;\r\n public LastName: string;\r\n public Email: string;\r\n public SpendingLimit: number;\r\n public LastOperationId: string;\r\n public StatusValue: number;\r\n public IsAdmin: boolean;\r\n public AccountNumber: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.B2BUserId = \r\n odataObject.B2BUserId;\r\n \r\n this.BusinessPartnerId = \r\n odataObject.BusinessPartnerId;\r\n \r\n this.FirstName = \r\n odataObject.FirstName;\r\n \r\n this.LastName = \r\n odataObject.LastName;\r\n \r\n this.Email = \r\n odataObject.Email;\r\n \r\n this.SpendingLimit = \r\n (odataObject.SpendingLimit != null) ? parseFloat(odataObject.SpendingLimit) : undefined;\r\n \r\n this.LastOperationId = \r\n odataObject.LastOperationId;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.IsAdmin = \r\n odataObject.IsAdmin;\r\n \r\n this.AccountNumber = \r\n odataObject.AccountNumber;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BusinessPartnerUserClass'] = BusinessPartnerUserClass;\r\n \r\n /**\r\n * SuspendedCart entity class.\r\n */\r\n export class SuspendedCartClass implements Entities.SuspendedCart {\r\n public Id: string;\r\n public ReceiptId: string;\r\n public ShiftId: number;\r\n public ShiftTerminalId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n public Cart: Entities.Cart;\r\n \r\n // Navigation properties names\r\n public static cartPropertyName: string = \"Cart\";\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.ShiftTerminalId = \r\n odataObject.ShiftTerminalId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.Cart == null) {\r\n this.Cart = undefined;\r\n } else if (odataObject.Cart['@odata.type'] == null) {\r\n this.Cart = new CartClass(odataObject.Cart);\r\n } else {\r\n var className: string = odataObject.Cart['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Cart = new entityDictionary[className](odataObject.Cart)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['SuspendedCartClass'] = SuspendedCartClass;\r\n \r\n /**\r\n * CountryRegion entity class.\r\n */\r\n export class CountryRegionClass implements Entities.CountryRegion {\r\n public CountryRegionId: string;\r\n public IsoCode: string;\r\n public ShortName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.IsoCode = \r\n odataObject.IsoCode;\r\n \r\n this.ShortName = \r\n odataObject.ShortName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CountryRegionClass'] = CountryRegionClass;\r\n \r\n /**\r\n * ExtensibleEnumeration entity class.\r\n */\r\n export class ExtensibleEnumerationClass implements Entities.ExtensibleEnumeration {\r\n public Name: string;\r\n public Value: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleEnumerationClass'] = ExtensibleEnumerationClass;\r\n \r\n /**\r\n * ExtensibleEnumeration_1OfT entity class.\r\n */\r\n export class ExtensibleEnumeration_1OfTClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleEnumeration_1OfT {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.Framework.ExtensibleEnumeration_1OfT\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleEnumeration_1OfTClass'] = ExtensibleEnumeration_1OfTClass;\r\n \r\n /**\r\n * ExtensibleTransactionType entity class.\r\n */\r\n export class ExtensibleTransactionTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleTransactionType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleTransactionType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleTransactionTypeClass'] = ExtensibleTransactionTypeClass;\r\n \r\n /**\r\n * ExtensibleSalesTransactionType entity class.\r\n */\r\n export class ExtensibleSalesTransactionTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleSalesTransactionType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleSalesTransactionType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleSalesTransactionTypeClass'] = ExtensibleSalesTransactionTypeClass;\r\n \r\n /**\r\n * FulfillmentLineStatus entity class.\r\n */\r\n export class FulfillmentLineStatusClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.FulfillmentLineStatus {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.FulfillmentLineStatus\";\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineStatusClass'] = FulfillmentLineStatusClass;\r\n \r\n /**\r\n * FulfillmentLineDeliveryType entity class.\r\n */\r\n export class FulfillmentLineDeliveryTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.FulfillmentLineDeliveryType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.FulfillmentLineDeliveryType\";\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineDeliveryTypeClass'] = FulfillmentLineDeliveryTypeClass;\r\n \r\n /**\r\n * ExtensibleAddressType entity class.\r\n */\r\n export class ExtensibleAddressTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleAddressType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleAddressType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleAddressTypeClass'] = ExtensibleAddressTypeClass;\r\n \r\n /**\r\n * ExtensibleLoyaltyRewardPointActivityEntryType entity class.\r\n */\r\n export class ExtensibleLoyaltyRewardPointActivityEntryTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleLoyaltyRewardPointActivityEntryType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleLoyaltyRewardPointActivityEntryType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleLoyaltyRewardPointActivityEntryTypeClass'] = ExtensibleLoyaltyRewardPointActivityEntryTypeClass;\r\n \r\n /**\r\n * ExtensibleAttributeDataType entity class.\r\n */\r\n export class ExtensibleAttributeDataTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleAttributeDataType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleAttributeDataType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleAttributeDataTypeClass'] = ExtensibleAttributeDataTypeClass;\r\n \r\n /**\r\n * ReleasedProductServiceType entity class.\r\n */\r\n export class ReleasedProductServiceTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ReleasedProductServiceType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ReleasedProductServiceType\";\r\n \r\n }\r\n }\r\n entityDictionary['ReleasedProductServiceTypeClass'] = ReleasedProductServiceTypeClass;\r\n \r\n /**\r\n * ExtensibleElectronicAddressType entity class.\r\n */\r\n export class ExtensibleElectronicAddressTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleElectronicAddressType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleElectronicAddressType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleElectronicAddressTypeClass'] = ExtensibleElectronicAddressTypeClass;\r\n \r\n /**\r\n * ReceiptOutputFormatType entity class.\r\n */\r\n export class ReceiptOutputFormatTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ReceiptOutputFormatType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ReceiptOutputFormatType\";\r\n \r\n }\r\n }\r\n entityDictionary['ReceiptOutputFormatTypeClass'] = ReceiptOutputFormatTypeClass;\r\n \r\n /**\r\n * OrderLookupAdditionalCriteriaType entity class.\r\n */\r\n export class OrderLookupAdditionalCriteriaTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.OrderLookupAdditionalCriteriaType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.OrderLookupAdditionalCriteriaType\";\r\n \r\n }\r\n }\r\n entityDictionary['OrderLookupAdditionalCriteriaTypeClass'] = OrderLookupAdditionalCriteriaTypeClass;\r\n \r\n /**\r\n * Address entity class.\r\n */\r\n export class AddressClass implements Entities.Address {\r\n public Name: string;\r\n public Id: string;\r\n public FullAddress: string;\r\n public RecordId: number;\r\n public Street: string;\r\n public StreetNumber: string;\r\n public County: string;\r\n public CountyName: string;\r\n public City: string;\r\n public DistrictName: string;\r\n public State: string;\r\n public StateName: string;\r\n public ZipCode: string;\r\n public ThreeLetterISORegionName: string;\r\n public Phone: string;\r\n public PhoneRecordId: number;\r\n public PhoneExt: string;\r\n public Email: string;\r\n public EmailContent: string;\r\n public EmailRecordId: number;\r\n public Url: string;\r\n public UrlRecordId: number;\r\n public TwoLetterISORegionName: string;\r\n public Deactivate: boolean;\r\n public AttentionTo: string;\r\n public BuildingCompliment: string;\r\n public Postbox: string;\r\n public TaxGroup: string;\r\n public AddressTypeValue: number;\r\n public IsPrimary: boolean;\r\n public IsPrivate: boolean;\r\n public PartyNumber: string;\r\n public IsAsyncAddress: boolean;\r\n public DirectoryPartyTableRecordId: number;\r\n public DirectoryPartyLocationRecordId: number;\r\n public DirectoryPartyLocationRoleRecordId: number;\r\n public LogisticsLocationId: string;\r\n public LogisticsLocationRecordId: number;\r\n public LogisticsLocationExtRecordId: number;\r\n public LogisticsLocationRoleRecordId: number;\r\n public PhoneLogisticsLocationRecordId: number;\r\n public PhoneLogisticsLocationId: string;\r\n public EmailLogisticsLocationRecordId: number;\r\n public EmailLogisticsLocationId: string;\r\n public UrlLogisticsLocationRecordId: number;\r\n public UrlLogisticsLocationId: string;\r\n public ExpireRecordId: number;\r\n public SortOrder: number;\r\n public RoleCount: number;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.FullAddress = \r\n odataObject.FullAddress;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Street = \r\n odataObject.Street;\r\n \r\n this.StreetNumber = \r\n odataObject.StreetNumber;\r\n \r\n this.County = \r\n odataObject.County;\r\n \r\n this.CountyName = \r\n odataObject.CountyName;\r\n \r\n this.City = \r\n odataObject.City;\r\n \r\n this.DistrictName = \r\n odataObject.DistrictName;\r\n \r\n this.State = \r\n odataObject.State;\r\n \r\n this.StateName = \r\n odataObject.StateName;\r\n \r\n this.ZipCode = \r\n odataObject.ZipCode;\r\n \r\n this.ThreeLetterISORegionName = \r\n odataObject.ThreeLetterISORegionName;\r\n \r\n this.Phone = \r\n odataObject.Phone;\r\n \r\n this.PhoneRecordId = \r\n (odataObject.PhoneRecordId != null) ? parseInt(odataObject.PhoneRecordId, 10) : undefined;\r\n \r\n this.PhoneExt = \r\n odataObject.PhoneExt;\r\n \r\n this.Email = \r\n odataObject.Email;\r\n \r\n this.EmailContent = \r\n odataObject.EmailContent;\r\n \r\n this.EmailRecordId = \r\n (odataObject.EmailRecordId != null) ? parseInt(odataObject.EmailRecordId, 10) : undefined;\r\n \r\n this.Url = \r\n odataObject.Url;\r\n \r\n this.UrlRecordId = \r\n (odataObject.UrlRecordId != null) ? parseInt(odataObject.UrlRecordId, 10) : undefined;\r\n \r\n this.TwoLetterISORegionName = \r\n odataObject.TwoLetterISORegionName;\r\n \r\n this.Deactivate = \r\n odataObject.Deactivate;\r\n \r\n this.AttentionTo = \r\n odataObject.AttentionTo;\r\n \r\n this.BuildingCompliment = \r\n odataObject.BuildingCompliment;\r\n \r\n this.Postbox = \r\n odataObject.Postbox;\r\n \r\n this.TaxGroup = \r\n odataObject.TaxGroup;\r\n \r\n this.AddressTypeValue = \r\n odataObject.AddressTypeValue;\r\n \r\n this.IsPrimary = \r\n odataObject.IsPrimary;\r\n \r\n this.IsPrivate = \r\n odataObject.IsPrivate;\r\n \r\n this.PartyNumber = \r\n odataObject.PartyNumber;\r\n \r\n this.IsAsyncAddress = \r\n odataObject.IsAsyncAddress;\r\n \r\n this.DirectoryPartyTableRecordId = \r\n (odataObject.DirectoryPartyTableRecordId != null) ? parseInt(odataObject.DirectoryPartyTableRecordId, 10) : undefined;\r\n \r\n this.DirectoryPartyLocationRecordId = \r\n (odataObject.DirectoryPartyLocationRecordId != null) ? parseInt(odataObject.DirectoryPartyLocationRecordId, 10) : undefined;\r\n \r\n this.DirectoryPartyLocationRoleRecordId = \r\n (odataObject.DirectoryPartyLocationRoleRecordId != null) ? parseInt(odataObject.DirectoryPartyLocationRoleRecordId, 10) : undefined;\r\n \r\n this.LogisticsLocationId = \r\n odataObject.LogisticsLocationId;\r\n \r\n this.LogisticsLocationRecordId = \r\n (odataObject.LogisticsLocationRecordId != null) ? parseInt(odataObject.LogisticsLocationRecordId, 10) : undefined;\r\n \r\n this.LogisticsLocationExtRecordId = \r\n (odataObject.LogisticsLocationExtRecordId != null) ? parseInt(odataObject.LogisticsLocationExtRecordId, 10) : undefined;\r\n \r\n this.LogisticsLocationRoleRecordId = \r\n (odataObject.LogisticsLocationRoleRecordId != null) ? parseInt(odataObject.LogisticsLocationRoleRecordId, 10) : undefined;\r\n \r\n this.PhoneLogisticsLocationRecordId = \r\n (odataObject.PhoneLogisticsLocationRecordId != null) ? parseInt(odataObject.PhoneLogisticsLocationRecordId, 10) : undefined;\r\n \r\n this.PhoneLogisticsLocationId = \r\n odataObject.PhoneLogisticsLocationId;\r\n \r\n this.EmailLogisticsLocationRecordId = \r\n (odataObject.EmailLogisticsLocationRecordId != null) ? parseInt(odataObject.EmailLogisticsLocationRecordId, 10) : undefined;\r\n \r\n this.EmailLogisticsLocationId = \r\n odataObject.EmailLogisticsLocationId;\r\n \r\n this.UrlLogisticsLocationRecordId = \r\n (odataObject.UrlLogisticsLocationRecordId != null) ? parseInt(odataObject.UrlLogisticsLocationRecordId, 10) : undefined;\r\n \r\n this.UrlLogisticsLocationId = \r\n odataObject.UrlLogisticsLocationId;\r\n \r\n this.ExpireRecordId = \r\n (odataObject.ExpireRecordId != null) ? parseInt(odataObject.ExpireRecordId, 10) : undefined;\r\n \r\n this.SortOrder = \r\n odataObject.SortOrder;\r\n \r\n this.RoleCount = \r\n odataObject.RoleCount;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AddressClass'] = AddressClass;\r\n \r\n /**\r\n * CustomerAffiliation entity class.\r\n */\r\n export class CustomerAffiliationClass implements Entities.CustomerAffiliation {\r\n public RecordId: number;\r\n public RetailAffiliationId: number;\r\n public Name: string;\r\n public Description: string;\r\n public HideInChannels: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.RetailAffiliationId = \r\n (odataObject.RetailAffiliationId != null) ? parseInt(odataObject.RetailAffiliationId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.HideInChannels = \r\n odataObject.HideInChannels;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerAffiliationClass'] = CustomerAffiliationClass;\r\n \r\n /**\r\n * CustomerBalances entity class.\r\n */\r\n export class CustomerBalancesClass implements Entities.CustomerBalances {\r\n public Balance: number;\r\n public PendingBalance: number;\r\n public CreditLimit: number;\r\n public InvoiceAccountBalance: number;\r\n public InvoiceAccountPendingBalance: number;\r\n public InvoiceAccountCreditLimit: number;\r\n public OpenInvoiceBalance: number;\r\n public OpenInvoiceCount: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Balance = \r\n (odataObject.Balance != null) ? parseFloat(odataObject.Balance) : undefined;\r\n \r\n this.PendingBalance = \r\n (odataObject.PendingBalance != null) ? parseFloat(odataObject.PendingBalance) : undefined;\r\n \r\n this.CreditLimit = \r\n (odataObject.CreditLimit != null) ? parseFloat(odataObject.CreditLimit) : undefined;\r\n \r\n this.InvoiceAccountBalance = \r\n (odataObject.InvoiceAccountBalance != null) ? parseFloat(odataObject.InvoiceAccountBalance) : undefined;\r\n \r\n this.InvoiceAccountPendingBalance = \r\n (odataObject.InvoiceAccountPendingBalance != null) ? parseFloat(odataObject.InvoiceAccountPendingBalance) : undefined;\r\n \r\n this.InvoiceAccountCreditLimit = \r\n (odataObject.InvoiceAccountCreditLimit != null) ? parseFloat(odataObject.InvoiceAccountCreditLimit) : undefined;\r\n \r\n this.OpenInvoiceBalance = \r\n (odataObject.OpenInvoiceBalance != null) ? parseFloat(odataObject.OpenInvoiceBalance) : undefined;\r\n \r\n this.OpenInvoiceCount = \r\n odataObject.OpenInvoiceCount;\r\n \r\n }\r\n }\r\n entityDictionary['CustomerBalancesClass'] = CustomerBalancesClass;\r\n \r\n /**\r\n * GlobalCustomer entity class.\r\n */\r\n export class GlobalCustomerClass implements Entities.GlobalCustomer {\r\n public PartyNumber: string;\r\n public RecordId: number;\r\n public IsAsyncCustomer: boolean;\r\n public AccountNumber: string;\r\n public FullName: string;\r\n public FullAddress: string;\r\n public Phone: string;\r\n public Email: string;\r\n public CustomerTypeValue: number;\r\n public Images: Entities.MediaLocation[];\r\n public OfflineImage: string;\r\n public IsB2b: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PartyNumber = \r\n odataObject.PartyNumber;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.IsAsyncCustomer = \r\n odataObject.IsAsyncCustomer;\r\n \r\n this.AccountNumber = \r\n odataObject.AccountNumber;\r\n \r\n this.FullName = \r\n odataObject.FullName;\r\n \r\n this.FullAddress = \r\n odataObject.FullAddress;\r\n \r\n this.Phone = \r\n odataObject.Phone;\r\n \r\n this.Email = \r\n odataObject.Email;\r\n \r\n this.CustomerTypeValue = \r\n odataObject.CustomerTypeValue;\r\n \r\n this.Images = undefined;\r\n if (odataObject.Images) {\r\n this.Images = [];\r\n for (var i = 0; i < odataObject.Images.length; i++) {\r\n if (odataObject.Images[i] != null) {\r\n if (odataObject.Images[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Images[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Images[i] = new entityDictionary[className](odataObject.Images[i])\r\n }\r\n } else {\r\n this.Images[i] = new MediaLocationClass(odataObject.Images[i]);\r\n }\r\n } else {\r\n this.Images[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.OfflineImage = \r\n odataObject.OfflineImage;\r\n \r\n this.IsB2b = \r\n odataObject.IsB2b;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['GlobalCustomerClass'] = GlobalCustomerClass;\r\n \r\n /**\r\n * AttributeValue entity class.\r\n */\r\n export class AttributeValueClass implements Entities.AttributeValue {\r\n public Name: string;\r\n public KeyName: string;\r\n public UnitOfMeasureSymbol: string;\r\n public DataTypeValue: number;\r\n public BooleanValue: boolean;\r\n public DateTimeOffsetValue: Date;\r\n public FloatValue: number;\r\n public IntegerValue: number;\r\n public TextValue: string;\r\n public CurrencyValue: number;\r\n public CurrencyCode: string;\r\n public AttributeValueId: number;\r\n public RecordId: number;\r\n public Swatches: Entities.AttributeSwatch[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.KeyName = \r\n odataObject.KeyName;\r\n \r\n this.UnitOfMeasureSymbol = \r\n odataObject.UnitOfMeasureSymbol;\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.BooleanValue = \r\n odataObject.BooleanValue;\r\n \r\n this.DateTimeOffsetValue = \r\n (odataObject.DateTimeOffsetValue instanceof Date) ? odataObject.DateTimeOffsetValue\r\n : (odataObject.DateTimeOffsetValue != null) ? jsonLightReadStringPropertyValue(odataObject.DateTimeOffsetValue, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.FloatValue = \r\n (odataObject.FloatValue != null) ? parseFloat(odataObject.FloatValue) : undefined;\r\n \r\n this.IntegerValue = \r\n odataObject.IntegerValue;\r\n \r\n this.TextValue = \r\n odataObject.TextValue;\r\n \r\n this.CurrencyValue = \r\n (odataObject.CurrencyValue != null) ? parseFloat(odataObject.CurrencyValue) : undefined;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.AttributeValueId = \r\n (odataObject.AttributeValueId != null) ? parseInt(odataObject.AttributeValueId, 10) : undefined;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Swatches = undefined;\r\n if (odataObject.Swatches) {\r\n this.Swatches = [];\r\n for (var i = 0; i < odataObject.Swatches.length; i++) {\r\n if (odataObject.Swatches[i] != null) {\r\n if (odataObject.Swatches[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Swatches[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Swatches[i] = new entityDictionary[className](odataObject.Swatches[i])\r\n }\r\n } else {\r\n this.Swatches[i] = new AttributeSwatchClass(odataObject.Swatches[i]);\r\n }\r\n } else {\r\n this.Swatches[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeValueClass'] = AttributeValueClass;\r\n \r\n /**\r\n * AttributeValueBase entity class.\r\n */\r\n export class AttributeValueBaseClass implements Entities.AttributeValueBase {\r\n public Name: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeValueBaseClass'] = AttributeValueBaseClass;\r\n \r\n /**\r\n * Barcode entity class.\r\n */\r\n export class BarcodeClass implements Entities.Barcode {\r\n public BarcodeId: string;\r\n public BarcodePrice: number;\r\n public Quantity: number;\r\n public CustomerId: string;\r\n public EmployeeId: string;\r\n public SalespersonId: string;\r\n public EANLicenseId: string;\r\n public DataEntry: string;\r\n public DiscountCode: string;\r\n public GiftCardNumber: string;\r\n public LoyaltyCardNumber: string;\r\n public ItemBarcode: Entities.ItemBarcode;\r\n public EntryMethodTypeValue: number;\r\n public ItemType: number;\r\n public EnterDimensions: boolean;\r\n public ItemGroupId: string;\r\n public ItemDepartmentId: string;\r\n public ScaleItem: boolean;\r\n public ZeroPriceValid: boolean;\r\n public NegativeQuantity: boolean;\r\n public DiscountNotAllowed: boolean;\r\n public DateToBeBlocked: Date;\r\n public DateToBeActivated: Date;\r\n public CheckDigitValidated: boolean;\r\n public CouponId: string;\r\n public Message: string;\r\n public LineDiscountGroup: string;\r\n public MultilineDiscountGroup: string;\r\n public IncludedInTotalDiscount: boolean;\r\n public CostPrice: number;\r\n public BatchId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.BarcodeId = \r\n odataObject.BarcodeId;\r\n \r\n this.BarcodePrice = \r\n (odataObject.BarcodePrice != null) ? parseFloat(odataObject.BarcodePrice) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.EmployeeId = \r\n odataObject.EmployeeId;\r\n \r\n this.SalespersonId = \r\n odataObject.SalespersonId;\r\n \r\n this.EANLicenseId = \r\n odataObject.EANLicenseId;\r\n \r\n this.DataEntry = \r\n odataObject.DataEntry;\r\n \r\n this.DiscountCode = \r\n odataObject.DiscountCode;\r\n \r\n this.GiftCardNumber = \r\n odataObject.GiftCardNumber;\r\n \r\n this.LoyaltyCardNumber = \r\n odataObject.LoyaltyCardNumber;\r\n \r\n if (odataObject.ItemBarcode == null) {\r\n this.ItemBarcode = undefined;\r\n } else if (odataObject.ItemBarcode['@odata.type'] == null) {\r\n this.ItemBarcode = new ItemBarcodeClass(odataObject.ItemBarcode);\r\n } else {\r\n var className: string = odataObject.ItemBarcode['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ItemBarcode = new entityDictionary[className](odataObject.ItemBarcode)\r\n }\r\n }\r\n\r\n \r\n this.EntryMethodTypeValue = \r\n odataObject.EntryMethodTypeValue;\r\n \r\n this.ItemType = \r\n odataObject.ItemType;\r\n \r\n this.EnterDimensions = \r\n odataObject.EnterDimensions;\r\n \r\n this.ItemGroupId = \r\n odataObject.ItemGroupId;\r\n \r\n this.ItemDepartmentId = \r\n odataObject.ItemDepartmentId;\r\n \r\n this.ScaleItem = \r\n odataObject.ScaleItem;\r\n \r\n this.ZeroPriceValid = \r\n odataObject.ZeroPriceValid;\r\n \r\n this.NegativeQuantity = \r\n odataObject.NegativeQuantity;\r\n \r\n this.DiscountNotAllowed = \r\n odataObject.DiscountNotAllowed;\r\n \r\n this.DateToBeBlocked = \r\n (odataObject.DateToBeBlocked instanceof Date) ? odataObject.DateToBeBlocked\r\n : (odataObject.DateToBeBlocked != null) ? jsonLightReadStringPropertyValue(odataObject.DateToBeBlocked, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DateToBeActivated = \r\n (odataObject.DateToBeActivated instanceof Date) ? odataObject.DateToBeActivated\r\n : (odataObject.DateToBeActivated != null) ? jsonLightReadStringPropertyValue(odataObject.DateToBeActivated, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CheckDigitValidated = \r\n odataObject.CheckDigitValidated;\r\n \r\n this.CouponId = \r\n odataObject.CouponId;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.LineDiscountGroup = \r\n odataObject.LineDiscountGroup;\r\n \r\n this.MultilineDiscountGroup = \r\n odataObject.MultilineDiscountGroup;\r\n \r\n this.IncludedInTotalDiscount = \r\n odataObject.IncludedInTotalDiscount;\r\n \r\n this.CostPrice = \r\n (odataObject.CostPrice != null) ? parseFloat(odataObject.CostPrice) : undefined;\r\n \r\n this.BatchId = \r\n odataObject.BatchId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BarcodeClass'] = BarcodeClass;\r\n \r\n /**\r\n * ItemBarcode entity class.\r\n */\r\n export class ItemBarcodeClass implements Entities.ItemBarcode {\r\n public RecordId: number;\r\n public ItemId: string;\r\n public Description: string;\r\n public BarcodeSetupId: string;\r\n public ItemBarcodeValue: string;\r\n public InventoryDimensionId: string;\r\n public IsBlocked: boolean;\r\n public Display: boolean;\r\n public VariantId: string;\r\n public UnitId: string;\r\n public UseForInput: boolean;\r\n public UseForPrinting: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.BarcodeSetupId = \r\n odataObject.BarcodeSetupId;\r\n \r\n this.ItemBarcodeValue = \r\n odataObject.ItemBarcodeValue;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.IsBlocked = \r\n odataObject.IsBlocked;\r\n \r\n this.Display = \r\n odataObject.Display;\r\n \r\n this.VariantId = \r\n odataObject.VariantId;\r\n \r\n this.UnitId = \r\n odataObject.UnitId;\r\n \r\n this.UseForInput = \r\n odataObject.UseForInput;\r\n \r\n this.UseForPrinting = \r\n odataObject.UseForPrinting;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ItemBarcodeClass'] = ItemBarcodeClass;\r\n \r\n /**\r\n * ButtonGrid entity class.\r\n */\r\n export class ButtonGridClass implements Entities.ButtonGrid {\r\n public Id: string;\r\n public Name: string;\r\n public DefaultColor: number;\r\n public SpaceBetweenButtonsInPixels: number;\r\n public Buttons: Entities.ButtonGridButton[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.DefaultColor = \r\n odataObject.DefaultColor;\r\n \r\n this.SpaceBetweenButtonsInPixels = \r\n odataObject.SpaceBetweenButtonsInPixels;\r\n \r\n this.Buttons = undefined;\r\n if (odataObject.Buttons) {\r\n this.Buttons = [];\r\n for (var i = 0; i < odataObject.Buttons.length; i++) {\r\n if (odataObject.Buttons[i] != null) {\r\n if (odataObject.Buttons[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Buttons[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Buttons[i] = new entityDictionary[className](odataObject.Buttons[i])\r\n }\r\n } else {\r\n this.Buttons[i] = new ButtonGridButtonClass(odataObject.Buttons[i]);\r\n }\r\n } else {\r\n this.Buttons[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ButtonGridClass'] = ButtonGridClass;\r\n \r\n /**\r\n * GetButtonGridsByIdsCriteria entity class.\r\n */\r\n export class GetButtonGridsByIdsCriteriaClass implements Entities.GetButtonGridsByIdsCriteria {\r\n public ButtonGridIds: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ButtonGridIds = undefined;\r\n if (odataObject.ButtonGridIds) {\r\n this.ButtonGridIds = [];\r\n for (var i = 0; i < odataObject.ButtonGridIds.length; i++) {\r\n if (odataObject.ButtonGridIds[i] != null) {\r\n this.ButtonGridIds[i] = \r\n odataObject.ButtonGridIds[i];\r\n } else {\r\n this.ButtonGridIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['GetButtonGridsByIdsCriteriaClass'] = GetButtonGridsByIdsCriteriaClass;\r\n \r\n /**\r\n * CartLine entity class.\r\n */\r\n export class CartLineClass implements Entities.CartLine {\r\n public LineId: string;\r\n public TaxOverrideCode: string;\r\n public ItemId: string;\r\n public Barcode: string;\r\n public EntryMethodTypeValue: number;\r\n public Description: string;\r\n public InventoryDimensionId: string;\r\n public Comment: string;\r\n public ProductId: number;\r\n public WarehouseId: string;\r\n public Quantity: number;\r\n public Price: number;\r\n public ExtendedPrice: number;\r\n public TaxAmount: number;\r\n public ItemTaxGroupId: string;\r\n public TotalAmount: number;\r\n public NetAmountWithoutTax: number;\r\n public NetPrice: number;\r\n public DiscountAmountWithoutTax: number;\r\n public DiscountAmount: number;\r\n public LineDiscount: number;\r\n public LinePercentageDiscount: number;\r\n public LineManualDiscountPercentage: number;\r\n public LineManualDiscountAmount: number;\r\n public UnitOfMeasureSymbol: string;\r\n public ShippingAddress: Entities.Address;\r\n public DeliveryMode: string;\r\n public DeliveryModeChargeAmount: number;\r\n public RequestedDeliveryDate: Date;\r\n public PickupTimeslotStartDateTime: Date;\r\n public PickupTimeslotEndDateTime: Date;\r\n public IsWarrantyLine: boolean;\r\n public WarrantableTransactionId: string;\r\n public WarrantableSalesId: string;\r\n public WarrantableLineNumber: number;\r\n public WarrantableSerialNumber: string;\r\n public WarrantiedId: string;\r\n public ReturnTransactionId: string;\r\n public ReturnLineNumber: number;\r\n public ReturnInventTransId: string;\r\n public IsVoided: boolean;\r\n public IsTaxOverideCodeTaxExempt: boolean;\r\n public IsGiftCardLine: boolean;\r\n public IsPriceKeyedIn: boolean;\r\n public GiftCardId: string;\r\n public GiftCardCurrencyCode: string;\r\n public GiftCardOperationValue: number;\r\n public GiftCardTypeValue: number;\r\n public SalesStatusValue: number;\r\n public QuantityOrdered: number;\r\n public QuantityNotProcessed: number;\r\n public QuantityReserved: number;\r\n public QuantityPicked: number;\r\n public QuantityPacked: number;\r\n public QuantityInvoiced: number;\r\n public QuantityCanceled: number;\r\n public FulfillmentStoreId: string;\r\n public SerialNumber: string;\r\n public ElectronicDeliveryEmail: string;\r\n public ElectronicDeliveryEmailContent: string;\r\n public IsPriceOverridden: boolean;\r\n public OriginalPrice: number;\r\n public IsInvoiceLine: boolean;\r\n public InvoiceId: string;\r\n public InvoiceAmount: number;\r\n public GiftCardBalance: number;\r\n public LineVersion: number;\r\n public PromotionLines: string[];\r\n public DiscountLines: Entities.DiscountLine[];\r\n public RelatedDiscountedLineIds: string[];\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public ChargeLines: Entities.ChargeLine[];\r\n public TaxRatePercent: number;\r\n public IsCustomerAccountDeposit: boolean;\r\n public LinkedParentLineId: string;\r\n public QuantityReturnable: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n public LineNumber: number;\r\n public CommissionSalesGroup: string;\r\n public TrackingId: string;\r\n public StaffId: string;\r\n public QuantityRemained: number;\r\n public QuantityShipped: number;\r\n public CatalogId: number;\r\n public AttributeValues: Entities.AttributeValueBase[];\r\n public ThirdPartyGiftCardInfo: Entities.ThirdPartyGiftCardInfo;\r\n public BarcodeEmbeddedPrice: number;\r\n public PriceInBarcode: boolean;\r\n public InvoiceTypeValue: number;\r\n public InvoicedSalesId: string;\r\n public WarehouseLocation: string;\r\n public DetailedLineStatusValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.TaxOverrideCode = \r\n odataObject.TaxOverrideCode;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.EntryMethodTypeValue = \r\n odataObject.EntryMethodTypeValue;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.WarehouseId = \r\n odataObject.WarehouseId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.ExtendedPrice = \r\n (odataObject.ExtendedPrice != null) ? parseFloat(odataObject.ExtendedPrice) : undefined;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.ItemTaxGroupId = \r\n odataObject.ItemTaxGroupId;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.NetAmountWithoutTax = \r\n (odataObject.NetAmountWithoutTax != null) ? parseFloat(odataObject.NetAmountWithoutTax) : undefined;\r\n \r\n this.NetPrice = \r\n (odataObject.NetPrice != null) ? parseFloat(odataObject.NetPrice) : undefined;\r\n \r\n this.DiscountAmountWithoutTax = \r\n (odataObject.DiscountAmountWithoutTax != null) ? parseFloat(odataObject.DiscountAmountWithoutTax) : undefined;\r\n \r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.LineDiscount = \r\n (odataObject.LineDiscount != null) ? parseFloat(odataObject.LineDiscount) : undefined;\r\n \r\n this.LinePercentageDiscount = \r\n (odataObject.LinePercentageDiscount != null) ? parseFloat(odataObject.LinePercentageDiscount) : undefined;\r\n \r\n this.LineManualDiscountPercentage = \r\n (odataObject.LineManualDiscountPercentage != null) ? parseFloat(odataObject.LineManualDiscountPercentage) : undefined;\r\n \r\n this.LineManualDiscountAmount = \r\n (odataObject.LineManualDiscountAmount != null) ? parseFloat(odataObject.LineManualDiscountAmount) : undefined;\r\n \r\n this.UnitOfMeasureSymbol = \r\n odataObject.UnitOfMeasureSymbol;\r\n \r\n if (odataObject.ShippingAddress == null) {\r\n this.ShippingAddress = undefined;\r\n } else if (odataObject.ShippingAddress['@odata.type'] == null) {\r\n this.ShippingAddress = new AddressClass(odataObject.ShippingAddress);\r\n } else {\r\n var className: string = odataObject.ShippingAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingAddress = new entityDictionary[className](odataObject.ShippingAddress)\r\n }\r\n }\r\n\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.DeliveryModeChargeAmount = \r\n (odataObject.DeliveryModeChargeAmount != null) ? parseFloat(odataObject.DeliveryModeChargeAmount) : undefined;\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotStartDateTime = \r\n (odataObject.PickupTimeslotStartDateTime instanceof Date) ? odataObject.PickupTimeslotStartDateTime\r\n : (odataObject.PickupTimeslotStartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotStartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotEndDateTime = \r\n (odataObject.PickupTimeslotEndDateTime instanceof Date) ? odataObject.PickupTimeslotEndDateTime\r\n : (odataObject.PickupTimeslotEndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotEndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.IsWarrantyLine = \r\n odataObject.IsWarrantyLine;\r\n \r\n this.WarrantableTransactionId = \r\n odataObject.WarrantableTransactionId;\r\n \r\n this.WarrantableSalesId = \r\n odataObject.WarrantableSalesId;\r\n \r\n this.WarrantableLineNumber = \r\n (odataObject.WarrantableLineNumber != null) ? parseFloat(odataObject.WarrantableLineNumber) : undefined;\r\n \r\n this.WarrantableSerialNumber = \r\n odataObject.WarrantableSerialNumber;\r\n \r\n this.WarrantiedId = \r\n odataObject.WarrantiedId;\r\n \r\n this.ReturnTransactionId = \r\n odataObject.ReturnTransactionId;\r\n \r\n this.ReturnLineNumber = \r\n (odataObject.ReturnLineNumber != null) ? parseFloat(odataObject.ReturnLineNumber) : undefined;\r\n \r\n this.ReturnInventTransId = \r\n odataObject.ReturnInventTransId;\r\n \r\n this.IsVoided = \r\n odataObject.IsVoided;\r\n \r\n this.IsTaxOverideCodeTaxExempt = \r\n odataObject.IsTaxOverideCodeTaxExempt;\r\n \r\n this.IsGiftCardLine = \r\n odataObject.IsGiftCardLine;\r\n \r\n this.IsPriceKeyedIn = \r\n odataObject.IsPriceKeyedIn;\r\n \r\n this.GiftCardId = \r\n odataObject.GiftCardId;\r\n \r\n this.GiftCardCurrencyCode = \r\n odataObject.GiftCardCurrencyCode;\r\n \r\n this.GiftCardOperationValue = \r\n odataObject.GiftCardOperationValue;\r\n \r\n this.GiftCardTypeValue = \r\n odataObject.GiftCardTypeValue;\r\n \r\n this.SalesStatusValue = \r\n odataObject.SalesStatusValue;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.QuantityNotProcessed = \r\n (odataObject.QuantityNotProcessed != null) ? parseFloat(odataObject.QuantityNotProcessed) : undefined;\r\n \r\n this.QuantityReserved = \r\n (odataObject.QuantityReserved != null) ? parseFloat(odataObject.QuantityReserved) : undefined;\r\n \r\n this.QuantityPicked = \r\n (odataObject.QuantityPicked != null) ? parseFloat(odataObject.QuantityPicked) : undefined;\r\n \r\n this.QuantityPacked = \r\n (odataObject.QuantityPacked != null) ? parseFloat(odataObject.QuantityPacked) : undefined;\r\n \r\n this.QuantityInvoiced = \r\n (odataObject.QuantityInvoiced != null) ? parseFloat(odataObject.QuantityInvoiced) : undefined;\r\n \r\n this.QuantityCanceled = \r\n (odataObject.QuantityCanceled != null) ? parseFloat(odataObject.QuantityCanceled) : undefined;\r\n \r\n this.FulfillmentStoreId = \r\n odataObject.FulfillmentStoreId;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.ElectronicDeliveryEmail = \r\n odataObject.ElectronicDeliveryEmail;\r\n \r\n this.ElectronicDeliveryEmailContent = \r\n odataObject.ElectronicDeliveryEmailContent;\r\n \r\n this.IsPriceOverridden = \r\n odataObject.IsPriceOverridden;\r\n \r\n this.OriginalPrice = \r\n (odataObject.OriginalPrice != null) ? parseFloat(odataObject.OriginalPrice) : undefined;\r\n \r\n this.IsInvoiceLine = \r\n odataObject.IsInvoiceLine;\r\n \r\n this.InvoiceId = \r\n odataObject.InvoiceId;\r\n \r\n this.InvoiceAmount = \r\n (odataObject.InvoiceAmount != null) ? parseFloat(odataObject.InvoiceAmount) : undefined;\r\n \r\n this.GiftCardBalance = \r\n (odataObject.GiftCardBalance != null) ? parseFloat(odataObject.GiftCardBalance) : undefined;\r\n \r\n this.LineVersion = \r\n odataObject.LineVersion;\r\n \r\n this.PromotionLines = undefined;\r\n if (odataObject.PromotionLines) {\r\n this.PromotionLines = [];\r\n for (var i = 0; i < odataObject.PromotionLines.length; i++) {\r\n if (odataObject.PromotionLines[i] != null) {\r\n this.PromotionLines[i] = \r\n odataObject.PromotionLines[i];\r\n } else {\r\n this.PromotionLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DiscountLines = undefined;\r\n if (odataObject.DiscountLines) {\r\n this.DiscountLines = [];\r\n for (var i = 0; i < odataObject.DiscountLines.length; i++) {\r\n if (odataObject.DiscountLines[i] != null) {\r\n if (odataObject.DiscountLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DiscountLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DiscountLines[i] = new entityDictionary[className](odataObject.DiscountLines[i])\r\n }\r\n } else {\r\n this.DiscountLines[i] = new DiscountLineClass(odataObject.DiscountLines[i]);\r\n }\r\n } else {\r\n this.DiscountLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.RelatedDiscountedLineIds = undefined;\r\n if (odataObject.RelatedDiscountedLineIds) {\r\n this.RelatedDiscountedLineIds = [];\r\n for (var i = 0; i < odataObject.RelatedDiscountedLineIds.length; i++) {\r\n if (odataObject.RelatedDiscountedLineIds[i] != null) {\r\n this.RelatedDiscountedLineIds[i] = \r\n odataObject.RelatedDiscountedLineIds[i];\r\n } else {\r\n this.RelatedDiscountedLineIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ChargeLines = undefined;\r\n if (odataObject.ChargeLines) {\r\n this.ChargeLines = [];\r\n for (var i = 0; i < odataObject.ChargeLines.length; i++) {\r\n if (odataObject.ChargeLines[i] != null) {\r\n if (odataObject.ChargeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChargeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChargeLines[i] = new entityDictionary[className](odataObject.ChargeLines[i])\r\n }\r\n } else {\r\n this.ChargeLines[i] = new ChargeLineClass(odataObject.ChargeLines[i]);\r\n }\r\n } else {\r\n this.ChargeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxRatePercent = \r\n (odataObject.TaxRatePercent != null) ? parseFloat(odataObject.TaxRatePercent) : undefined;\r\n \r\n this.IsCustomerAccountDeposit = \r\n odataObject.IsCustomerAccountDeposit;\r\n \r\n this.LinkedParentLineId = \r\n odataObject.LinkedParentLineId;\r\n \r\n this.QuantityReturnable = \r\n (odataObject.QuantityReturnable != null) ? parseFloat(odataObject.QuantityReturnable) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.CommissionSalesGroup = \r\n odataObject.CommissionSalesGroup;\r\n \r\n this.TrackingId = \r\n odataObject.TrackingId;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.QuantityRemained = \r\n (odataObject.QuantityRemained != null) ? parseFloat(odataObject.QuantityRemained) : undefined;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.AttributeValues = undefined;\r\n if (odataObject.AttributeValues) {\r\n this.AttributeValues = [];\r\n for (var i = 0; i < odataObject.AttributeValues.length; i++) {\r\n if (odataObject.AttributeValues[i] != null) {\r\n if (odataObject.AttributeValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttributeValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValues[i] = new entityDictionary[className](odataObject.AttributeValues[i])\r\n }\r\n } else {\r\n this.AttributeValues[i] = new AttributeValueBaseClass(odataObject.AttributeValues[i]);\r\n }\r\n } else {\r\n this.AttributeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.ThirdPartyGiftCardInfo == null) {\r\n this.ThirdPartyGiftCardInfo = undefined;\r\n } else if (odataObject.ThirdPartyGiftCardInfo['@odata.type'] == null) {\r\n this.ThirdPartyGiftCardInfo = new ThirdPartyGiftCardInfoClass(odataObject.ThirdPartyGiftCardInfo);\r\n } else {\r\n var className: string = odataObject.ThirdPartyGiftCardInfo['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ThirdPartyGiftCardInfo = new entityDictionary[className](odataObject.ThirdPartyGiftCardInfo)\r\n }\r\n }\r\n\r\n \r\n this.BarcodeEmbeddedPrice = \r\n (odataObject.BarcodeEmbeddedPrice != null) ? parseFloat(odataObject.BarcodeEmbeddedPrice) : undefined;\r\n \r\n this.PriceInBarcode = \r\n odataObject.PriceInBarcode;\r\n \r\n this.InvoiceTypeValue = \r\n odataObject.InvoiceTypeValue;\r\n \r\n this.InvoicedSalesId = \r\n odataObject.InvoicedSalesId;\r\n \r\n this.WarehouseLocation = \r\n odataObject.WarehouseLocation;\r\n \r\n this.DetailedLineStatusValue = \r\n odataObject.DetailedLineStatusValue;\r\n \r\n }\r\n }\r\n entityDictionary['CartLineClass'] = CartLineClass;\r\n \r\n /**\r\n * ThirdPartyGiftCardInfo entity class.\r\n */\r\n export class ThirdPartyGiftCardInfoClass implements Entities.ThirdPartyGiftCardInfo {\r\n public Amount: number;\r\n public Authorization: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.Authorization = \r\n odataObject.Authorization;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ThirdPartyGiftCardInfoClass'] = ThirdPartyGiftCardInfoClass;\r\n \r\n /**\r\n * CardTypeInfo entity class.\r\n */\r\n export class CardTypeInfoClass implements Entities.CardTypeInfo {\r\n public RecordId: number;\r\n public TypeId: string;\r\n public Name: string;\r\n public PaymentMethodId: string;\r\n public CardTypeValue: number;\r\n public Issuer: string;\r\n public NumberFrom: string;\r\n public NumberTo: string;\r\n public CashBackLimit: number;\r\n public AllowManualInput: boolean;\r\n public CheckModulus: boolean;\r\n public HasTenderDiscount: boolean;\r\n public IsPinRequired: boolean;\r\n public IsExpirationDateRequired: boolean;\r\n public ConnectorName: string;\r\n public PaymentProcessorMethod: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.TypeId = \r\n odataObject.TypeId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.PaymentMethodId = \r\n odataObject.PaymentMethodId;\r\n \r\n this.CardTypeValue = \r\n odataObject.CardTypeValue;\r\n \r\n this.Issuer = \r\n odataObject.Issuer;\r\n \r\n this.NumberFrom = \r\n odataObject.NumberFrom;\r\n \r\n this.NumberTo = \r\n odataObject.NumberTo;\r\n \r\n this.CashBackLimit = \r\n (odataObject.CashBackLimit != null) ? parseFloat(odataObject.CashBackLimit) : undefined;\r\n \r\n this.AllowManualInput = \r\n odataObject.AllowManualInput;\r\n \r\n this.CheckModulus = \r\n odataObject.CheckModulus;\r\n \r\n this.HasTenderDiscount = \r\n odataObject.HasTenderDiscount;\r\n \r\n this.IsPinRequired = \r\n odataObject.IsPinRequired;\r\n \r\n this.IsExpirationDateRequired = \r\n odataObject.IsExpirationDateRequired;\r\n \r\n this.ConnectorName = \r\n odataObject.ConnectorName;\r\n \r\n this.PaymentProcessorMethod = \r\n odataObject.PaymentProcessorMethod;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CardTypeInfoClass'] = CardTypeInfoClass;\r\n \r\n /**\r\n * CashDeclaration entity class.\r\n */\r\n export class CashDeclarationClass implements Entities.CashDeclaration {\r\n public RecordId: number;\r\n public Currency: string;\r\n public Amount: number;\r\n public CashTypeValue: number;\r\n public IncludeInQuickPayShortcuts: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.CashTypeValue = \r\n odataObject.CashTypeValue;\r\n \r\n this.IncludeInQuickPayShortcuts = \r\n odataObject.IncludeInQuickPayShortcuts;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CashDeclarationClass'] = CashDeclarationClass;\r\n \r\n /**\r\n * IncomeExpenseAccount entity class.\r\n */\r\n export class IncomeExpenseAccountClass implements Entities.IncomeExpenseAccount {\r\n public Amount: number;\r\n public AccountNumber: string;\r\n public AccountName: string;\r\n public AccountNameAlias: string;\r\n public AccountTypeValue: number;\r\n public Quantity: number;\r\n public Message1Line: string;\r\n public Message2Line: string;\r\n public SlipText1Line: string;\r\n public SlipText2Line: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.AccountNumber = \r\n odataObject.AccountNumber;\r\n \r\n this.AccountName = \r\n odataObject.AccountName;\r\n \r\n this.AccountNameAlias = \r\n odataObject.AccountNameAlias;\r\n \r\n this.AccountTypeValue = \r\n odataObject.AccountTypeValue;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.Message1Line = \r\n odataObject.Message1Line;\r\n \r\n this.Message2Line = \r\n odataObject.Message2Line;\r\n \r\n this.SlipText1Line = \r\n odataObject.SlipText1Line;\r\n \r\n this.SlipText2Line = \r\n odataObject.SlipText2Line;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['IncomeExpenseAccountClass'] = IncomeExpenseAccountClass;\r\n \r\n /**\r\n * IncomeExpenseLine entity class.\r\n */\r\n export class IncomeExpenseLineClass implements Entities.IncomeExpenseLine {\r\n public Amount: number;\r\n public IncomeExpenseAccount: string;\r\n public StoreNumber: string;\r\n public AccountTypeValue: number;\r\n public Terminal: string;\r\n public Shift: string;\r\n public TransactionStatusValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.IncomeExpenseAccount = \r\n odataObject.IncomeExpenseAccount;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.AccountTypeValue = \r\n odataObject.AccountTypeValue;\r\n \r\n this.Terminal = \r\n odataObject.Terminal;\r\n \r\n this.Shift = \r\n odataObject.Shift;\r\n \r\n this.TransactionStatusValue = \r\n odataObject.TransactionStatusValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['IncomeExpenseLineClass'] = IncomeExpenseLineClass;\r\n \r\n /**\r\n * CartTenderLine entity class.\r\n */\r\n export class CartTenderLineClass implements Entities.CartTenderLine {\r\n public PaymentCard: Entities.PaymentCard;\r\n public TokenizedPaymentCard: Entities.TokenizedPaymentCard;\r\n public CardPaymentAcceptResult: Entities.CardPaymentAcceptResult;\r\n public IsLinkedRefund: boolean;\r\n public LinkedPaymentStore: string;\r\n public LinkedPaymentTerminalId: string;\r\n public LinkedPaymentTransactionId: string;\r\n public LinkedPaymentLineNumber: number;\r\n public LinkedPaymentCurrency: string;\r\n public TenderLineId: string;\r\n public Amount: number;\r\n public CashBackAmount: number;\r\n public AmountInTenderedCurrency: number;\r\n public AmountInCompanyCurrency: number;\r\n public Currency: string;\r\n public ExchangeRate: number;\r\n public CompanyCurrencyExchangeRate: number;\r\n public TenderTypeId: string;\r\n public SignatureData: string;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public LineNumber: number;\r\n public GiftCardId: string;\r\n public GiftCardPin: string;\r\n public GiftCardExpirationYear: number;\r\n public GiftCardExpirationMonth: number;\r\n public CreditMemoId: string;\r\n public CustomerId: string;\r\n public LoyaltyCardId: string;\r\n public CardTypeId: string;\r\n public IsChangeLine: boolean;\r\n public IsHistorical: boolean;\r\n public IsVoidable: boolean;\r\n public StatusValue: number;\r\n public VoidStatusValue: number;\r\n public AuthorizedAmount: number;\r\n public PaymentRefRecId: number;\r\n public CardPaymentAccountId: string;\r\n public ProcessingTypeValue: number;\r\n public CardProcessorStatusValue: number;\r\n public LinkedPaymentRefRecId: number;\r\n public IsPolicyBypassed: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.PaymentCard == null) {\r\n this.PaymentCard = undefined;\r\n } else if (odataObject.PaymentCard['@odata.type'] == null) {\r\n this.PaymentCard = new PaymentCardClass(odataObject.PaymentCard);\r\n } else {\r\n var className: string = odataObject.PaymentCard['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PaymentCard = new entityDictionary[className](odataObject.PaymentCard)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.TokenizedPaymentCard == null) {\r\n this.TokenizedPaymentCard = undefined;\r\n } else if (odataObject.TokenizedPaymentCard['@odata.type'] == null) {\r\n this.TokenizedPaymentCard = new TokenizedPaymentCardClass(odataObject.TokenizedPaymentCard);\r\n } else {\r\n var className: string = odataObject.TokenizedPaymentCard['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TokenizedPaymentCard = new entityDictionary[className](odataObject.TokenizedPaymentCard)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.CardPaymentAcceptResult == null) {\r\n this.CardPaymentAcceptResult = undefined;\r\n } else if (odataObject.CardPaymentAcceptResult['@odata.type'] == null) {\r\n this.CardPaymentAcceptResult = new CardPaymentAcceptResultClass(odataObject.CardPaymentAcceptResult);\r\n } else {\r\n var className: string = odataObject.CardPaymentAcceptResult['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CardPaymentAcceptResult = new entityDictionary[className](odataObject.CardPaymentAcceptResult)\r\n }\r\n }\r\n\r\n \r\n this.IsLinkedRefund = \r\n odataObject.IsLinkedRefund;\r\n \r\n this.LinkedPaymentStore = \r\n odataObject.LinkedPaymentStore;\r\n \r\n this.LinkedPaymentTerminalId = \r\n odataObject.LinkedPaymentTerminalId;\r\n \r\n this.LinkedPaymentTransactionId = \r\n odataObject.LinkedPaymentTransactionId;\r\n \r\n this.LinkedPaymentLineNumber = \r\n (odataObject.LinkedPaymentLineNumber != null) ? parseFloat(odataObject.LinkedPaymentLineNumber) : undefined;\r\n \r\n this.LinkedPaymentCurrency = \r\n odataObject.LinkedPaymentCurrency;\r\n \r\n this.TenderLineId = \r\n odataObject.TenderLineId;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.CashBackAmount = \r\n (odataObject.CashBackAmount != null) ? parseFloat(odataObject.CashBackAmount) : undefined;\r\n \r\n this.AmountInTenderedCurrency = \r\n (odataObject.AmountInTenderedCurrency != null) ? parseFloat(odataObject.AmountInTenderedCurrency) : undefined;\r\n \r\n this.AmountInCompanyCurrency = \r\n (odataObject.AmountInCompanyCurrency != null) ? parseFloat(odataObject.AmountInCompanyCurrency) : undefined;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.ExchangeRate = \r\n (odataObject.ExchangeRate != null) ? parseFloat(odataObject.ExchangeRate) : undefined;\r\n \r\n this.CompanyCurrencyExchangeRate = \r\n (odataObject.CompanyCurrencyExchangeRate != null) ? parseFloat(odataObject.CompanyCurrencyExchangeRate) : undefined;\r\n \r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.SignatureData = \r\n odataObject.SignatureData;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.GiftCardId = \r\n odataObject.GiftCardId;\r\n \r\n this.GiftCardPin = \r\n odataObject.GiftCardPin;\r\n \r\n this.GiftCardExpirationYear = \r\n odataObject.GiftCardExpirationYear;\r\n \r\n this.GiftCardExpirationMonth = \r\n odataObject.GiftCardExpirationMonth;\r\n \r\n this.CreditMemoId = \r\n odataObject.CreditMemoId;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.LoyaltyCardId = \r\n odataObject.LoyaltyCardId;\r\n \r\n this.CardTypeId = \r\n odataObject.CardTypeId;\r\n \r\n this.IsChangeLine = \r\n odataObject.IsChangeLine;\r\n \r\n this.IsHistorical = \r\n odataObject.IsHistorical;\r\n \r\n this.IsVoidable = \r\n odataObject.IsVoidable;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.VoidStatusValue = \r\n odataObject.VoidStatusValue;\r\n \r\n this.AuthorizedAmount = \r\n (odataObject.AuthorizedAmount != null) ? parseFloat(odataObject.AuthorizedAmount) : undefined;\r\n \r\n this.PaymentRefRecId = \r\n (odataObject.PaymentRefRecId != null) ? parseInt(odataObject.PaymentRefRecId, 10) : undefined;\r\n \r\n this.CardPaymentAccountId = \r\n odataObject.CardPaymentAccountId;\r\n \r\n this.ProcessingTypeValue = \r\n odataObject.ProcessingTypeValue;\r\n \r\n this.CardProcessorStatusValue = \r\n odataObject.CardProcessorStatusValue;\r\n \r\n this.LinkedPaymentRefRecId = \r\n (odataObject.LinkedPaymentRefRecId != null) ? parseInt(odataObject.LinkedPaymentRefRecId, 10) : undefined;\r\n \r\n this.IsPolicyBypassed = \r\n odataObject.IsPolicyBypassed;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartTenderLineClass'] = CartTenderLineClass;\r\n \r\n /**\r\n * ChargeLine entity class.\r\n */\r\n export class ChargeLineClass implements Entities.ChargeLine {\r\n public ChargeLineId: string;\r\n public ChargeCode: string;\r\n public CurrencyCode: string;\r\n public ModuleTypeValue: number;\r\n public IsHeaderChargeProrated: boolean;\r\n public ChargeTypeValue: number;\r\n public ChargeMethodValue: number;\r\n public CalculatedAmount: number;\r\n public Value: number;\r\n public Description: string;\r\n public TransactionId: string;\r\n public MarkupAutoLineRecordId: number;\r\n public MarkupAutoTableRecId: number;\r\n public SaleLineNumber: number;\r\n public FromAmount: number;\r\n public ToAmount: number;\r\n public Keep: number;\r\n public AmountRefunded: number;\r\n public ChargeLineOverrides: Entities.ChargeLineOverride[];\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public IsRefundable: boolean;\r\n public IsShipping: boolean;\r\n public IsOverridden: boolean;\r\n public IsInvoiced: boolean;\r\n public CalculatedProratedAmount: number;\r\n public ItemId: string;\r\n public Quantity: number;\r\n public Price: number;\r\n public ItemTaxGroupId: string;\r\n public SalesTaxGroupId: string;\r\n public OriginalSalesTaxGroupId: string;\r\n public OriginalItemTaxGroupId: string;\r\n public TaxAmount: number;\r\n public SalesOrderUnitOfMeasure: string;\r\n public NetAmount: number;\r\n public NetAmountPerUnit: number;\r\n public GrossAmount: number;\r\n public TaxLines: Entities.TaxLine[];\r\n public TaxMeasures: Entities.TaxMeasure[];\r\n public TaxAmountExemptInclusive: number;\r\n public TaxAmountInclusive: number;\r\n public TaxAmountExclusive: number;\r\n public NetAmountWithAllInclusiveTax: number;\r\n public BeginDateTime: Date;\r\n public EndDateTime: Date;\r\n public TaxRatePercent: number;\r\n public IsReturnByReceipt: boolean;\r\n public ReturnLineTaxAmount: number;\r\n public ReturnTaxLines: Entities.TaxLine[];\r\n public TaxExemptPriceInclusiveReductionAmount: number;\r\n public TaxExemptPriceInclusiveOriginalPrice: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChargeLineId = \r\n odataObject.ChargeLineId;\r\n \r\n this.ChargeCode = \r\n odataObject.ChargeCode;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.ModuleTypeValue = \r\n odataObject.ModuleTypeValue;\r\n \r\n this.IsHeaderChargeProrated = \r\n odataObject.IsHeaderChargeProrated;\r\n \r\n this.ChargeTypeValue = \r\n odataObject.ChargeTypeValue;\r\n \r\n this.ChargeMethodValue = \r\n odataObject.ChargeMethodValue;\r\n \r\n this.CalculatedAmount = \r\n (odataObject.CalculatedAmount != null) ? parseFloat(odataObject.CalculatedAmount) : undefined;\r\n \r\n this.Value = \r\n (odataObject.Value != null) ? parseFloat(odataObject.Value) : undefined;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.MarkupAutoLineRecordId = \r\n (odataObject.MarkupAutoLineRecordId != null) ? parseInt(odataObject.MarkupAutoLineRecordId, 10) : undefined;\r\n \r\n this.MarkupAutoTableRecId = \r\n (odataObject.MarkupAutoTableRecId != null) ? parseInt(odataObject.MarkupAutoTableRecId, 10) : undefined;\r\n \r\n this.SaleLineNumber = \r\n (odataObject.SaleLineNumber != null) ? parseFloat(odataObject.SaleLineNumber) : undefined;\r\n \r\n this.FromAmount = \r\n (odataObject.FromAmount != null) ? parseFloat(odataObject.FromAmount) : undefined;\r\n \r\n this.ToAmount = \r\n (odataObject.ToAmount != null) ? parseFloat(odataObject.ToAmount) : undefined;\r\n \r\n this.Keep = \r\n odataObject.Keep;\r\n \r\n this.AmountRefunded = \r\n (odataObject.AmountRefunded != null) ? parseFloat(odataObject.AmountRefunded) : undefined;\r\n \r\n this.ChargeLineOverrides = undefined;\r\n if (odataObject.ChargeLineOverrides) {\r\n this.ChargeLineOverrides = [];\r\n for (var i = 0; i < odataObject.ChargeLineOverrides.length; i++) {\r\n if (odataObject.ChargeLineOverrides[i] != null) {\r\n if (odataObject.ChargeLineOverrides[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChargeLineOverrides[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChargeLineOverrides[i] = new entityDictionary[className](odataObject.ChargeLineOverrides[i])\r\n }\r\n } else {\r\n this.ChargeLineOverrides[i] = new ChargeLineOverrideClass(odataObject.ChargeLineOverrides[i]);\r\n }\r\n } else {\r\n this.ChargeLineOverrides[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsRefundable = \r\n odataObject.IsRefundable;\r\n \r\n this.IsShipping = \r\n odataObject.IsShipping;\r\n \r\n this.IsOverridden = \r\n odataObject.IsOverridden;\r\n \r\n this.IsInvoiced = \r\n odataObject.IsInvoiced;\r\n \r\n this.CalculatedProratedAmount = \r\n (odataObject.CalculatedProratedAmount != null) ? parseFloat(odataObject.CalculatedProratedAmount) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.ItemTaxGroupId = \r\n odataObject.ItemTaxGroupId;\r\n \r\n this.SalesTaxGroupId = \r\n odataObject.SalesTaxGroupId;\r\n \r\n this.OriginalSalesTaxGroupId = \r\n odataObject.OriginalSalesTaxGroupId;\r\n \r\n this.OriginalItemTaxGroupId = \r\n odataObject.OriginalItemTaxGroupId;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.SalesOrderUnitOfMeasure = \r\n odataObject.SalesOrderUnitOfMeasure;\r\n \r\n this.NetAmount = \r\n (odataObject.NetAmount != null) ? parseFloat(odataObject.NetAmount) : undefined;\r\n \r\n this.NetAmountPerUnit = \r\n (odataObject.NetAmountPerUnit != null) ? parseFloat(odataObject.NetAmountPerUnit) : undefined;\r\n \r\n this.GrossAmount = \r\n (odataObject.GrossAmount != null) ? parseFloat(odataObject.GrossAmount) : undefined;\r\n \r\n this.TaxLines = undefined;\r\n if (odataObject.TaxLines) {\r\n this.TaxLines = [];\r\n for (var i = 0; i < odataObject.TaxLines.length; i++) {\r\n if (odataObject.TaxLines[i] != null) {\r\n if (odataObject.TaxLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxLines[i] = new entityDictionary[className](odataObject.TaxLines[i])\r\n }\r\n } else {\r\n this.TaxLines[i] = new TaxLineClass(odataObject.TaxLines[i]);\r\n }\r\n } else {\r\n this.TaxLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxMeasures = undefined;\r\n if (odataObject.TaxMeasures) {\r\n this.TaxMeasures = [];\r\n for (var i = 0; i < odataObject.TaxMeasures.length; i++) {\r\n if (odataObject.TaxMeasures[i] != null) {\r\n if (odataObject.TaxMeasures[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxMeasures[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxMeasures[i] = new entityDictionary[className](odataObject.TaxMeasures[i])\r\n }\r\n } else {\r\n this.TaxMeasures[i] = new TaxMeasureClass(odataObject.TaxMeasures[i]);\r\n }\r\n } else {\r\n this.TaxMeasures[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxAmountExemptInclusive = \r\n (odataObject.TaxAmountExemptInclusive != null) ? parseFloat(odataObject.TaxAmountExemptInclusive) : undefined;\r\n \r\n this.TaxAmountInclusive = \r\n (odataObject.TaxAmountInclusive != null) ? parseFloat(odataObject.TaxAmountInclusive) : undefined;\r\n \r\n this.TaxAmountExclusive = \r\n (odataObject.TaxAmountExclusive != null) ? parseFloat(odataObject.TaxAmountExclusive) : undefined;\r\n \r\n this.NetAmountWithAllInclusiveTax = \r\n (odataObject.NetAmountWithAllInclusiveTax != null) ? parseFloat(odataObject.NetAmountWithAllInclusiveTax) : undefined;\r\n \r\n this.BeginDateTime = \r\n (odataObject.BeginDateTime instanceof Date) ? odataObject.BeginDateTime\r\n : (odataObject.BeginDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.BeginDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TaxRatePercent = \r\n (odataObject.TaxRatePercent != null) ? parseFloat(odataObject.TaxRatePercent) : undefined;\r\n \r\n this.IsReturnByReceipt = \r\n odataObject.IsReturnByReceipt;\r\n \r\n this.ReturnLineTaxAmount = \r\n (odataObject.ReturnLineTaxAmount != null) ? parseFloat(odataObject.ReturnLineTaxAmount) : undefined;\r\n \r\n this.ReturnTaxLines = undefined;\r\n if (odataObject.ReturnTaxLines) {\r\n this.ReturnTaxLines = [];\r\n for (var i = 0; i < odataObject.ReturnTaxLines.length; i++) {\r\n if (odataObject.ReturnTaxLines[i] != null) {\r\n if (odataObject.ReturnTaxLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReturnTaxLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReturnTaxLines[i] = new entityDictionary[className](odataObject.ReturnTaxLines[i])\r\n }\r\n } else {\r\n this.ReturnTaxLines[i] = new TaxLineClass(odataObject.ReturnTaxLines[i]);\r\n }\r\n } else {\r\n this.ReturnTaxLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxExemptPriceInclusiveReductionAmount = \r\n (odataObject.TaxExemptPriceInclusiveReductionAmount != null) ? parseFloat(odataObject.TaxExemptPriceInclusiveReductionAmount) : undefined;\r\n \r\n this.TaxExemptPriceInclusiveOriginalPrice = \r\n (odataObject.TaxExemptPriceInclusiveOriginalPrice != null) ? parseFloat(odataObject.TaxExemptPriceInclusiveOriginalPrice) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChargeLineClass'] = ChargeLineClass;\r\n \r\n /**\r\n * CityInfo entity class.\r\n */\r\n export class CityInfoClass implements Entities.CityInfo {\r\n public Name: string;\r\n public Description: string;\r\n public CountryRegionId: string;\r\n public StateId: string;\r\n public CountyId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.StateId = \r\n odataObject.StateId;\r\n \r\n this.CountyId = \r\n odataObject.CountyId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CityInfoClass'] = CityInfoClass;\r\n \r\n /**\r\n * CommissionSalesGroup entity class.\r\n */\r\n export class CommissionSalesGroupClass implements Entities.CommissionSalesGroup {\r\n public GroupId: string;\r\n public Name: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.GroupId = \r\n odataObject.GroupId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CommissionSalesGroupClass'] = CommissionSalesGroupClass;\r\n \r\n /**\r\n * ContactInformation entity class.\r\n */\r\n export class ContactInformationClass implements Entities.ContactInformation {\r\n public Value: string;\r\n public ContactInformationTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.ContactInformationTypeValue = \r\n odataObject.ContactInformationTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ContactInformationClass'] = ContactInformationClass;\r\n \r\n /**\r\n * AttributeCategory entity class.\r\n */\r\n export class AttributeCategoryClass implements Entities.AttributeCategory {\r\n public Value: Entities.CommercePropertyValue;\r\n public RecordId: number;\r\n public Name: string;\r\n public KeyName: string;\r\n public DataTypeValue: number;\r\n public Attribute: number;\r\n public NameTranslations: Entities.TextValueTranslation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.Value == null) {\r\n this.Value = undefined;\r\n } else if (odataObject.Value['@odata.type'] == null) {\r\n this.Value = new CommercePropertyValueClass(odataObject.Value);\r\n } else {\r\n var className: string = odataObject.Value['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value = new entityDictionary[className](odataObject.Value)\r\n }\r\n }\r\n\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.KeyName = \r\n odataObject.KeyName;\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.Attribute = \r\n (odataObject.Attribute != null) ? parseInt(odataObject.Attribute, 10) : undefined;\r\n \r\n this.NameTranslations = undefined;\r\n if (odataObject.NameTranslations) {\r\n this.NameTranslations = [];\r\n for (var i = 0; i < odataObject.NameTranslations.length; i++) {\r\n if (odataObject.NameTranslations[i] != null) {\r\n if (odataObject.NameTranslations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.NameTranslations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.NameTranslations[i] = new entityDictionary[className](odataObject.NameTranslations[i])\r\n }\r\n } else {\r\n this.NameTranslations[i] = new TextValueTranslationClass(odataObject.NameTranslations[i]);\r\n }\r\n } else {\r\n this.NameTranslations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeCategoryClass'] = AttributeCategoryClass;\r\n \r\n /**\r\n * AttributeProduct entity class.\r\n */\r\n export class AttributeProductClass implements Entities.AttributeProduct {\r\n public MetadataFlags: Entities.ProductAttributeMetadataFlags;\r\n public IsDimension: boolean;\r\n public RecordId: number;\r\n public Name: string;\r\n public KeyName: string;\r\n public DataTypeValue: number;\r\n public Attribute: number;\r\n public NameTranslations: Entities.TextValueTranslation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.MetadataFlags == null) {\r\n this.MetadataFlags = undefined;\r\n } else if (odataObject.MetadataFlags['@odata.type'] == null) {\r\n this.MetadataFlags = new ProductAttributeMetadataFlagsClass(odataObject.MetadataFlags);\r\n } else {\r\n var className: string = odataObject.MetadataFlags['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.MetadataFlags = new entityDictionary[className](odataObject.MetadataFlags)\r\n }\r\n }\r\n\r\n \r\n this.IsDimension = \r\n odataObject.IsDimension;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.KeyName = \r\n odataObject.KeyName;\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.Attribute = \r\n (odataObject.Attribute != null) ? parseInt(odataObject.Attribute, 10) : undefined;\r\n \r\n this.NameTranslations = undefined;\r\n if (odataObject.NameTranslations) {\r\n this.NameTranslations = [];\r\n for (var i = 0; i < odataObject.NameTranslations.length; i++) {\r\n if (odataObject.NameTranslations[i] != null) {\r\n if (odataObject.NameTranslations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.NameTranslations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.NameTranslations[i] = new entityDictionary[className](odataObject.NameTranslations[i])\r\n }\r\n } else {\r\n this.NameTranslations[i] = new TextValueTranslationClass(odataObject.NameTranslations[i]);\r\n }\r\n } else {\r\n this.NameTranslations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeProductClass'] = AttributeProductClass;\r\n \r\n /**\r\n * ProductComparisonEntry entity class.\r\n */\r\n export class ProductComparisonEntryClass implements Entities.ProductComparisonEntry {\r\n public ProductId: number;\r\n public AttributeValue: Entities.AttributeValue;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n if (odataObject.AttributeValue == null) {\r\n this.AttributeValue = undefined;\r\n } else if (odataObject.AttributeValue['@odata.type'] == null) {\r\n this.AttributeValue = new AttributeValueClass(odataObject.AttributeValue);\r\n } else {\r\n var className: string = odataObject.AttributeValue['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValue = new entityDictionary[className](odataObject.AttributeValue)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductComparisonEntryClass'] = ProductComparisonEntryClass;\r\n \r\n /**\r\n * ProductComparisonLine entity class.\r\n */\r\n export class ProductComparisonLineClass implements Entities.ProductComparisonLine {\r\n public AttributeRecordId: number;\r\n public AttributeName: string;\r\n public ProductAttributeComparisonEntries: Entities.ProductComparisonEntry[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AttributeRecordId = \r\n (odataObject.AttributeRecordId != null) ? parseInt(odataObject.AttributeRecordId, 10) : undefined;\r\n \r\n this.AttributeName = \r\n odataObject.AttributeName;\r\n \r\n this.ProductAttributeComparisonEntries = undefined;\r\n if (odataObject.ProductAttributeComparisonEntries) {\r\n this.ProductAttributeComparisonEntries = [];\r\n for (var i = 0; i < odataObject.ProductAttributeComparisonEntries.length; i++) {\r\n if (odataObject.ProductAttributeComparisonEntries[i] != null) {\r\n if (odataObject.ProductAttributeComparisonEntries[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductAttributeComparisonEntries[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductAttributeComparisonEntries[i] = new entityDictionary[className](odataObject.ProductAttributeComparisonEntries[i])\r\n }\r\n } else {\r\n this.ProductAttributeComparisonEntries[i] = new ProductComparisonEntryClass(odataObject.ProductAttributeComparisonEntries[i]);\r\n }\r\n } else {\r\n this.ProductAttributeComparisonEntries[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductComparisonLineClass'] = ProductComparisonLineClass;\r\n \r\n /**\r\n * CustomerSearchField entity class.\r\n */\r\n export class CustomerSearchFieldClass implements Entities.CustomerSearchField {\r\n public IsShortcut: boolean;\r\n public DisplayName: string;\r\n public CanBeRefined: boolean;\r\n public SearchField: Entities.CustomerSearchFieldType;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsShortcut = \r\n odataObject.IsShortcut;\r\n \r\n this.DisplayName = \r\n odataObject.DisplayName;\r\n \r\n this.CanBeRefined = \r\n odataObject.CanBeRefined;\r\n \r\n if (odataObject.SearchField == null) {\r\n this.SearchField = undefined;\r\n } else if (odataObject.SearchField['@odata.type'] == null) {\r\n this.SearchField = new CustomerSearchFieldTypeClass(odataObject.SearchField);\r\n } else {\r\n var className: string = odataObject.SearchField['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SearchField = new entityDictionary[className](odataObject.SearchField)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerSearchFieldClass'] = CustomerSearchFieldClass;\r\n \r\n /**\r\n * CustomerSearchByFieldCriteria entity class.\r\n */\r\n export class CustomerSearchByFieldCriteriaClass implements Entities.CustomerSearchByFieldCriteria {\r\n public Criteria: Entities.CustomerSearchByFieldCriterion[];\r\n public DataLevelValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Criteria = undefined;\r\n if (odataObject.Criteria) {\r\n this.Criteria = [];\r\n for (var i = 0; i < odataObject.Criteria.length; i++) {\r\n if (odataObject.Criteria[i] != null) {\r\n if (odataObject.Criteria[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Criteria[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Criteria[i] = new entityDictionary[className](odataObject.Criteria[i])\r\n }\r\n } else {\r\n this.Criteria[i] = new CustomerSearchByFieldCriterionClass(odataObject.Criteria[i]);\r\n }\r\n } else {\r\n this.Criteria[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DataLevelValue = \r\n odataObject.DataLevelValue;\r\n \r\n }\r\n }\r\n entityDictionary['CustomerSearchByFieldCriteriaClass'] = CustomerSearchByFieldCriteriaClass;\r\n \r\n /**\r\n * CustomerSearchByFieldCriterion entity class.\r\n */\r\n export class CustomerSearchByFieldCriterionClass implements Entities.CustomerSearchByFieldCriterion {\r\n public SearchTerm: string;\r\n public SearchField: Entities.CustomerSearchFieldType;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SearchTerm = \r\n odataObject.SearchTerm;\r\n \r\n if (odataObject.SearchField == null) {\r\n this.SearchField = undefined;\r\n } else if (odataObject.SearchField['@odata.type'] == null) {\r\n this.SearchField = new CustomerSearchFieldTypeClass(odataObject.SearchField);\r\n } else {\r\n var className: string = odataObject.SearchField['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SearchField = new entityDictionary[className](odataObject.SearchField)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerSearchByFieldCriterionClass'] = CustomerSearchByFieldCriterionClass;\r\n \r\n /**\r\n * CustomerSearchFieldType entity class.\r\n */\r\n export class CustomerSearchFieldTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.CustomerSearchFieldType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CustomerSearchFieldType\";\r\n \r\n }\r\n }\r\n entityDictionary['CustomerSearchFieldTypeClass'] = CustomerSearchFieldTypeClass;\r\n \r\n /**\r\n * OrderShipments entity class.\r\n */\r\n export class OrderShipmentsClass implements Entities.OrderShipments {\r\n public SalesId: string;\r\n public ChannelId: number;\r\n public ChannelReferenceId: string;\r\n public TransactionId: string;\r\n public CreatedDateTime: Date;\r\n public StatusValue: number;\r\n public CurrencyCode: string;\r\n public CustomerId: string;\r\n public DeliveryMode: string;\r\n public GrossAmount: number;\r\n public InventoryLocationId: string;\r\n public ReceiptId: string;\r\n public RequestedDeliveryDate: Date;\r\n public TotalAmount: number;\r\n public TaxAmount: number;\r\n public SalesLines: Entities.SalesLine[];\r\n public Shipments: Entities.Shipment[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.GrossAmount = \r\n (odataObject.GrossAmount != null) ? parseFloat(odataObject.GrossAmount) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.SalesLines = undefined;\r\n if (odataObject.SalesLines) {\r\n this.SalesLines = [];\r\n for (var i = 0; i < odataObject.SalesLines.length; i++) {\r\n if (odataObject.SalesLines[i] != null) {\r\n if (odataObject.SalesLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SalesLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SalesLines[i] = new entityDictionary[className](odataObject.SalesLines[i])\r\n }\r\n } else {\r\n this.SalesLines[i] = new SalesLineClass(odataObject.SalesLines[i]);\r\n }\r\n } else {\r\n this.SalesLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Shipments = undefined;\r\n if (odataObject.Shipments) {\r\n this.Shipments = [];\r\n for (var i = 0; i < odataObject.Shipments.length; i++) {\r\n if (odataObject.Shipments[i] != null) {\r\n if (odataObject.Shipments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Shipments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Shipments[i] = new entityDictionary[className](odataObject.Shipments[i])\r\n }\r\n } else {\r\n this.Shipments[i] = new ShipmentClass(odataObject.Shipments[i]);\r\n }\r\n } else {\r\n this.Shipments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OrderShipmentsClass'] = OrderShipmentsClass;\r\n \r\n /**\r\n * Shipment entity class.\r\n */\r\n export class ShipmentClass implements Entities.Shipment {\r\n public SalesId: string;\r\n public ShipmentId: string;\r\n public DeliveryAddress: Entities.Address;\r\n public ShipDate: Date;\r\n public DeliveryMode: string;\r\n public TermsOfDelivery: string;\r\n public WeightUnit: string;\r\n public TrackingNumber: string;\r\n public TrackingUrl: string;\r\n public LatestCarrierTrackingInfo: Entities.TrackingInfo;\r\n public CarrierId: string;\r\n public CarrierName: string;\r\n public ShippingWeight: number;\r\n public ShipmentLines: Entities.ShipmentLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.ShipmentId = \r\n odataObject.ShipmentId;\r\n \r\n if (odataObject.DeliveryAddress == null) {\r\n this.DeliveryAddress = undefined;\r\n } else if (odataObject.DeliveryAddress['@odata.type'] == null) {\r\n this.DeliveryAddress = new AddressClass(odataObject.DeliveryAddress);\r\n } else {\r\n var className: string = odataObject.DeliveryAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryAddress = new entityDictionary[className](odataObject.DeliveryAddress)\r\n }\r\n }\r\n\r\n \r\n this.ShipDate = \r\n (odataObject.ShipDate instanceof Date) ? odataObject.ShipDate\r\n : (odataObject.ShipDate != null) ? jsonLightReadStringPropertyValue(odataObject.ShipDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.TermsOfDelivery = \r\n odataObject.TermsOfDelivery;\r\n \r\n this.WeightUnit = \r\n odataObject.WeightUnit;\r\n \r\n this.TrackingNumber = \r\n odataObject.TrackingNumber;\r\n \r\n this.TrackingUrl = \r\n odataObject.TrackingUrl;\r\n \r\n if (odataObject.LatestCarrierTrackingInfo == null) {\r\n this.LatestCarrierTrackingInfo = undefined;\r\n } else if (odataObject.LatestCarrierTrackingInfo['@odata.type'] == null) {\r\n this.LatestCarrierTrackingInfo = new TrackingInfoClass(odataObject.LatestCarrierTrackingInfo);\r\n } else {\r\n var className: string = odataObject.LatestCarrierTrackingInfo['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LatestCarrierTrackingInfo = new entityDictionary[className](odataObject.LatestCarrierTrackingInfo)\r\n }\r\n }\r\n\r\n \r\n this.CarrierId = \r\n odataObject.CarrierId;\r\n \r\n this.CarrierName = \r\n odataObject.CarrierName;\r\n \r\n this.ShippingWeight = \r\n (odataObject.ShippingWeight != null) ? parseFloat(odataObject.ShippingWeight) : undefined;\r\n \r\n this.ShipmentLines = undefined;\r\n if (odataObject.ShipmentLines) {\r\n this.ShipmentLines = [];\r\n for (var i = 0; i < odataObject.ShipmentLines.length; i++) {\r\n if (odataObject.ShipmentLines[i] != null) {\r\n if (odataObject.ShipmentLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ShipmentLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShipmentLines[i] = new entityDictionary[className](odataObject.ShipmentLines[i])\r\n }\r\n } else {\r\n this.ShipmentLines[i] = new ShipmentLineClass(odataObject.ShipmentLines[i]);\r\n }\r\n } else {\r\n this.ShipmentLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShipmentClass'] = ShipmentClass;\r\n \r\n /**\r\n * ShipmentLine entity class.\r\n */\r\n export class ShipmentLineClass implements Entities.ShipmentLine {\r\n public ShipmentLineId: string;\r\n public ItemId: string;\r\n public Description: string;\r\n public InventDimId: string;\r\n public OrderedQuantity: number;\r\n public DeliveredQuantity: number;\r\n public RemainingQuantity: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ShipmentLineId = \r\n odataObject.ShipmentLineId;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.InventDimId = \r\n odataObject.InventDimId;\r\n \r\n this.OrderedQuantity = \r\n (odataObject.OrderedQuantity != null) ? parseFloat(odataObject.OrderedQuantity) : undefined;\r\n \r\n this.DeliveredQuantity = \r\n (odataObject.DeliveredQuantity != null) ? parseFloat(odataObject.DeliveredQuantity) : undefined;\r\n \r\n this.RemainingQuantity = \r\n (odataObject.RemainingQuantity != null) ? parseFloat(odataObject.RemainingQuantity) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShipmentLineClass'] = ShipmentLineClass;\r\n \r\n /**\r\n * Transaction entity class.\r\n */\r\n export class TransactionClass implements Entities.Transaction {\r\n public Id: string;\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public IsCreatedOffline: boolean;\r\n public StaffId: string;\r\n public LanguageId: string;\r\n public ShiftId: string;\r\n public ShiftTerminalId: string;\r\n public Description: string;\r\n public ReceiptId: string;\r\n public GrossAmount: number;\r\n public TotalAmount: number;\r\n public CreatedDateTime: Date;\r\n public TransactionTypeValue: number;\r\n public TransactionStatusValue: number;\r\n public BeginDateTime: Date;\r\n public GiftCardActiveFrom: Date;\r\n public GiftCardBalance: number;\r\n public GiftCardExpireDate: Date;\r\n public GiftCardHistoryDetails: string;\r\n public GiftCardIssueAmount: number;\r\n public GiftCardIdMasked: string;\r\n public FromSafe: string;\r\n public ToSafe: string;\r\n public FromShiftTerminalId: string;\r\n public ToShiftTerminalId: string;\r\n public FromShiftId: string;\r\n public TransactionSourceContextTypeValue: number;\r\n public TransactionDestinationContextTypeValue: number;\r\n public ToShiftId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.IsCreatedOffline = \r\n odataObject.IsCreatedOffline;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.ShiftId = \r\n odataObject.ShiftId;\r\n \r\n this.ShiftTerminalId = \r\n odataObject.ShiftTerminalId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.GrossAmount = \r\n (odataObject.GrossAmount != null) ? parseFloat(odataObject.GrossAmount) : undefined;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TransactionTypeValue = \r\n odataObject.TransactionTypeValue;\r\n \r\n this.TransactionStatusValue = \r\n odataObject.TransactionStatusValue;\r\n \r\n this.BeginDateTime = \r\n (odataObject.BeginDateTime instanceof Date) ? odataObject.BeginDateTime\r\n : (odataObject.BeginDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.BeginDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardActiveFrom = \r\n (odataObject.GiftCardActiveFrom instanceof Date) ? odataObject.GiftCardActiveFrom\r\n : (odataObject.GiftCardActiveFrom != null) ? jsonLightReadStringPropertyValue(odataObject.GiftCardActiveFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardBalance = \r\n (odataObject.GiftCardBalance != null) ? parseFloat(odataObject.GiftCardBalance) : undefined;\r\n \r\n this.GiftCardExpireDate = \r\n (odataObject.GiftCardExpireDate instanceof Date) ? odataObject.GiftCardExpireDate\r\n : (odataObject.GiftCardExpireDate != null) ? jsonLightReadStringPropertyValue(odataObject.GiftCardExpireDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardHistoryDetails = \r\n odataObject.GiftCardHistoryDetails;\r\n \r\n this.GiftCardIssueAmount = \r\n (odataObject.GiftCardIssueAmount != null) ? parseFloat(odataObject.GiftCardIssueAmount) : undefined;\r\n \r\n this.GiftCardIdMasked = \r\n odataObject.GiftCardIdMasked;\r\n \r\n this.FromSafe = \r\n odataObject.FromSafe;\r\n \r\n this.ToSafe = \r\n odataObject.ToSafe;\r\n \r\n this.FromShiftTerminalId = \r\n odataObject.FromShiftTerminalId;\r\n \r\n this.ToShiftTerminalId = \r\n odataObject.ToShiftTerminalId;\r\n \r\n this.FromShiftId = \r\n odataObject.FromShiftId;\r\n \r\n this.TransactionSourceContextTypeValue = \r\n odataObject.TransactionSourceContextTypeValue;\r\n \r\n this.TransactionDestinationContextTypeValue = \r\n odataObject.TransactionDestinationContextTypeValue;\r\n \r\n this.ToShiftId = \r\n odataObject.ToShiftId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TransactionClass'] = TransactionClass;\r\n \r\n /**\r\n * ShiftReconciliationLine entity class.\r\n */\r\n export class ShiftReconciliationLineClass\r\n extends TransactionClass\r\n implements Entities.ShiftReconciliationLine {\r\n public GroupId: number;\r\n public GroupDescription: string;\r\n public ShiftGroupLinesCount: number;\r\n public ShiftGroupLinesClosedCount: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.GroupId = \r\n (odataObject.GroupId != null) ? parseInt(odataObject.GroupId, 10) : undefined;\r\n \r\n this.GroupDescription = \r\n odataObject.GroupDescription;\r\n \r\n this.ShiftGroupLinesCount = \r\n (odataObject.ShiftGroupLinesCount != null) ? parseInt(odataObject.ShiftGroupLinesCount, 10) : undefined;\r\n \r\n this.ShiftGroupLinesClosedCount = \r\n (odataObject.ShiftGroupLinesClosedCount != null) ? parseInt(odataObject.ShiftGroupLinesClosedCount, 10) : undefined;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ShiftReconciliationLine\";\r\n \r\n }\r\n }\r\n entityDictionary['ShiftReconciliationLineClass'] = ShiftReconciliationLineClass;\r\n \r\n /**\r\n * ShiftReconciliationLineRetrievalCriteria entity class.\r\n */\r\n export class ShiftReconciliationLineRetrievalCriteriaClass implements Entities.ShiftReconciliationLineRetrievalCriteria {\r\n public TransactionTypeValues: number[];\r\n public ShiftReconciliationLineStatusValue: number;\r\n public Shifts: Entities.ShiftKey[];\r\n public DestinationShift: Entities.ShiftKey;\r\n public SourceShift: Entities.ShiftKey;\r\n public SourceSafe: string;\r\n public DestinationSafe: string;\r\n public TransactionSourceContextTypeValue: number;\r\n public TransactionDestinationContextTypeValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionTypeValues = undefined;\r\n if (odataObject.TransactionTypeValues) {\r\n this.TransactionTypeValues = [];\r\n for (var i = 0; i < odataObject.TransactionTypeValues.length; i++) {\r\n if (odataObject.TransactionTypeValues[i] != null) {\r\n this.TransactionTypeValues[i] = \r\n odataObject.TransactionTypeValues[i];\r\n } else {\r\n this.TransactionTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ShiftReconciliationLineStatusValue = \r\n odataObject.ShiftReconciliationLineStatusValue;\r\n \r\n this.Shifts = undefined;\r\n if (odataObject.Shifts) {\r\n this.Shifts = [];\r\n for (var i = 0; i < odataObject.Shifts.length; i++) {\r\n if (odataObject.Shifts[i] != null) {\r\n if (odataObject.Shifts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Shifts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Shifts[i] = new entityDictionary[className](odataObject.Shifts[i])\r\n }\r\n } else {\r\n this.Shifts[i] = new ShiftKeyClass(odataObject.Shifts[i]);\r\n }\r\n } else {\r\n this.Shifts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.DestinationShift == null) {\r\n this.DestinationShift = undefined;\r\n } else if (odataObject.DestinationShift['@odata.type'] == null) {\r\n this.DestinationShift = new ShiftKeyClass(odataObject.DestinationShift);\r\n } else {\r\n var className: string = odataObject.DestinationShift['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DestinationShift = new entityDictionary[className](odataObject.DestinationShift)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.SourceShift == null) {\r\n this.SourceShift = undefined;\r\n } else if (odataObject.SourceShift['@odata.type'] == null) {\r\n this.SourceShift = new ShiftKeyClass(odataObject.SourceShift);\r\n } else {\r\n var className: string = odataObject.SourceShift['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SourceShift = new entityDictionary[className](odataObject.SourceShift)\r\n }\r\n }\r\n\r\n \r\n this.SourceSafe = \r\n odataObject.SourceSafe;\r\n \r\n this.DestinationSafe = \r\n odataObject.DestinationSafe;\r\n \r\n this.TransactionSourceContextTypeValue = \r\n odataObject.TransactionSourceContextTypeValue;\r\n \r\n this.TransactionDestinationContextTypeValue = \r\n odataObject.TransactionDestinationContextTypeValue;\r\n \r\n }\r\n }\r\n entityDictionary['ShiftReconciliationLineRetrievalCriteriaClass'] = ShiftReconciliationLineRetrievalCriteriaClass;\r\n \r\n /**\r\n * SearchConfiguration entity class.\r\n */\r\n export class SearchConfigurationClass implements Entities.SearchConfiguration {\r\n public ProductSortColumns: Entities.SortColumn[];\r\n public ProductSearchServiceTypeValue: number;\r\n public ProductSortColumnsLabels: Entities.LocalizedText[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductSortColumns = undefined;\r\n if (odataObject.ProductSortColumns) {\r\n this.ProductSortColumns = [];\r\n for (var i = 0; i < odataObject.ProductSortColumns.length; i++) {\r\n if (odataObject.ProductSortColumns[i] != null) {\r\n if (odataObject.ProductSortColumns[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductSortColumns[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductSortColumns[i] = new entityDictionary[className](odataObject.ProductSortColumns[i])\r\n }\r\n } else {\r\n this.ProductSortColumns[i] = new SortColumnClass(odataObject.ProductSortColumns[i]);\r\n }\r\n } else {\r\n this.ProductSortColumns[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ProductSearchServiceTypeValue = \r\n odataObject.ProductSearchServiceTypeValue;\r\n \r\n this.ProductSortColumnsLabels = undefined;\r\n if (odataObject.ProductSortColumnsLabels) {\r\n this.ProductSortColumnsLabels = [];\r\n for (var i = 0; i < odataObject.ProductSortColumnsLabels.length; i++) {\r\n if (odataObject.ProductSortColumnsLabels[i] != null) {\r\n if (odataObject.ProductSortColumnsLabels[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductSortColumnsLabels[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductSortColumnsLabels[i] = new entityDictionary[className](odataObject.ProductSortColumnsLabels[i])\r\n }\r\n } else {\r\n this.ProductSortColumnsLabels[i] = new LocalizedTextClass(odataObject.ProductSortColumnsLabels[i]);\r\n }\r\n } else {\r\n this.ProductSortColumnsLabels[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SearchConfigurationClass'] = SearchConfigurationClass;\r\n \r\n /**\r\n * CustomerTimelineItem entity class.\r\n */\r\n export class CustomerTimelineItemClass implements Entities.CustomerTimelineItem {\r\n public CustomerId: string;\r\n public Description: string;\r\n public Id: string;\r\n public EntityType: string;\r\n public TypeId: string;\r\n public StaffId: string;\r\n public StartDateTime: Date;\r\n public Title: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.EntityType = \r\n odataObject.EntityType;\r\n \r\n this.TypeId = \r\n odataObject.TypeId;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Title = \r\n odataObject.Title;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerTimelineItemClass'] = CustomerTimelineItemClass;\r\n \r\n /**\r\n * AttributeDefinition entity class.\r\n */\r\n export class AttributeDefinitionClass implements Entities.AttributeDefinition {\r\n public RecordId: number;\r\n public Name: string;\r\n public AttributeTypeName: string;\r\n public ExtDataType: Entities.ExtensibleAttributeDataType;\r\n public DataTypeValue: number;\r\n public IsHidden: boolean;\r\n public IsMandatory: boolean;\r\n public IsMultiValue: boolean;\r\n public IsEnumeration: boolean;\r\n public TranslationDetails: Entities.AttributeTranslationDetails[];\r\n public EnumerationDetails: Entities.AttributeEnumeration[];\r\n public DefaultValue: Entities.CommercePropertyValue;\r\n public UpperBound: Entities.CommercePropertyValue;\r\n public LowerBound: Entities.CommercePropertyValue;\r\n public DisplayOrder: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.AttributeTypeName = \r\n odataObject.AttributeTypeName;\r\n \r\n if (odataObject.ExtDataType == null) {\r\n this.ExtDataType = undefined;\r\n } else if (odataObject.ExtDataType['@odata.type'] == null) {\r\n this.ExtDataType = new ExtensibleAttributeDataTypeClass(odataObject.ExtDataType);\r\n } else {\r\n var className: string = odataObject.ExtDataType['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtDataType = new entityDictionary[className](odataObject.ExtDataType)\r\n }\r\n }\r\n\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.IsHidden = \r\n odataObject.IsHidden;\r\n \r\n this.IsMandatory = \r\n odataObject.IsMandatory;\r\n \r\n this.IsMultiValue = \r\n odataObject.IsMultiValue;\r\n \r\n this.IsEnumeration = \r\n odataObject.IsEnumeration;\r\n \r\n this.TranslationDetails = undefined;\r\n if (odataObject.TranslationDetails) {\r\n this.TranslationDetails = [];\r\n for (var i = 0; i < odataObject.TranslationDetails.length; i++) {\r\n if (odataObject.TranslationDetails[i] != null) {\r\n if (odataObject.TranslationDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TranslationDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TranslationDetails[i] = new entityDictionary[className](odataObject.TranslationDetails[i])\r\n }\r\n } else {\r\n this.TranslationDetails[i] = new AttributeTranslationDetailsClass(odataObject.TranslationDetails[i]);\r\n }\r\n } else {\r\n this.TranslationDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.EnumerationDetails = undefined;\r\n if (odataObject.EnumerationDetails) {\r\n this.EnumerationDetails = [];\r\n for (var i = 0; i < odataObject.EnumerationDetails.length; i++) {\r\n if (odataObject.EnumerationDetails[i] != null) {\r\n if (odataObject.EnumerationDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.EnumerationDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.EnumerationDetails[i] = new entityDictionary[className](odataObject.EnumerationDetails[i])\r\n }\r\n } else {\r\n this.EnumerationDetails[i] = new AttributeEnumerationClass(odataObject.EnumerationDetails[i]);\r\n }\r\n } else {\r\n this.EnumerationDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.DefaultValue == null) {\r\n this.DefaultValue = undefined;\r\n } else if (odataObject.DefaultValue['@odata.type'] == null) {\r\n this.DefaultValue = new CommercePropertyValueClass(odataObject.DefaultValue);\r\n } else {\r\n var className: string = odataObject.DefaultValue['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DefaultValue = new entityDictionary[className](odataObject.DefaultValue)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.UpperBound == null) {\r\n this.UpperBound = undefined;\r\n } else if (odataObject.UpperBound['@odata.type'] == null) {\r\n this.UpperBound = new CommercePropertyValueClass(odataObject.UpperBound);\r\n } else {\r\n var className: string = odataObject.UpperBound['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UpperBound = new entityDictionary[className](odataObject.UpperBound)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.LowerBound == null) {\r\n this.LowerBound = undefined;\r\n } else if (odataObject.LowerBound['@odata.type'] == null) {\r\n this.LowerBound = new CommercePropertyValueClass(odataObject.LowerBound);\r\n } else {\r\n var className: string = odataObject.LowerBound['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LowerBound = new entityDictionary[className](odataObject.LowerBound)\r\n }\r\n }\r\n\r\n \r\n this.DisplayOrder = \r\n (odataObject.DisplayOrder != null) ? parseFloat(odataObject.DisplayOrder) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeDefinitionClass'] = AttributeDefinitionClass;\r\n \r\n /**\r\n * AttributeTranslationDetails entity class.\r\n */\r\n export class AttributeTranslationDetailsClass implements Entities.AttributeTranslationDetails {\r\n public AttributeRecordId: number;\r\n public LanguageId: string;\r\n public FriendlyName: string;\r\n public Description: string;\r\n public HelpText: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AttributeRecordId = \r\n (odataObject.AttributeRecordId != null) ? parseInt(odataObject.AttributeRecordId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.FriendlyName = \r\n odataObject.FriendlyName;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.HelpText = \r\n odataObject.HelpText;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeTranslationDetailsClass'] = AttributeTranslationDetailsClass;\r\n \r\n /**\r\n * AttributeEnumeration entity class.\r\n */\r\n export class AttributeEnumerationClass implements Entities.AttributeEnumeration {\r\n public OrdinalNumber: number;\r\n public EnumerationValue: string;\r\n public AttributeEnumerationTranslations: Entities.AttributeEnumerationTranslation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrdinalNumber = \r\n odataObject.OrdinalNumber;\r\n \r\n this.EnumerationValue = \r\n odataObject.EnumerationValue;\r\n \r\n this.AttributeEnumerationTranslations = undefined;\r\n if (odataObject.AttributeEnumerationTranslations) {\r\n this.AttributeEnumerationTranslations = [];\r\n for (var i = 0; i < odataObject.AttributeEnumerationTranslations.length; i++) {\r\n if (odataObject.AttributeEnumerationTranslations[i] != null) {\r\n if (odataObject.AttributeEnumerationTranslations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttributeEnumerationTranslations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeEnumerationTranslations[i] = new entityDictionary[className](odataObject.AttributeEnumerationTranslations[i])\r\n }\r\n } else {\r\n this.AttributeEnumerationTranslations[i] = new AttributeEnumerationTranslationClass(odataObject.AttributeEnumerationTranslations[i]);\r\n }\r\n } else {\r\n this.AttributeEnumerationTranslations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeEnumerationClass'] = AttributeEnumerationClass;\r\n \r\n /**\r\n * AttributeEnumerationTranslation entity class.\r\n */\r\n export class AttributeEnumerationTranslationClass implements Entities.AttributeEnumerationTranslation {\r\n public LanguageId: string;\r\n public EnumerationTranslationValue: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.EnumerationTranslationValue = \r\n odataObject.EnumerationTranslationValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeEnumerationTranslationClass'] = AttributeEnumerationTranslationClass;\r\n \r\n /**\r\n * AttributeDefinitionCriteria entity class.\r\n */\r\n export class AttributeDefinitionCriteriaClass implements Entities.AttributeDefinitionCriteria {\r\n public AttributeGroupIdentifier: number;\r\n public Languages: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AttributeGroupIdentifier = \r\n (odataObject.AttributeGroupIdentifier != null) ? parseInt(odataObject.AttributeGroupIdentifier, 10) : undefined;\r\n \r\n this.Languages = undefined;\r\n if (odataObject.Languages) {\r\n this.Languages = [];\r\n for (var i = 0; i < odataObject.Languages.length; i++) {\r\n if (odataObject.Languages[i] != null) {\r\n this.Languages[i] = \r\n odataObject.Languages[i];\r\n } else {\r\n this.Languages[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeDefinitionCriteriaClass'] = AttributeDefinitionCriteriaClass;\r\n \r\n /**\r\n * AttributeGroupDefinition entity class.\r\n */\r\n export class AttributeGroupDefinitionClass implements Entities.AttributeGroupDefinition {\r\n public RecordId: number;\r\n public Name: string;\r\n public TranslationDetails: Entities.AttributeGroupTranslationDetails[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.TranslationDetails = undefined;\r\n if (odataObject.TranslationDetails) {\r\n this.TranslationDetails = [];\r\n for (var i = 0; i < odataObject.TranslationDetails.length; i++) {\r\n if (odataObject.TranslationDetails[i] != null) {\r\n if (odataObject.TranslationDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TranslationDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TranslationDetails[i] = new entityDictionary[className](odataObject.TranslationDetails[i])\r\n }\r\n } else {\r\n this.TranslationDetails[i] = new AttributeGroupTranslationDetailsClass(odataObject.TranslationDetails[i]);\r\n }\r\n } else {\r\n this.TranslationDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeGroupDefinitionClass'] = AttributeGroupDefinitionClass;\r\n \r\n /**\r\n * AttributeGroupTranslationDetails entity class.\r\n */\r\n export class AttributeGroupTranslationDetailsClass implements Entities.AttributeGroupTranslationDetails {\r\n public AttributeGroupRecordId: number;\r\n public LanguageId: string;\r\n public FriendlyName: string;\r\n public Description: string;\r\n public HelpText: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AttributeGroupRecordId = \r\n (odataObject.AttributeGroupRecordId != null) ? parseInt(odataObject.AttributeGroupRecordId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.FriendlyName = \r\n odataObject.FriendlyName;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.HelpText = \r\n odataObject.HelpText;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeGroupTranslationDetailsClass'] = AttributeGroupTranslationDetailsClass;\r\n \r\n /**\r\n * AttributeGroupDefinitionCriteria entity class.\r\n */\r\n export class AttributeGroupDefinitionCriteriaClass implements Entities.AttributeGroupDefinitionCriteria {\r\n public AttributeGroupIdentifiers: number[];\r\n public Languages: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AttributeGroupIdentifiers = undefined;\r\n if (odataObject.AttributeGroupIdentifiers) {\r\n this.AttributeGroupIdentifiers = [];\r\n for (var i = 0; i < odataObject.AttributeGroupIdentifiers.length; i++) {\r\n if (odataObject.AttributeGroupIdentifiers[i] != null) {\r\n this.AttributeGroupIdentifiers[i] = \r\n parseInt(odataObject.AttributeGroupIdentifiers[i], 10);\r\n } else {\r\n this.AttributeGroupIdentifiers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Languages = undefined;\r\n if (odataObject.Languages) {\r\n this.Languages = [];\r\n for (var i = 0; i < odataObject.Languages.length; i++) {\r\n if (odataObject.Languages[i] != null) {\r\n this.Languages[i] = \r\n odataObject.Languages[i];\r\n } else {\r\n this.Languages[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeGroupDefinitionCriteriaClass'] = AttributeGroupDefinitionCriteriaClass;\r\n \r\n /**\r\n * CountyInfo entity class.\r\n */\r\n export class CountyInfoClass implements Entities.CountyInfo {\r\n public Name: string;\r\n public CountyId: string;\r\n public CountryRegionId: string;\r\n public StateId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.CountyId = \r\n odataObject.CountyId;\r\n \r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.StateId = \r\n odataObject.StateId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CountyInfoClass'] = CountyInfoClass;\r\n \r\n /**\r\n * CustomerGroup entity class.\r\n */\r\n export class CustomerGroupClass implements Entities.CustomerGroup {\r\n public CustomerGroupNumber: string;\r\n public CustomerGroupName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerGroupNumber = \r\n odataObject.CustomerGroupNumber;\r\n \r\n this.CustomerGroupName = \r\n odataObject.CustomerGroupName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerGroupClass'] = CustomerGroupClass;\r\n \r\n /**\r\n * DiscountLine entity class.\r\n */\r\n export class DiscountLineClass implements Entities.DiscountLine {\r\n public SaleLineNumber: number;\r\n public OfferId: string;\r\n public OfferName: string;\r\n public Amount: number;\r\n public DiscountCost: number;\r\n public EffectiveAmount: number;\r\n public EffectivePercentage: number;\r\n public SavedEffectiveAmount: number;\r\n public Percentage: number;\r\n public DealPrice: number;\r\n public DiscountLineTypeValue: number;\r\n public ManualDiscountTypeValue: number;\r\n public CustomerDiscountTypeValue: number;\r\n public PeriodicDiscountTypeValue: number;\r\n public DiscountApplicationGroup: string;\r\n public ConcurrencyModeValue: number;\r\n public IsCompoundable: boolean;\r\n public DiscountCode: string;\r\n public PricingPriorityNumber: number;\r\n public IsDiscountCodeRequired: boolean;\r\n public ThresholdAmountRequired: number;\r\n public BundleId: number;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SaleLineNumber = \r\n (odataObject.SaleLineNumber != null) ? parseFloat(odataObject.SaleLineNumber) : undefined;\r\n \r\n this.OfferId = \r\n odataObject.OfferId;\r\n \r\n this.OfferName = \r\n odataObject.OfferName;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.DiscountCost = \r\n (odataObject.DiscountCost != null) ? parseFloat(odataObject.DiscountCost) : undefined;\r\n \r\n this.EffectiveAmount = \r\n (odataObject.EffectiveAmount != null) ? parseFloat(odataObject.EffectiveAmount) : undefined;\r\n \r\n this.EffectivePercentage = \r\n (odataObject.EffectivePercentage != null) ? parseFloat(odataObject.EffectivePercentage) : undefined;\r\n \r\n this.SavedEffectiveAmount = \r\n (odataObject.SavedEffectiveAmount != null) ? parseFloat(odataObject.SavedEffectiveAmount) : undefined;\r\n \r\n this.Percentage = \r\n (odataObject.Percentage != null) ? parseFloat(odataObject.Percentage) : undefined;\r\n \r\n this.DealPrice = \r\n (odataObject.DealPrice != null) ? parseFloat(odataObject.DealPrice) : undefined;\r\n \r\n this.DiscountLineTypeValue = \r\n odataObject.DiscountLineTypeValue;\r\n \r\n this.ManualDiscountTypeValue = \r\n odataObject.ManualDiscountTypeValue;\r\n \r\n this.CustomerDiscountTypeValue = \r\n odataObject.CustomerDiscountTypeValue;\r\n \r\n this.PeriodicDiscountTypeValue = \r\n odataObject.PeriodicDiscountTypeValue;\r\n \r\n this.DiscountApplicationGroup = \r\n odataObject.DiscountApplicationGroup;\r\n \r\n this.ConcurrencyModeValue = \r\n odataObject.ConcurrencyModeValue;\r\n \r\n this.IsCompoundable = \r\n odataObject.IsCompoundable;\r\n \r\n this.DiscountCode = \r\n odataObject.DiscountCode;\r\n \r\n this.PricingPriorityNumber = \r\n odataObject.PricingPriorityNumber;\r\n \r\n this.IsDiscountCodeRequired = \r\n odataObject.IsDiscountCodeRequired;\r\n \r\n this.ThresholdAmountRequired = \r\n (odataObject.ThresholdAmountRequired != null) ? parseFloat(odataObject.ThresholdAmountRequired) : undefined;\r\n \r\n this.BundleId = \r\n odataObject.BundleId;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DiscountLineClass'] = DiscountLineClass;\r\n \r\n /**\r\n * EmployeePermissions entity class.\r\n */\r\n export class EmployeePermissionsClass implements Entities.EmployeePermissions {\r\n public PriceOverrideRestrictionValue: number;\r\n public AllowPriceOverride: number;\r\n public MaximumDiscountPercentage: number;\r\n public MaximumLineDiscountAmount: number;\r\n public MaximumLineReturnAmount: number;\r\n public MaximumTotalDiscountAmount: number;\r\n public MaximumTotalDiscountPercentage: number;\r\n public MaxTotalReturnAmount: number;\r\n public StaffId: string;\r\n public Roles: string[];\r\n public AllowUseSharedShift: boolean;\r\n public AllowManageSharedShift: boolean;\r\n public AllowTaskGuides: boolean;\r\n public AllowSaleOutsideAssortment: boolean;\r\n public AllowPrintingReceiptCopy: string;\r\n public AllowSkipFiscalRegistration: boolean;\r\n public AllowSkipRegistrationOrMarkAsRegistered: boolean;\r\n public AllowPostponeRegistration: boolean;\r\n public AllowCreateTransferOrder: boolean;\r\n public AllowAcceptOrder: boolean;\r\n public AllowTaskManagement: boolean;\r\n public AllowRejectOrder: boolean;\r\n public AllowMassActivation: boolean;\r\n public AllowPostInventoryAdjustment: boolean;\r\n public AllowPostStockCounting: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PriceOverrideRestrictionValue = \r\n odataObject.PriceOverrideRestrictionValue;\r\n \r\n this.AllowPriceOverride = \r\n odataObject.AllowPriceOverride;\r\n \r\n this.MaximumDiscountPercentage = \r\n (odataObject.MaximumDiscountPercentage != null) ? parseFloat(odataObject.MaximumDiscountPercentage) : undefined;\r\n \r\n this.MaximumLineDiscountAmount = \r\n (odataObject.MaximumLineDiscountAmount != null) ? parseFloat(odataObject.MaximumLineDiscountAmount) : undefined;\r\n \r\n this.MaximumLineReturnAmount = \r\n (odataObject.MaximumLineReturnAmount != null) ? parseFloat(odataObject.MaximumLineReturnAmount) : undefined;\r\n \r\n this.MaximumTotalDiscountAmount = \r\n (odataObject.MaximumTotalDiscountAmount != null) ? parseFloat(odataObject.MaximumTotalDiscountAmount) : undefined;\r\n \r\n this.MaximumTotalDiscountPercentage = \r\n (odataObject.MaximumTotalDiscountPercentage != null) ? parseFloat(odataObject.MaximumTotalDiscountPercentage) : undefined;\r\n \r\n this.MaxTotalReturnAmount = \r\n (odataObject.MaxTotalReturnAmount != null) ? parseFloat(odataObject.MaxTotalReturnAmount) : undefined;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.Roles = undefined;\r\n if (odataObject.Roles) {\r\n this.Roles = [];\r\n for (var i = 0; i < odataObject.Roles.length; i++) {\r\n if (odataObject.Roles[i] != null) {\r\n this.Roles[i] = \r\n odataObject.Roles[i];\r\n } else {\r\n this.Roles[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AllowUseSharedShift = \r\n odataObject.AllowUseSharedShift;\r\n \r\n this.AllowManageSharedShift = \r\n odataObject.AllowManageSharedShift;\r\n \r\n this.AllowTaskGuides = \r\n odataObject.AllowTaskGuides;\r\n \r\n this.AllowSaleOutsideAssortment = \r\n odataObject.AllowSaleOutsideAssortment;\r\n \r\n this.AllowPrintingReceiptCopy = \r\n odataObject.AllowPrintingReceiptCopy;\r\n \r\n this.AllowSkipFiscalRegistration = \r\n odataObject.AllowSkipFiscalRegistration;\r\n \r\n this.AllowSkipRegistrationOrMarkAsRegistered = \r\n odataObject.AllowSkipRegistrationOrMarkAsRegistered;\r\n \r\n this.AllowPostponeRegistration = \r\n odataObject.AllowPostponeRegistration;\r\n \r\n this.AllowCreateTransferOrder = \r\n odataObject.AllowCreateTransferOrder;\r\n \r\n this.AllowAcceptOrder = \r\n odataObject.AllowAcceptOrder;\r\n \r\n this.AllowTaskManagement = \r\n odataObject.AllowTaskManagement;\r\n \r\n this.AllowRejectOrder = \r\n odataObject.AllowRejectOrder;\r\n \r\n this.AllowMassActivation = \r\n odataObject.AllowMassActivation;\r\n \r\n this.AllowPostInventoryAdjustment = \r\n odataObject.AllowPostInventoryAdjustment;\r\n \r\n this.AllowPostStockCounting = \r\n odataObject.AllowPostStockCounting;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['EmployeePermissionsClass'] = EmployeePermissionsClass;\r\n \r\n /**\r\n * CommerceProperty entity class.\r\n */\r\n export class CommercePropertyClass implements Entities.CommerceProperty {\r\n public Key: string;\r\n public Value: Entities.CommercePropertyValue;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Key = \r\n odataObject.Key;\r\n \r\n if (odataObject.Value == null) {\r\n this.Value = undefined;\r\n } else if (odataObject.Value['@odata.type'] == null) {\r\n this.Value = new CommercePropertyValueClass(odataObject.Value);\r\n } else {\r\n var className: string = odataObject.Value['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value = new entityDictionary[className](odataObject.Value)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['CommercePropertyClass'] = CommercePropertyClass;\r\n \r\n /**\r\n * CommercePropertyValue entity class.\r\n */\r\n export class CommercePropertyValueClass implements Entities.CommercePropertyValue {\r\n public BooleanValue: boolean;\r\n public ByteValue: number;\r\n public DateTimeOffsetValue: Date;\r\n public DecimalValue: number;\r\n public IntegerValue: number;\r\n public LongValue: number;\r\n public StringValue: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.BooleanValue = \r\n odataObject.BooleanValue;\r\n \r\n this.ByteValue = \r\n (odataObject.ByteValue != null) ? parseInt(odataObject.ByteValue, 10) : undefined;\r\n \r\n this.DateTimeOffsetValue = \r\n (odataObject.DateTimeOffsetValue instanceof Date) ? odataObject.DateTimeOffsetValue\r\n : (odataObject.DateTimeOffsetValue != null) ? jsonLightReadStringPropertyValue(odataObject.DateTimeOffsetValue, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DecimalValue = \r\n (odataObject.DecimalValue != null) ? parseFloat(odataObject.DecimalValue) : undefined;\r\n \r\n this.IntegerValue = \r\n odataObject.IntegerValue;\r\n \r\n this.LongValue = \r\n (odataObject.LongValue != null) ? parseInt(odataObject.LongValue, 10) : undefined;\r\n \r\n this.StringValue = \r\n odataObject.StringValue;\r\n \r\n }\r\n }\r\n entityDictionary['CommercePropertyValueClass'] = CommercePropertyValueClass;\r\n \r\n /**\r\n * CountryRegionInfo entity class.\r\n */\r\n export class CountryRegionInfoClass implements Entities.CountryRegionInfo {\r\n public CountryRegionId: string;\r\n public ShortName: string;\r\n public LongName: string;\r\n public ISOCode: string;\r\n public TimeZone: number;\r\n public LanguageId: string;\r\n public AddressFormatLines: Entities.AddressFormattingInfo[];\r\n public AddressFormatId: string;\r\n public AddressFormatName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.ShortName = \r\n odataObject.ShortName;\r\n \r\n this.LongName = \r\n odataObject.LongName;\r\n \r\n this.ISOCode = \r\n odataObject.ISOCode;\r\n \r\n this.TimeZone = \r\n odataObject.TimeZone;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.AddressFormatLines = undefined;\r\n if (odataObject.AddressFormatLines) {\r\n this.AddressFormatLines = [];\r\n for (var i = 0; i < odataObject.AddressFormatLines.length; i++) {\r\n if (odataObject.AddressFormatLines[i] != null) {\r\n if (odataObject.AddressFormatLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AddressFormatLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AddressFormatLines[i] = new entityDictionary[className](odataObject.AddressFormatLines[i])\r\n }\r\n } else {\r\n this.AddressFormatLines[i] = new AddressFormattingInfoClass(odataObject.AddressFormatLines[i]);\r\n }\r\n } else {\r\n this.AddressFormatLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AddressFormatId = \r\n odataObject.AddressFormatId;\r\n \r\n this.AddressFormatName = \r\n odataObject.AddressFormatName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CountryRegionInfoClass'] = CountryRegionInfoClass;\r\n \r\n /**\r\n * CreditMemo entity class.\r\n */\r\n export class CreditMemoClass implements Entities.CreditMemo {\r\n public Id: string;\r\n public Balance: number;\r\n public CurrencyCode: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Balance = \r\n (odataObject.Balance != null) ? parseFloat(odataObject.Balance) : undefined;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CreditMemoClass'] = CreditMemoClass;\r\n \r\n /**\r\n * Currency entity class.\r\n */\r\n export class CurrencyClass implements Entities.Currency {\r\n public CurrencyCode: string;\r\n public CurrencySymbol: string;\r\n public RoundOffPrice: number;\r\n public RoundOffSales: number;\r\n public RoundOffTypePrice: number;\r\n public RoundOffTypeSales: number;\r\n public NumberOfDecimals: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.CurrencySymbol = \r\n odataObject.CurrencySymbol;\r\n \r\n this.RoundOffPrice = \r\n (odataObject.RoundOffPrice != null) ? parseFloat(odataObject.RoundOffPrice) : undefined;\r\n \r\n this.RoundOffSales = \r\n (odataObject.RoundOffSales != null) ? parseFloat(odataObject.RoundOffSales) : undefined;\r\n \r\n this.RoundOffTypePrice = \r\n odataObject.RoundOffTypePrice;\r\n \r\n this.RoundOffTypeSales = \r\n odataObject.RoundOffTypeSales;\r\n \r\n this.NumberOfDecimals = \r\n odataObject.NumberOfDecimals;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CurrencyClass'] = CurrencyClass;\r\n \r\n /**\r\n * CurrencyAmount entity class.\r\n */\r\n export class CurrencyAmountClass implements Entities.CurrencyAmount {\r\n public CurrencyCode: string;\r\n public CurrencySymbol: string;\r\n public ConvertedAmount: number;\r\n public RoundedConvertedAmount: number;\r\n public ExchangeRate: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.CurrencySymbol = \r\n odataObject.CurrencySymbol;\r\n \r\n this.ConvertedAmount = \r\n (odataObject.ConvertedAmount != null) ? parseFloat(odataObject.ConvertedAmount) : undefined;\r\n \r\n this.RoundedConvertedAmount = \r\n (odataObject.RoundedConvertedAmount != null) ? parseFloat(odataObject.RoundedConvertedAmount) : undefined;\r\n \r\n this.ExchangeRate = \r\n (odataObject.ExchangeRate != null) ? parseFloat(odataObject.ExchangeRate) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CurrencyAmountClass'] = CurrencyAmountClass;\r\n \r\n /**\r\n * ScaleUnitConfiguration entity class.\r\n */\r\n export class ScaleUnitConfigurationClass implements Entities.ScaleUnitConfiguration {\r\n public Id: string;\r\n public Name: string;\r\n public Region: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Region = \r\n odataObject.Region;\r\n \r\n }\r\n }\r\n entityDictionary['ScaleUnitConfigurationClass'] = ScaleUnitConfigurationClass;\r\n \r\n /**\r\n * EnvironmentConfiguration entity class.\r\n */\r\n export class EnvironmentConfigurationClass implements Entities.EnvironmentConfiguration {\r\n public EnvironmentId: string;\r\n public EnvironmentName: string;\r\n public TenantId: string;\r\n public ClientAppInsightsInstrumentationKey: string;\r\n public HardwareStationAppInsightsInstrumentationKey: string;\r\n public WindowsPhonePosAppInsightsInstrumentationKey: string;\r\n public BaseVersion: string;\r\n public ScaleUnit: Entities.ScaleUnitConfiguration;\r\n public AADAuthority: string;\r\n public FrameworkName: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.EnvironmentId = \r\n odataObject.EnvironmentId;\r\n \r\n this.EnvironmentName = \r\n odataObject.EnvironmentName;\r\n \r\n this.TenantId = \r\n odataObject.TenantId;\r\n \r\n this.ClientAppInsightsInstrumentationKey = \r\n odataObject.ClientAppInsightsInstrumentationKey;\r\n \r\n this.HardwareStationAppInsightsInstrumentationKey = \r\n odataObject.HardwareStationAppInsightsInstrumentationKey;\r\n \r\n this.WindowsPhonePosAppInsightsInstrumentationKey = \r\n odataObject.WindowsPhonePosAppInsightsInstrumentationKey;\r\n \r\n this.BaseVersion = \r\n odataObject.BaseVersion;\r\n \r\n if (odataObject.ScaleUnit == null) {\r\n this.ScaleUnit = undefined;\r\n } else if (odataObject.ScaleUnit['@odata.type'] == null) {\r\n this.ScaleUnit = new ScaleUnitConfigurationClass(odataObject.ScaleUnit);\r\n } else {\r\n var className: string = odataObject.ScaleUnit['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ScaleUnit = new entityDictionary[className](odataObject.ScaleUnit)\r\n }\r\n }\r\n\r\n \r\n this.AADAuthority = \r\n odataObject.AADAuthority;\r\n \r\n this.FrameworkName = \r\n odataObject.FrameworkName;\r\n \r\n }\r\n }\r\n entityDictionary['EnvironmentConfigurationClass'] = EnvironmentConfigurationClass;\r\n \r\n /**\r\n * DeviceConfiguration entity class.\r\n */\r\n export class DeviceConfigurationClass implements Entities.DeviceConfiguration {\r\n public UseInMemoryDeviceDataStorage: boolean;\r\n public AllowItemsAggregation: boolean;\r\n public AggregateItemsForPrinting: boolean;\r\n public AggregatePayments: boolean;\r\n public AlwaysExpandTransactionScreenLineDetails: boolean;\r\n public AuditEnabled: boolean;\r\n public DiscountAtTotal: string;\r\n public ProductDiscount: string;\r\n public ManuallyCalculateComplexDiscounts: boolean;\r\n public DisplaySecondaryTotalCurrency: boolean;\r\n public EndOfTransaction: string;\r\n public ItemNotOnFile: string;\r\n public LimitStaffListToStore: boolean;\r\n public LineItemTaxChange: string;\r\n public MarkUp: string;\r\n public MaximumPrice: number;\r\n public MaximumQuantity: number;\r\n public MinimumPasswordLength: number;\r\n public MustKeyInPriceIfZero: boolean;\r\n public NfcEContingencyModeEnabled: string;\r\n public NfcEVoided: string;\r\n public FunctionalityProfileDescription: string;\r\n public OverridePrice: string;\r\n public PrintVoidTransactionReceipts: boolean;\r\n public PrintReceiptsOnCardDecline: boolean;\r\n public PrintXZReportsOnTerminal: boolean;\r\n public PrintTenderDetailsOnXReport: boolean;\r\n public ProfileId: string;\r\n public RefundSale: string;\r\n public ReturnProduct: string;\r\n public SalesPerson: string;\r\n public SecondaryTotalCurrency: string;\r\n public SelectHardwareStationOnTendering: boolean;\r\n public SerialNumber: string;\r\n public ShowStaffListAtLogOn: boolean;\r\n public StaffBarcodeLogOn: boolean;\r\n public StaffBarcodeLogOnRequiresPassword: boolean;\r\n public StaffCardLogOn: boolean;\r\n public StaffCardLogOnRequiresPassword: boolean;\r\n public StartOfTransaction: string;\r\n public EnableTimeRegistration: boolean;\r\n public TenderDeclaration: string;\r\n public TransactionTaxChange: string;\r\n public VoidItem: string;\r\n public VoidPayment: string;\r\n public SalesModeDefaultsAsCustomerOrder: boolean;\r\n public CreateOfflineCustomerOrders: boolean;\r\n public CreateAsyncCustomers: boolean;\r\n public EnableAxCustomerSearch: boolean;\r\n public VoidTransaction: string;\r\n public CultureName: string;\r\n public SystemLegalTermsUrl: string;\r\n public SystemPrivacyStatementUrl: string;\r\n public HideTrainingMode: boolean;\r\n public StorePhone: string;\r\n public StatementMethod: string;\r\n public StoreNumber: string;\r\n public ChannelId: number;\r\n public StoreTaxGroup: string;\r\n public TaxIdNumber: string;\r\n public TaxOverrideGroup: number;\r\n public TenderDeclarationCalculation: number;\r\n public UseCustomerBasedTax: boolean;\r\n public UseDestinationBasedTax: boolean;\r\n public AutoLogOffTimeoutInMinutes: number;\r\n public AutoExitMethodValue: number;\r\n public CustomerDisplayText1: string;\r\n public CustomerDisplayText2: string;\r\n public EFTStoreId: number;\r\n public EFTTerminalId: string;\r\n public ExitAfterEachTransaction: boolean;\r\n public HardwareProfile: string;\r\n public Placement: string;\r\n public TerminalDescription: string;\r\n public OpenDrawer: string;\r\n public OpenDrawerAtLogOnLogOff: boolean;\r\n public PrintTaxRefundChecks: boolean;\r\n public StandAlone: boolean;\r\n public TerminalId: string;\r\n public TerminalStatement: boolean;\r\n public VisualProfile: string;\r\n public Currency: string;\r\n public InventLocationId: string;\r\n public IncludeKitComponents: boolean;\r\n public AccentColor: number;\r\n public HeaderColor: number;\r\n public Theme: string;\r\n public FontScheme: number;\r\n public ShowAppBarLabel: boolean;\r\n public LogOnBackgroundPictureAsBase64: string;\r\n public LogOnBackgroundPicturePortraitAsBase64: string;\r\n public BackgroundPictureAsBase64: string;\r\n public LogonBackgroundPictureId: number;\r\n public LogonBackgroundPictureIdCompact: number;\r\n public LogonBackgroundPictureIdPortrait: number;\r\n public LogonBackgroundPictureIdCompactPortrait: number;\r\n public BackgroundPictureId: number;\r\n public RequireAmountDeclaration: boolean;\r\n public DecimalNotRequiredForMinorCurrencyUnit: boolean;\r\n public MaxTransactionSearchResults: number;\r\n public OfflineProfileId: number;\r\n public NewOfflineDatabaseCheckInterval: number;\r\n public OfflineTransactionUploadInterval: number;\r\n public ReconnectToOnlineInterval: number;\r\n public SwitchToOfflineTimeout: number;\r\n public OfflineSwitchApiPerformanceThresholdInSeconds: number;\r\n public ReconnectFromPerformanceInducedOfflineIntervalInSeconds: number;\r\n public RetentionDays: number;\r\n public HardwareConfigurations: Entities.HardwareConfigurations;\r\n public CreateRecording: boolean;\r\n public PlaybackRecording: boolean;\r\n public ShouldUseDefaultCommisionSalesGroup: boolean;\r\n public AskForSalesRepresentative: number;\r\n public IsSalesRepRequired: boolean;\r\n public ProhibitMixingSalesAndReturns: boolean;\r\n public ApplyDiscountsToPriceKeyedIn: boolean;\r\n public ApplyDiscountsToPriceOverrides: boolean;\r\n public IsProductSuggestionsEnabled: boolean;\r\n public ProductSearchType: string;\r\n public TerminalRecId: number;\r\n public DeviceRecId: number;\r\n public DenominationsToDisplayValue: number;\r\n public PromptOnSeamlessOffline: boolean;\r\n public RetryCountToOffline: number;\r\n public EnableAdvancedOfflineSwitching: boolean;\r\n public SystemHealthCheckInterval: number;\r\n public RejectOrderFulfillment: string;\r\n public ManuallyCalculateTaxes: boolean;\r\n public EmployeeLogonTypeValue: number;\r\n public StartAmountCalculation: number;\r\n public BankDropCalculation: number;\r\n public GenerateLoyaltyCardNumber: boolean;\r\n public FiscalRegistrationProcessId: string;\r\n public IncludeSalesOrderInvoices: boolean;\r\n public IncludeFreeTextInvoices: boolean;\r\n public IncludeProjectInvoices: boolean;\r\n public IncludeCreditNoteInvoices: boolean;\r\n public DisplayTaxExemptInLineDetails: boolean;\r\n public TaxExemptReceiptIndicator: string;\r\n public ManuallyCalculateCharges: boolean;\r\n public ChargeOverrideReasonCode: string;\r\n public ShiftReconcilation: string;\r\n public CustomerAccountFloorLimit: number;\r\n public VoidSuspendedTransactionsOnCloseShift: boolean;\r\n public ShowDateTime: boolean;\r\n public UseAdvancedCashManagement: boolean;\r\n public DefaultCustomerSearchModeValue: number;\r\n public AllowManualOfflineBeforeSignIn: boolean;\r\n public UseFinancialReconciliationInStore: boolean;\r\n public RequirePaymentForFulfillmentValue: number;\r\n public CardNotPresentProcessingConfigurationValue: number;\r\n public EnableQuickPayShortcuts: boolean;\r\n public ChangeDueBehaviorValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.UseInMemoryDeviceDataStorage = \r\n odataObject.UseInMemoryDeviceDataStorage;\r\n \r\n this.AllowItemsAggregation = \r\n odataObject.AllowItemsAggregation;\r\n \r\n this.AggregateItemsForPrinting = \r\n odataObject.AggregateItemsForPrinting;\r\n \r\n this.AggregatePayments = \r\n odataObject.AggregatePayments;\r\n \r\n this.AlwaysExpandTransactionScreenLineDetails = \r\n odataObject.AlwaysExpandTransactionScreenLineDetails;\r\n \r\n this.AuditEnabled = \r\n odataObject.AuditEnabled;\r\n \r\n this.DiscountAtTotal = \r\n odataObject.DiscountAtTotal;\r\n \r\n this.ProductDiscount = \r\n odataObject.ProductDiscount;\r\n \r\n this.ManuallyCalculateComplexDiscounts = \r\n odataObject.ManuallyCalculateComplexDiscounts;\r\n \r\n this.DisplaySecondaryTotalCurrency = \r\n odataObject.DisplaySecondaryTotalCurrency;\r\n \r\n this.EndOfTransaction = \r\n odataObject.EndOfTransaction;\r\n \r\n this.ItemNotOnFile = \r\n odataObject.ItemNotOnFile;\r\n \r\n this.LimitStaffListToStore = \r\n odataObject.LimitStaffListToStore;\r\n \r\n this.LineItemTaxChange = \r\n odataObject.LineItemTaxChange;\r\n \r\n this.MarkUp = \r\n odataObject.MarkUp;\r\n \r\n this.MaximumPrice = \r\n (odataObject.MaximumPrice != null) ? parseFloat(odataObject.MaximumPrice) : undefined;\r\n \r\n this.MaximumQuantity = \r\n (odataObject.MaximumQuantity != null) ? parseFloat(odataObject.MaximumQuantity) : undefined;\r\n \r\n this.MinimumPasswordLength = \r\n odataObject.MinimumPasswordLength;\r\n \r\n this.MustKeyInPriceIfZero = \r\n odataObject.MustKeyInPriceIfZero;\r\n \r\n this.NfcEContingencyModeEnabled = \r\n odataObject.NfcEContingencyModeEnabled;\r\n \r\n this.NfcEVoided = \r\n odataObject.NfcEVoided;\r\n \r\n this.FunctionalityProfileDescription = \r\n odataObject.FunctionalityProfileDescription;\r\n \r\n this.OverridePrice = \r\n odataObject.OverridePrice;\r\n \r\n this.PrintVoidTransactionReceipts = \r\n odataObject.PrintVoidTransactionReceipts;\r\n \r\n this.PrintReceiptsOnCardDecline = \r\n odataObject.PrintReceiptsOnCardDecline;\r\n \r\n this.PrintXZReportsOnTerminal = \r\n odataObject.PrintXZReportsOnTerminal;\r\n \r\n this.PrintTenderDetailsOnXReport = \r\n odataObject.PrintTenderDetailsOnXReport;\r\n \r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.RefundSale = \r\n odataObject.RefundSale;\r\n \r\n this.ReturnProduct = \r\n odataObject.ReturnProduct;\r\n \r\n this.SalesPerson = \r\n odataObject.SalesPerson;\r\n \r\n this.SecondaryTotalCurrency = \r\n odataObject.SecondaryTotalCurrency;\r\n \r\n this.SelectHardwareStationOnTendering = \r\n odataObject.SelectHardwareStationOnTendering;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.ShowStaffListAtLogOn = \r\n odataObject.ShowStaffListAtLogOn;\r\n \r\n this.StaffBarcodeLogOn = \r\n odataObject.StaffBarcodeLogOn;\r\n \r\n this.StaffBarcodeLogOnRequiresPassword = \r\n odataObject.StaffBarcodeLogOnRequiresPassword;\r\n \r\n this.StaffCardLogOn = \r\n odataObject.StaffCardLogOn;\r\n \r\n this.StaffCardLogOnRequiresPassword = \r\n odataObject.StaffCardLogOnRequiresPassword;\r\n \r\n this.StartOfTransaction = \r\n odataObject.StartOfTransaction;\r\n \r\n this.EnableTimeRegistration = \r\n odataObject.EnableTimeRegistration;\r\n \r\n this.TenderDeclaration = \r\n odataObject.TenderDeclaration;\r\n \r\n this.TransactionTaxChange = \r\n odataObject.TransactionTaxChange;\r\n \r\n this.VoidItem = \r\n odataObject.VoidItem;\r\n \r\n this.VoidPayment = \r\n odataObject.VoidPayment;\r\n \r\n this.SalesModeDefaultsAsCustomerOrder = \r\n odataObject.SalesModeDefaultsAsCustomerOrder;\r\n \r\n this.CreateOfflineCustomerOrders = \r\n odataObject.CreateOfflineCustomerOrders;\r\n \r\n this.CreateAsyncCustomers = \r\n odataObject.CreateAsyncCustomers;\r\n \r\n this.EnableAxCustomerSearch = \r\n odataObject.EnableAxCustomerSearch;\r\n \r\n this.VoidTransaction = \r\n odataObject.VoidTransaction;\r\n \r\n this.CultureName = \r\n odataObject.CultureName;\r\n \r\n this.SystemLegalTermsUrl = \r\n odataObject.SystemLegalTermsUrl;\r\n \r\n this.SystemPrivacyStatementUrl = \r\n odataObject.SystemPrivacyStatementUrl;\r\n \r\n this.HideTrainingMode = \r\n odataObject.HideTrainingMode;\r\n \r\n this.StorePhone = \r\n odataObject.StorePhone;\r\n \r\n this.StatementMethod = \r\n odataObject.StatementMethod;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.StoreTaxGroup = \r\n odataObject.StoreTaxGroup;\r\n \r\n this.TaxIdNumber = \r\n odataObject.TaxIdNumber;\r\n \r\n this.TaxOverrideGroup = \r\n (odataObject.TaxOverrideGroup != null) ? parseInt(odataObject.TaxOverrideGroup, 10) : undefined;\r\n \r\n this.TenderDeclarationCalculation = \r\n odataObject.TenderDeclarationCalculation;\r\n \r\n this.UseCustomerBasedTax = \r\n odataObject.UseCustomerBasedTax;\r\n \r\n this.UseDestinationBasedTax = \r\n odataObject.UseDestinationBasedTax;\r\n \r\n this.AutoLogOffTimeoutInMinutes = \r\n odataObject.AutoLogOffTimeoutInMinutes;\r\n \r\n this.AutoExitMethodValue = \r\n odataObject.AutoExitMethodValue;\r\n \r\n this.CustomerDisplayText1 = \r\n odataObject.CustomerDisplayText1;\r\n \r\n this.CustomerDisplayText2 = \r\n odataObject.CustomerDisplayText2;\r\n \r\n this.EFTStoreId = \r\n (odataObject.EFTStoreId != null) ? parseInt(odataObject.EFTStoreId, 10) : undefined;\r\n \r\n this.EFTTerminalId = \r\n odataObject.EFTTerminalId;\r\n \r\n this.ExitAfterEachTransaction = \r\n odataObject.ExitAfterEachTransaction;\r\n \r\n this.HardwareProfile = \r\n odataObject.HardwareProfile;\r\n \r\n this.Placement = \r\n odataObject.Placement;\r\n \r\n this.TerminalDescription = \r\n odataObject.TerminalDescription;\r\n \r\n this.OpenDrawer = \r\n odataObject.OpenDrawer;\r\n \r\n this.OpenDrawerAtLogOnLogOff = \r\n odataObject.OpenDrawerAtLogOnLogOff;\r\n \r\n this.PrintTaxRefundChecks = \r\n odataObject.PrintTaxRefundChecks;\r\n \r\n this.StandAlone = \r\n odataObject.StandAlone;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TerminalStatement = \r\n odataObject.TerminalStatement;\r\n \r\n this.VisualProfile = \r\n odataObject.VisualProfile;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.IncludeKitComponents = \r\n odataObject.IncludeKitComponents;\r\n \r\n this.AccentColor = \r\n odataObject.AccentColor;\r\n \r\n this.HeaderColor = \r\n odataObject.HeaderColor;\r\n \r\n this.Theme = \r\n odataObject.Theme;\r\n \r\n this.FontScheme = \r\n odataObject.FontScheme;\r\n \r\n this.ShowAppBarLabel = \r\n odataObject.ShowAppBarLabel;\r\n \r\n this.LogOnBackgroundPictureAsBase64 = \r\n odataObject.LogOnBackgroundPictureAsBase64;\r\n \r\n this.LogOnBackgroundPicturePortraitAsBase64 = \r\n odataObject.LogOnBackgroundPicturePortraitAsBase64;\r\n \r\n this.BackgroundPictureAsBase64 = \r\n odataObject.BackgroundPictureAsBase64;\r\n \r\n this.LogonBackgroundPictureId = \r\n (odataObject.LogonBackgroundPictureId != null) ? parseInt(odataObject.LogonBackgroundPictureId, 10) : undefined;\r\n \r\n this.LogonBackgroundPictureIdCompact = \r\n (odataObject.LogonBackgroundPictureIdCompact != null) ? parseInt(odataObject.LogonBackgroundPictureIdCompact, 10) : undefined;\r\n \r\n this.LogonBackgroundPictureIdPortrait = \r\n (odataObject.LogonBackgroundPictureIdPortrait != null) ? parseInt(odataObject.LogonBackgroundPictureIdPortrait, 10) : undefined;\r\n \r\n this.LogonBackgroundPictureIdCompactPortrait = \r\n (odataObject.LogonBackgroundPictureIdCompactPortrait != null) ? parseInt(odataObject.LogonBackgroundPictureIdCompactPortrait, 10) : undefined;\r\n \r\n this.BackgroundPictureId = \r\n (odataObject.BackgroundPictureId != null) ? parseInt(odataObject.BackgroundPictureId, 10) : undefined;\r\n \r\n this.RequireAmountDeclaration = \r\n odataObject.RequireAmountDeclaration;\r\n \r\n this.DecimalNotRequiredForMinorCurrencyUnit = \r\n odataObject.DecimalNotRequiredForMinorCurrencyUnit;\r\n \r\n this.MaxTransactionSearchResults = \r\n odataObject.MaxTransactionSearchResults;\r\n \r\n this.OfflineProfileId = \r\n (odataObject.OfflineProfileId != null) ? parseInt(odataObject.OfflineProfileId, 10) : undefined;\r\n \r\n this.NewOfflineDatabaseCheckInterval = \r\n odataObject.NewOfflineDatabaseCheckInterval;\r\n \r\n this.OfflineTransactionUploadInterval = \r\n odataObject.OfflineTransactionUploadInterval;\r\n \r\n this.ReconnectToOnlineInterval = \r\n odataObject.ReconnectToOnlineInterval;\r\n \r\n this.SwitchToOfflineTimeout = \r\n odataObject.SwitchToOfflineTimeout;\r\n \r\n this.OfflineSwitchApiPerformanceThresholdInSeconds = \r\n odataObject.OfflineSwitchApiPerformanceThresholdInSeconds;\r\n \r\n this.ReconnectFromPerformanceInducedOfflineIntervalInSeconds = \r\n odataObject.ReconnectFromPerformanceInducedOfflineIntervalInSeconds;\r\n \r\n this.RetentionDays = \r\n odataObject.RetentionDays;\r\n \r\n if (odataObject.HardwareConfigurations == null) {\r\n this.HardwareConfigurations = undefined;\r\n } else if (odataObject.HardwareConfigurations['@odata.type'] == null) {\r\n this.HardwareConfigurations = new HardwareConfigurationsClass(odataObject.HardwareConfigurations);\r\n } else {\r\n var className: string = odataObject.HardwareConfigurations['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.HardwareConfigurations = new entityDictionary[className](odataObject.HardwareConfigurations)\r\n }\r\n }\r\n\r\n \r\n this.CreateRecording = \r\n odataObject.CreateRecording;\r\n \r\n this.PlaybackRecording = \r\n odataObject.PlaybackRecording;\r\n \r\n this.ShouldUseDefaultCommisionSalesGroup = \r\n odataObject.ShouldUseDefaultCommisionSalesGroup;\r\n \r\n this.AskForSalesRepresentative = \r\n odataObject.AskForSalesRepresentative;\r\n \r\n this.IsSalesRepRequired = \r\n odataObject.IsSalesRepRequired;\r\n \r\n this.ProhibitMixingSalesAndReturns = \r\n odataObject.ProhibitMixingSalesAndReturns;\r\n \r\n this.ApplyDiscountsToPriceKeyedIn = \r\n odataObject.ApplyDiscountsToPriceKeyedIn;\r\n \r\n this.ApplyDiscountsToPriceOverrides = \r\n odataObject.ApplyDiscountsToPriceOverrides;\r\n \r\n this.IsProductSuggestionsEnabled = \r\n odataObject.IsProductSuggestionsEnabled;\r\n \r\n this.ProductSearchType = \r\n odataObject.ProductSearchType;\r\n \r\n this.TerminalRecId = \r\n (odataObject.TerminalRecId != null) ? parseInt(odataObject.TerminalRecId, 10) : undefined;\r\n \r\n this.DeviceRecId = \r\n (odataObject.DeviceRecId != null) ? parseInt(odataObject.DeviceRecId, 10) : undefined;\r\n \r\n this.DenominationsToDisplayValue = \r\n odataObject.DenominationsToDisplayValue;\r\n \r\n this.PromptOnSeamlessOffline = \r\n odataObject.PromptOnSeamlessOffline;\r\n \r\n this.RetryCountToOffline = \r\n odataObject.RetryCountToOffline;\r\n \r\n this.EnableAdvancedOfflineSwitching = \r\n odataObject.EnableAdvancedOfflineSwitching;\r\n \r\n this.SystemHealthCheckInterval = \r\n odataObject.SystemHealthCheckInterval;\r\n \r\n this.RejectOrderFulfillment = \r\n odataObject.RejectOrderFulfillment;\r\n \r\n this.ManuallyCalculateTaxes = \r\n odataObject.ManuallyCalculateTaxes;\r\n \r\n this.EmployeeLogonTypeValue = \r\n odataObject.EmployeeLogonTypeValue;\r\n \r\n this.StartAmountCalculation = \r\n odataObject.StartAmountCalculation;\r\n \r\n this.BankDropCalculation = \r\n odataObject.BankDropCalculation;\r\n \r\n this.GenerateLoyaltyCardNumber = \r\n odataObject.GenerateLoyaltyCardNumber;\r\n \r\n this.FiscalRegistrationProcessId = \r\n odataObject.FiscalRegistrationProcessId;\r\n \r\n this.IncludeSalesOrderInvoices = \r\n odataObject.IncludeSalesOrderInvoices;\r\n \r\n this.IncludeFreeTextInvoices = \r\n odataObject.IncludeFreeTextInvoices;\r\n \r\n this.IncludeProjectInvoices = \r\n odataObject.IncludeProjectInvoices;\r\n \r\n this.IncludeCreditNoteInvoices = \r\n odataObject.IncludeCreditNoteInvoices;\r\n \r\n this.DisplayTaxExemptInLineDetails = \r\n odataObject.DisplayTaxExemptInLineDetails;\r\n \r\n this.TaxExemptReceiptIndicator = \r\n odataObject.TaxExemptReceiptIndicator;\r\n \r\n this.ManuallyCalculateCharges = \r\n odataObject.ManuallyCalculateCharges;\r\n \r\n this.ChargeOverrideReasonCode = \r\n odataObject.ChargeOverrideReasonCode;\r\n \r\n this.ShiftReconcilation = \r\n odataObject.ShiftReconcilation;\r\n \r\n this.CustomerAccountFloorLimit = \r\n (odataObject.CustomerAccountFloorLimit != null) ? parseFloat(odataObject.CustomerAccountFloorLimit) : undefined;\r\n \r\n this.VoidSuspendedTransactionsOnCloseShift = \r\n odataObject.VoidSuspendedTransactionsOnCloseShift;\r\n \r\n this.ShowDateTime = \r\n odataObject.ShowDateTime;\r\n \r\n this.UseAdvancedCashManagement = \r\n odataObject.UseAdvancedCashManagement;\r\n \r\n this.DefaultCustomerSearchModeValue = \r\n odataObject.DefaultCustomerSearchModeValue;\r\n \r\n this.AllowManualOfflineBeforeSignIn = \r\n odataObject.AllowManualOfflineBeforeSignIn;\r\n \r\n this.UseFinancialReconciliationInStore = \r\n odataObject.UseFinancialReconciliationInStore;\r\n \r\n this.RequirePaymentForFulfillmentValue = \r\n odataObject.RequirePaymentForFulfillmentValue;\r\n \r\n this.CardNotPresentProcessingConfigurationValue = \r\n odataObject.CardNotPresentProcessingConfigurationValue;\r\n \r\n this.EnableQuickPayShortcuts = \r\n odataObject.EnableQuickPayShortcuts;\r\n \r\n this.ChangeDueBehaviorValue = \r\n odataObject.ChangeDueBehaviorValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DeviceConfigurationClass'] = DeviceConfigurationClass;\r\n \r\n /**\r\n * VisualProfile entity class.\r\n */\r\n export class VisualProfileClass implements Entities.VisualProfile {\r\n public ChannelId: number;\r\n public TerminalId: string;\r\n public AccentColor: number;\r\n public HeaderColor: number;\r\n public Theme: string;\r\n public FontSchemeTypeValue: number;\r\n public IsAppBarLabelVisible: boolean;\r\n public IsDateTimeVisible: boolean;\r\n public LogOnLayoutTypeValue: number;\r\n public LogOnKeyboardTypeValue: number;\r\n public LogonBackgroundPictureId: number;\r\n public CompactLogonBackgroundPictureId: number;\r\n public PortraitLogonBackgroundPictureId: number;\r\n public CompactPortraitLogonBackgroundPictureId: number;\r\n public BackgroundPictureId: number;\r\n public LogOnLogoPictureId: number;\r\n public IsProductIdVisibleOnCartLine: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.AccentColor = \r\n odataObject.AccentColor;\r\n \r\n this.HeaderColor = \r\n odataObject.HeaderColor;\r\n \r\n this.Theme = \r\n odataObject.Theme;\r\n \r\n this.FontSchemeTypeValue = \r\n odataObject.FontSchemeTypeValue;\r\n \r\n this.IsAppBarLabelVisible = \r\n odataObject.IsAppBarLabelVisible;\r\n \r\n this.IsDateTimeVisible = \r\n odataObject.IsDateTimeVisible;\r\n \r\n this.LogOnLayoutTypeValue = \r\n odataObject.LogOnLayoutTypeValue;\r\n \r\n this.LogOnKeyboardTypeValue = \r\n odataObject.LogOnKeyboardTypeValue;\r\n \r\n this.LogonBackgroundPictureId = \r\n (odataObject.LogonBackgroundPictureId != null) ? parseInt(odataObject.LogonBackgroundPictureId, 10) : undefined;\r\n \r\n this.CompactLogonBackgroundPictureId = \r\n (odataObject.CompactLogonBackgroundPictureId != null) ? parseInt(odataObject.CompactLogonBackgroundPictureId, 10) : undefined;\r\n \r\n this.PortraitLogonBackgroundPictureId = \r\n (odataObject.PortraitLogonBackgroundPictureId != null) ? parseInt(odataObject.PortraitLogonBackgroundPictureId, 10) : undefined;\r\n \r\n this.CompactPortraitLogonBackgroundPictureId = \r\n (odataObject.CompactPortraitLogonBackgroundPictureId != null) ? parseInt(odataObject.CompactPortraitLogonBackgroundPictureId, 10) : undefined;\r\n \r\n this.BackgroundPictureId = \r\n (odataObject.BackgroundPictureId != null) ? parseInt(odataObject.BackgroundPictureId, 10) : undefined;\r\n \r\n this.LogOnLogoPictureId = \r\n (odataObject.LogOnLogoPictureId != null) ? parseInt(odataObject.LogOnLogoPictureId, 10) : undefined;\r\n \r\n this.IsProductIdVisibleOnCartLine = \r\n odataObject.IsProductIdVisibleOnCartLine;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['VisualProfileClass'] = VisualProfileClass;\r\n \r\n /**\r\n * OperationalInsightsConfiguration entity class.\r\n */\r\n export class OperationalInsightsConfigurationClass implements Entities.OperationalInsightsConfiguration {\r\n public InstrumentationKey: string;\r\n public EnvironmentId: string;\r\n public IsEnabled: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InstrumentationKey = \r\n odataObject.InstrumentationKey;\r\n \r\n this.EnvironmentId = \r\n odataObject.EnvironmentId;\r\n \r\n this.IsEnabled = \r\n odataObject.IsEnabled;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OperationalInsightsConfigurationClass'] = OperationalInsightsConfigurationClass;\r\n \r\n /**\r\n * Device entity class.\r\n */\r\n export class DeviceClass implements Entities.Device {\r\n public ChannelId: number;\r\n public RecordId: number;\r\n public DeviceNumber: string;\r\n public DeviceId: string;\r\n public Description: string;\r\n public DeviceType: number;\r\n public TerminalRecordId: number;\r\n public TerminalId: string;\r\n public ChannelName: string;\r\n public UseInMemoryDeviceDataStorage: boolean;\r\n public AllowMassActivation: boolean;\r\n public TokenIssueTime: Date;\r\n public ActivationStatusValue: number;\r\n public Token: string;\r\n public CountryRegionIsoCode: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.DeviceNumber = \r\n odataObject.DeviceNumber;\r\n \r\n this.DeviceId = \r\n odataObject.DeviceId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.DeviceType = \r\n odataObject.DeviceType;\r\n \r\n this.TerminalRecordId = \r\n (odataObject.TerminalRecordId != null) ? parseInt(odataObject.TerminalRecordId, 10) : undefined;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.ChannelName = \r\n odataObject.ChannelName;\r\n \r\n this.UseInMemoryDeviceDataStorage = \r\n odataObject.UseInMemoryDeviceDataStorage;\r\n \r\n this.AllowMassActivation = \r\n odataObject.AllowMassActivation;\r\n \r\n this.TokenIssueTime = \r\n (odataObject.TokenIssueTime instanceof Date) ? odataObject.TokenIssueTime\r\n : (odataObject.TokenIssueTime != null) ? jsonLightReadStringPropertyValue(odataObject.TokenIssueTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ActivationStatusValue = \r\n odataObject.ActivationStatusValue;\r\n \r\n this.Token = \r\n odataObject.Token;\r\n \r\n this.CountryRegionIsoCode = \r\n odataObject.CountryRegionIsoCode;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DeviceClass'] = DeviceClass;\r\n \r\n /**\r\n * DiscountCode entity class.\r\n */\r\n export class DiscountCodeClass implements Entities.DiscountCode {\r\n public RecordId: number;\r\n public Barcode: string;\r\n public Code: string;\r\n public ConcurrencyMode: number;\r\n public Description: string;\r\n public Disclaimer: string;\r\n public IsDiscountCodeRequired: boolean;\r\n public Name: string;\r\n public OfferId: string;\r\n public IsEnabled: boolean;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.Code = \r\n odataObject.Code;\r\n \r\n this.ConcurrencyMode = \r\n odataObject.ConcurrencyMode;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Disclaimer = \r\n odataObject.Disclaimer;\r\n \r\n this.IsDiscountCodeRequired = \r\n odataObject.IsDiscountCodeRequired;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.OfferId = \r\n odataObject.OfferId;\r\n \r\n this.IsEnabled = \r\n odataObject.IsEnabled;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DiscountCodeClass'] = DiscountCodeClass;\r\n \r\n /**\r\n * DistrictInfo entity class.\r\n */\r\n export class DistrictInfoClass implements Entities.DistrictInfo {\r\n public Name: string;\r\n public Description: string;\r\n public CountryRegionId: string;\r\n public StateId: string;\r\n public CountyId: string;\r\n public CityName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.StateId = \r\n odataObject.StateId;\r\n \r\n this.CountyId = \r\n odataObject.CountyId;\r\n \r\n this.CityName = \r\n odataObject.CityName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DistrictInfoClass'] = DistrictInfoClass;\r\n \r\n /**\r\n * HardwareProfile entity class.\r\n */\r\n export class HardwareProfileClass implements Entities.HardwareProfile {\r\n public RecordId: number;\r\n public LineDisplayDelayForLinkedItems: number;\r\n public LineDisplayBalanceText: string;\r\n public LineDisplayBinaryConversion: boolean;\r\n public LineDisplayCharacterSet: number;\r\n public LineDisplayClosedLine1: string;\r\n public LineDisplayClosedLine2: string;\r\n public LineDisplayDeviceDescription: string;\r\n public LineDisplayDeviceTypeValue: number;\r\n public LineDisplayDeviceName: string;\r\n public LineDisplayDisplayLinkedItem: boolean;\r\n public LineDisplayDisplayTerminalClosed: boolean;\r\n public LineDisplayTotalText: string;\r\n public DualDisplayActive: boolean;\r\n public DualDisplayWebBrowserUrl: string;\r\n public DualDisplayImageRotatorInterval: number;\r\n public DualDisplayImageRotatorPath: string;\r\n public DualDisplayReceiptWidthPercentage: number;\r\n public DualDisplayDisplayType: string;\r\n public EftTypeId: number;\r\n public EftCompanyId: string;\r\n public EftConfiguration: number;\r\n public EftPaymentConnectorName: string;\r\n public EftData: string;\r\n public EftDescription: string;\r\n public EftMerchantId: string;\r\n public EftPassword: string;\r\n public EftServerName: string;\r\n public EftServerPort: string;\r\n public EftUserId: string;\r\n public EftTestMode: boolean;\r\n public MsrEndTrack1: string;\r\n public MsrEndTrack2: string;\r\n public FiscalPrinterManagementReportPAFIdentification: string;\r\n public FiscalPrinterManagementReportConfigParameter: string;\r\n public FiscalPrinterManagementReportTenderType: string;\r\n public FiscalPrinterManagementReportGiftCard: string;\r\n public FiscalRegisterDeviceTypeValue: number;\r\n public FiscalRegisterConfiguration: string;\r\n public FiscalRegisterDeviceDescription: string;\r\n public FiscalRegisterDeviceName: string;\r\n public KeyboardMappingId: string;\r\n public KeyLockDeviceTypeValue: number;\r\n public KeyLockDeviceDescription: string;\r\n public KeyLockDeviceName: string;\r\n public MsrDeviceTypeValue: number;\r\n public MsrDeviceDescription: string;\r\n public MsrDeviceName: string;\r\n public MsrMake: string;\r\n public MsrModel: string;\r\n public MsrSeparator: string;\r\n public MsrStartTrack: string;\r\n public PinPadDeviceTypeValue: number;\r\n public PinPadDeviceName: string;\r\n public PinPadMake: string;\r\n public PinPadModel: string;\r\n public PinPadDeviceDescription: string;\r\n public ProfileDescription: string;\r\n public ProfileId: string;\r\n public RFIDDeviceTypeValue: number;\r\n public RFIDDeviceName: string;\r\n public RFIDDeviceDescription: string;\r\n public ScaleDeviceTypeValue: number;\r\n public ScaleDeviceName: string;\r\n public ScaleDeviceDescription: string;\r\n public ScaleManualInputAllowed: boolean;\r\n public ScaleTimeoutInSeconds: number;\r\n public SignatureCaptureDeviceTypeValue: number;\r\n public SignatureCaptureDeviceName: string;\r\n public SignatureCaptureMake: string;\r\n public SignatureCaptureModel: string;\r\n public SignatureCaptureDeviceDescription: string;\r\n public SignatureCaptureFormName: string;\r\n public Printers: Entities.HardwareProfilePrinter[];\r\n public Scanners: Entities.HardwareProfileScanner[];\r\n public FiscalIntegrationTechnicalProfiles: Entities.FiscalIntegrationTechnicalProfile[];\r\n public CashDrawers: Entities.HardwareProfileCashDrawer[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.LineDisplayDelayForLinkedItems = \r\n odataObject.LineDisplayDelayForLinkedItems;\r\n \r\n this.LineDisplayBalanceText = \r\n odataObject.LineDisplayBalanceText;\r\n \r\n this.LineDisplayBinaryConversion = \r\n odataObject.LineDisplayBinaryConversion;\r\n \r\n this.LineDisplayCharacterSet = \r\n odataObject.LineDisplayCharacterSet;\r\n \r\n this.LineDisplayClosedLine1 = \r\n odataObject.LineDisplayClosedLine1;\r\n \r\n this.LineDisplayClosedLine2 = \r\n odataObject.LineDisplayClosedLine2;\r\n \r\n this.LineDisplayDeviceDescription = \r\n odataObject.LineDisplayDeviceDescription;\r\n \r\n this.LineDisplayDeviceTypeValue = \r\n odataObject.LineDisplayDeviceTypeValue;\r\n \r\n this.LineDisplayDeviceName = \r\n odataObject.LineDisplayDeviceName;\r\n \r\n this.LineDisplayDisplayLinkedItem = \r\n odataObject.LineDisplayDisplayLinkedItem;\r\n \r\n this.LineDisplayDisplayTerminalClosed = \r\n odataObject.LineDisplayDisplayTerminalClosed;\r\n \r\n this.LineDisplayTotalText = \r\n odataObject.LineDisplayTotalText;\r\n \r\n this.DualDisplayActive = \r\n odataObject.DualDisplayActive;\r\n \r\n this.DualDisplayWebBrowserUrl = \r\n odataObject.DualDisplayWebBrowserUrl;\r\n \r\n this.DualDisplayImageRotatorInterval = \r\n odataObject.DualDisplayImageRotatorInterval;\r\n \r\n this.DualDisplayImageRotatorPath = \r\n odataObject.DualDisplayImageRotatorPath;\r\n \r\n this.DualDisplayReceiptWidthPercentage = \r\n (odataObject.DualDisplayReceiptWidthPercentage != null) ? parseFloat(odataObject.DualDisplayReceiptWidthPercentage) : undefined;\r\n \r\n this.DualDisplayDisplayType = \r\n odataObject.DualDisplayDisplayType;\r\n \r\n this.EftTypeId = \r\n odataObject.EftTypeId;\r\n \r\n this.EftCompanyId = \r\n odataObject.EftCompanyId;\r\n \r\n this.EftConfiguration = \r\n odataObject.EftConfiguration;\r\n \r\n this.EftPaymentConnectorName = \r\n odataObject.EftPaymentConnectorName;\r\n \r\n this.EftData = \r\n odataObject.EftData;\r\n \r\n this.EftDescription = \r\n odataObject.EftDescription;\r\n \r\n this.EftMerchantId = \r\n odataObject.EftMerchantId;\r\n \r\n this.EftPassword = \r\n odataObject.EftPassword;\r\n \r\n this.EftServerName = \r\n odataObject.EftServerName;\r\n \r\n this.EftServerPort = \r\n odataObject.EftServerPort;\r\n \r\n this.EftUserId = \r\n odataObject.EftUserId;\r\n \r\n this.EftTestMode = \r\n odataObject.EftTestMode;\r\n \r\n this.MsrEndTrack1 = \r\n odataObject.MsrEndTrack1;\r\n \r\n this.MsrEndTrack2 = \r\n odataObject.MsrEndTrack2;\r\n \r\n this.FiscalPrinterManagementReportPAFIdentification = \r\n odataObject.FiscalPrinterManagementReportPAFIdentification;\r\n \r\n this.FiscalPrinterManagementReportConfigParameter = \r\n odataObject.FiscalPrinterManagementReportConfigParameter;\r\n \r\n this.FiscalPrinterManagementReportTenderType = \r\n odataObject.FiscalPrinterManagementReportTenderType;\r\n \r\n this.FiscalPrinterManagementReportGiftCard = \r\n odataObject.FiscalPrinterManagementReportGiftCard;\r\n \r\n this.FiscalRegisterDeviceTypeValue = \r\n odataObject.FiscalRegisterDeviceTypeValue;\r\n \r\n this.FiscalRegisterConfiguration = \r\n odataObject.FiscalRegisterConfiguration;\r\n \r\n this.FiscalRegisterDeviceDescription = \r\n odataObject.FiscalRegisterDeviceDescription;\r\n \r\n this.FiscalRegisterDeviceName = \r\n odataObject.FiscalRegisterDeviceName;\r\n \r\n this.KeyboardMappingId = \r\n odataObject.KeyboardMappingId;\r\n \r\n this.KeyLockDeviceTypeValue = \r\n odataObject.KeyLockDeviceTypeValue;\r\n \r\n this.KeyLockDeviceDescription = \r\n odataObject.KeyLockDeviceDescription;\r\n \r\n this.KeyLockDeviceName = \r\n odataObject.KeyLockDeviceName;\r\n \r\n this.MsrDeviceTypeValue = \r\n odataObject.MsrDeviceTypeValue;\r\n \r\n this.MsrDeviceDescription = \r\n odataObject.MsrDeviceDescription;\r\n \r\n this.MsrDeviceName = \r\n odataObject.MsrDeviceName;\r\n \r\n this.MsrMake = \r\n odataObject.MsrMake;\r\n \r\n this.MsrModel = \r\n odataObject.MsrModel;\r\n \r\n this.MsrSeparator = \r\n odataObject.MsrSeparator;\r\n \r\n this.MsrStartTrack = \r\n odataObject.MsrStartTrack;\r\n \r\n this.PinPadDeviceTypeValue = \r\n odataObject.PinPadDeviceTypeValue;\r\n \r\n this.PinPadDeviceName = \r\n odataObject.PinPadDeviceName;\r\n \r\n this.PinPadMake = \r\n odataObject.PinPadMake;\r\n \r\n this.PinPadModel = \r\n odataObject.PinPadModel;\r\n \r\n this.PinPadDeviceDescription = \r\n odataObject.PinPadDeviceDescription;\r\n \r\n this.ProfileDescription = \r\n odataObject.ProfileDescription;\r\n \r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.RFIDDeviceTypeValue = \r\n odataObject.RFIDDeviceTypeValue;\r\n \r\n this.RFIDDeviceName = \r\n odataObject.RFIDDeviceName;\r\n \r\n this.RFIDDeviceDescription = \r\n odataObject.RFIDDeviceDescription;\r\n \r\n this.ScaleDeviceTypeValue = \r\n odataObject.ScaleDeviceTypeValue;\r\n \r\n this.ScaleDeviceName = \r\n odataObject.ScaleDeviceName;\r\n \r\n this.ScaleDeviceDescription = \r\n odataObject.ScaleDeviceDescription;\r\n \r\n this.ScaleManualInputAllowed = \r\n odataObject.ScaleManualInputAllowed;\r\n \r\n this.ScaleTimeoutInSeconds = \r\n odataObject.ScaleTimeoutInSeconds;\r\n \r\n this.SignatureCaptureDeviceTypeValue = \r\n odataObject.SignatureCaptureDeviceTypeValue;\r\n \r\n this.SignatureCaptureDeviceName = \r\n odataObject.SignatureCaptureDeviceName;\r\n \r\n this.SignatureCaptureMake = \r\n odataObject.SignatureCaptureMake;\r\n \r\n this.SignatureCaptureModel = \r\n odataObject.SignatureCaptureModel;\r\n \r\n this.SignatureCaptureDeviceDescription = \r\n odataObject.SignatureCaptureDeviceDescription;\r\n \r\n this.SignatureCaptureFormName = \r\n odataObject.SignatureCaptureFormName;\r\n \r\n this.Printers = undefined;\r\n if (odataObject.Printers) {\r\n this.Printers = [];\r\n for (var i = 0; i < odataObject.Printers.length; i++) {\r\n if (odataObject.Printers[i] != null) {\r\n if (odataObject.Printers[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Printers[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Printers[i] = new entityDictionary[className](odataObject.Printers[i])\r\n }\r\n } else {\r\n this.Printers[i] = new HardwareProfilePrinterClass(odataObject.Printers[i]);\r\n }\r\n } else {\r\n this.Printers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Scanners = undefined;\r\n if (odataObject.Scanners) {\r\n this.Scanners = [];\r\n for (var i = 0; i < odataObject.Scanners.length; i++) {\r\n if (odataObject.Scanners[i] != null) {\r\n if (odataObject.Scanners[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Scanners[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Scanners[i] = new entityDictionary[className](odataObject.Scanners[i])\r\n }\r\n } else {\r\n this.Scanners[i] = new HardwareProfileScannerClass(odataObject.Scanners[i]);\r\n }\r\n } else {\r\n this.Scanners[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FiscalIntegrationTechnicalProfiles = undefined;\r\n if (odataObject.FiscalIntegrationTechnicalProfiles) {\r\n this.FiscalIntegrationTechnicalProfiles = [];\r\n for (var i = 0; i < odataObject.FiscalIntegrationTechnicalProfiles.length; i++) {\r\n if (odataObject.FiscalIntegrationTechnicalProfiles[i] != null) {\r\n if (odataObject.FiscalIntegrationTechnicalProfiles[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FiscalIntegrationTechnicalProfiles[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FiscalIntegrationTechnicalProfiles[i] = new entityDictionary[className](odataObject.FiscalIntegrationTechnicalProfiles[i])\r\n }\r\n } else {\r\n this.FiscalIntegrationTechnicalProfiles[i] = new FiscalIntegrationTechnicalProfileClass(odataObject.FiscalIntegrationTechnicalProfiles[i]);\r\n }\r\n } else {\r\n this.FiscalIntegrationTechnicalProfiles[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CashDrawers = undefined;\r\n if (odataObject.CashDrawers) {\r\n this.CashDrawers = [];\r\n for (var i = 0; i < odataObject.CashDrawers.length; i++) {\r\n if (odataObject.CashDrawers[i] != null) {\r\n if (odataObject.CashDrawers[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CashDrawers[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CashDrawers[i] = new entityDictionary[className](odataObject.CashDrawers[i])\r\n }\r\n } else {\r\n this.CashDrawers[i] = new HardwareProfileCashDrawerClass(odataObject.CashDrawers[i]);\r\n }\r\n } else {\r\n this.CashDrawers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareProfileClass'] = HardwareProfileClass;\r\n \r\n /**\r\n * SupportedLanguage entity class.\r\n */\r\n export class SupportedLanguageClass implements Entities.SupportedLanguage {\r\n public LanguageId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SupportedLanguageClass'] = SupportedLanguageClass;\r\n \r\n /**\r\n * PaymentCard entity class.\r\n */\r\n export class PaymentCardClass implements Entities.PaymentCard {\r\n public UseShippingAddress: boolean;\r\n public CardNumber: string;\r\n public CCID: string;\r\n public Track1: string;\r\n public Track2: string;\r\n public Track3: string;\r\n public VoiceAuthorizationCode: string;\r\n public EncryptedPin: string;\r\n public AdditionalSecurityData: string;\r\n public IsSwipe: boolean;\r\n public Phone: string;\r\n public Country: string;\r\n public House: string;\r\n public Address1: string;\r\n public Address2: string;\r\n public City: string;\r\n public State: string;\r\n public Zip: string;\r\n public NameOnCard: string;\r\n public CardTypeId: string;\r\n public ExpirationMonth: number;\r\n public ExpirationYear: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.UseShippingAddress = \r\n odataObject.UseShippingAddress;\r\n \r\n this.CardNumber = \r\n odataObject.CardNumber;\r\n \r\n this.CCID = \r\n odataObject.CCID;\r\n \r\n this.Track1 = \r\n odataObject.Track1;\r\n \r\n this.Track2 = \r\n odataObject.Track2;\r\n \r\n this.Track3 = \r\n odataObject.Track3;\r\n \r\n this.VoiceAuthorizationCode = \r\n odataObject.VoiceAuthorizationCode;\r\n \r\n this.EncryptedPin = \r\n odataObject.EncryptedPin;\r\n \r\n this.AdditionalSecurityData = \r\n odataObject.AdditionalSecurityData;\r\n \r\n this.IsSwipe = \r\n odataObject.IsSwipe;\r\n \r\n this.Phone = \r\n odataObject.Phone;\r\n \r\n this.Country = \r\n odataObject.Country;\r\n \r\n this.House = \r\n odataObject.House;\r\n \r\n this.Address1 = \r\n odataObject.Address1;\r\n \r\n this.Address2 = \r\n odataObject.Address2;\r\n \r\n this.City = \r\n odataObject.City;\r\n \r\n this.State = \r\n odataObject.State;\r\n \r\n this.Zip = \r\n odataObject.Zip;\r\n \r\n this.NameOnCard = \r\n odataObject.NameOnCard;\r\n \r\n this.CardTypeId = \r\n odataObject.CardTypeId;\r\n \r\n this.ExpirationMonth = \r\n odataObject.ExpirationMonth;\r\n \r\n this.ExpirationYear = \r\n odataObject.ExpirationYear;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PaymentCardClass'] = PaymentCardClass;\r\n \r\n /**\r\n * CardPaymentAcceptSettings entity class.\r\n */\r\n export class CardPaymentAcceptSettingsClass implements Entities.CardPaymentAcceptSettings {\r\n public HostPageOrigin: string;\r\n public AdaptorPath: string;\r\n public CardTokenizationEnabled: boolean;\r\n public CardPaymentEnabled: boolean;\r\n public PaymentAmount: number;\r\n public HideBillingAddress: boolean;\r\n public TenderTypeId: string;\r\n public Locale: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HostPageOrigin = \r\n odataObject.HostPageOrigin;\r\n \r\n this.AdaptorPath = \r\n odataObject.AdaptorPath;\r\n \r\n this.CardTokenizationEnabled = \r\n odataObject.CardTokenizationEnabled;\r\n \r\n this.CardPaymentEnabled = \r\n odataObject.CardPaymentEnabled;\r\n \r\n this.PaymentAmount = \r\n (odataObject.PaymentAmount != null) ? parseFloat(odataObject.PaymentAmount) : undefined;\r\n \r\n this.HideBillingAddress = \r\n odataObject.HideBillingAddress;\r\n \r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.Locale = \r\n odataObject.Locale;\r\n \r\n }\r\n }\r\n entityDictionary['CardPaymentAcceptSettingsClass'] = CardPaymentAcceptSettingsClass;\r\n \r\n /**\r\n * CardPaymentAcceptPoint entity class.\r\n */\r\n export class CardPaymentAcceptPointClass implements Entities.CardPaymentAcceptPoint {\r\n public AcceptPageUrl: string;\r\n public AcceptPageSubmitUrl: string;\r\n public MessageOrigin: string;\r\n public AcceptPageContent: string;\r\n public PaymentConnectorId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AcceptPageUrl = \r\n odataObject.AcceptPageUrl;\r\n \r\n this.AcceptPageSubmitUrl = \r\n odataObject.AcceptPageSubmitUrl;\r\n \r\n this.MessageOrigin = \r\n odataObject.MessageOrigin;\r\n \r\n this.AcceptPageContent = \r\n odataObject.AcceptPageContent;\r\n \r\n this.PaymentConnectorId = \r\n odataObject.PaymentConnectorId;\r\n \r\n }\r\n }\r\n entityDictionary['CardPaymentAcceptPointClass'] = CardPaymentAcceptPointClass;\r\n \r\n /**\r\n * CardPaymentAcceptResult entity class.\r\n */\r\n export class CardPaymentAcceptResultClass implements Entities.CardPaymentAcceptResult {\r\n public TenderLine: Entities.TenderLine;\r\n public TokenizedPaymentCard: Entities.TokenizedPaymentCard;\r\n public PaymentSdkErrors: Entities.PaymentError[];\r\n public AdditionalContext: string;\r\n public AccessCode: string;\r\n public Settings: Entities.RetrievePaymentResultSettings;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.TenderLine == null) {\r\n this.TenderLine = undefined;\r\n } else if (odataObject.TenderLine['@odata.type'] == null) {\r\n this.TenderLine = new TenderLineClass(odataObject.TenderLine);\r\n } else {\r\n var className: string = odataObject.TenderLine['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLine = new entityDictionary[className](odataObject.TenderLine)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.TokenizedPaymentCard == null) {\r\n this.TokenizedPaymentCard = undefined;\r\n } else if (odataObject.TokenizedPaymentCard['@odata.type'] == null) {\r\n this.TokenizedPaymentCard = new TokenizedPaymentCardClass(odataObject.TokenizedPaymentCard);\r\n } else {\r\n var className: string = odataObject.TokenizedPaymentCard['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TokenizedPaymentCard = new entityDictionary[className](odataObject.TokenizedPaymentCard)\r\n }\r\n }\r\n\r\n \r\n this.PaymentSdkErrors = undefined;\r\n if (odataObject.PaymentSdkErrors) {\r\n this.PaymentSdkErrors = [];\r\n for (var i = 0; i < odataObject.PaymentSdkErrors.length; i++) {\r\n if (odataObject.PaymentSdkErrors[i] != null) {\r\n if (odataObject.PaymentSdkErrors[i]['@odata.type'] != null) {\r\n var className: string = odataObject.PaymentSdkErrors[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PaymentSdkErrors[i] = new entityDictionary[className](odataObject.PaymentSdkErrors[i])\r\n }\r\n } else {\r\n this.PaymentSdkErrors[i] = new PaymentErrorClass(odataObject.PaymentSdkErrors[i]);\r\n }\r\n } else {\r\n this.PaymentSdkErrors[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AdditionalContext = \r\n odataObject.AdditionalContext;\r\n \r\n this.AccessCode = \r\n odataObject.AccessCode;\r\n \r\n if (odataObject.Settings == null) {\r\n this.Settings = undefined;\r\n } else if (odataObject.Settings['@odata.type'] == null) {\r\n this.Settings = new RetrievePaymentResultSettingsClass(odataObject.Settings);\r\n } else {\r\n var className: string = odataObject.Settings['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Settings = new entityDictionary[className](odataObject.Settings)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['CardPaymentAcceptResultClass'] = CardPaymentAcceptResultClass;\r\n \r\n /**\r\n * ReasonCodeLine entity class.\r\n */\r\n export class ReasonCodeLineClass implements Entities.ReasonCodeLine {\r\n public LineId: string;\r\n public Amount: number;\r\n public Information: string;\r\n public InformationAmount: number;\r\n public InputTypeValue: number;\r\n public ItemTender: string;\r\n public LineNumber: number;\r\n public LineTypeValue: number;\r\n public ParentLineId: string;\r\n public ReasonCodeId: string;\r\n public StatementCode: string;\r\n public SubReasonCodeId: string;\r\n public SourceCode: string;\r\n public SourceCode2: string;\r\n public SourceCode3: string;\r\n public TransactionId: string;\r\n public CreatedDateTime: Date;\r\n public FiscalTransactionParentGuid: string;\r\n public IsChanged: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.Information = \r\n odataObject.Information;\r\n \r\n this.InformationAmount = \r\n (odataObject.InformationAmount != null) ? parseFloat(odataObject.InformationAmount) : undefined;\r\n \r\n this.InputTypeValue = \r\n odataObject.InputTypeValue;\r\n \r\n this.ItemTender = \r\n odataObject.ItemTender;\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.LineTypeValue = \r\n odataObject.LineTypeValue;\r\n \r\n this.ParentLineId = \r\n odataObject.ParentLineId;\r\n \r\n this.ReasonCodeId = \r\n odataObject.ReasonCodeId;\r\n \r\n this.StatementCode = \r\n odataObject.StatementCode;\r\n \r\n this.SubReasonCodeId = \r\n odataObject.SubReasonCodeId;\r\n \r\n this.SourceCode = \r\n odataObject.SourceCode;\r\n \r\n this.SourceCode2 = \r\n odataObject.SourceCode2;\r\n \r\n this.SourceCode3 = \r\n odataObject.SourceCode3;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.FiscalTransactionParentGuid = \r\n odataObject.FiscalTransactionParentGuid;\r\n \r\n this.IsChanged = \r\n odataObject.IsChanged;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReasonCodeLineClass'] = ReasonCodeLineClass;\r\n \r\n /**\r\n * ReasonSubCode entity class.\r\n */\r\n export class ReasonSubCodeClass implements Entities.ReasonSubCode {\r\n public TriggerCode: string;\r\n public AmountPercent: number;\r\n public ReasonCodeId: string;\r\n public SubCodeId: string;\r\n public Description: string;\r\n public TriggerFunctionTypeValue: number;\r\n public ProductId: number;\r\n public PriceTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TriggerCode = \r\n odataObject.TriggerCode;\r\n \r\n this.AmountPercent = \r\n (odataObject.AmountPercent != null) ? parseFloat(odataObject.AmountPercent) : undefined;\r\n \r\n this.ReasonCodeId = \r\n odataObject.ReasonCodeId;\r\n \r\n this.SubCodeId = \r\n odataObject.SubCodeId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.TriggerFunctionTypeValue = \r\n odataObject.TriggerFunctionTypeValue;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.PriceTypeValue = \r\n odataObject.PriceTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReasonSubCodeClass'] = ReasonSubCodeClass;\r\n \r\n /**\r\n * Receipt entity class.\r\n */\r\n export class ReceiptClass implements Entities.Receipt {\r\n public TransactionId: string;\r\n public Header: string;\r\n public Body: string;\r\n public Footer: string;\r\n public Width: number;\r\n public ReceiptId: string;\r\n public LayoutId: string;\r\n public ReceiptTitle: string;\r\n public ReceiptTypeValue: number;\r\n public ReceiptTypeStrValue: string;\r\n public Printers: Entities.Printer[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.Header = \r\n odataObject.Header;\r\n \r\n this.Body = \r\n odataObject.Body;\r\n \r\n this.Footer = \r\n odataObject.Footer;\r\n \r\n this.Width = \r\n odataObject.Width;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.LayoutId = \r\n odataObject.LayoutId;\r\n \r\n this.ReceiptTitle = \r\n odataObject.ReceiptTitle;\r\n \r\n this.ReceiptTypeValue = \r\n odataObject.ReceiptTypeValue;\r\n \r\n this.ReceiptTypeStrValue = \r\n odataObject.ReceiptTypeStrValue;\r\n \r\n this.Printers = undefined;\r\n if (odataObject.Printers) {\r\n this.Printers = [];\r\n for (var i = 0; i < odataObject.Printers.length; i++) {\r\n if (odataObject.Printers[i] != null) {\r\n if (odataObject.Printers[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Printers[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Printers[i] = new entityDictionary[className](odataObject.Printers[i])\r\n }\r\n } else {\r\n this.Printers[i] = new PrinterClass(odataObject.Printers[i]);\r\n }\r\n } else {\r\n this.Printers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReceiptClass'] = ReceiptClass;\r\n \r\n /**\r\n * ReceiptMask entity class.\r\n */\r\n export class ReceiptMaskClass implements Entities.ReceiptMask {\r\n public FunctionalityProfileId: string;\r\n public IsIndependent: boolean;\r\n public ReceiptTransactionTypeValue: number;\r\n public RecordId: number;\r\n public Mask: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FunctionalityProfileId = \r\n odataObject.FunctionalityProfileId;\r\n \r\n this.IsIndependent = \r\n odataObject.IsIndependent;\r\n \r\n this.ReceiptTransactionTypeValue = \r\n odataObject.ReceiptTransactionTypeValue;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Mask = \r\n odataObject.Mask;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReceiptMaskClass'] = ReceiptMaskClass;\r\n \r\n /**\r\n * SalesLine entity class.\r\n */\r\n export class SalesLineClass implements Entities.SalesLine {\r\n public StaffId: string;\r\n public LineId: string;\r\n public Description: string;\r\n public OriginLineId: string;\r\n public TaxOverrideCode: string;\r\n public IsPriceKeyedIn: boolean;\r\n public IsTaxOverideCodeTaxExempt: boolean;\r\n public ProductId: number;\r\n public Barcode: string;\r\n public BarcodeEmbeddedPrice: number;\r\n public PriceInBarcode: boolean;\r\n public EntryMethodTypeValue: number;\r\n public MasterProductId: number;\r\n public ListingId: number;\r\n public IsPriceOverridden: boolean;\r\n public OriginalPrice: number;\r\n public TotalAmount: number;\r\n public NetAmountWithoutTax: number;\r\n public DiscountAmount: number;\r\n public DiscountAmountWithoutTax: number;\r\n public NetPrice: number;\r\n public TotalDiscount: number;\r\n public TotalPercentageDiscount: number;\r\n public LineDiscount: number;\r\n public PeriodicDiscount: number;\r\n public LineManualDiscountPercentage: number;\r\n public LineManualDiscountAmount: number;\r\n public ShippingAddress: Entities.Address;\r\n public DeliveryMode: string;\r\n public Comment: string;\r\n public RequestedDeliveryDate: Date;\r\n public PickupTimeslotStartDateTime: Date;\r\n public PickupTimeslotEndDateTime: Date;\r\n public InventoryLocationId: string;\r\n public WarehouseLocation: string;\r\n public InventoryStatusId: string;\r\n public LicensePlate: string;\r\n public InventoryDimensionId: string;\r\n public ItemType: number;\r\n public ReservationId: string;\r\n public LineNumber: number;\r\n public ReturnQuantity: number;\r\n public QuantityRemained: number;\r\n public QuantityShipped: number;\r\n public LineVersion: number;\r\n public StatusValue: number;\r\n public SalesStatusValue: number;\r\n public ProductSourceValue: number;\r\n public IsGiftCardLine: boolean;\r\n public GiftCardId: string;\r\n public GiftCardCurrencyCode: string;\r\n public GiftCardOperationValue: number;\r\n public GiftCardTypeValue: number;\r\n public IsInvoiceLine: boolean;\r\n public InvoiceId: string;\r\n public InvoiceAmount: number;\r\n public IsInvoiceSettled: boolean;\r\n public InvoiceTypeValue: number;\r\n public InvoicedSalesId: string;\r\n public IsVoided: boolean;\r\n public IsPriceLocked: boolean;\r\n public ChargeLines: Entities.ChargeLine[];\r\n public BasePrice: number;\r\n public AgreementPrice: number;\r\n public AdjustedPrice: number;\r\n public IsWarrantyLine: boolean;\r\n public WarrantableTransactionId: string;\r\n public WarrantableSalesId: string;\r\n public WarrantableLineNumber: number;\r\n public WarrantableSerialNumber: string;\r\n public ReturnTransactionId: string;\r\n public ReturnLineNumber: number;\r\n public ReturnInventTransId: string;\r\n public ReturnStore: string;\r\n public ReturnTerminalId: string;\r\n public ReturnChannelId: number;\r\n public FulfillmentStoreId: string;\r\n public SalesDate: Date;\r\n public QuantityInvoiced: number;\r\n public QuantityOrdered: number;\r\n public QuantityCanceled: number;\r\n public SavedQuantity: number;\r\n public IsSavedDiscount: boolean;\r\n public RecordId: number;\r\n public SerialNumber: string;\r\n public BatchId: string;\r\n public DeliveryModeChargeAmount: number;\r\n public UnitOfMeasureSymbol: string;\r\n public CatalogId: number;\r\n public ElectronicDeliveryEmailAddress: string;\r\n public ElectronicDeliveryEmailContent: string;\r\n public LoyaltyDiscountAmount: number;\r\n public LoyaltyPercentageDiscount: number;\r\n public TenderDiscountAmount: number;\r\n public TenderDiscountPercentage: number;\r\n public GiftCardBalance: number;\r\n public IsCustomerAccountDeposit: boolean;\r\n public Blocked: boolean;\r\n public Found: boolean;\r\n public DateToActivateItem: Date;\r\n public LinePercentageDiscount: number;\r\n public PeriodicPercentageDiscount: number;\r\n public QuantityDiscounted: number;\r\n public UnitQuantity: number;\r\n public UnitOfMeasureConversion: Entities.UnitOfMeasureConversion;\r\n public DiscountLines: Entities.DiscountLine[];\r\n public PriceLines: Entities.PriceLine[];\r\n public PeriodicDiscountPossibilities: Entities.DiscountLine[];\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public ReturnLabelProperties: Entities.ReturnLabelContent;\r\n public LineMultilineDiscOnItem: string;\r\n public RelatedDiscountedLineIds: string[];\r\n public LinkedParentLineId: string;\r\n public LineMultilineDiscOnItemValue: number;\r\n public WasChanged: boolean;\r\n public OriginalSalesOrderUnitOfMeasure: string;\r\n public InventOrderUnitOfMeasure: string;\r\n public TrackingId: string;\r\n public IsLoyaltyDiscountApplied: boolean;\r\n public CommissionSalesGroup: string;\r\n public IsCommissionSalesGroupOverriddenByCustomer: boolean;\r\n public CommissionSalesGroupSetByCashier: string;\r\n public QuantityNotProcessed: number;\r\n public QuantityReserved: number;\r\n public QuantityPicked: number;\r\n public QuantityPacked: number;\r\n public AttributeValues: Entities.AttributeValueBase[];\r\n public ThirdPartyGiftCardInfo: Entities.ThirdPartyGiftCardInfo;\r\n public QuantityReturnable: number;\r\n public LoyaltyRewardPointLines: Entities.LoyaltyRewardPointLine[];\r\n public ReturnLoyaltyRewardPointLines: Entities.LoyaltyRewardPointLine[];\r\n public FulfillmentStatus: Entities.FulfillmentLineStatus;\r\n public FulfillmentStatusValue: number;\r\n public DetailedLineStatusValue: number;\r\n public DetailedLineStatus: Entities.DetailedLineStatus;\r\n public LastReturnProcessedTime: Date;\r\n public ItemId: string;\r\n public Quantity: number;\r\n public Price: number;\r\n public ItemTaxGroupId: string;\r\n public SalesTaxGroupId: string;\r\n public OriginalSalesTaxGroupId: string;\r\n public OriginalItemTaxGroupId: string;\r\n public TaxAmount: number;\r\n public SalesOrderUnitOfMeasure: string;\r\n public NetAmount: number;\r\n public NetAmountPerUnit: number;\r\n public GrossAmount: number;\r\n public TaxLines: Entities.TaxLine[];\r\n public TaxMeasures: Entities.TaxMeasure[];\r\n public TaxAmountExemptInclusive: number;\r\n public TaxAmountInclusive: number;\r\n public TaxAmountExclusive: number;\r\n public NetAmountWithAllInclusiveTax: number;\r\n public BeginDateTime: Date;\r\n public EndDateTime: Date;\r\n public TaxRatePercent: number;\r\n public IsReturnByReceipt: boolean;\r\n public ReturnLineTaxAmount: number;\r\n public ReturnTaxLines: Entities.TaxLine[];\r\n public TaxExemptPriceInclusiveReductionAmount: number;\r\n public TaxExemptPriceInclusiveOriginalPrice: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.OriginLineId = \r\n odataObject.OriginLineId;\r\n \r\n this.TaxOverrideCode = \r\n odataObject.TaxOverrideCode;\r\n \r\n this.IsPriceKeyedIn = \r\n odataObject.IsPriceKeyedIn;\r\n \r\n this.IsTaxOverideCodeTaxExempt = \r\n odataObject.IsTaxOverideCodeTaxExempt;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.BarcodeEmbeddedPrice = \r\n (odataObject.BarcodeEmbeddedPrice != null) ? parseFloat(odataObject.BarcodeEmbeddedPrice) : undefined;\r\n \r\n this.PriceInBarcode = \r\n odataObject.PriceInBarcode;\r\n \r\n this.EntryMethodTypeValue = \r\n odataObject.EntryMethodTypeValue;\r\n \r\n this.MasterProductId = \r\n (odataObject.MasterProductId != null) ? parseInt(odataObject.MasterProductId, 10) : undefined;\r\n \r\n this.ListingId = \r\n (odataObject.ListingId != null) ? parseInt(odataObject.ListingId, 10) : undefined;\r\n \r\n this.IsPriceOverridden = \r\n odataObject.IsPriceOverridden;\r\n \r\n this.OriginalPrice = \r\n (odataObject.OriginalPrice != null) ? parseFloat(odataObject.OriginalPrice) : undefined;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.NetAmountWithoutTax = \r\n (odataObject.NetAmountWithoutTax != null) ? parseFloat(odataObject.NetAmountWithoutTax) : undefined;\r\n \r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.DiscountAmountWithoutTax = \r\n (odataObject.DiscountAmountWithoutTax != null) ? parseFloat(odataObject.DiscountAmountWithoutTax) : undefined;\r\n \r\n this.NetPrice = \r\n (odataObject.NetPrice != null) ? parseFloat(odataObject.NetPrice) : undefined;\r\n \r\n this.TotalDiscount = \r\n (odataObject.TotalDiscount != null) ? parseFloat(odataObject.TotalDiscount) : undefined;\r\n \r\n this.TotalPercentageDiscount = \r\n (odataObject.TotalPercentageDiscount != null) ? parseFloat(odataObject.TotalPercentageDiscount) : undefined;\r\n \r\n this.LineDiscount = \r\n (odataObject.LineDiscount != null) ? parseFloat(odataObject.LineDiscount) : undefined;\r\n \r\n this.PeriodicDiscount = \r\n (odataObject.PeriodicDiscount != null) ? parseFloat(odataObject.PeriodicDiscount) : undefined;\r\n \r\n this.LineManualDiscountPercentage = \r\n (odataObject.LineManualDiscountPercentage != null) ? parseFloat(odataObject.LineManualDiscountPercentage) : undefined;\r\n \r\n this.LineManualDiscountAmount = \r\n (odataObject.LineManualDiscountAmount != null) ? parseFloat(odataObject.LineManualDiscountAmount) : undefined;\r\n \r\n if (odataObject.ShippingAddress == null) {\r\n this.ShippingAddress = undefined;\r\n } else if (odataObject.ShippingAddress['@odata.type'] == null) {\r\n this.ShippingAddress = new AddressClass(odataObject.ShippingAddress);\r\n } else {\r\n var className: string = odataObject.ShippingAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingAddress = new entityDictionary[className](odataObject.ShippingAddress)\r\n }\r\n }\r\n\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotStartDateTime = \r\n (odataObject.PickupTimeslotStartDateTime instanceof Date) ? odataObject.PickupTimeslotStartDateTime\r\n : (odataObject.PickupTimeslotStartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotStartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotEndDateTime = \r\n (odataObject.PickupTimeslotEndDateTime instanceof Date) ? odataObject.PickupTimeslotEndDateTime\r\n : (odataObject.PickupTimeslotEndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotEndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.WarehouseLocation = \r\n odataObject.WarehouseLocation;\r\n \r\n this.InventoryStatusId = \r\n odataObject.InventoryStatusId;\r\n \r\n this.LicensePlate = \r\n odataObject.LicensePlate;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.ItemType = \r\n odataObject.ItemType;\r\n \r\n this.ReservationId = \r\n odataObject.ReservationId;\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.ReturnQuantity = \r\n (odataObject.ReturnQuantity != null) ? parseFloat(odataObject.ReturnQuantity) : undefined;\r\n \r\n this.QuantityRemained = \r\n (odataObject.QuantityRemained != null) ? parseFloat(odataObject.QuantityRemained) : undefined;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.LineVersion = \r\n odataObject.LineVersion;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.SalesStatusValue = \r\n odataObject.SalesStatusValue;\r\n \r\n this.ProductSourceValue = \r\n odataObject.ProductSourceValue;\r\n \r\n this.IsGiftCardLine = \r\n odataObject.IsGiftCardLine;\r\n \r\n this.GiftCardId = \r\n odataObject.GiftCardId;\r\n \r\n this.GiftCardCurrencyCode = \r\n odataObject.GiftCardCurrencyCode;\r\n \r\n this.GiftCardOperationValue = \r\n odataObject.GiftCardOperationValue;\r\n \r\n this.GiftCardTypeValue = \r\n odataObject.GiftCardTypeValue;\r\n \r\n this.IsInvoiceLine = \r\n odataObject.IsInvoiceLine;\r\n \r\n this.InvoiceId = \r\n odataObject.InvoiceId;\r\n \r\n this.InvoiceAmount = \r\n (odataObject.InvoiceAmount != null) ? parseFloat(odataObject.InvoiceAmount) : undefined;\r\n \r\n this.IsInvoiceSettled = \r\n odataObject.IsInvoiceSettled;\r\n \r\n this.InvoiceTypeValue = \r\n odataObject.InvoiceTypeValue;\r\n \r\n this.InvoicedSalesId = \r\n odataObject.InvoicedSalesId;\r\n \r\n this.IsVoided = \r\n odataObject.IsVoided;\r\n \r\n this.IsPriceLocked = \r\n odataObject.IsPriceLocked;\r\n \r\n this.ChargeLines = undefined;\r\n if (odataObject.ChargeLines) {\r\n this.ChargeLines = [];\r\n for (var i = 0; i < odataObject.ChargeLines.length; i++) {\r\n if (odataObject.ChargeLines[i] != null) {\r\n if (odataObject.ChargeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChargeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChargeLines[i] = new entityDictionary[className](odataObject.ChargeLines[i])\r\n }\r\n } else {\r\n this.ChargeLines[i] = new ChargeLineClass(odataObject.ChargeLines[i]);\r\n }\r\n } else {\r\n this.ChargeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.AgreementPrice = \r\n (odataObject.AgreementPrice != null) ? parseFloat(odataObject.AgreementPrice) : undefined;\r\n \r\n this.AdjustedPrice = \r\n (odataObject.AdjustedPrice != null) ? parseFloat(odataObject.AdjustedPrice) : undefined;\r\n \r\n this.IsWarrantyLine = \r\n odataObject.IsWarrantyLine;\r\n \r\n this.WarrantableTransactionId = \r\n odataObject.WarrantableTransactionId;\r\n \r\n this.WarrantableSalesId = \r\n odataObject.WarrantableSalesId;\r\n \r\n this.WarrantableLineNumber = \r\n (odataObject.WarrantableLineNumber != null) ? parseFloat(odataObject.WarrantableLineNumber) : undefined;\r\n \r\n this.WarrantableSerialNumber = \r\n odataObject.WarrantableSerialNumber;\r\n \r\n this.ReturnTransactionId = \r\n odataObject.ReturnTransactionId;\r\n \r\n this.ReturnLineNumber = \r\n (odataObject.ReturnLineNumber != null) ? parseFloat(odataObject.ReturnLineNumber) : undefined;\r\n \r\n this.ReturnInventTransId = \r\n odataObject.ReturnInventTransId;\r\n \r\n this.ReturnStore = \r\n odataObject.ReturnStore;\r\n \r\n this.ReturnTerminalId = \r\n odataObject.ReturnTerminalId;\r\n \r\n this.ReturnChannelId = \r\n (odataObject.ReturnChannelId != null) ? parseInt(odataObject.ReturnChannelId, 10) : undefined;\r\n \r\n this.FulfillmentStoreId = \r\n odataObject.FulfillmentStoreId;\r\n \r\n this.SalesDate = \r\n (odataObject.SalesDate instanceof Date) ? odataObject.SalesDate\r\n : (odataObject.SalesDate != null) ? jsonLightReadStringPropertyValue(odataObject.SalesDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.QuantityInvoiced = \r\n (odataObject.QuantityInvoiced != null) ? parseFloat(odataObject.QuantityInvoiced) : undefined;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.QuantityCanceled = \r\n (odataObject.QuantityCanceled != null) ? parseFloat(odataObject.QuantityCanceled) : undefined;\r\n \r\n this.SavedQuantity = \r\n (odataObject.SavedQuantity != null) ? parseFloat(odataObject.SavedQuantity) : undefined;\r\n \r\n this.IsSavedDiscount = \r\n odataObject.IsSavedDiscount;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.BatchId = \r\n odataObject.BatchId;\r\n \r\n this.DeliveryModeChargeAmount = \r\n (odataObject.DeliveryModeChargeAmount != null) ? parseFloat(odataObject.DeliveryModeChargeAmount) : undefined;\r\n \r\n this.UnitOfMeasureSymbol = \r\n odataObject.UnitOfMeasureSymbol;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.ElectronicDeliveryEmailAddress = \r\n odataObject.ElectronicDeliveryEmailAddress;\r\n \r\n this.ElectronicDeliveryEmailContent = \r\n odataObject.ElectronicDeliveryEmailContent;\r\n \r\n this.LoyaltyDiscountAmount = \r\n (odataObject.LoyaltyDiscountAmount != null) ? parseFloat(odataObject.LoyaltyDiscountAmount) : undefined;\r\n \r\n this.LoyaltyPercentageDiscount = \r\n (odataObject.LoyaltyPercentageDiscount != null) ? parseFloat(odataObject.LoyaltyPercentageDiscount) : undefined;\r\n \r\n this.TenderDiscountAmount = \r\n (odataObject.TenderDiscountAmount != null) ? parseFloat(odataObject.TenderDiscountAmount) : undefined;\r\n \r\n this.TenderDiscountPercentage = \r\n (odataObject.TenderDiscountPercentage != null) ? parseFloat(odataObject.TenderDiscountPercentage) : undefined;\r\n \r\n this.GiftCardBalance = \r\n (odataObject.GiftCardBalance != null) ? parseFloat(odataObject.GiftCardBalance) : undefined;\r\n \r\n this.IsCustomerAccountDeposit = \r\n odataObject.IsCustomerAccountDeposit;\r\n \r\n this.Blocked = \r\n odataObject.Blocked;\r\n \r\n this.Found = \r\n odataObject.Found;\r\n \r\n this.DateToActivateItem = \r\n (odataObject.DateToActivateItem instanceof Date) ? odataObject.DateToActivateItem\r\n : (odataObject.DateToActivateItem != null) ? jsonLightReadStringPropertyValue(odataObject.DateToActivateItem, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LinePercentageDiscount = \r\n (odataObject.LinePercentageDiscount != null) ? parseFloat(odataObject.LinePercentageDiscount) : undefined;\r\n \r\n this.PeriodicPercentageDiscount = \r\n (odataObject.PeriodicPercentageDiscount != null) ? parseFloat(odataObject.PeriodicPercentageDiscount) : undefined;\r\n \r\n this.QuantityDiscounted = \r\n (odataObject.QuantityDiscounted != null) ? parseFloat(odataObject.QuantityDiscounted) : undefined;\r\n \r\n this.UnitQuantity = \r\n (odataObject.UnitQuantity != null) ? parseFloat(odataObject.UnitQuantity) : undefined;\r\n \r\n if (odataObject.UnitOfMeasureConversion == null) {\r\n this.UnitOfMeasureConversion = undefined;\r\n } else if (odataObject.UnitOfMeasureConversion['@odata.type'] == null) {\r\n this.UnitOfMeasureConversion = new UnitOfMeasureConversionClass(odataObject.UnitOfMeasureConversion);\r\n } else {\r\n var className: string = odataObject.UnitOfMeasureConversion['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UnitOfMeasureConversion = new entityDictionary[className](odataObject.UnitOfMeasureConversion)\r\n }\r\n }\r\n\r\n \r\n this.DiscountLines = undefined;\r\n if (odataObject.DiscountLines) {\r\n this.DiscountLines = [];\r\n for (var i = 0; i < odataObject.DiscountLines.length; i++) {\r\n if (odataObject.DiscountLines[i] != null) {\r\n if (odataObject.DiscountLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DiscountLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DiscountLines[i] = new entityDictionary[className](odataObject.DiscountLines[i])\r\n }\r\n } else {\r\n this.DiscountLines[i] = new DiscountLineClass(odataObject.DiscountLines[i]);\r\n }\r\n } else {\r\n this.DiscountLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.PriceLines = undefined;\r\n if (odataObject.PriceLines) {\r\n this.PriceLines = [];\r\n for (var i = 0; i < odataObject.PriceLines.length; i++) {\r\n if (odataObject.PriceLines[i] != null) {\r\n if (odataObject.PriceLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.PriceLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PriceLines[i] = new entityDictionary[className](odataObject.PriceLines[i])\r\n }\r\n } else {\r\n this.PriceLines[i] = new PriceLineClass(odataObject.PriceLines[i]);\r\n }\r\n } else {\r\n this.PriceLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.PeriodicDiscountPossibilities = undefined;\r\n if (odataObject.PeriodicDiscountPossibilities) {\r\n this.PeriodicDiscountPossibilities = [];\r\n for (var i = 0; i < odataObject.PeriodicDiscountPossibilities.length; i++) {\r\n if (odataObject.PeriodicDiscountPossibilities[i] != null) {\r\n if (odataObject.PeriodicDiscountPossibilities[i]['@odata.type'] != null) {\r\n var className: string = odataObject.PeriodicDiscountPossibilities[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PeriodicDiscountPossibilities[i] = new entityDictionary[className](odataObject.PeriodicDiscountPossibilities[i])\r\n }\r\n } else {\r\n this.PeriodicDiscountPossibilities[i] = new DiscountLineClass(odataObject.PeriodicDiscountPossibilities[i]);\r\n }\r\n } else {\r\n this.PeriodicDiscountPossibilities[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.ReturnLabelProperties == null) {\r\n this.ReturnLabelProperties = undefined;\r\n } else if (odataObject.ReturnLabelProperties['@odata.type'] == null) {\r\n this.ReturnLabelProperties = new ReturnLabelContentClass(odataObject.ReturnLabelProperties);\r\n } else {\r\n var className: string = odataObject.ReturnLabelProperties['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReturnLabelProperties = new entityDictionary[className](odataObject.ReturnLabelProperties)\r\n }\r\n }\r\n\r\n \r\n this.LineMultilineDiscOnItem = \r\n odataObject.LineMultilineDiscOnItem;\r\n \r\n this.RelatedDiscountedLineIds = undefined;\r\n if (odataObject.RelatedDiscountedLineIds) {\r\n this.RelatedDiscountedLineIds = [];\r\n for (var i = 0; i < odataObject.RelatedDiscountedLineIds.length; i++) {\r\n if (odataObject.RelatedDiscountedLineIds[i] != null) {\r\n this.RelatedDiscountedLineIds[i] = \r\n odataObject.RelatedDiscountedLineIds[i];\r\n } else {\r\n this.RelatedDiscountedLineIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LinkedParentLineId = \r\n odataObject.LinkedParentLineId;\r\n \r\n this.LineMultilineDiscOnItemValue = \r\n odataObject.LineMultilineDiscOnItemValue;\r\n \r\n this.WasChanged = \r\n odataObject.WasChanged;\r\n \r\n this.OriginalSalesOrderUnitOfMeasure = \r\n odataObject.OriginalSalesOrderUnitOfMeasure;\r\n \r\n this.InventOrderUnitOfMeasure = \r\n odataObject.InventOrderUnitOfMeasure;\r\n \r\n this.TrackingId = \r\n odataObject.TrackingId;\r\n \r\n this.IsLoyaltyDiscountApplied = \r\n odataObject.IsLoyaltyDiscountApplied;\r\n \r\n this.CommissionSalesGroup = \r\n odataObject.CommissionSalesGroup;\r\n \r\n this.IsCommissionSalesGroupOverriddenByCustomer = \r\n odataObject.IsCommissionSalesGroupOverriddenByCustomer;\r\n \r\n this.CommissionSalesGroupSetByCashier = \r\n odataObject.CommissionSalesGroupSetByCashier;\r\n \r\n this.QuantityNotProcessed = \r\n (odataObject.QuantityNotProcessed != null) ? parseFloat(odataObject.QuantityNotProcessed) : undefined;\r\n \r\n this.QuantityReserved = \r\n (odataObject.QuantityReserved != null) ? parseFloat(odataObject.QuantityReserved) : undefined;\r\n \r\n this.QuantityPicked = \r\n (odataObject.QuantityPicked != null) ? parseFloat(odataObject.QuantityPicked) : undefined;\r\n \r\n this.QuantityPacked = \r\n (odataObject.QuantityPacked != null) ? parseFloat(odataObject.QuantityPacked) : undefined;\r\n \r\n this.AttributeValues = undefined;\r\n if (odataObject.AttributeValues) {\r\n this.AttributeValues = [];\r\n for (var i = 0; i < odataObject.AttributeValues.length; i++) {\r\n if (odataObject.AttributeValues[i] != null) {\r\n if (odataObject.AttributeValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttributeValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValues[i] = new entityDictionary[className](odataObject.AttributeValues[i])\r\n }\r\n } else {\r\n this.AttributeValues[i] = new AttributeValueBaseClass(odataObject.AttributeValues[i]);\r\n }\r\n } else {\r\n this.AttributeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.ThirdPartyGiftCardInfo == null) {\r\n this.ThirdPartyGiftCardInfo = undefined;\r\n } else if (odataObject.ThirdPartyGiftCardInfo['@odata.type'] == null) {\r\n this.ThirdPartyGiftCardInfo = new ThirdPartyGiftCardInfoClass(odataObject.ThirdPartyGiftCardInfo);\r\n } else {\r\n var className: string = odataObject.ThirdPartyGiftCardInfo['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ThirdPartyGiftCardInfo = new entityDictionary[className](odataObject.ThirdPartyGiftCardInfo)\r\n }\r\n }\r\n\r\n \r\n this.QuantityReturnable = \r\n (odataObject.QuantityReturnable != null) ? parseFloat(odataObject.QuantityReturnable) : undefined;\r\n \r\n this.LoyaltyRewardPointLines = undefined;\r\n if (odataObject.LoyaltyRewardPointLines) {\r\n this.LoyaltyRewardPointLines = [];\r\n for (var i = 0; i < odataObject.LoyaltyRewardPointLines.length; i++) {\r\n if (odataObject.LoyaltyRewardPointLines[i] != null) {\r\n if (odataObject.LoyaltyRewardPointLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LoyaltyRewardPointLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LoyaltyRewardPointLines[i] = new entityDictionary[className](odataObject.LoyaltyRewardPointLines[i])\r\n }\r\n } else {\r\n this.LoyaltyRewardPointLines[i] = new LoyaltyRewardPointLineClass(odataObject.LoyaltyRewardPointLines[i]);\r\n }\r\n } else {\r\n this.LoyaltyRewardPointLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReturnLoyaltyRewardPointLines = undefined;\r\n if (odataObject.ReturnLoyaltyRewardPointLines) {\r\n this.ReturnLoyaltyRewardPointLines = [];\r\n for (var i = 0; i < odataObject.ReturnLoyaltyRewardPointLines.length; i++) {\r\n if (odataObject.ReturnLoyaltyRewardPointLines[i] != null) {\r\n if (odataObject.ReturnLoyaltyRewardPointLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReturnLoyaltyRewardPointLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReturnLoyaltyRewardPointLines[i] = new entityDictionary[className](odataObject.ReturnLoyaltyRewardPointLines[i])\r\n }\r\n } else {\r\n this.ReturnLoyaltyRewardPointLines[i] = new LoyaltyRewardPointLineClass(odataObject.ReturnLoyaltyRewardPointLines[i]);\r\n }\r\n } else {\r\n this.ReturnLoyaltyRewardPointLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.FulfillmentStatus == null) {\r\n this.FulfillmentStatus = undefined;\r\n } else if (odataObject.FulfillmentStatus['@odata.type'] == null) {\r\n this.FulfillmentStatus = new FulfillmentLineStatusClass(odataObject.FulfillmentStatus);\r\n } else {\r\n var className: string = odataObject.FulfillmentStatus['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FulfillmentStatus = new entityDictionary[className](odataObject.FulfillmentStatus)\r\n }\r\n }\r\n\r\n \r\n this.FulfillmentStatusValue = \r\n odataObject.FulfillmentStatusValue;\r\n \r\n this.DetailedLineStatusValue = \r\n odataObject.DetailedLineStatusValue;\r\n \r\n if (odataObject.DetailedLineStatus == null) {\r\n this.DetailedLineStatus = undefined;\r\n } else if (odataObject.DetailedLineStatus['@odata.type'] == null) {\r\n this.DetailedLineStatus = new DetailedLineStatusClass(odataObject.DetailedLineStatus);\r\n } else {\r\n var className: string = odataObject.DetailedLineStatus['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DetailedLineStatus = new entityDictionary[className](odataObject.DetailedLineStatus)\r\n }\r\n }\r\n\r\n \r\n this.LastReturnProcessedTime = \r\n (odataObject.LastReturnProcessedTime instanceof Date) ? odataObject.LastReturnProcessedTime\r\n : (odataObject.LastReturnProcessedTime != null) ? jsonLightReadStringPropertyValue(odataObject.LastReturnProcessedTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.ItemTaxGroupId = \r\n odataObject.ItemTaxGroupId;\r\n \r\n this.SalesTaxGroupId = \r\n odataObject.SalesTaxGroupId;\r\n \r\n this.OriginalSalesTaxGroupId = \r\n odataObject.OriginalSalesTaxGroupId;\r\n \r\n this.OriginalItemTaxGroupId = \r\n odataObject.OriginalItemTaxGroupId;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.SalesOrderUnitOfMeasure = \r\n odataObject.SalesOrderUnitOfMeasure;\r\n \r\n this.NetAmount = \r\n (odataObject.NetAmount != null) ? parseFloat(odataObject.NetAmount) : undefined;\r\n \r\n this.NetAmountPerUnit = \r\n (odataObject.NetAmountPerUnit != null) ? parseFloat(odataObject.NetAmountPerUnit) : undefined;\r\n \r\n this.GrossAmount = \r\n (odataObject.GrossAmount != null) ? parseFloat(odataObject.GrossAmount) : undefined;\r\n \r\n this.TaxLines = undefined;\r\n if (odataObject.TaxLines) {\r\n this.TaxLines = [];\r\n for (var i = 0; i < odataObject.TaxLines.length; i++) {\r\n if (odataObject.TaxLines[i] != null) {\r\n if (odataObject.TaxLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxLines[i] = new entityDictionary[className](odataObject.TaxLines[i])\r\n }\r\n } else {\r\n this.TaxLines[i] = new TaxLineClass(odataObject.TaxLines[i]);\r\n }\r\n } else {\r\n this.TaxLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxMeasures = undefined;\r\n if (odataObject.TaxMeasures) {\r\n this.TaxMeasures = [];\r\n for (var i = 0; i < odataObject.TaxMeasures.length; i++) {\r\n if (odataObject.TaxMeasures[i] != null) {\r\n if (odataObject.TaxMeasures[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaxMeasures[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaxMeasures[i] = new entityDictionary[className](odataObject.TaxMeasures[i])\r\n }\r\n } else {\r\n this.TaxMeasures[i] = new TaxMeasureClass(odataObject.TaxMeasures[i]);\r\n }\r\n } else {\r\n this.TaxMeasures[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxAmountExemptInclusive = \r\n (odataObject.TaxAmountExemptInclusive != null) ? parseFloat(odataObject.TaxAmountExemptInclusive) : undefined;\r\n \r\n this.TaxAmountInclusive = \r\n (odataObject.TaxAmountInclusive != null) ? parseFloat(odataObject.TaxAmountInclusive) : undefined;\r\n \r\n this.TaxAmountExclusive = \r\n (odataObject.TaxAmountExclusive != null) ? parseFloat(odataObject.TaxAmountExclusive) : undefined;\r\n \r\n this.NetAmountWithAllInclusiveTax = \r\n (odataObject.NetAmountWithAllInclusiveTax != null) ? parseFloat(odataObject.NetAmountWithAllInclusiveTax) : undefined;\r\n \r\n this.BeginDateTime = \r\n (odataObject.BeginDateTime instanceof Date) ? odataObject.BeginDateTime\r\n : (odataObject.BeginDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.BeginDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TaxRatePercent = \r\n (odataObject.TaxRatePercent != null) ? parseFloat(odataObject.TaxRatePercent) : undefined;\r\n \r\n this.IsReturnByReceipt = \r\n odataObject.IsReturnByReceipt;\r\n \r\n this.ReturnLineTaxAmount = \r\n (odataObject.ReturnLineTaxAmount != null) ? parseFloat(odataObject.ReturnLineTaxAmount) : undefined;\r\n \r\n this.ReturnTaxLines = undefined;\r\n if (odataObject.ReturnTaxLines) {\r\n this.ReturnTaxLines = [];\r\n for (var i = 0; i < odataObject.ReturnTaxLines.length; i++) {\r\n if (odataObject.ReturnTaxLines[i] != null) {\r\n if (odataObject.ReturnTaxLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReturnTaxLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReturnTaxLines[i] = new entityDictionary[className](odataObject.ReturnTaxLines[i])\r\n }\r\n } else {\r\n this.ReturnTaxLines[i] = new TaxLineClass(odataObject.ReturnTaxLines[i]);\r\n }\r\n } else {\r\n this.ReturnTaxLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TaxExemptPriceInclusiveReductionAmount = \r\n (odataObject.TaxExemptPriceInclusiveReductionAmount != null) ? parseFloat(odataObject.TaxExemptPriceInclusiveReductionAmount) : undefined;\r\n \r\n this.TaxExemptPriceInclusiveOriginalPrice = \r\n (odataObject.TaxExemptPriceInclusiveOriginalPrice != null) ? parseFloat(odataObject.TaxExemptPriceInclusiveOriginalPrice) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesLineClass'] = SalesLineClass;\r\n \r\n /**\r\n * SearchArea entity class.\r\n */\r\n export class SearchAreaClass implements Entities.SearchArea {\r\n public Longitude: number;\r\n public Latitude: number;\r\n public Radius: number;\r\n public DistanceUnitValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Longitude = \r\n (odataObject.Longitude != null) ? parseFloat(odataObject.Longitude) : undefined;\r\n \r\n this.Latitude = \r\n (odataObject.Latitude != null) ? parseFloat(odataObject.Latitude) : undefined;\r\n \r\n this.Radius = \r\n (odataObject.Radius != null) ? parseFloat(odataObject.Radius) : undefined;\r\n \r\n this.DistanceUnitValue = \r\n odataObject.DistanceUnitValue;\r\n \r\n }\r\n }\r\n entityDictionary['SearchAreaClass'] = SearchAreaClass;\r\n \r\n /**\r\n * ShiftAccountLine entity class.\r\n */\r\n export class ShiftAccountLineClass implements Entities.ShiftAccountLine {\r\n public AccountTypeValue: number;\r\n public AccountNumber: string;\r\n public Amount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AccountTypeValue = \r\n odataObject.AccountTypeValue;\r\n \r\n this.AccountNumber = \r\n odataObject.AccountNumber;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShiftAccountLineClass'] = ShiftAccountLineClass;\r\n \r\n /**\r\n * ShiftTenderLine entity class.\r\n */\r\n export class ShiftTenderLineClass implements Entities.ShiftTenderLine {\r\n public TenderTypeId: string;\r\n public TenderTypeName: string;\r\n public CardTypeId: string;\r\n public TenderCurrency: string;\r\n public CountingRequired: boolean;\r\n public StartingAmountOfStoreCurrency: number;\r\n public StartingAmountOfTenderCurrency: number;\r\n public FloatingEntryAmountOfStoreCurrency: number;\r\n public FloatingEntryAmountOfTenderCurrency: number;\r\n public SafeDropAmountOfStoreCurrency: number;\r\n public SafeDropAmountOfTenderCurrency: number;\r\n public BankDropAmountOfStoreCurrency: number;\r\n public BankDropAmountOfTenderCurrency: number;\r\n public RemoveTenderAmountOfStoreCurrency: number;\r\n public RemoveTenderAmountOfTenderCurrency: number;\r\n public DeclareTenderAmountOfStoreCurrency: number;\r\n public DeclareTenderAmountOfTenderCurrency: number;\r\n public TenderedAmountOfStoreCurrency: number;\r\n public TenderedAmountOfTenderCurrency: number;\r\n public ChangeAmountOfStoreCurrency: number;\r\n public ChangeAmountOfTenderCurrency: number;\r\n public Count: number;\r\n public Notes: string;\r\n public OverriddenFloatEntryAmountInTenderedCurrency: number;\r\n public OverriddenBankDropAmountInTenderedCurrency: number;\r\n public OverriddenChangeAmountInTenderedCurrency: number;\r\n public OverriddenDeclaredTenderAmountInTenderedCurrency: number;\r\n public OverriddenRemovedTenderAmountInTenderedCurrency: number;\r\n public OverriddenSafeDropAmountInTenderedCurrency: number;\r\n public OverriddenStartingAmountInTenderedCurrency: number;\r\n public OverriddenTenderedAmountInTenderedCurrency: number;\r\n public OverShortAmountOfTenderCurrency: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.TenderTypeName = \r\n odataObject.TenderTypeName;\r\n \r\n this.CardTypeId = \r\n odataObject.CardTypeId;\r\n \r\n this.TenderCurrency = \r\n odataObject.TenderCurrency;\r\n \r\n this.CountingRequired = \r\n odataObject.CountingRequired;\r\n \r\n this.StartingAmountOfStoreCurrency = \r\n (odataObject.StartingAmountOfStoreCurrency != null) ? parseFloat(odataObject.StartingAmountOfStoreCurrency) : undefined;\r\n \r\n this.StartingAmountOfTenderCurrency = \r\n (odataObject.StartingAmountOfTenderCurrency != null) ? parseFloat(odataObject.StartingAmountOfTenderCurrency) : undefined;\r\n \r\n this.FloatingEntryAmountOfStoreCurrency = \r\n (odataObject.FloatingEntryAmountOfStoreCurrency != null) ? parseFloat(odataObject.FloatingEntryAmountOfStoreCurrency) : undefined;\r\n \r\n this.FloatingEntryAmountOfTenderCurrency = \r\n (odataObject.FloatingEntryAmountOfTenderCurrency != null) ? parseFloat(odataObject.FloatingEntryAmountOfTenderCurrency) : undefined;\r\n \r\n this.SafeDropAmountOfStoreCurrency = \r\n (odataObject.SafeDropAmountOfStoreCurrency != null) ? parseFloat(odataObject.SafeDropAmountOfStoreCurrency) : undefined;\r\n \r\n this.SafeDropAmountOfTenderCurrency = \r\n (odataObject.SafeDropAmountOfTenderCurrency != null) ? parseFloat(odataObject.SafeDropAmountOfTenderCurrency) : undefined;\r\n \r\n this.BankDropAmountOfStoreCurrency = \r\n (odataObject.BankDropAmountOfStoreCurrency != null) ? parseFloat(odataObject.BankDropAmountOfStoreCurrency) : undefined;\r\n \r\n this.BankDropAmountOfTenderCurrency = \r\n (odataObject.BankDropAmountOfTenderCurrency != null) ? parseFloat(odataObject.BankDropAmountOfTenderCurrency) : undefined;\r\n \r\n this.RemoveTenderAmountOfStoreCurrency = \r\n (odataObject.RemoveTenderAmountOfStoreCurrency != null) ? parseFloat(odataObject.RemoveTenderAmountOfStoreCurrency) : undefined;\r\n \r\n this.RemoveTenderAmountOfTenderCurrency = \r\n (odataObject.RemoveTenderAmountOfTenderCurrency != null) ? parseFloat(odataObject.RemoveTenderAmountOfTenderCurrency) : undefined;\r\n \r\n this.DeclareTenderAmountOfStoreCurrency = \r\n (odataObject.DeclareTenderAmountOfStoreCurrency != null) ? parseFloat(odataObject.DeclareTenderAmountOfStoreCurrency) : undefined;\r\n \r\n this.DeclareTenderAmountOfTenderCurrency = \r\n (odataObject.DeclareTenderAmountOfTenderCurrency != null) ? parseFloat(odataObject.DeclareTenderAmountOfTenderCurrency) : undefined;\r\n \r\n this.TenderedAmountOfStoreCurrency = \r\n (odataObject.TenderedAmountOfStoreCurrency != null) ? parseFloat(odataObject.TenderedAmountOfStoreCurrency) : undefined;\r\n \r\n this.TenderedAmountOfTenderCurrency = \r\n (odataObject.TenderedAmountOfTenderCurrency != null) ? parseFloat(odataObject.TenderedAmountOfTenderCurrency) : undefined;\r\n \r\n this.ChangeAmountOfStoreCurrency = \r\n (odataObject.ChangeAmountOfStoreCurrency != null) ? parseFloat(odataObject.ChangeAmountOfStoreCurrency) : undefined;\r\n \r\n this.ChangeAmountOfTenderCurrency = \r\n (odataObject.ChangeAmountOfTenderCurrency != null) ? parseFloat(odataObject.ChangeAmountOfTenderCurrency) : undefined;\r\n \r\n this.Count = \r\n odataObject.Count;\r\n \r\n this.Notes = \r\n odataObject.Notes;\r\n \r\n this.OverriddenFloatEntryAmountInTenderedCurrency = \r\n (odataObject.OverriddenFloatEntryAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenFloatEntryAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenBankDropAmountInTenderedCurrency = \r\n (odataObject.OverriddenBankDropAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenBankDropAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenChangeAmountInTenderedCurrency = \r\n (odataObject.OverriddenChangeAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenChangeAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenDeclaredTenderAmountInTenderedCurrency = \r\n (odataObject.OverriddenDeclaredTenderAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenDeclaredTenderAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenRemovedTenderAmountInTenderedCurrency = \r\n (odataObject.OverriddenRemovedTenderAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenRemovedTenderAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenSafeDropAmountInTenderedCurrency = \r\n (odataObject.OverriddenSafeDropAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenSafeDropAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenStartingAmountInTenderedCurrency = \r\n (odataObject.OverriddenStartingAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenStartingAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverriddenTenderedAmountInTenderedCurrency = \r\n (odataObject.OverriddenTenderedAmountInTenderedCurrency != null) ? parseFloat(odataObject.OverriddenTenderedAmountInTenderedCurrency) : undefined;\r\n \r\n this.OverShortAmountOfTenderCurrency = \r\n (odataObject.OverShortAmountOfTenderCurrency != null) ? parseFloat(odataObject.OverShortAmountOfTenderCurrency) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShiftTenderLineClass'] = ShiftTenderLineClass;\r\n \r\n /**\r\n * StockCountJournalTransaction entity class.\r\n */\r\n export class StockCountJournalTransactionClass implements Entities.StockCountJournalTransaction {\r\n public JournalId: string;\r\n public RecordId: number;\r\n public OperationType: number;\r\n public ItemId: string;\r\n public DataAreaId: string;\r\n public ProductRecordId: number;\r\n public ItemName: string;\r\n public InventDimId: string;\r\n public Counted: number;\r\n public Quantity: number;\r\n public EstimatedOnHandQuantity: number;\r\n public OnHandCalculationDateTime: Date;\r\n public Unit: string;\r\n public UserId: string;\r\n public TerminalId: string;\r\n public CountedDate: Date;\r\n public Status: number;\r\n public InventBatchId: string;\r\n public WarehouseLocationId: string;\r\n public InventoryStatus: string;\r\n public LicensePlate: string;\r\n public WarehousePalletId: string;\r\n public InventSiteId: string;\r\n public InventLocationId: string;\r\n public ConfigId: string;\r\n public InventSizeId: string;\r\n public InventColorId: string;\r\n public InventStyleId: string;\r\n public InventSerialId: string;\r\n public TrackingGuid: string;\r\n public UpdatedInAx: boolean;\r\n public Message: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.JournalId = \r\n odataObject.JournalId;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.OperationType = \r\n odataObject.OperationType;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.InventDimId = \r\n odataObject.InventDimId;\r\n \r\n this.Counted = \r\n (odataObject.Counted != null) ? parseFloat(odataObject.Counted) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.EstimatedOnHandQuantity = \r\n (odataObject.EstimatedOnHandQuantity != null) ? parseFloat(odataObject.EstimatedOnHandQuantity) : undefined;\r\n \r\n this.OnHandCalculationDateTime = \r\n (odataObject.OnHandCalculationDateTime instanceof Date) ? odataObject.OnHandCalculationDateTime\r\n : (odataObject.OnHandCalculationDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.OnHandCalculationDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Unit = \r\n odataObject.Unit;\r\n \r\n this.UserId = \r\n odataObject.UserId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.CountedDate = \r\n (odataObject.CountedDate instanceof Date) ? odataObject.CountedDate\r\n : (odataObject.CountedDate != null) ? jsonLightReadStringPropertyValue(odataObject.CountedDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.InventBatchId = \r\n odataObject.InventBatchId;\r\n \r\n this.WarehouseLocationId = \r\n odataObject.WarehouseLocationId;\r\n \r\n this.InventoryStatus = \r\n odataObject.InventoryStatus;\r\n \r\n this.LicensePlate = \r\n odataObject.LicensePlate;\r\n \r\n this.WarehousePalletId = \r\n odataObject.WarehousePalletId;\r\n \r\n this.InventSiteId = \r\n odataObject.InventSiteId;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.InventSizeId = \r\n odataObject.InventSizeId;\r\n \r\n this.InventColorId = \r\n odataObject.InventColorId;\r\n \r\n this.InventStyleId = \r\n odataObject.InventStyleId;\r\n \r\n this.InventSerialId = \r\n odataObject.InventSerialId;\r\n \r\n this.TrackingGuid = \r\n odataObject.TrackingGuid;\r\n \r\n this.UpdatedInAx = \r\n odataObject.UpdatedInAx;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['StockCountJournalTransactionClass'] = StockCountJournalTransactionClass;\r\n \r\n /**\r\n * TaxLine entity class.\r\n */\r\n export class TaxLineClass implements Entities.TaxLine {\r\n public TaxGroup: string;\r\n public Percentage: number;\r\n public IsExempt: boolean;\r\n public TaxBasis: number;\r\n public IsIncludedInPrice: boolean;\r\n public SaleLineNumber: number;\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public TransactionId: string;\r\n public TaxCode: string;\r\n public Amount: number;\r\n public AmountRefunded: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TaxGroup = \r\n odataObject.TaxGroup;\r\n \r\n this.Percentage = \r\n (odataObject.Percentage != null) ? parseFloat(odataObject.Percentage) : undefined;\r\n \r\n this.IsExempt = \r\n odataObject.IsExempt;\r\n \r\n this.TaxBasis = \r\n (odataObject.TaxBasis != null) ? parseFloat(odataObject.TaxBasis) : undefined;\r\n \r\n this.IsIncludedInPrice = \r\n odataObject.IsIncludedInPrice;\r\n \r\n this.SaleLineNumber = \r\n (odataObject.SaleLineNumber != null) ? parseFloat(odataObject.SaleLineNumber) : undefined;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.TaxCode = \r\n odataObject.TaxCode;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.AmountRefunded = \r\n (odataObject.AmountRefunded != null) ? parseFloat(odataObject.AmountRefunded) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TaxLineClass'] = TaxLineClass;\r\n \r\n /**\r\n * TenderLine entity class.\r\n */\r\n export class TenderLineClass implements Entities.TenderLine {\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public TransactionId: string;\r\n public InternalTransactionId: string;\r\n public RefundableAmount: number;\r\n public CaptureToken: string;\r\n public CardToken: string;\r\n public Authorization: string;\r\n public TransactionStatusValue: number;\r\n public IncomeExpenseAccountTypeValue: number;\r\n public MaskedCardNumber: string;\r\n public TenderDate: Date;\r\n public IsPreProcessed: boolean;\r\n public IsDeposit: boolean;\r\n public IsCustomerAccountFloorLimitUsed: boolean;\r\n public AuthorizationReferenceId: string;\r\n public IsIncrementalCaptureEnabled: boolean;\r\n public IsReauthorizationEnabled: boolean;\r\n public IncrementalOffsetAmount: number;\r\n public ChannelId: number;\r\n public IsLinkedRefund: boolean;\r\n public LinkedPaymentStore: string;\r\n public LinkedPaymentTerminalId: string;\r\n public LinkedPaymentTransactionId: string;\r\n public LinkedPaymentLineNumber: number;\r\n public LinkedPaymentCurrency: string;\r\n public TenderLineId: string;\r\n public Amount: number;\r\n public CashBackAmount: number;\r\n public AmountInTenderedCurrency: number;\r\n public AmountInCompanyCurrency: number;\r\n public Currency: string;\r\n public ExchangeRate: number;\r\n public CompanyCurrencyExchangeRate: number;\r\n public TenderTypeId: string;\r\n public SignatureData: string;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public LineNumber: number;\r\n public GiftCardId: string;\r\n public GiftCardPin: string;\r\n public GiftCardExpirationYear: number;\r\n public GiftCardExpirationMonth: number;\r\n public CreditMemoId: string;\r\n public CustomerId: string;\r\n public LoyaltyCardId: string;\r\n public CardTypeId: string;\r\n public IsChangeLine: boolean;\r\n public IsHistorical: boolean;\r\n public IsVoidable: boolean;\r\n public StatusValue: number;\r\n public VoidStatusValue: number;\r\n public AuthorizedAmount: number;\r\n public PaymentRefRecId: number;\r\n public CardPaymentAccountId: string;\r\n public ProcessingTypeValue: number;\r\n public CardProcessorStatusValue: number;\r\n public LinkedPaymentRefRecId: number;\r\n public IsPolicyBypassed: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.InternalTransactionId = \r\n odataObject.InternalTransactionId;\r\n \r\n this.RefundableAmount = \r\n (odataObject.RefundableAmount != null) ? parseFloat(odataObject.RefundableAmount) : undefined;\r\n \r\n this.CaptureToken = \r\n odataObject.CaptureToken;\r\n \r\n this.CardToken = \r\n odataObject.CardToken;\r\n \r\n this.Authorization = \r\n odataObject.Authorization;\r\n \r\n this.TransactionStatusValue = \r\n odataObject.TransactionStatusValue;\r\n \r\n this.IncomeExpenseAccountTypeValue = \r\n odataObject.IncomeExpenseAccountTypeValue;\r\n \r\n this.MaskedCardNumber = \r\n odataObject.MaskedCardNumber;\r\n \r\n this.TenderDate = \r\n (odataObject.TenderDate instanceof Date) ? odataObject.TenderDate\r\n : (odataObject.TenderDate != null) ? jsonLightReadStringPropertyValue(odataObject.TenderDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.IsPreProcessed = \r\n odataObject.IsPreProcessed;\r\n \r\n this.IsDeposit = \r\n odataObject.IsDeposit;\r\n \r\n this.IsCustomerAccountFloorLimitUsed = \r\n odataObject.IsCustomerAccountFloorLimitUsed;\r\n \r\n this.AuthorizationReferenceId = \r\n odataObject.AuthorizationReferenceId;\r\n \r\n this.IsIncrementalCaptureEnabled = \r\n odataObject.IsIncrementalCaptureEnabled;\r\n \r\n this.IsReauthorizationEnabled = \r\n odataObject.IsReauthorizationEnabled;\r\n \r\n this.IncrementalOffsetAmount = \r\n (odataObject.IncrementalOffsetAmount != null) ? parseFloat(odataObject.IncrementalOffsetAmount) : undefined;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.IsLinkedRefund = \r\n odataObject.IsLinkedRefund;\r\n \r\n this.LinkedPaymentStore = \r\n odataObject.LinkedPaymentStore;\r\n \r\n this.LinkedPaymentTerminalId = \r\n odataObject.LinkedPaymentTerminalId;\r\n \r\n this.LinkedPaymentTransactionId = \r\n odataObject.LinkedPaymentTransactionId;\r\n \r\n this.LinkedPaymentLineNumber = \r\n (odataObject.LinkedPaymentLineNumber != null) ? parseFloat(odataObject.LinkedPaymentLineNumber) : undefined;\r\n \r\n this.LinkedPaymentCurrency = \r\n odataObject.LinkedPaymentCurrency;\r\n \r\n this.TenderLineId = \r\n odataObject.TenderLineId;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.CashBackAmount = \r\n (odataObject.CashBackAmount != null) ? parseFloat(odataObject.CashBackAmount) : undefined;\r\n \r\n this.AmountInTenderedCurrency = \r\n (odataObject.AmountInTenderedCurrency != null) ? parseFloat(odataObject.AmountInTenderedCurrency) : undefined;\r\n \r\n this.AmountInCompanyCurrency = \r\n (odataObject.AmountInCompanyCurrency != null) ? parseFloat(odataObject.AmountInCompanyCurrency) : undefined;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.ExchangeRate = \r\n (odataObject.ExchangeRate != null) ? parseFloat(odataObject.ExchangeRate) : undefined;\r\n \r\n this.CompanyCurrencyExchangeRate = \r\n (odataObject.CompanyCurrencyExchangeRate != null) ? parseFloat(odataObject.CompanyCurrencyExchangeRate) : undefined;\r\n \r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.SignatureData = \r\n odataObject.SignatureData;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.GiftCardId = \r\n odataObject.GiftCardId;\r\n \r\n this.GiftCardPin = \r\n odataObject.GiftCardPin;\r\n \r\n this.GiftCardExpirationYear = \r\n odataObject.GiftCardExpirationYear;\r\n \r\n this.GiftCardExpirationMonth = \r\n odataObject.GiftCardExpirationMonth;\r\n \r\n this.CreditMemoId = \r\n odataObject.CreditMemoId;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.LoyaltyCardId = \r\n odataObject.LoyaltyCardId;\r\n \r\n this.CardTypeId = \r\n odataObject.CardTypeId;\r\n \r\n this.IsChangeLine = \r\n odataObject.IsChangeLine;\r\n \r\n this.IsHistorical = \r\n odataObject.IsHistorical;\r\n \r\n this.IsVoidable = \r\n odataObject.IsVoidable;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.VoidStatusValue = \r\n odataObject.VoidStatusValue;\r\n \r\n this.AuthorizedAmount = \r\n (odataObject.AuthorizedAmount != null) ? parseFloat(odataObject.AuthorizedAmount) : undefined;\r\n \r\n this.PaymentRefRecId = \r\n (odataObject.PaymentRefRecId != null) ? parseInt(odataObject.PaymentRefRecId, 10) : undefined;\r\n \r\n this.CardPaymentAccountId = \r\n odataObject.CardPaymentAccountId;\r\n \r\n this.ProcessingTypeValue = \r\n odataObject.ProcessingTypeValue;\r\n \r\n this.CardProcessorStatusValue = \r\n odataObject.CardProcessorStatusValue;\r\n \r\n this.LinkedPaymentRefRecId = \r\n (odataObject.LinkedPaymentRefRecId != null) ? parseInt(odataObject.LinkedPaymentRefRecId, 10) : undefined;\r\n \r\n this.IsPolicyBypassed = \r\n odataObject.IsPolicyBypassed;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TenderLineClass'] = TenderLineClass;\r\n \r\n /**\r\n * TextValueTranslation entity class.\r\n */\r\n export class TextValueTranslationClass implements Entities.TextValueTranslation {\r\n public Language: string;\r\n public Text: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Language = \r\n odataObject.Language;\r\n \r\n this.Text = \r\n odataObject.Text;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TextValueTranslationClass'] = TextValueTranslationClass;\r\n \r\n /**\r\n * UnitOfMeasure entity class.\r\n */\r\n export class UnitOfMeasureClass implements Entities.UnitOfMeasure {\r\n public DecimalPrecision: number;\r\n public Symbol: string;\r\n public Description: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DecimalPrecision = \r\n odataObject.DecimalPrecision;\r\n \r\n this.Symbol = \r\n odataObject.Symbol;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['UnitOfMeasureClass'] = UnitOfMeasureClass;\r\n \r\n /**\r\n * RecommendedElement entity class.\r\n */\r\n export class RecommendedElementClass implements Entities.RecommendedElement {\r\n public ElementId: string;\r\n public ElementTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ElementId = \r\n odataObject.ElementId;\r\n \r\n this.ElementTypeValue = \r\n odataObject.ElementTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RecommendedElementClass'] = RecommendedElementClass;\r\n \r\n /**\r\n * RecommendationCriteria entity class.\r\n */\r\n export class RecommendationCriteriaClass implements Entities.RecommendationCriteria {\r\n public CustomerAccountNumber: string;\r\n public CatalogId: number;\r\n public ProductIds: number[];\r\n public CategoryIds: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.ProductIds = undefined;\r\n if (odataObject.ProductIds) {\r\n this.ProductIds = [];\r\n for (var i = 0; i < odataObject.ProductIds.length; i++) {\r\n if (odataObject.ProductIds[i] != null) {\r\n this.ProductIds[i] = \r\n parseInt(odataObject.ProductIds[i], 10);\r\n } else {\r\n this.ProductIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CategoryIds = undefined;\r\n if (odataObject.CategoryIds) {\r\n this.CategoryIds = [];\r\n for (var i = 0; i < odataObject.CategoryIds.length; i++) {\r\n if (odataObject.CategoryIds[i] != null) {\r\n this.CategoryIds[i] = \r\n parseInt(odataObject.CategoryIds[i], 10);\r\n } else {\r\n this.CategoryIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RecommendationCriteriaClass'] = RecommendationCriteriaClass;\r\n \r\n /**\r\n * ProductListLine entity class.\r\n */\r\n export class ProductListLineClass implements Entities.ProductListLine {\r\n public ProductListId: string;\r\n public LineId: string;\r\n public ProductId: number;\r\n public Quantity: number;\r\n public UnitOfMeasure: string;\r\n public CreatedDateTime: Date;\r\n public LastUpdated: Date;\r\n public DeletedDateTime: Date;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductListId = \r\n odataObject.ProductListId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LastUpdated = \r\n (odataObject.LastUpdated instanceof Date) ? odataObject.LastUpdated\r\n : (odataObject.LastUpdated != null) ? jsonLightReadStringPropertyValue(odataObject.LastUpdated, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeletedDateTime = \r\n (odataObject.DeletedDateTime instanceof Date) ? odataObject.DeletedDateTime\r\n : (odataObject.DeletedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.DeletedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductListLineClass'] = ProductListLineClass;\r\n \r\n /**\r\n * CommerceListLine entity class.\r\n */\r\n export class CommerceListLineClass implements Entities.CommerceListLine {\r\n public CommerceListId: number;\r\n public LineId: number;\r\n public CustomerId: string;\r\n public CustomerName: string;\r\n public ProductId: number;\r\n public Quantity: number;\r\n public UnitOfMeasure: string;\r\n public IsFavorite: boolean;\r\n public IsRecurring: boolean;\r\n public IsPrivate: boolean;\r\n public CreatedDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CommerceListId = \r\n (odataObject.CommerceListId != null) ? parseInt(odataObject.CommerceListId, 10) : undefined;\r\n \r\n this.LineId = \r\n (odataObject.LineId != null) ? parseInt(odataObject.LineId, 10) : undefined;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.IsFavorite = \r\n odataObject.IsFavorite;\r\n \r\n this.IsRecurring = \r\n odataObject.IsRecurring;\r\n \r\n this.IsPrivate = \r\n odataObject.IsPrivate;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CommerceListLineClass'] = CommerceListLineClass;\r\n \r\n /**\r\n * CommerceListContributor entity class.\r\n */\r\n export class CommerceListContributorClass implements Entities.CommerceListContributor {\r\n public RecordId: number;\r\n public CustomerId: string;\r\n public CustomerName: string;\r\n public InvitationId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.InvitationId = \r\n (odataObject.InvitationId != null) ? parseInt(odataObject.InvitationId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CommerceListContributorClass'] = CommerceListContributorClass;\r\n \r\n /**\r\n * CommerceListInvitation entity class.\r\n */\r\n export class CommerceListInvitationClass implements Entities.CommerceListInvitation {\r\n public RecordId: number;\r\n public Invitee: string;\r\n public IsSent: boolean;\r\n public LastRequestDateTime: Date;\r\n public LastSentDateTime: Date;\r\n public StatusValue: number;\r\n public Token: string;\r\n public InvitationTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Invitee = \r\n odataObject.Invitee;\r\n \r\n this.IsSent = \r\n odataObject.IsSent;\r\n \r\n this.LastRequestDateTime = \r\n (odataObject.LastRequestDateTime instanceof Date) ? odataObject.LastRequestDateTime\r\n : (odataObject.LastRequestDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.LastRequestDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LastSentDateTime = \r\n (odataObject.LastSentDateTime instanceof Date) ? odataObject.LastSentDateTime\r\n : (odataObject.LastSentDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.LastSentDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.Token = \r\n odataObject.Token;\r\n \r\n this.InvitationTypeValue = \r\n odataObject.InvitationTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CommerceListInvitationClass'] = CommerceListInvitationClass;\r\n \r\n /**\r\n * SearchFilter entity class.\r\n */\r\n export class SearchFilterClass implements Entities.SearchFilter {\r\n public Key: string;\r\n public FilterTypeValue: number;\r\n public SearchValues: Entities.SearchFilterValue[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Key = \r\n odataObject.Key;\r\n \r\n this.FilterTypeValue = \r\n odataObject.FilterTypeValue;\r\n \r\n this.SearchValues = undefined;\r\n if (odataObject.SearchValues) {\r\n this.SearchValues = [];\r\n for (var i = 0; i < odataObject.SearchValues.length; i++) {\r\n if (odataObject.SearchValues[i] != null) {\r\n if (odataObject.SearchValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SearchValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SearchValues[i] = new entityDictionary[className](odataObject.SearchValues[i])\r\n }\r\n } else {\r\n this.SearchValues[i] = new SearchFilterValueClass(odataObject.SearchValues[i]);\r\n }\r\n } else {\r\n this.SearchValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SearchFilterClass'] = SearchFilterClass;\r\n \r\n /**\r\n * SearchFilterValue entity class.\r\n */\r\n export class SearchFilterValueClass implements Entities.SearchFilterValue {\r\n public Value: Entities.CommercePropertyValue;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.Value == null) {\r\n this.Value = undefined;\r\n } else if (odataObject.Value['@odata.type'] == null) {\r\n this.Value = new CommercePropertyValueClass(odataObject.Value);\r\n } else {\r\n var className: string = odataObject.Value['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value = new entityDictionary[className](odataObject.Value)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['SearchFilterValueClass'] = SearchFilterValueClass;\r\n \r\n /**\r\n * TransactionSearchCriteria entity class.\r\n */\r\n export class TransactionSearchCriteriaClass implements Entities.TransactionSearchCriteria {\r\n public TransactionIds: string[];\r\n public SalesId: string;\r\n public ReceiptId: string;\r\n public ChannelReferenceId: string;\r\n public CustomerAccountNumber: string;\r\n public CustomerFirstName: string;\r\n public CustomerLastName: string;\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public ItemId: string;\r\n public Barcode: string;\r\n public SerialNumber: string;\r\n public StaffId: string;\r\n public StartDateTime: Date;\r\n public EndDateTime: Date;\r\n public ReceiptEmailAddress: string;\r\n public SearchIdentifiers: string;\r\n public SearchLocationTypeValue: number;\r\n public CustomFilters: Entities.SearchFilter[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionIds = undefined;\r\n if (odataObject.TransactionIds) {\r\n this.TransactionIds = [];\r\n for (var i = 0; i < odataObject.TransactionIds.length; i++) {\r\n if (odataObject.TransactionIds[i] != null) {\r\n this.TransactionIds[i] = \r\n odataObject.TransactionIds[i];\r\n } else {\r\n this.TransactionIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.CustomerFirstName = \r\n odataObject.CustomerFirstName;\r\n \r\n this.CustomerLastName = \r\n odataObject.CustomerLastName;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ReceiptEmailAddress = \r\n odataObject.ReceiptEmailAddress;\r\n \r\n this.SearchIdentifiers = \r\n odataObject.SearchIdentifiers;\r\n \r\n this.SearchLocationTypeValue = \r\n odataObject.SearchLocationTypeValue;\r\n \r\n this.CustomFilters = undefined;\r\n if (odataObject.CustomFilters) {\r\n this.CustomFilters = [];\r\n for (var i = 0; i < odataObject.CustomFilters.length; i++) {\r\n if (odataObject.CustomFilters[i] != null) {\r\n if (odataObject.CustomFilters[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomFilters[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomFilters[i] = new entityDictionary[className](odataObject.CustomFilters[i])\r\n }\r\n } else {\r\n this.CustomFilters[i] = new SearchFilterClass(odataObject.CustomFilters[i]);\r\n }\r\n } else {\r\n this.CustomFilters[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TransactionSearchCriteriaClass'] = TransactionSearchCriteriaClass;\r\n \r\n /**\r\n * SalesOrderSearchCriteria entity class.\r\n */\r\n export class SalesOrderSearchCriteriaClass implements Entities.SalesOrderSearchCriteria {\r\n public TransactionIds: string[];\r\n public SalesId: string;\r\n public ReceiptId: string;\r\n public ChannelReferenceId: string;\r\n public CustomerAccountNumber: string;\r\n public CustomerFirstName: string;\r\n public CustomerLastName: string;\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public ItemId: string;\r\n public Barcode: string;\r\n public SerialNumber: string;\r\n public StaffId: string;\r\n public SearchTypeValue: number;\r\n public StartDateTime: Date;\r\n public EndDateTime: Date;\r\n public IncludeDetails: boolean;\r\n public ReceiptEmailAddress: string;\r\n public SearchIdentifiers: string;\r\n public SalesTransactionTypeValues: number[];\r\n public SearchLocationTypeValue: number;\r\n public TransactionStatusTypeValues: number[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionIds = undefined;\r\n if (odataObject.TransactionIds) {\r\n this.TransactionIds = [];\r\n for (var i = 0; i < odataObject.TransactionIds.length; i++) {\r\n if (odataObject.TransactionIds[i] != null) {\r\n this.TransactionIds[i] = \r\n odataObject.TransactionIds[i];\r\n } else {\r\n this.TransactionIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.CustomerFirstName = \r\n odataObject.CustomerFirstName;\r\n \r\n this.CustomerLastName = \r\n odataObject.CustomerLastName;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.SearchTypeValue = \r\n odataObject.SearchTypeValue;\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.IncludeDetails = \r\n odataObject.IncludeDetails;\r\n \r\n this.ReceiptEmailAddress = \r\n odataObject.ReceiptEmailAddress;\r\n \r\n this.SearchIdentifiers = \r\n odataObject.SearchIdentifiers;\r\n \r\n this.SalesTransactionTypeValues = undefined;\r\n if (odataObject.SalesTransactionTypeValues) {\r\n this.SalesTransactionTypeValues = [];\r\n for (var i = 0; i < odataObject.SalesTransactionTypeValues.length; i++) {\r\n if (odataObject.SalesTransactionTypeValues[i] != null) {\r\n this.SalesTransactionTypeValues[i] = \r\n odataObject.SalesTransactionTypeValues[i];\r\n } else {\r\n this.SalesTransactionTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SearchLocationTypeValue = \r\n odataObject.SearchLocationTypeValue;\r\n \r\n this.TransactionStatusTypeValues = undefined;\r\n if (odataObject.TransactionStatusTypeValues) {\r\n this.TransactionStatusTypeValues = [];\r\n for (var i = 0; i < odataObject.TransactionStatusTypeValues.length; i++) {\r\n if (odataObject.TransactionStatusTypeValues[i] != null) {\r\n this.TransactionStatusTypeValues[i] = \r\n odataObject.TransactionStatusTypeValues[i];\r\n } else {\r\n this.TransactionStatusTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesOrderSearchCriteriaClass'] = SalesOrderSearchCriteriaClass;\r\n \r\n /**\r\n * SearchStoreCriteria entity class.\r\n */\r\n export class SearchStoreCriteriaClass implements Entities.SearchStoreCriteria {\r\n public ChannelId: number;\r\n public StoreNumber: string;\r\n public InventoryLocationId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n }\r\n }\r\n entityDictionary['SearchStoreCriteriaClass'] = SearchStoreCriteriaClass;\r\n \r\n /**\r\n * CustomerSearchCriteria entity class.\r\n */\r\n export class CustomerSearchCriteriaClass implements Entities.CustomerSearchCriteria {\r\n public Keyword: string;\r\n public SearchOnlyCurrentCompany: boolean;\r\n public SearchLocationValue: number;\r\n public Refinements: Entities.CustomerRefinerValue[];\r\n public DataLevelValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Keyword = \r\n odataObject.Keyword;\r\n \r\n this.SearchOnlyCurrentCompany = \r\n odataObject.SearchOnlyCurrentCompany;\r\n \r\n this.SearchLocationValue = \r\n odataObject.SearchLocationValue;\r\n \r\n this.Refinements = undefined;\r\n if (odataObject.Refinements) {\r\n this.Refinements = [];\r\n for (var i = 0; i < odataObject.Refinements.length; i++) {\r\n if (odataObject.Refinements[i] != null) {\r\n if (odataObject.Refinements[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Refinements[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Refinements[i] = new entityDictionary[className](odataObject.Refinements[i])\r\n }\r\n } else {\r\n this.Refinements[i] = new CustomerRefinerValueClass(odataObject.Refinements[i]);\r\n }\r\n } else {\r\n this.Refinements[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DataLevelValue = \r\n odataObject.DataLevelValue;\r\n \r\n }\r\n }\r\n entityDictionary['CustomerSearchCriteriaClass'] = CustomerSearchCriteriaClass;\r\n \r\n /**\r\n * ProductPrice entity class.\r\n */\r\n export class ProductPriceClass implements Entities.ProductPrice {\r\n public ProductId: number;\r\n public ListingId: number;\r\n public BasePrice: number;\r\n public TradeAgreementPrice: number;\r\n public AdjustedPrice: number;\r\n public MaxVariantPrice: number;\r\n public MinVariantPrice: number;\r\n public CustomerContextualPrice: number;\r\n public DiscountAmount: number;\r\n public CurrencyCode: string;\r\n public ItemId: string;\r\n public InventoryDimensionId: string;\r\n public UnitOfMeasure: string;\r\n public ValidFrom: Date;\r\n public ProductLookupId: number;\r\n public ChannelId: number;\r\n public CatalogId: number;\r\n public DiscountLines: Entities.DiscountLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ListingId = \r\n (odataObject.ListingId != null) ? parseInt(odataObject.ListingId, 10) : undefined;\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.TradeAgreementPrice = \r\n (odataObject.TradeAgreementPrice != null) ? parseFloat(odataObject.TradeAgreementPrice) : undefined;\r\n \r\n this.AdjustedPrice = \r\n (odataObject.AdjustedPrice != null) ? parseFloat(odataObject.AdjustedPrice) : undefined;\r\n \r\n this.MaxVariantPrice = \r\n (odataObject.MaxVariantPrice != null) ? parseFloat(odataObject.MaxVariantPrice) : undefined;\r\n \r\n this.MinVariantPrice = \r\n (odataObject.MinVariantPrice != null) ? parseFloat(odataObject.MinVariantPrice) : undefined;\r\n \r\n this.CustomerContextualPrice = \r\n (odataObject.CustomerContextualPrice != null) ? parseFloat(odataObject.CustomerContextualPrice) : undefined;\r\n \r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ProductLookupId = \r\n (odataObject.ProductLookupId != null) ? parseInt(odataObject.ProductLookupId, 10) : undefined;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.DiscountLines = undefined;\r\n if (odataObject.DiscountLines) {\r\n this.DiscountLines = [];\r\n for (var i = 0; i < odataObject.DiscountLines.length; i++) {\r\n if (odataObject.DiscountLines[i] != null) {\r\n if (odataObject.DiscountLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DiscountLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DiscountLines[i] = new entityDictionary[className](odataObject.DiscountLines[i])\r\n }\r\n } else {\r\n this.DiscountLines[i] = new DiscountLineClass(odataObject.DiscountLines[i]);\r\n }\r\n } else {\r\n this.DiscountLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductPriceClass'] = ProductPriceClass;\r\n \r\n /**\r\n * OrgUnitAvailability entity class.\r\n */\r\n export class OrgUnitAvailabilityClass implements Entities.OrgUnitAvailability {\r\n public OrgUnitLocation: Entities.OrgUnitLocation;\r\n public ItemAvailabilities: Entities.ItemAvailability[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.OrgUnitLocation == null) {\r\n this.OrgUnitLocation = undefined;\r\n } else if (odataObject.OrgUnitLocation['@odata.type'] == null) {\r\n this.OrgUnitLocation = new OrgUnitLocationClass(odataObject.OrgUnitLocation);\r\n } else {\r\n var className: string = odataObject.OrgUnitLocation['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.OrgUnitLocation = new entityDictionary[className](odataObject.OrgUnitLocation)\r\n }\r\n }\r\n\r\n \r\n this.ItemAvailabilities = undefined;\r\n if (odataObject.ItemAvailabilities) {\r\n this.ItemAvailabilities = [];\r\n for (var i = 0; i < odataObject.ItemAvailabilities.length; i++) {\r\n if (odataObject.ItemAvailabilities[i] != null) {\r\n if (odataObject.ItemAvailabilities[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ItemAvailabilities[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ItemAvailabilities[i] = new entityDictionary[className](odataObject.ItemAvailabilities[i])\r\n }\r\n } else {\r\n this.ItemAvailabilities[i] = new ItemAvailabilityClass(odataObject.ItemAvailabilities[i]);\r\n }\r\n } else {\r\n this.ItemAvailabilities[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitAvailabilityClass'] = OrgUnitAvailabilityClass;\r\n \r\n /**\r\n * ProductVariantPropertySet entity class.\r\n */\r\n export class ProductVariantPropertySetClass implements Entities.ProductVariantPropertySet {\r\n public VariantId: number;\r\n public ProductVariantPropertiesAsList: Entities.ProductPropertyTranslation[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.VariantId = \r\n (odataObject.VariantId != null) ? parseInt(odataObject.VariantId, 10) : undefined;\r\n \r\n this.ProductVariantPropertiesAsList = undefined;\r\n if (odataObject.ProductVariantPropertiesAsList) {\r\n this.ProductVariantPropertiesAsList = [];\r\n for (var i = 0; i < odataObject.ProductVariantPropertiesAsList.length; i++) {\r\n if (odataObject.ProductVariantPropertiesAsList[i] != null) {\r\n if (odataObject.ProductVariantPropertiesAsList[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductVariantPropertiesAsList[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductVariantPropertiesAsList[i] = new entityDictionary[className](odataObject.ProductVariantPropertiesAsList[i])\r\n }\r\n } else {\r\n this.ProductVariantPropertiesAsList[i] = new ProductPropertyTranslationClass(odataObject.ProductVariantPropertiesAsList[i]);\r\n }\r\n } else {\r\n this.ProductVariantPropertiesAsList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductVariantPropertySetClass'] = ProductVariantPropertySetClass;\r\n \r\n /**\r\n * PurchaseOrderLine entity class.\r\n */\r\n export class PurchaseOrderLineClass implements Entities.PurchaseOrderLine {\r\n public RecordId: number;\r\n public OrderId: string;\r\n public ProductRecordId: number;\r\n public ItemId: string;\r\n public ItemName: string;\r\n public InventDimId: string;\r\n public QuantityOrdered: number;\r\n public PurchaseQuantity: number;\r\n public PurchaseUnit: string;\r\n public PurchaseReceived: number;\r\n public PurchaseReceivedNow: number;\r\n public InventBatchId: string;\r\n public WMSLocationId: string;\r\n public WMSPalletId: string;\r\n public InventoryStatus: string;\r\n public LicensePlate: string;\r\n public InventSiteId: string;\r\n public InventLocationId: string;\r\n public ConfigId: string;\r\n public InventSerialId: string;\r\n public InventSizeId: string;\r\n public InventColorId: string;\r\n public InventStyleId: string;\r\n public IsCommitted: boolean;\r\n public Message: string;\r\n public UniqueIdentifier: string;\r\n public DeliveryMethod: string;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.InventDimId = \r\n odataObject.InventDimId;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.PurchaseQuantity = \r\n (odataObject.PurchaseQuantity != null) ? parseFloat(odataObject.PurchaseQuantity) : undefined;\r\n \r\n this.PurchaseUnit = \r\n odataObject.PurchaseUnit;\r\n \r\n this.PurchaseReceived = \r\n (odataObject.PurchaseReceived != null) ? parseFloat(odataObject.PurchaseReceived) : undefined;\r\n \r\n this.PurchaseReceivedNow = \r\n (odataObject.PurchaseReceivedNow != null) ? parseFloat(odataObject.PurchaseReceivedNow) : undefined;\r\n \r\n this.InventBatchId = \r\n odataObject.InventBatchId;\r\n \r\n this.WMSLocationId = \r\n odataObject.WMSLocationId;\r\n \r\n this.WMSPalletId = \r\n odataObject.WMSPalletId;\r\n \r\n this.InventoryStatus = \r\n odataObject.InventoryStatus;\r\n \r\n this.LicensePlate = \r\n odataObject.LicensePlate;\r\n \r\n this.InventSiteId = \r\n odataObject.InventSiteId;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.InventSerialId = \r\n odataObject.InventSerialId;\r\n \r\n this.InventSizeId = \r\n odataObject.InventSizeId;\r\n \r\n this.InventColorId = \r\n odataObject.InventColorId;\r\n \r\n this.InventStyleId = \r\n odataObject.InventStyleId;\r\n \r\n this.IsCommitted = \r\n odataObject.IsCommitted;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.UniqueIdentifier = \r\n odataObject.UniqueIdentifier;\r\n \r\n this.DeliveryMethod = \r\n odataObject.DeliveryMethod;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PurchaseOrderLineClass'] = PurchaseOrderLineClass;\r\n \r\n /**\r\n * TransferOrderLine entity class.\r\n */\r\n export class TransferOrderLineClass implements Entities.TransferOrderLine {\r\n public RecordId: number;\r\n public OrderId: string;\r\n public ProductRecordId: number;\r\n public ItemId: string;\r\n public ItemName: string;\r\n public InventDimId: string;\r\n public QuantityTransferred: number;\r\n public QuantityShipped: number;\r\n public QuantityReceived: number;\r\n public QuantityShipNow: number;\r\n public QuantityReceiveNow: number;\r\n public QuantityRemainShip: number;\r\n public QuantityRemainReceive: number;\r\n public PurchaseUnit: string;\r\n public InventBatchId: string;\r\n public WMSLocationId: string;\r\n public WMSPalletId: string;\r\n public InventoryStatus: string;\r\n public LicensePlate: string;\r\n public InventSiteId: string;\r\n public InventLocationId: string;\r\n public ConfigId: string;\r\n public InventSerialId: string;\r\n public InventSizeId: string;\r\n public InventColorId: string;\r\n public InventStyleId: string;\r\n public IsCommitted: boolean;\r\n public Message: string;\r\n public Guid: string;\r\n public DeliveryMethod: string;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.InventDimId = \r\n odataObject.InventDimId;\r\n \r\n this.QuantityTransferred = \r\n (odataObject.QuantityTransferred != null) ? parseFloat(odataObject.QuantityTransferred) : undefined;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.QuantityReceived = \r\n (odataObject.QuantityReceived != null) ? parseFloat(odataObject.QuantityReceived) : undefined;\r\n \r\n this.QuantityShipNow = \r\n (odataObject.QuantityShipNow != null) ? parseFloat(odataObject.QuantityShipNow) : undefined;\r\n \r\n this.QuantityReceiveNow = \r\n (odataObject.QuantityReceiveNow != null) ? parseFloat(odataObject.QuantityReceiveNow) : undefined;\r\n \r\n this.QuantityRemainShip = \r\n (odataObject.QuantityRemainShip != null) ? parseFloat(odataObject.QuantityRemainShip) : undefined;\r\n \r\n this.QuantityRemainReceive = \r\n (odataObject.QuantityRemainReceive != null) ? parseFloat(odataObject.QuantityRemainReceive) : undefined;\r\n \r\n this.PurchaseUnit = \r\n odataObject.PurchaseUnit;\r\n \r\n this.InventBatchId = \r\n odataObject.InventBatchId;\r\n \r\n this.WMSLocationId = \r\n odataObject.WMSLocationId;\r\n \r\n this.WMSPalletId = \r\n odataObject.WMSPalletId;\r\n \r\n this.InventoryStatus = \r\n odataObject.InventoryStatus;\r\n \r\n this.LicensePlate = \r\n odataObject.LicensePlate;\r\n \r\n this.InventSiteId = \r\n odataObject.InventSiteId;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.InventSerialId = \r\n odataObject.InventSerialId;\r\n \r\n this.InventSizeId = \r\n odataObject.InventSizeId;\r\n \r\n this.InventColorId = \r\n odataObject.InventColorId;\r\n \r\n this.InventStyleId = \r\n odataObject.InventStyleId;\r\n \r\n this.IsCommitted = \r\n odataObject.IsCommitted;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.Guid = \r\n odataObject.Guid;\r\n \r\n this.DeliveryMethod = \r\n odataObject.DeliveryMethod;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TransferOrderLineClass'] = TransferOrderLineClass;\r\n \r\n /**\r\n * TransferOrderJournal entity class.\r\n */\r\n export class TransferOrderJournalClass implements Entities.TransferOrderJournal {\r\n public OrderId: string;\r\n public VoucherId: string;\r\n public UpdatedByWorker: string;\r\n public InventLocationIdFrom: string;\r\n public InventLocationIdTo: string;\r\n public QuantityShipped: number;\r\n public PostingDate: Date;\r\n public DeliveryMode: string;\r\n public Comments: string;\r\n public JournalLines: Entities.TransferOrderJournalLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.VoucherId = \r\n odataObject.VoucherId;\r\n \r\n this.UpdatedByWorker = \r\n odataObject.UpdatedByWorker;\r\n \r\n this.InventLocationIdFrom = \r\n odataObject.InventLocationIdFrom;\r\n \r\n this.InventLocationIdTo = \r\n odataObject.InventLocationIdTo;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.PostingDate = \r\n (odataObject.PostingDate instanceof Date) ? odataObject.PostingDate\r\n : (odataObject.PostingDate != null) ? jsonLightReadStringPropertyValue(odataObject.PostingDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.Comments = \r\n odataObject.Comments;\r\n \r\n this.JournalLines = undefined;\r\n if (odataObject.JournalLines) {\r\n this.JournalLines = [];\r\n for (var i = 0; i < odataObject.JournalLines.length; i++) {\r\n if (odataObject.JournalLines[i] != null) {\r\n if (odataObject.JournalLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.JournalLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.JournalLines[i] = new entityDictionary[className](odataObject.JournalLines[i])\r\n }\r\n } else {\r\n this.JournalLines[i] = new TransferOrderJournalLineClass(odataObject.JournalLines[i]);\r\n }\r\n } else {\r\n this.JournalLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TransferOrderJournalClass'] = TransferOrderJournalClass;\r\n \r\n /**\r\n * PickingListLine entity class.\r\n */\r\n export class PickingListLineClass implements Entities.PickingListLine {\r\n public RecordId: number;\r\n public OrderId: string;\r\n public ProductRecordId: number;\r\n public ItemId: string;\r\n public ItemName: string;\r\n public InventDimId: string;\r\n public QuantityOrdered: number;\r\n public PurchaseReceivedNow: number;\r\n public InventBatchId: string;\r\n public WMSLocationId: string;\r\n public WMSPalletId: string;\r\n public InventoryStatus: string;\r\n public LicensePlate: string;\r\n public InventSiteId: string;\r\n public InventLocationId: string;\r\n public ConfigId: string;\r\n public InventSerialId: string;\r\n public InventSizeId: string;\r\n public InventColorId: string;\r\n public InventStyleId: string;\r\n public IsCommitted: boolean;\r\n public Message: string;\r\n public Guid: string;\r\n public DeliveryMethod: string;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.OrderId = \r\n odataObject.OrderId;\r\n \r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.InventDimId = \r\n odataObject.InventDimId;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.PurchaseReceivedNow = \r\n (odataObject.PurchaseReceivedNow != null) ? parseFloat(odataObject.PurchaseReceivedNow) : undefined;\r\n \r\n this.InventBatchId = \r\n odataObject.InventBatchId;\r\n \r\n this.WMSLocationId = \r\n odataObject.WMSLocationId;\r\n \r\n this.WMSPalletId = \r\n odataObject.WMSPalletId;\r\n \r\n this.InventoryStatus = \r\n odataObject.InventoryStatus;\r\n \r\n this.LicensePlate = \r\n odataObject.LicensePlate;\r\n \r\n this.InventSiteId = \r\n odataObject.InventSiteId;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.InventSerialId = \r\n odataObject.InventSerialId;\r\n \r\n this.InventSizeId = \r\n odataObject.InventSizeId;\r\n \r\n this.InventColorId = \r\n odataObject.InventColorId;\r\n \r\n this.InventStyleId = \r\n odataObject.InventStyleId;\r\n \r\n this.IsCommitted = \r\n odataObject.IsCommitted;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.Guid = \r\n odataObject.Guid;\r\n \r\n this.DeliveryMethod = \r\n odataObject.DeliveryMethod;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PickingListLineClass'] = PickingListLineClass;\r\n \r\n /**\r\n * Affiliation entity class.\r\n */\r\n export class AffiliationClass implements Entities.Affiliation {\r\n public RecordId: number;\r\n public AffiliationTypeValue: number;\r\n public Description: string;\r\n public Name: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.AffiliationTypeValue = \r\n odataObject.AffiliationTypeValue;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AffiliationClass'] = AffiliationClass;\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentLinesSummary entity class.\r\n */\r\n export class InventoryInboundOutboundDocumentLinesSummaryClass implements Entities.InventoryInboundOutboundDocumentLinesSummary {\r\n public InProgressQuantity: number;\r\n public TotalLineNumber: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InProgressQuantity = \r\n (odataObject.InProgressQuantity != null) ? parseFloat(odataObject.InProgressQuantity) : undefined;\r\n \r\n this.TotalLineNumber = \r\n odataObject.TotalLineNumber;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryInboundOutboundDocumentLinesSummaryClass'] = InventoryInboundOutboundDocumentLinesSummaryClass;\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLinesSummary entity class.\r\n */\r\n export class InventoryDocumentSerialNumberLinesSummaryClass implements Entities.InventoryDocumentSerialNumberLinesSummary {\r\n public RegisteringQuantity: number;\r\n public RegisteredQuantity: number;\r\n public TotalLineNumber: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RegisteringQuantity = \r\n (odataObject.RegisteringQuantity != null) ? parseFloat(odataObject.RegisteringQuantity) : undefined;\r\n \r\n this.RegisteredQuantity = \r\n (odataObject.RegisteredQuantity != null) ? parseFloat(odataObject.RegisteredQuantity) : undefined;\r\n \r\n this.TotalLineNumber = \r\n odataObject.TotalLineNumber;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSerialNumberLinesSummaryClass'] = InventoryDocumentSerialNumberLinesSummaryClass;\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentLine entity class.\r\n */\r\n export class InventoryInboundOutboundDocumentLineClass implements Entities.InventoryInboundOutboundDocumentLine {\r\n public WorkDocumentId: string;\r\n public LineId: string;\r\n public SourceDocumentRecordId: number;\r\n public SourceDocumentLineRecordId: number;\r\n public SourceDocumentTypeValue: number;\r\n public QuantityOrdered: number;\r\n public QuantityShipped: number;\r\n public QuantityReceived: number;\r\n public QuantityCancelled: number;\r\n public QuantityToUpdate: number;\r\n public LocationId: string;\r\n public ItemId: string;\r\n public ProductId: number;\r\n public ItemName: string;\r\n public ItemPrimaryImageUrl: string;\r\n public IsLocationActive: boolean;\r\n public IsLocationAllowBlankReceiptEnabled: boolean;\r\n public IsLocationBlankIssueAllowed: boolean;\r\n public ProductDimensions: Entities.ProductDimension[];\r\n public Note: string;\r\n public NoteModifiedByStaffId: string;\r\n public NoteModifiedDateTime: Date;\r\n public OperationResultMessage: string;\r\n public IsCloseLine: boolean;\r\n public OriginTypeValue: number;\r\n public UnitOfMeasure: string;\r\n public SourceDocumentLine: Entities.InventoryInboundOutboundSourceDocumentLine;\r\n public SerialNumberLines: Entities.InventoryDocumentSerialNumberLine[];\r\n public LongVersion: number;\r\n public ToLocationId: string;\r\n public AdjustmentTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.WorkDocumentId = \r\n odataObject.WorkDocumentId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.SourceDocumentRecordId = \r\n (odataObject.SourceDocumentRecordId != null) ? parseInt(odataObject.SourceDocumentRecordId, 10) : undefined;\r\n \r\n this.SourceDocumentLineRecordId = \r\n (odataObject.SourceDocumentLineRecordId != null) ? parseInt(odataObject.SourceDocumentLineRecordId, 10) : undefined;\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.QuantityReceived = \r\n (odataObject.QuantityReceived != null) ? parseFloat(odataObject.QuantityReceived) : undefined;\r\n \r\n this.QuantityCancelled = \r\n (odataObject.QuantityCancelled != null) ? parseFloat(odataObject.QuantityCancelled) : undefined;\r\n \r\n this.QuantityToUpdate = \r\n (odataObject.QuantityToUpdate != null) ? parseFloat(odataObject.QuantityToUpdate) : undefined;\r\n \r\n this.LocationId = \r\n odataObject.LocationId;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.ItemPrimaryImageUrl = \r\n odataObject.ItemPrimaryImageUrl;\r\n \r\n this.IsLocationActive = \r\n odataObject.IsLocationActive;\r\n \r\n this.IsLocationAllowBlankReceiptEnabled = \r\n odataObject.IsLocationAllowBlankReceiptEnabled;\r\n \r\n this.IsLocationBlankIssueAllowed = \r\n odataObject.IsLocationBlankIssueAllowed;\r\n \r\n this.ProductDimensions = undefined;\r\n if (odataObject.ProductDimensions) {\r\n this.ProductDimensions = [];\r\n for (var i = 0; i < odataObject.ProductDimensions.length; i++) {\r\n if (odataObject.ProductDimensions[i] != null) {\r\n if (odataObject.ProductDimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductDimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductDimensions[i] = new entityDictionary[className](odataObject.ProductDimensions[i])\r\n }\r\n } else {\r\n this.ProductDimensions[i] = new ProductDimensionClass(odataObject.ProductDimensions[i]);\r\n }\r\n } else {\r\n this.ProductDimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Note = \r\n odataObject.Note;\r\n \r\n this.NoteModifiedByStaffId = \r\n odataObject.NoteModifiedByStaffId;\r\n \r\n this.NoteModifiedDateTime = \r\n (odataObject.NoteModifiedDateTime instanceof Date) ? odataObject.NoteModifiedDateTime\r\n : (odataObject.NoteModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.NoteModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.OperationResultMessage = \r\n odataObject.OperationResultMessage;\r\n \r\n this.IsCloseLine = \r\n odataObject.IsCloseLine;\r\n \r\n this.OriginTypeValue = \r\n odataObject.OriginTypeValue;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n if (odataObject.SourceDocumentLine == null) {\r\n this.SourceDocumentLine = undefined;\r\n } else if (odataObject.SourceDocumentLine['@odata.type'] == null) {\r\n this.SourceDocumentLine = new InventoryInboundOutboundSourceDocumentLineClass(odataObject.SourceDocumentLine);\r\n } else {\r\n var className: string = odataObject.SourceDocumentLine['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SourceDocumentLine = new entityDictionary[className](odataObject.SourceDocumentLine)\r\n }\r\n }\r\n\r\n \r\n this.SerialNumberLines = undefined;\r\n if (odataObject.SerialNumberLines) {\r\n this.SerialNumberLines = [];\r\n for (var i = 0; i < odataObject.SerialNumberLines.length; i++) {\r\n if (odataObject.SerialNumberLines[i] != null) {\r\n if (odataObject.SerialNumberLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SerialNumberLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SerialNumberLines[i] = new entityDictionary[className](odataObject.SerialNumberLines[i])\r\n }\r\n } else {\r\n this.SerialNumberLines[i] = new InventoryDocumentSerialNumberLineClass(odataObject.SerialNumberLines[i]);\r\n }\r\n } else {\r\n this.SerialNumberLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LongVersion = \r\n (odataObject.LongVersion != null) ? parseInt(odataObject.LongVersion, 10) : undefined;\r\n \r\n this.ToLocationId = \r\n odataObject.ToLocationId;\r\n \r\n this.AdjustmentTypeValue = \r\n odataObject.AdjustmentTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryInboundOutboundDocumentLineClass'] = InventoryInboundOutboundDocumentLineClass;\r\n \r\n /**\r\n * InventoryInboundOutboundSourceDocument entity class.\r\n */\r\n export class InventoryInboundOutboundSourceDocumentClass implements Entities.InventoryInboundOutboundSourceDocument {\r\n public RecordId: number;\r\n public DocumentTypeValue: number;\r\n public DocumentId: string;\r\n public StatusValue: number;\r\n public ReceiveDate: Date;\r\n public ShipDate: Date;\r\n public Sender: string;\r\n public Receiver: string;\r\n public SenderDetails: string;\r\n public ReceiverDetails: string;\r\n public DeliveryMode: string;\r\n public TotalQuantityOrdered: number;\r\n public TotalQuantityShipped: number;\r\n public TotalQuantityReceived: number;\r\n public TotalQuantityCancelled: number;\r\n public DataAreaId: string;\r\n public Note: string;\r\n public TotalLines: number;\r\n public IsChangeAllowed: boolean;\r\n public NoteModifiedByStaffId: string;\r\n public NoteModifiedDateTime: Date;\r\n public DocumentTypeId: string;\r\n public Description: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.DocumentTypeValue = \r\n odataObject.DocumentTypeValue;\r\n \r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.ReceiveDate = \r\n (odataObject.ReceiveDate instanceof Date) ? odataObject.ReceiveDate\r\n : (odataObject.ReceiveDate != null) ? jsonLightReadStringPropertyValue(odataObject.ReceiveDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ShipDate = \r\n (odataObject.ShipDate instanceof Date) ? odataObject.ShipDate\r\n : (odataObject.ShipDate != null) ? jsonLightReadStringPropertyValue(odataObject.ShipDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Sender = \r\n odataObject.Sender;\r\n \r\n this.Receiver = \r\n odataObject.Receiver;\r\n \r\n this.SenderDetails = \r\n odataObject.SenderDetails;\r\n \r\n this.ReceiverDetails = \r\n odataObject.ReceiverDetails;\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.TotalQuantityOrdered = \r\n (odataObject.TotalQuantityOrdered != null) ? parseFloat(odataObject.TotalQuantityOrdered) : undefined;\r\n \r\n this.TotalQuantityShipped = \r\n (odataObject.TotalQuantityShipped != null) ? parseFloat(odataObject.TotalQuantityShipped) : undefined;\r\n \r\n this.TotalQuantityReceived = \r\n (odataObject.TotalQuantityReceived != null) ? parseFloat(odataObject.TotalQuantityReceived) : undefined;\r\n \r\n this.TotalQuantityCancelled = \r\n (odataObject.TotalQuantityCancelled != null) ? parseFloat(odataObject.TotalQuantityCancelled) : undefined;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.Note = \r\n odataObject.Note;\r\n \r\n this.TotalLines = \r\n (odataObject.TotalLines != null) ? parseInt(odataObject.TotalLines, 10) : undefined;\r\n \r\n this.IsChangeAllowed = \r\n odataObject.IsChangeAllowed;\r\n \r\n this.NoteModifiedByStaffId = \r\n odataObject.NoteModifiedByStaffId;\r\n \r\n this.NoteModifiedDateTime = \r\n (odataObject.NoteModifiedDateTime instanceof Date) ? odataObject.NoteModifiedDateTime\r\n : (odataObject.NoteModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.NoteModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DocumentTypeId = \r\n odataObject.DocumentTypeId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryInboundOutboundSourceDocumentClass'] = InventoryInboundOutboundSourceDocumentClass;\r\n \r\n /**\r\n * InventoryInboundOutboundSourceDocumentLine entity class.\r\n */\r\n export class InventoryInboundOutboundSourceDocumentLineClass implements Entities.InventoryInboundOutboundSourceDocumentLine {\r\n public DocumentRecordId: number;\r\n public DocumentTypeValue: number;\r\n public RecordId: number;\r\n public LineNumber: number;\r\n public ItemId: string;\r\n public ProductId: number;\r\n public QuantityOrdered: number;\r\n public QuantityShipped: number;\r\n public QuantityReceived: number;\r\n public QuantityCancelled: number;\r\n public LocationId: string;\r\n public OverDeliveryPercentage: number;\r\n public UnderDeliveryPercentage: number;\r\n public UnitId: string;\r\n public Receiver: string;\r\n public DataAreaId: string;\r\n public Note: string;\r\n public NoteModifiedByStaffId: string;\r\n public NoteModifiedDateTime: Date;\r\n public DocumentId: string;\r\n public ItemName: string;\r\n public ItemPrimaryImageUrl: string;\r\n public IsLocationActive: boolean;\r\n public IsLocationAllowBlankReceiptEnabled: boolean;\r\n public IsLocationBlankIssueAllowed: boolean;\r\n public HasSerialNumber: boolean;\r\n public IsSerialNumberBlankReceiptAllowed: boolean;\r\n public IsSerialNumberDuplicateCheckEnabled: boolean;\r\n public ProductDimensions: Entities.ProductDimension[];\r\n public SerialNumberLines: Entities.InventoryDocumentSourceSerialNumberLine[];\r\n public StatusValue: number;\r\n public ToProductId: number;\r\n public ToLocationId: string;\r\n public InventoryDimensionId: string;\r\n public ToInventoryDimensionId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentRecordId = \r\n (odataObject.DocumentRecordId != null) ? parseInt(odataObject.DocumentRecordId, 10) : undefined;\r\n \r\n this.DocumentTypeValue = \r\n odataObject.DocumentTypeValue;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.LineNumber = \r\n odataObject.LineNumber;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.QuantityReceived = \r\n (odataObject.QuantityReceived != null) ? parseFloat(odataObject.QuantityReceived) : undefined;\r\n \r\n this.QuantityCancelled = \r\n (odataObject.QuantityCancelled != null) ? parseFloat(odataObject.QuantityCancelled) : undefined;\r\n \r\n this.LocationId = \r\n odataObject.LocationId;\r\n \r\n this.OverDeliveryPercentage = \r\n (odataObject.OverDeliveryPercentage != null) ? parseFloat(odataObject.OverDeliveryPercentage) : undefined;\r\n \r\n this.UnderDeliveryPercentage = \r\n (odataObject.UnderDeliveryPercentage != null) ? parseFloat(odataObject.UnderDeliveryPercentage) : undefined;\r\n \r\n this.UnitId = \r\n odataObject.UnitId;\r\n \r\n this.Receiver = \r\n odataObject.Receiver;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.Note = \r\n odataObject.Note;\r\n \r\n this.NoteModifiedByStaffId = \r\n odataObject.NoteModifiedByStaffId;\r\n \r\n this.NoteModifiedDateTime = \r\n (odataObject.NoteModifiedDateTime instanceof Date) ? odataObject.NoteModifiedDateTime\r\n : (odataObject.NoteModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.NoteModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.ItemPrimaryImageUrl = \r\n odataObject.ItemPrimaryImageUrl;\r\n \r\n this.IsLocationActive = \r\n odataObject.IsLocationActive;\r\n \r\n this.IsLocationAllowBlankReceiptEnabled = \r\n odataObject.IsLocationAllowBlankReceiptEnabled;\r\n \r\n this.IsLocationBlankIssueAllowed = \r\n odataObject.IsLocationBlankIssueAllowed;\r\n \r\n this.HasSerialNumber = \r\n odataObject.HasSerialNumber;\r\n \r\n this.IsSerialNumberBlankReceiptAllowed = \r\n odataObject.IsSerialNumberBlankReceiptAllowed;\r\n \r\n this.IsSerialNumberDuplicateCheckEnabled = \r\n odataObject.IsSerialNumberDuplicateCheckEnabled;\r\n \r\n this.ProductDimensions = undefined;\r\n if (odataObject.ProductDimensions) {\r\n this.ProductDimensions = [];\r\n for (var i = 0; i < odataObject.ProductDimensions.length; i++) {\r\n if (odataObject.ProductDimensions[i] != null) {\r\n if (odataObject.ProductDimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductDimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductDimensions[i] = new entityDictionary[className](odataObject.ProductDimensions[i])\r\n }\r\n } else {\r\n this.ProductDimensions[i] = new ProductDimensionClass(odataObject.ProductDimensions[i]);\r\n }\r\n } else {\r\n this.ProductDimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SerialNumberLines = undefined;\r\n if (odataObject.SerialNumberLines) {\r\n this.SerialNumberLines = [];\r\n for (var i = 0; i < odataObject.SerialNumberLines.length; i++) {\r\n if (odataObject.SerialNumberLines[i] != null) {\r\n if (odataObject.SerialNumberLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SerialNumberLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SerialNumberLines[i] = new entityDictionary[className](odataObject.SerialNumberLines[i])\r\n }\r\n } else {\r\n this.SerialNumberLines[i] = new InventoryDocumentSourceSerialNumberLineClass(odataObject.SerialNumberLines[i]);\r\n }\r\n } else {\r\n this.SerialNumberLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.ToProductId = \r\n (odataObject.ToProductId != null) ? parseInt(odataObject.ToProductId, 10) : undefined;\r\n \r\n this.ToLocationId = \r\n odataObject.ToLocationId;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.ToInventoryDimensionId = \r\n odataObject.ToInventoryDimensionId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryInboundOutboundSourceDocumentLineClass'] = InventoryInboundOutboundSourceDocumentLineClass;\r\n \r\n /**\r\n * InventoryDocumentLineFilterCriteria entity class.\r\n */\r\n export class InventoryDocumentLineFilterCriteriaClass implements Entities.InventoryDocumentLineFilterCriteria {\r\n public ProductId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentLineFilterCriteriaClass'] = InventoryDocumentLineFilterCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentUpdateLinesAction entity class.\r\n */\r\n export class InventoryDocumentUpdateLinesActionClass implements Entities.InventoryDocumentUpdateLinesAction {\r\n public Quantity: number;\r\n public ActionTypeValue: number;\r\n public LocationId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.ActionTypeValue = \r\n odataObject.ActionTypeValue;\r\n \r\n this.LocationId = \r\n odataObject.LocationId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentUpdateLinesActionClass'] = InventoryDocumentUpdateLinesActionClass;\r\n \r\n /**\r\n * InventoryDocumentLineOperationResultSettings entity class.\r\n */\r\n export class InventoryDocumentLineOperationResultSettingsClass implements Entities.InventoryDocumentLineOperationResultSettings {\r\n public ModeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ModeValue = \r\n odataObject.ModeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentLineOperationResultSettingsClass'] = InventoryDocumentLineOperationResultSettingsClass;\r\n \r\n /**\r\n * InventoryDocumentLineSearchCriteria entity class.\r\n */\r\n export class InventoryDocumentLineSearchCriteriaClass implements Entities.InventoryDocumentLineSearchCriteria {\r\n public SourceDocumentId: string;\r\n public SourceDocumentTypeValue: number;\r\n public WorkDocumentId: string;\r\n public ProductId: number;\r\n public AvailableSerializedLineOnly: boolean;\r\n public DocumentLineIds: string[];\r\n public DocumentOperationTypeValue: number;\r\n public LocationId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SourceDocumentId = \r\n odataObject.SourceDocumentId;\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.WorkDocumentId = \r\n odataObject.WorkDocumentId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.AvailableSerializedLineOnly = \r\n odataObject.AvailableSerializedLineOnly;\r\n \r\n this.DocumentLineIds = undefined;\r\n if (odataObject.DocumentLineIds) {\r\n this.DocumentLineIds = [];\r\n for (var i = 0; i < odataObject.DocumentLineIds.length; i++) {\r\n if (odataObject.DocumentLineIds[i] != null) {\r\n this.DocumentLineIds[i] = \r\n odataObject.DocumentLineIds[i];\r\n } else {\r\n this.DocumentLineIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DocumentOperationTypeValue = \r\n odataObject.DocumentOperationTypeValue;\r\n \r\n this.LocationId = \r\n odataObject.LocationId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentLineSearchCriteriaClass'] = InventoryDocumentLineSearchCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentSearchCriteria entity class.\r\n */\r\n export class InventoryDocumentSearchCriteriaClass implements Entities.InventoryDocumentSearchCriteria {\r\n public DocumentId: string;\r\n public DocumentStateValue: number;\r\n public DocumentTypeValues: number[];\r\n public CustomFilters: Entities.SearchFilter[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.DocumentStateValue = \r\n odataObject.DocumentStateValue;\r\n \r\n this.DocumentTypeValues = undefined;\r\n if (odataObject.DocumentTypeValues) {\r\n this.DocumentTypeValues = [];\r\n for (var i = 0; i < odataObject.DocumentTypeValues.length; i++) {\r\n if (odataObject.DocumentTypeValues[i] != null) {\r\n this.DocumentTypeValues[i] = \r\n odataObject.DocumentTypeValues[i];\r\n } else {\r\n this.DocumentTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CustomFilters = undefined;\r\n if (odataObject.CustomFilters) {\r\n this.CustomFilters = [];\r\n for (var i = 0; i < odataObject.CustomFilters.length; i++) {\r\n if (odataObject.CustomFilters[i] != null) {\r\n if (odataObject.CustomFilters[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomFilters[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomFilters[i] = new entityDictionary[className](odataObject.CustomFilters[i])\r\n }\r\n } else {\r\n this.CustomFilters[i] = new SearchFilterClass(odataObject.CustomFilters[i]);\r\n }\r\n } else {\r\n this.CustomFilters[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSearchCriteriaClass'] = InventoryDocumentSearchCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLineSearchCriteria entity class.\r\n */\r\n export class InventoryDocumentSerialNumberLineSearchCriteriaClass implements Entities.InventoryDocumentSerialNumberLineSearchCriteria {\r\n public DocumentLineId: string;\r\n public SerialNumber: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentLineId = \r\n odataObject.DocumentLineId;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSerialNumberLineSearchCriteriaClass'] = InventoryDocumentSerialNumberLineSearchCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLineUpdateAction entity class.\r\n */\r\n export class InventoryDocumentSerialNumberLineUpdateActionClass implements Entities.InventoryDocumentSerialNumberLineUpdateAction {\r\n public DocumentLineId: string;\r\n public LineId: string;\r\n public SerialNumber: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentLineId = \r\n odataObject.DocumentLineId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSerialNumberLineUpdateActionClass'] = InventoryDocumentSerialNumberLineUpdateActionClass;\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLineResetAction entity class.\r\n */\r\n export class InventoryDocumentSerialNumberLineResetActionClass implements Entities.InventoryDocumentSerialNumberLineResetAction {\r\n public DocumentLineId: string;\r\n public LineId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentLineId = \r\n odataObject.DocumentLineId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSerialNumberLineResetActionClass'] = InventoryDocumentSerialNumberLineResetActionClass;\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentUpdateLinesByCriteriaResult entity class.\r\n */\r\n export class InventoryInboundOutboundDocumentUpdateLinesByCriteriaResultClass implements Entities.InventoryInboundOutboundDocumentUpdateLinesByCriteriaResult {\r\n public UpdatedLines: Entities.InventoryInboundOutboundDocumentLine[];\r\n public TotalLinesUpdated: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.UpdatedLines = undefined;\r\n if (odataObject.UpdatedLines) {\r\n this.UpdatedLines = [];\r\n for (var i = 0; i < odataObject.UpdatedLines.length; i++) {\r\n if (odataObject.UpdatedLines[i] != null) {\r\n if (odataObject.UpdatedLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.UpdatedLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UpdatedLines[i] = new entityDictionary[className](odataObject.UpdatedLines[i])\r\n }\r\n } else {\r\n this.UpdatedLines[i] = new InventoryInboundOutboundDocumentLineClass(odataObject.UpdatedLines[i]);\r\n }\r\n } else {\r\n this.UpdatedLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TotalLinesUpdated = \r\n odataObject.TotalLinesUpdated;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryInboundOutboundDocumentUpdateLinesByCriteriaResultClass'] = InventoryInboundOutboundDocumentUpdateLinesByCriteriaResultClass;\r\n \r\n /**\r\n * WarehouseLocationSearchCriteria entity class.\r\n */\r\n export class WarehouseLocationSearchCriteriaClass implements Entities.WarehouseLocationSearchCriteria {\r\n public WarehouseIds: string[];\r\n public IsLocationProfileRequired: boolean;\r\n public SearchText: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.WarehouseIds = undefined;\r\n if (odataObject.WarehouseIds) {\r\n this.WarehouseIds = [];\r\n for (var i = 0; i < odataObject.WarehouseIds.length; i++) {\r\n if (odataObject.WarehouseIds[i] != null) {\r\n this.WarehouseIds[i] = \r\n odataObject.WarehouseIds[i];\r\n } else {\r\n this.WarehouseIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsLocationProfileRequired = \r\n odataObject.IsLocationProfileRequired;\r\n \r\n this.SearchText = \r\n odataObject.SearchText;\r\n \r\n }\r\n }\r\n entityDictionary['WarehouseLocationSearchCriteriaClass'] = WarehouseLocationSearchCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLine entity class.\r\n */\r\n export class InventoryDocumentSerialNumberLineClass implements Entities.InventoryDocumentSerialNumberLine {\r\n public WorkDocumentId: string;\r\n public WorkDocumentLineId: string;\r\n public SourceLineId: string;\r\n public LineId: string;\r\n public Quantity: number;\r\n public SerialNumber: string;\r\n public StatusValue: number;\r\n public ProductId: number;\r\n public ModifiedDateTime: Date;\r\n public SourceDocumentRecordId: number;\r\n public SourceDocumentTypeValue: number;\r\n public SourceDocumentLineRecordId: number;\r\n public SourceLine: Entities.InventoryDocumentSourceSerialNumberLine;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.WorkDocumentId = \r\n odataObject.WorkDocumentId;\r\n \r\n this.WorkDocumentLineId = \r\n odataObject.WorkDocumentLineId;\r\n \r\n this.SourceLineId = \r\n odataObject.SourceLineId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ModifiedDateTime = \r\n (odataObject.ModifiedDateTime instanceof Date) ? odataObject.ModifiedDateTime\r\n : (odataObject.ModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.ModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.SourceDocumentRecordId = \r\n (odataObject.SourceDocumentRecordId != null) ? parseInt(odataObject.SourceDocumentRecordId, 10) : undefined;\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.SourceDocumentLineRecordId = \r\n (odataObject.SourceDocumentLineRecordId != null) ? parseInt(odataObject.SourceDocumentLineRecordId, 10) : undefined;\r\n \r\n if (odataObject.SourceLine == null) {\r\n this.SourceLine = undefined;\r\n } else if (odataObject.SourceLine['@odata.type'] == null) {\r\n this.SourceLine = new InventoryDocumentSourceSerialNumberLineClass(odataObject.SourceLine);\r\n } else {\r\n var className: string = odataObject.SourceLine['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SourceLine = new entityDictionary[className](odataObject.SourceLine)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSerialNumberLineClass'] = InventoryDocumentSerialNumberLineClass;\r\n \r\n /**\r\n * InventoryDocumentValidationCategoryResultsSummary entity class.\r\n */\r\n export class InventoryDocumentValidationCategoryResultsSummaryClass implements Entities.InventoryDocumentValidationCategoryResultsSummary {\r\n public CategoryName: string;\r\n public SeverityValue: number;\r\n public TotalValidationResultCount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CategoryName = \r\n odataObject.CategoryName;\r\n \r\n this.SeverityValue = \r\n odataObject.SeverityValue;\r\n \r\n this.TotalValidationResultCount = \r\n odataObject.TotalValidationResultCount;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentValidationCategoryResultsSummaryClass'] = InventoryDocumentValidationCategoryResultsSummaryClass;\r\n \r\n /**\r\n * InventoryDocumentValidationResultSummary entity class.\r\n */\r\n export class InventoryDocumentValidationResultSummaryClass implements Entities.InventoryDocumentValidationResultSummary {\r\n public DocumentId: string;\r\n public DocumentVersion: number;\r\n public CategorySummaries: Entities.InventoryDocumentValidationCategoryResultsSummary[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.DocumentVersion = \r\n (odataObject.DocumentVersion != null) ? parseInt(odataObject.DocumentVersion, 10) : undefined;\r\n \r\n this.CategorySummaries = undefined;\r\n if (odataObject.CategorySummaries) {\r\n this.CategorySummaries = [];\r\n for (var i = 0; i < odataObject.CategorySummaries.length; i++) {\r\n if (odataObject.CategorySummaries[i] != null) {\r\n if (odataObject.CategorySummaries[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CategorySummaries[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CategorySummaries[i] = new entityDictionary[className](odataObject.CategorySummaries[i])\r\n }\r\n } else {\r\n this.CategorySummaries[i] = new InventoryDocumentValidationCategoryResultsSummaryClass(odataObject.CategorySummaries[i]);\r\n }\r\n } else {\r\n this.CategorySummaries[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentValidationResultSummaryClass'] = InventoryDocumentValidationResultSummaryClass;\r\n \r\n /**\r\n * InventoryDocumentValidationResultLine entity class.\r\n */\r\n export class InventoryDocumentValidationResultLineClass implements Entities.InventoryDocumentValidationResultLine {\r\n public DocumentValidationResultLineId: string;\r\n public CategoryName: string;\r\n public SeverityValue: number;\r\n public ErrorCode: number;\r\n public ErrorMessage: string;\r\n public DocumentId: string;\r\n public DocumentLongVersion: number;\r\n public DocumentLineId: string;\r\n public CreatedDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentValidationResultLineId = \r\n odataObject.DocumentValidationResultLineId;\r\n \r\n this.CategoryName = \r\n odataObject.CategoryName;\r\n \r\n this.SeverityValue = \r\n odataObject.SeverityValue;\r\n \r\n this.ErrorCode = \r\n odataObject.ErrorCode;\r\n \r\n this.ErrorMessage = \r\n odataObject.ErrorMessage;\r\n \r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.DocumentLongVersion = \r\n (odataObject.DocumentLongVersion != null) ? parseInt(odataObject.DocumentLongVersion, 10) : undefined;\r\n \r\n this.DocumentLineId = \r\n odataObject.DocumentLineId;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentValidationResultLineClass'] = InventoryDocumentValidationResultLineClass;\r\n \r\n /**\r\n * InventoryDocumentValidationResultSearchCriteria entity class.\r\n */\r\n export class InventoryDocumentValidationResultSearchCriteriaClass implements Entities.InventoryDocumentValidationResultSearchCriteria {\r\n public DocumentId: string;\r\n public DocumentVersion: number;\r\n public SeverityValue: number;\r\n public Categories: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DocumentId = \r\n odataObject.DocumentId;\r\n \r\n this.DocumentVersion = \r\n (odataObject.DocumentVersion != null) ? parseInt(odataObject.DocumentVersion, 10) : undefined;\r\n \r\n this.SeverityValue = \r\n odataObject.SeverityValue;\r\n \r\n this.Categories = undefined;\r\n if (odataObject.Categories) {\r\n this.Categories = [];\r\n for (var i = 0; i < odataObject.Categories.length; i++) {\r\n if (odataObject.Categories[i] != null) {\r\n this.Categories[i] = \r\n odataObject.Categories[i];\r\n } else {\r\n this.Categories[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentValidationResultSearchCriteriaClass'] = InventoryDocumentValidationResultSearchCriteriaClass;\r\n \r\n /**\r\n * ProductDimensionValueInventoryAvailability entity class.\r\n */\r\n export class ProductDimensionValueInventoryAvailabilityClass implements Entities.ProductDimensionValueInventoryAvailability {\r\n public DimensionTypeValue: number;\r\n public DimensionValue: Entities.ProductDimensionValue;\r\n public ProductIds: number[];\r\n public TotalAvailableInventoryLevelLabel: string;\r\n public TotalAvailableInventoryLevelCode: string;\r\n public PhysicalAvailableInventoryLevelLabel: string;\r\n public PhysicalAvailableInventoryLevelCode: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DimensionTypeValue = \r\n odataObject.DimensionTypeValue;\r\n \r\n if (odataObject.DimensionValue == null) {\r\n this.DimensionValue = undefined;\r\n } else if (odataObject.DimensionValue['@odata.type'] == null) {\r\n this.DimensionValue = new ProductDimensionValueClass(odataObject.DimensionValue);\r\n } else {\r\n var className: string = odataObject.DimensionValue['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DimensionValue = new entityDictionary[className](odataObject.DimensionValue)\r\n }\r\n }\r\n\r\n \r\n this.ProductIds = undefined;\r\n if (odataObject.ProductIds) {\r\n this.ProductIds = [];\r\n for (var i = 0; i < odataObject.ProductIds.length; i++) {\r\n if (odataObject.ProductIds[i] != null) {\r\n this.ProductIds[i] = \r\n parseInt(odataObject.ProductIds[i], 10);\r\n } else {\r\n this.ProductIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TotalAvailableInventoryLevelLabel = \r\n odataObject.TotalAvailableInventoryLevelLabel;\r\n \r\n this.TotalAvailableInventoryLevelCode = \r\n odataObject.TotalAvailableInventoryLevelCode;\r\n \r\n this.PhysicalAvailableInventoryLevelLabel = \r\n odataObject.PhysicalAvailableInventoryLevelLabel;\r\n \r\n this.PhysicalAvailableInventoryLevelCode = \r\n odataObject.PhysicalAvailableInventoryLevelCode;\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionValueInventoryAvailabilityClass'] = ProductDimensionValueInventoryAvailabilityClass;\r\n \r\n /**\r\n * ProductDimension entity class.\r\n */\r\n export class ProductDimensionClass implements Entities.ProductDimension {\r\n public DimensionTypeValue: number;\r\n public DimensionValue: Entities.ProductDimensionValue;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DimensionTypeValue = \r\n odataObject.DimensionTypeValue;\r\n \r\n if (odataObject.DimensionValue == null) {\r\n this.DimensionValue = undefined;\r\n } else if (odataObject.DimensionValue['@odata.type'] == null) {\r\n this.DimensionValue = new ProductDimensionValueClass(odataObject.DimensionValue);\r\n } else {\r\n var className: string = odataObject.DimensionValue['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DimensionValue = new entityDictionary[className](odataObject.DimensionValue)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionClass'] = ProductDimensionClass;\r\n \r\n /**\r\n * ProductDimensionValue entity class.\r\n */\r\n export class ProductDimensionValueClass implements Entities.ProductDimensionValue {\r\n public RecordId: number;\r\n public Value: string;\r\n public DimensionId: string;\r\n public ColorHexCode: string;\r\n public ImageUrl: string;\r\n public RefinerGroup: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.DimensionId = \r\n odataObject.DimensionId;\r\n \r\n this.ColorHexCode = \r\n odataObject.ColorHexCode;\r\n \r\n this.ImageUrl = \r\n odataObject.ImageUrl;\r\n \r\n this.RefinerGroup = \r\n odataObject.RefinerGroup;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionValueClass'] = ProductDimensionValueClass;\r\n \r\n /**\r\n * ProductDimensionCombination entity class.\r\n */\r\n export class ProductDimensionCombinationClass implements Entities.ProductDimensionCombination {\r\n public ProductDimensions: Entities.ProductDimension[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductDimensions = undefined;\r\n if (odataObject.ProductDimensions) {\r\n this.ProductDimensions = [];\r\n for (var i = 0; i < odataObject.ProductDimensions.length; i++) {\r\n if (odataObject.ProductDimensions[i] != null) {\r\n if (odataObject.ProductDimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductDimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductDimensions[i] = new entityDictionary[className](odataObject.ProductDimensions[i])\r\n }\r\n } else {\r\n this.ProductDimensions[i] = new ProductDimensionClass(odataObject.ProductDimensions[i]);\r\n }\r\n } else {\r\n this.ProductDimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionCombinationClass'] = ProductDimensionCombinationClass;\r\n \r\n /**\r\n * SearchRefiner entity class.\r\n */\r\n export class SearchRefinerClass implements Entities.SearchRefiner {\r\n public RecordId: number;\r\n public KeyName: string;\r\n public DataTypeValue: number;\r\n public RefinerTypeValue: number;\r\n public DisplayTemplateValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.KeyName = \r\n odataObject.KeyName;\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.RefinerTypeValue = \r\n odataObject.RefinerTypeValue;\r\n \r\n this.DisplayTemplateValue = \r\n odataObject.DisplayTemplateValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SearchRefinerClass'] = SearchRefinerClass;\r\n \r\n /**\r\n * SearchRefinerValue entity class.\r\n */\r\n export class SearchRefinerValueClass implements Entities.SearchRefinerValue {\r\n public RefinerRecordId: number;\r\n public DataTypeValue: number;\r\n public LeftValueBoundString: string;\r\n public RightValueBoundString: string;\r\n public UnitText: string;\r\n public RowNumber: number;\r\n public Count: number;\r\n public LeftValueBoundLocalizedString: string;\r\n public RightValueBoundLocalizedString: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RefinerRecordId = \r\n (odataObject.RefinerRecordId != null) ? parseInt(odataObject.RefinerRecordId, 10) : undefined;\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.LeftValueBoundString = \r\n odataObject.LeftValueBoundString;\r\n \r\n this.RightValueBoundString = \r\n odataObject.RightValueBoundString;\r\n \r\n this.UnitText = \r\n odataObject.UnitText;\r\n \r\n this.RowNumber = \r\n odataObject.RowNumber;\r\n \r\n this.Count = \r\n odataObject.Count;\r\n \r\n this.LeftValueBoundLocalizedString = \r\n odataObject.LeftValueBoundLocalizedString;\r\n \r\n this.RightValueBoundLocalizedString = \r\n odataObject.RightValueBoundLocalizedString;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SearchRefinerValueClass'] = SearchRefinerValueClass;\r\n \r\n /**\r\n * ProductRefiner entity class.\r\n */\r\n export class ProductRefinerClass\r\n extends SearchRefinerClass\r\n implements Entities.ProductRefiner {\r\n public SourceValue: number;\r\n public Values: Entities.ProductRefinerValue[];\r\n public IsDimension: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.SourceValue = \r\n odataObject.SourceValue;\r\n \r\n this.Values = undefined;\r\n if (odataObject.Values) {\r\n this.Values = [];\r\n for (var i = 0; i < odataObject.Values.length; i++) {\r\n if (odataObject.Values[i] != null) {\r\n if (odataObject.Values[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Values[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Values[i] = new entityDictionary[className](odataObject.Values[i])\r\n }\r\n } else {\r\n this.Values[i] = new ProductRefinerValueClass(odataObject.Values[i]);\r\n }\r\n } else {\r\n this.Values[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsDimension = \r\n odataObject.IsDimension;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ProductRefiner\";\r\n \r\n }\r\n }\r\n entityDictionary['ProductRefinerClass'] = ProductRefinerClass;\r\n \r\n /**\r\n * ProductRefinerValue entity class.\r\n */\r\n export class ProductRefinerValueClass\r\n extends SearchRefinerValueClass\r\n implements Entities.ProductRefinerValue {\r\n public RefinerSourceValue: number;\r\n public SwatchImageUrl: string;\r\n public SwatchColorHexCode: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RefinerSourceValue = \r\n odataObject.RefinerSourceValue;\r\n \r\n this.SwatchImageUrl = \r\n odataObject.SwatchImageUrl;\r\n \r\n this.SwatchColorHexCode = \r\n odataObject.SwatchColorHexCode;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ProductRefinerValue\";\r\n \r\n }\r\n }\r\n entityDictionary['ProductRefinerValueClass'] = ProductRefinerValueClass;\r\n \r\n /**\r\n * ClientBookRefiner entity class.\r\n */\r\n export class ClientBookRefinerClass\r\n extends SearchRefinerClass\r\n implements Entities.ClientBookRefiner {\r\n public SourceValue: number;\r\n public Values: Entities.ClientBookRefinerValue[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.SourceValue = \r\n odataObject.SourceValue;\r\n \r\n this.Values = undefined;\r\n if (odataObject.Values) {\r\n this.Values = [];\r\n for (var i = 0; i < odataObject.Values.length; i++) {\r\n if (odataObject.Values[i] != null) {\r\n if (odataObject.Values[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Values[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Values[i] = new entityDictionary[className](odataObject.Values[i])\r\n }\r\n } else {\r\n this.Values[i] = new ClientBookRefinerValueClass(odataObject.Values[i]);\r\n }\r\n } else {\r\n this.Values[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ClientBookRefiner\";\r\n \r\n }\r\n }\r\n entityDictionary['ClientBookRefinerClass'] = ClientBookRefinerClass;\r\n \r\n /**\r\n * ClientBookRefinerValue entity class.\r\n */\r\n export class ClientBookRefinerValueClass\r\n extends SearchRefinerValueClass\r\n implements Entities.ClientBookRefinerValue {\r\n public RefinerSourceValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RefinerSourceValue = \r\n odataObject.RefinerSourceValue;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ClientBookRefinerValue\";\r\n \r\n }\r\n }\r\n entityDictionary['ClientBookRefinerValueClass'] = ClientBookRefinerValueClass;\r\n \r\n /**\r\n * ProductRelationType entity class.\r\n */\r\n export class ProductRelationTypeClass implements Entities.ProductRelationType {\r\n public Name: string;\r\n public RecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductRelationTypeClass'] = ProductRelationTypeClass;\r\n \r\n /**\r\n * ComponentInSlotRelation entity class.\r\n */\r\n export class ComponentInSlotRelationClass implements Entities.ComponentInSlotRelation {\r\n public ComponentId: number;\r\n public SlotId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ComponentId = \r\n (odataObject.ComponentId != null) ? parseInt(odataObject.ComponentId, 10) : undefined;\r\n \r\n this.SlotId = \r\n (odataObject.SlotId != null) ? parseInt(odataObject.SlotId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ComponentInSlotRelationClass'] = ComponentInSlotRelationClass;\r\n \r\n /**\r\n * ProductRules entity class.\r\n */\r\n export class ProductRulesClass implements Entities.ProductRules {\r\n public HasLinkedProducts: boolean;\r\n public IsSerialized: boolean;\r\n public IsActiveInSalesProcess: boolean;\r\n public IsBlocked: boolean;\r\n public DateOfBlocking: Date;\r\n public DateToActivate: Date;\r\n public DateToBlock: Date;\r\n public DefaultUnitOfMeasure: string;\r\n public PriceKeyingRequirementValue: number;\r\n public QuantityKeyingRequirementValue: number;\r\n public MustKeyInComment: boolean;\r\n public CanQuantityBecomeNegative: boolean;\r\n public MustScaleItem: boolean;\r\n public CanPriceBeZero: boolean;\r\n public ProductId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HasLinkedProducts = \r\n odataObject.HasLinkedProducts;\r\n \r\n this.IsSerialized = \r\n odataObject.IsSerialized;\r\n \r\n this.IsActiveInSalesProcess = \r\n odataObject.IsActiveInSalesProcess;\r\n \r\n this.IsBlocked = \r\n odataObject.IsBlocked;\r\n \r\n this.DateOfBlocking = \r\n (odataObject.DateOfBlocking instanceof Date) ? odataObject.DateOfBlocking\r\n : (odataObject.DateOfBlocking != null) ? jsonLightReadStringPropertyValue(odataObject.DateOfBlocking, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DateToActivate = \r\n (odataObject.DateToActivate instanceof Date) ? odataObject.DateToActivate\r\n : (odataObject.DateToActivate != null) ? jsonLightReadStringPropertyValue(odataObject.DateToActivate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DateToBlock = \r\n (odataObject.DateToBlock instanceof Date) ? odataObject.DateToBlock\r\n : (odataObject.DateToBlock != null) ? jsonLightReadStringPropertyValue(odataObject.DateToBlock, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DefaultUnitOfMeasure = \r\n odataObject.DefaultUnitOfMeasure;\r\n \r\n this.PriceKeyingRequirementValue = \r\n odataObject.PriceKeyingRequirementValue;\r\n \r\n this.QuantityKeyingRequirementValue = \r\n odataObject.QuantityKeyingRequirementValue;\r\n \r\n this.MustKeyInComment = \r\n odataObject.MustKeyInComment;\r\n \r\n this.CanQuantityBecomeNegative = \r\n odataObject.CanQuantityBecomeNegative;\r\n \r\n this.MustScaleItem = \r\n odataObject.MustScaleItem;\r\n \r\n this.CanPriceBeZero = \r\n odataObject.CanPriceBeZero;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductRulesClass'] = ProductRulesClass;\r\n \r\n /**\r\n * LocalizedString entity class.\r\n */\r\n export class LocalizedStringClass implements Entities.LocalizedString {\r\n public RecordId: number;\r\n public LanguageId: string;\r\n public TextId: number;\r\n public Text: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.TextId = \r\n odataObject.TextId;\r\n \r\n this.Text = \r\n odataObject.Text;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LocalizedStringClass'] = LocalizedStringClass;\r\n \r\n /**\r\n * LoyaltyCard entity class.\r\n */\r\n export class LoyaltyCardClass implements Entities.LoyaltyCard {\r\n public CardNumber: string;\r\n public CardTenderTypeValue: number;\r\n public CustomerAccount: string;\r\n public LoyaltyGroups: Entities.LoyaltyGroup[];\r\n public RewardPoints: Entities.LoyaltyRewardPoint[];\r\n public LoyaltyEnrollmentDate: Date;\r\n public LoyaltyEnrollmentDateLocal: Date;\r\n public LoyaltyEnrollmentTime: number;\r\n public LoyaltyEnrollmentTimeLocal: number;\r\n public OmOperatingUnitId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CardNumber = \r\n odataObject.CardNumber;\r\n \r\n this.CardTenderTypeValue = \r\n odataObject.CardTenderTypeValue;\r\n \r\n this.CustomerAccount = \r\n odataObject.CustomerAccount;\r\n \r\n this.LoyaltyGroups = undefined;\r\n if (odataObject.LoyaltyGroups) {\r\n this.LoyaltyGroups = [];\r\n for (var i = 0; i < odataObject.LoyaltyGroups.length; i++) {\r\n if (odataObject.LoyaltyGroups[i] != null) {\r\n if (odataObject.LoyaltyGroups[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LoyaltyGroups[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LoyaltyGroups[i] = new entityDictionary[className](odataObject.LoyaltyGroups[i])\r\n }\r\n } else {\r\n this.LoyaltyGroups[i] = new LoyaltyGroupClass(odataObject.LoyaltyGroups[i]);\r\n }\r\n } else {\r\n this.LoyaltyGroups[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.RewardPoints = undefined;\r\n if (odataObject.RewardPoints) {\r\n this.RewardPoints = [];\r\n for (var i = 0; i < odataObject.RewardPoints.length; i++) {\r\n if (odataObject.RewardPoints[i] != null) {\r\n if (odataObject.RewardPoints[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RewardPoints[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RewardPoints[i] = new entityDictionary[className](odataObject.RewardPoints[i])\r\n }\r\n } else {\r\n this.RewardPoints[i] = new LoyaltyRewardPointClass(odataObject.RewardPoints[i]);\r\n }\r\n } else {\r\n this.RewardPoints[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LoyaltyEnrollmentDate = \r\n (odataObject.LoyaltyEnrollmentDate instanceof Date) ? odataObject.LoyaltyEnrollmentDate\r\n : (odataObject.LoyaltyEnrollmentDate != null) ? jsonLightReadStringPropertyValue(odataObject.LoyaltyEnrollmentDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LoyaltyEnrollmentDateLocal = \r\n (odataObject.LoyaltyEnrollmentDateLocal instanceof Date) ? odataObject.LoyaltyEnrollmentDateLocal\r\n : (odataObject.LoyaltyEnrollmentDateLocal != null) ? jsonLightReadStringPropertyValue(odataObject.LoyaltyEnrollmentDateLocal, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LoyaltyEnrollmentTime = \r\n odataObject.LoyaltyEnrollmentTime;\r\n \r\n this.LoyaltyEnrollmentTimeLocal = \r\n odataObject.LoyaltyEnrollmentTimeLocal;\r\n \r\n this.OmOperatingUnitId = \r\n (odataObject.OmOperatingUnitId != null) ? parseInt(odataObject.OmOperatingUnitId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyCardClass'] = LoyaltyCardClass;\r\n \r\n /**\r\n * ProductComponent entity class.\r\n */\r\n export class ProductComponentClass implements Entities.ProductComponent {\r\n public ProductId: number;\r\n public SlotId: number;\r\n public Product: Entities.SimpleProduct;\r\n public AdditionalChargeForComponent: number;\r\n public Behavior: Entities.ProductBehavior;\r\n public Description: string;\r\n public Dimensions: Entities.ProductDimension[];\r\n public ItemId: string;\r\n public Name: string;\r\n public ProductTypeValue: number;\r\n public Quantity: number;\r\n public UnitOfMeasure: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.SlotId = \r\n (odataObject.SlotId != null) ? parseInt(odataObject.SlotId, 10) : undefined;\r\n \r\n if (odataObject.Product == null) {\r\n this.Product = undefined;\r\n } else if (odataObject.Product['@odata.type'] == null) {\r\n this.Product = new SimpleProductClass(odataObject.Product);\r\n } else {\r\n var className: string = odataObject.Product['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Product = new entityDictionary[className](odataObject.Product)\r\n }\r\n }\r\n\r\n \r\n this.AdditionalChargeForComponent = \r\n (odataObject.AdditionalChargeForComponent != null) ? parseFloat(odataObject.AdditionalChargeForComponent) : undefined;\r\n \r\n if (odataObject.Behavior == null) {\r\n this.Behavior = undefined;\r\n } else if (odataObject.Behavior['@odata.type'] == null) {\r\n this.Behavior = new ProductBehaviorClass(odataObject.Behavior);\r\n } else {\r\n var className: string = odataObject.Behavior['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Behavior = new entityDictionary[className](odataObject.Behavior)\r\n }\r\n }\r\n\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Dimensions = undefined;\r\n if (odataObject.Dimensions) {\r\n this.Dimensions = [];\r\n for (var i = 0; i < odataObject.Dimensions.length; i++) {\r\n if (odataObject.Dimensions[i] != null) {\r\n if (odataObject.Dimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Dimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Dimensions[i] = new entityDictionary[className](odataObject.Dimensions[i])\r\n }\r\n } else {\r\n this.Dimensions[i] = new ProductDimensionClass(odataObject.Dimensions[i]);\r\n }\r\n } else {\r\n this.Dimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ProductTypeValue = \r\n odataObject.ProductTypeValue;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductComponentClass'] = ProductComponentClass;\r\n \r\n /**\r\n * SimpleProduct entity class.\r\n */\r\n export class SimpleProductClass implements Entities.SimpleProduct {\r\n public RecordId: number;\r\n public ItemId: string;\r\n public Name: string;\r\n public Description: string;\r\n public ProductTypeValue: number;\r\n public DefaultUnitOfMeasure: string;\r\n public BasePrice: number;\r\n public Price: number;\r\n public AdjustedPrice: number;\r\n public MasterProductId: number;\r\n public Components: Entities.ProductComponent[];\r\n public IsGiftCard: boolean;\r\n public Dimensions: Entities.ProductDimension[];\r\n public Behavior: Entities.ProductBehavior;\r\n public LinkedProducts: Entities.SimpleLinkedProduct[];\r\n public PrimaryImageUrl: string;\r\n public ItemTypeValue: number;\r\n public ItemServiceTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ProductTypeValue = \r\n odataObject.ProductTypeValue;\r\n \r\n this.DefaultUnitOfMeasure = \r\n odataObject.DefaultUnitOfMeasure;\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.AdjustedPrice = \r\n (odataObject.AdjustedPrice != null) ? parseFloat(odataObject.AdjustedPrice) : undefined;\r\n \r\n this.MasterProductId = \r\n (odataObject.MasterProductId != null) ? parseInt(odataObject.MasterProductId, 10) : undefined;\r\n \r\n this.Components = undefined;\r\n if (odataObject.Components) {\r\n this.Components = [];\r\n for (var i = 0; i < odataObject.Components.length; i++) {\r\n if (odataObject.Components[i] != null) {\r\n if (odataObject.Components[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Components[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Components[i] = new entityDictionary[className](odataObject.Components[i])\r\n }\r\n } else {\r\n this.Components[i] = new ProductComponentClass(odataObject.Components[i]);\r\n }\r\n } else {\r\n this.Components[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsGiftCard = \r\n odataObject.IsGiftCard;\r\n \r\n this.Dimensions = undefined;\r\n if (odataObject.Dimensions) {\r\n this.Dimensions = [];\r\n for (var i = 0; i < odataObject.Dimensions.length; i++) {\r\n if (odataObject.Dimensions[i] != null) {\r\n if (odataObject.Dimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Dimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Dimensions[i] = new entityDictionary[className](odataObject.Dimensions[i])\r\n }\r\n } else {\r\n this.Dimensions[i] = new ProductDimensionClass(odataObject.Dimensions[i]);\r\n }\r\n } else {\r\n this.Dimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.Behavior == null) {\r\n this.Behavior = undefined;\r\n } else if (odataObject.Behavior['@odata.type'] == null) {\r\n this.Behavior = new ProductBehaviorClass(odataObject.Behavior);\r\n } else {\r\n var className: string = odataObject.Behavior['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Behavior = new entityDictionary[className](odataObject.Behavior)\r\n }\r\n }\r\n\r\n \r\n this.LinkedProducts = undefined;\r\n if (odataObject.LinkedProducts) {\r\n this.LinkedProducts = [];\r\n for (var i = 0; i < odataObject.LinkedProducts.length; i++) {\r\n if (odataObject.LinkedProducts[i] != null) {\r\n if (odataObject.LinkedProducts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LinkedProducts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LinkedProducts[i] = new entityDictionary[className](odataObject.LinkedProducts[i])\r\n }\r\n } else {\r\n this.LinkedProducts[i] = new SimpleLinkedProductClass(odataObject.LinkedProducts[i]);\r\n }\r\n } else {\r\n this.LinkedProducts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.PrimaryImageUrl = \r\n odataObject.PrimaryImageUrl;\r\n \r\n this.ItemTypeValue = \r\n odataObject.ItemTypeValue;\r\n \r\n this.ItemServiceTypeValue = \r\n odataObject.ItemServiceTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SimpleProductClass'] = SimpleProductClass;\r\n \r\n /**\r\n * ProductBehavior entity class.\r\n */\r\n export class ProductBehaviorClass implements Entities.ProductBehavior {\r\n public HasSerialNumber: boolean;\r\n public IsDiscountAllowed: boolean;\r\n public IsManualDiscountAllowed: boolean;\r\n public IsKitDisassemblyAllowed: boolean;\r\n public IsNegativeQuantityAllowed: boolean;\r\n public IsReturnAllowed: boolean;\r\n public IsSaleAtPhysicalStoresAllowed: boolean;\r\n public IsZeroSalePriceAllowed: boolean;\r\n public KeyInPriceValue: number;\r\n public KeyInQuantityValue: number;\r\n public MustKeyInComment: boolean;\r\n public MustPrintIndividualShelfLabelsForVariants: boolean;\r\n public MustPromptForSerialNumberOnlyAtSale: boolean;\r\n public MustWeighProductAtSale: boolean;\r\n public ValidFromDateForSaleAtPhysicalStores: Date;\r\n public ValidToDateForSaleAtPhysicalStores: Date;\r\n public IsStorageDimensionGroupLocationActive: boolean;\r\n public IsStorageDimensionGroupLocationAllowBlankReceiptEnabled: boolean;\r\n public AllowNegativePhysicalInventory: boolean;\r\n public IsStockedProduct: boolean;\r\n public IsBlankSerialNumberAllowed: boolean;\r\n public IsBlankSerialNumberReceiptAllowed: boolean;\r\n public IsSerialNumberControlEnabled: boolean;\r\n public IsStorageDimensionGroupLocationBlankIssueAllowed: boolean;\r\n public IsSerialNumberRequired: boolean;\r\n public DefaultQuantity: number;\r\n public MaximumQuantity: number;\r\n public MinimumQuantity: number;\r\n public MultipleOfQuantity: number;\r\n public InventoryLocationId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HasSerialNumber = \r\n odataObject.HasSerialNumber;\r\n \r\n this.IsDiscountAllowed = \r\n odataObject.IsDiscountAllowed;\r\n \r\n this.IsManualDiscountAllowed = \r\n odataObject.IsManualDiscountAllowed;\r\n \r\n this.IsKitDisassemblyAllowed = \r\n odataObject.IsKitDisassemblyAllowed;\r\n \r\n this.IsNegativeQuantityAllowed = \r\n odataObject.IsNegativeQuantityAllowed;\r\n \r\n this.IsReturnAllowed = \r\n odataObject.IsReturnAllowed;\r\n \r\n this.IsSaleAtPhysicalStoresAllowed = \r\n odataObject.IsSaleAtPhysicalStoresAllowed;\r\n \r\n this.IsZeroSalePriceAllowed = \r\n odataObject.IsZeroSalePriceAllowed;\r\n \r\n this.KeyInPriceValue = \r\n odataObject.KeyInPriceValue;\r\n \r\n this.KeyInQuantityValue = \r\n odataObject.KeyInQuantityValue;\r\n \r\n this.MustKeyInComment = \r\n odataObject.MustKeyInComment;\r\n \r\n this.MustPrintIndividualShelfLabelsForVariants = \r\n odataObject.MustPrintIndividualShelfLabelsForVariants;\r\n \r\n this.MustPromptForSerialNumberOnlyAtSale = \r\n odataObject.MustPromptForSerialNumberOnlyAtSale;\r\n \r\n this.MustWeighProductAtSale = \r\n odataObject.MustWeighProductAtSale;\r\n \r\n this.ValidFromDateForSaleAtPhysicalStores = \r\n (odataObject.ValidFromDateForSaleAtPhysicalStores instanceof Date) ? odataObject.ValidFromDateForSaleAtPhysicalStores\r\n : (odataObject.ValidFromDateForSaleAtPhysicalStores != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFromDateForSaleAtPhysicalStores, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidToDateForSaleAtPhysicalStores = \r\n (odataObject.ValidToDateForSaleAtPhysicalStores instanceof Date) ? odataObject.ValidToDateForSaleAtPhysicalStores\r\n : (odataObject.ValidToDateForSaleAtPhysicalStores != null) ? jsonLightReadStringPropertyValue(odataObject.ValidToDateForSaleAtPhysicalStores, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.IsStorageDimensionGroupLocationActive = \r\n odataObject.IsStorageDimensionGroupLocationActive;\r\n \r\n this.IsStorageDimensionGroupLocationAllowBlankReceiptEnabled = \r\n odataObject.IsStorageDimensionGroupLocationAllowBlankReceiptEnabled;\r\n \r\n this.AllowNegativePhysicalInventory = \r\n odataObject.AllowNegativePhysicalInventory;\r\n \r\n this.IsStockedProduct = \r\n odataObject.IsStockedProduct;\r\n \r\n this.IsBlankSerialNumberAllowed = \r\n odataObject.IsBlankSerialNumberAllowed;\r\n \r\n this.IsBlankSerialNumberReceiptAllowed = \r\n odataObject.IsBlankSerialNumberReceiptAllowed;\r\n \r\n this.IsSerialNumberControlEnabled = \r\n odataObject.IsSerialNumberControlEnabled;\r\n \r\n this.IsStorageDimensionGroupLocationBlankIssueAllowed = \r\n odataObject.IsStorageDimensionGroupLocationBlankIssueAllowed;\r\n \r\n this.IsSerialNumberRequired = \r\n odataObject.IsSerialNumberRequired;\r\n \r\n this.DefaultQuantity = \r\n (odataObject.DefaultQuantity != null) ? parseFloat(odataObject.DefaultQuantity) : undefined;\r\n \r\n this.MaximumQuantity = \r\n (odataObject.MaximumQuantity != null) ? parseFloat(odataObject.MaximumQuantity) : undefined;\r\n \r\n this.MinimumQuantity = \r\n (odataObject.MinimumQuantity != null) ? parseFloat(odataObject.MinimumQuantity) : undefined;\r\n \r\n this.MultipleOfQuantity = \r\n (odataObject.MultipleOfQuantity != null) ? parseFloat(odataObject.MultipleOfQuantity) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductBehaviorClass'] = ProductBehaviorClass;\r\n \r\n /**\r\n * SimpleLinkedProduct entity class.\r\n */\r\n export class SimpleLinkedProductClass implements Entities.SimpleLinkedProduct {\r\n public RecordId: number;\r\n public ItemId: string;\r\n public Name: string;\r\n public Description: string;\r\n public ProductTypeValue: number;\r\n public DefaultUnitOfMeasure: string;\r\n public BasePrice: number;\r\n public Price: number;\r\n public AdjustedPrice: number;\r\n public Quantity: number;\r\n public Behavior: Entities.ProductBehavior;\r\n public Dimensions: Entities.ProductDimension[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ProductTypeValue = \r\n odataObject.ProductTypeValue;\r\n \r\n this.DefaultUnitOfMeasure = \r\n odataObject.DefaultUnitOfMeasure;\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.AdjustedPrice = \r\n (odataObject.AdjustedPrice != null) ? parseFloat(odataObject.AdjustedPrice) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n if (odataObject.Behavior == null) {\r\n this.Behavior = undefined;\r\n } else if (odataObject.Behavior['@odata.type'] == null) {\r\n this.Behavior = new ProductBehaviorClass(odataObject.Behavior);\r\n } else {\r\n var className: string = odataObject.Behavior['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Behavior = new entityDictionary[className](odataObject.Behavior)\r\n }\r\n }\r\n\r\n \r\n this.Dimensions = undefined;\r\n if (odataObject.Dimensions) {\r\n this.Dimensions = [];\r\n for (var i = 0; i < odataObject.Dimensions.length; i++) {\r\n if (odataObject.Dimensions[i] != null) {\r\n if (odataObject.Dimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Dimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Dimensions[i] = new entityDictionary[className](odataObject.Dimensions[i])\r\n }\r\n } else {\r\n this.Dimensions[i] = new ProductDimensionClass(odataObject.Dimensions[i]);\r\n }\r\n } else {\r\n this.Dimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SimpleLinkedProductClass'] = SimpleLinkedProductClass;\r\n \r\n /**\r\n * ProductSearchResult entity class.\r\n */\r\n export class ProductSearchResultClass implements Entities.ProductSearchResult {\r\n public ItemId: string;\r\n public Name: string;\r\n public Price: number;\r\n public PrimaryImageUrl: string;\r\n public RecordId: number;\r\n public TrackingId: string;\r\n public AverageRating: number;\r\n public TotalRatings: number;\r\n public Description: string;\r\n public BasePrice: number;\r\n public MinVariantPrice: number;\r\n public MaxVariantPrice: number;\r\n public DisplayOrder: number;\r\n public AttributeValues: Entities.AttributeValue[];\r\n public IsMasterProduct: boolean;\r\n public MasterProductId: number;\r\n public DefaultUnitOfMeasure: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.PrimaryImageUrl = \r\n odataObject.PrimaryImageUrl;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.TrackingId = \r\n odataObject.TrackingId;\r\n \r\n this.AverageRating = \r\n (odataObject.AverageRating != null) ? parseFloat(odataObject.AverageRating) : undefined;\r\n \r\n this.TotalRatings = \r\n odataObject.TotalRatings;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.MinVariantPrice = \r\n (odataObject.MinVariantPrice != null) ? parseFloat(odataObject.MinVariantPrice) : undefined;\r\n \r\n this.MaxVariantPrice = \r\n (odataObject.MaxVariantPrice != null) ? parseFloat(odataObject.MaxVariantPrice) : undefined;\r\n \r\n this.DisplayOrder = \r\n (odataObject.DisplayOrder != null) ? parseFloat(odataObject.DisplayOrder) : undefined;\r\n \r\n this.AttributeValues = undefined;\r\n if (odataObject.AttributeValues) {\r\n this.AttributeValues = [];\r\n for (var i = 0; i < odataObject.AttributeValues.length; i++) {\r\n if (odataObject.AttributeValues[i] != null) {\r\n if (odataObject.AttributeValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttributeValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValues[i] = new entityDictionary[className](odataObject.AttributeValues[i])\r\n }\r\n } else {\r\n this.AttributeValues[i] = new AttributeValueClass(odataObject.AttributeValues[i]);\r\n }\r\n } else {\r\n this.AttributeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsMasterProduct = \r\n odataObject.IsMasterProduct;\r\n \r\n this.MasterProductId = \r\n (odataObject.MasterProductId != null) ? parseInt(odataObject.MasterProductId, 10) : undefined;\r\n \r\n this.DefaultUnitOfMeasure = \r\n odataObject.DefaultUnitOfMeasure;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductSearchResultClass'] = ProductSearchResultClass;\r\n \r\n /**\r\n * SearchSuggestion entity class.\r\n */\r\n export class SearchSuggestionClass implements Entities.SearchSuggestion {\r\n public Value: string;\r\n public Value2: Entities.CommerceProperty;\r\n public Value3: Entities.CommerceProperty;\r\n public Value4: Entities.CommerceProperty;\r\n public SuggestionType: string;\r\n public Id: string;\r\n public ImageUrl: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Value = \r\n odataObject.Value;\r\n \r\n if (odataObject.Value2 == null) {\r\n this.Value2 = undefined;\r\n } else if (odataObject.Value2['@odata.type'] == null) {\r\n this.Value2 = new CommercePropertyClass(odataObject.Value2);\r\n } else {\r\n var className: string = odataObject.Value2['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value2 = new entityDictionary[className](odataObject.Value2)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.Value3 == null) {\r\n this.Value3 = undefined;\r\n } else if (odataObject.Value3['@odata.type'] == null) {\r\n this.Value3 = new CommercePropertyClass(odataObject.Value3);\r\n } else {\r\n var className: string = odataObject.Value3['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value3 = new entityDictionary[className](odataObject.Value3)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.Value4 == null) {\r\n this.Value4 = undefined;\r\n } else if (odataObject.Value4['@odata.type'] == null) {\r\n this.Value4 = new CommercePropertyClass(odataObject.Value4);\r\n } else {\r\n var className: string = odataObject.Value4['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value4 = new entityDictionary[className](odataObject.Value4)\r\n }\r\n }\r\n\r\n \r\n this.SuggestionType = \r\n odataObject.SuggestionType;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.ImageUrl = \r\n odataObject.ImageUrl;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SearchSuggestionClass'] = SearchSuggestionClass;\r\n \r\n /**\r\n * LoyaltyPointRedemptionEstimate entity class.\r\n */\r\n export class LoyaltyPointRedemptionEstimateClass implements Entities.LoyaltyPointRedemptionEstimate {\r\n public MaxCurrencyValueOfLoyaltyPoints: number;\r\n public RewardPointToRedeemList: Entities.LoyaltyRewardPointLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.MaxCurrencyValueOfLoyaltyPoints = \r\n (odataObject.MaxCurrencyValueOfLoyaltyPoints != null) ? parseFloat(odataObject.MaxCurrencyValueOfLoyaltyPoints) : undefined;\r\n \r\n this.RewardPointToRedeemList = undefined;\r\n if (odataObject.RewardPointToRedeemList) {\r\n this.RewardPointToRedeemList = [];\r\n for (var i = 0; i < odataObject.RewardPointToRedeemList.length; i++) {\r\n if (odataObject.RewardPointToRedeemList[i] != null) {\r\n if (odataObject.RewardPointToRedeemList[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RewardPointToRedeemList[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RewardPointToRedeemList[i] = new entityDictionary[className](odataObject.RewardPointToRedeemList[i])\r\n }\r\n } else {\r\n this.RewardPointToRedeemList[i] = new LoyaltyRewardPointLineClass(odataObject.RewardPointToRedeemList[i]);\r\n }\r\n } else {\r\n this.RewardPointToRedeemList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyPointRedemptionEstimateClass'] = LoyaltyPointRedemptionEstimateClass;\r\n \r\n /**\r\n * LoyaltyGroup entity class.\r\n */\r\n export class LoyaltyGroupClass implements Entities.LoyaltyGroup {\r\n public Description: string;\r\n public Name: string;\r\n public RecordId: number;\r\n public LoyaltyTiers: Entities.LoyaltyTier[];\r\n public LoyaltyCardTiers: Entities.LoyaltyCardTier[];\r\n public HighestActiveLoyaltyCardTier: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.LoyaltyTiers = undefined;\r\n if (odataObject.LoyaltyTiers) {\r\n this.LoyaltyTiers = [];\r\n for (var i = 0; i < odataObject.LoyaltyTiers.length; i++) {\r\n if (odataObject.LoyaltyTiers[i] != null) {\r\n if (odataObject.LoyaltyTiers[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LoyaltyTiers[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LoyaltyTiers[i] = new entityDictionary[className](odataObject.LoyaltyTiers[i])\r\n }\r\n } else {\r\n this.LoyaltyTiers[i] = new LoyaltyTierClass(odataObject.LoyaltyTiers[i]);\r\n }\r\n } else {\r\n this.LoyaltyTiers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LoyaltyCardTiers = undefined;\r\n if (odataObject.LoyaltyCardTiers) {\r\n this.LoyaltyCardTiers = [];\r\n for (var i = 0; i < odataObject.LoyaltyCardTiers.length; i++) {\r\n if (odataObject.LoyaltyCardTiers[i] != null) {\r\n if (odataObject.LoyaltyCardTiers[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LoyaltyCardTiers[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LoyaltyCardTiers[i] = new entityDictionary[className](odataObject.LoyaltyCardTiers[i])\r\n }\r\n } else {\r\n this.LoyaltyCardTiers[i] = new LoyaltyCardTierClass(odataObject.LoyaltyCardTiers[i]);\r\n }\r\n } else {\r\n this.LoyaltyCardTiers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.HighestActiveLoyaltyCardTier = \r\n (odataObject.HighestActiveLoyaltyCardTier != null) ? parseInt(odataObject.HighestActiveLoyaltyCardTier, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyGroupClass'] = LoyaltyGroupClass;\r\n \r\n /**\r\n * LoyaltyTier entity class.\r\n */\r\n export class LoyaltyTierClass implements Entities.LoyaltyTier {\r\n public Description: string;\r\n public RecordId: number;\r\n public TierId: string;\r\n public TierLevel: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.TierId = \r\n odataObject.TierId;\r\n \r\n this.TierLevel = \r\n (odataObject.TierLevel != null) ? parseFloat(odataObject.TierLevel) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyTierClass'] = LoyaltyTierClass;\r\n \r\n /**\r\n * LoyaltyCardTier entity class.\r\n */\r\n export class LoyaltyCardTierClass implements Entities.LoyaltyCardTier {\r\n public RecordId: number;\r\n public TierId: string;\r\n public LoyaltyTierRecordId: number;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.TierId = \r\n odataObject.TierId;\r\n \r\n this.LoyaltyTierRecordId = \r\n (odataObject.LoyaltyTierRecordId != null) ? parseInt(odataObject.LoyaltyTierRecordId, 10) : undefined;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyCardTierClass'] = LoyaltyCardTierClass;\r\n \r\n /**\r\n * LoyaltyRewardPoint entity class.\r\n */\r\n export class LoyaltyRewardPointClass implements Entities.LoyaltyRewardPoint {\r\n public IsRedeemable: boolean;\r\n public RewardPointCurrency: string;\r\n public RewardPointTypeValue: number;\r\n public Description: string;\r\n public RewardPointId: string;\r\n public IssuedPoints: number;\r\n public UsedPoints: number;\r\n public ExpiredPoints: number;\r\n public ActivePoints: number;\r\n public PointsExpiringSoon: number;\r\n public UnvestedPoints: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsRedeemable = \r\n odataObject.IsRedeemable;\r\n \r\n this.RewardPointCurrency = \r\n odataObject.RewardPointCurrency;\r\n \r\n this.RewardPointTypeValue = \r\n odataObject.RewardPointTypeValue;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.RewardPointId = \r\n odataObject.RewardPointId;\r\n \r\n this.IssuedPoints = \r\n (odataObject.IssuedPoints != null) ? parseFloat(odataObject.IssuedPoints) : undefined;\r\n \r\n this.UsedPoints = \r\n (odataObject.UsedPoints != null) ? parseFloat(odataObject.UsedPoints) : undefined;\r\n \r\n this.ExpiredPoints = \r\n (odataObject.ExpiredPoints != null) ? parseFloat(odataObject.ExpiredPoints) : undefined;\r\n \r\n this.ActivePoints = \r\n (odataObject.ActivePoints != null) ? parseFloat(odataObject.ActivePoints) : undefined;\r\n \r\n this.PointsExpiringSoon = \r\n (odataObject.PointsExpiringSoon != null) ? parseFloat(odataObject.PointsExpiringSoon) : undefined;\r\n \r\n this.UnvestedPoints = \r\n (odataObject.UnvestedPoints != null) ? parseFloat(odataObject.UnvestedPoints) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyRewardPointClass'] = LoyaltyRewardPointClass;\r\n \r\n /**\r\n * LoyaltyCardTransaction entity class.\r\n */\r\n export class LoyaltyCardTransactionClass implements Entities.LoyaltyCardTransaction {\r\n public ChannelName: string;\r\n public EntryDateTime: Date;\r\n public EntryTypeValue: number;\r\n public ExpirationDate: Date;\r\n public RewardPointAmountQuantity: number;\r\n public TransactionId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelName = \r\n odataObject.ChannelName;\r\n \r\n this.EntryDateTime = \r\n (odataObject.EntryDateTime instanceof Date) ? odataObject.EntryDateTime\r\n : (odataObject.EntryDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EntryDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EntryTypeValue = \r\n odataObject.EntryTypeValue;\r\n \r\n this.ExpirationDate = \r\n (odataObject.ExpirationDate instanceof Date) ? odataObject.ExpirationDate\r\n : (odataObject.ExpirationDate != null) ? jsonLightReadStringPropertyValue(odataObject.ExpirationDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RewardPointAmountQuantity = \r\n (odataObject.RewardPointAmountQuantity != null) ? parseFloat(odataObject.RewardPointAmountQuantity) : undefined;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyCardTransactionClass'] = LoyaltyCardTransactionClass;\r\n \r\n /**\r\n * GiftCard entity class.\r\n */\r\n export class GiftCardClass implements Entities.GiftCard {\r\n public Id: string;\r\n public Balance: number;\r\n public BalanceCurrencyCode: string;\r\n public BalanceInCardCurrency: number;\r\n public CardCurrencyCode: string;\r\n public GiftCardIssueAmount: number;\r\n public GiftCardActiveFrom: Date;\r\n public GiftCardExpireDate: Date;\r\n public GiftCardHistoryDetails: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Balance = \r\n (odataObject.Balance != null) ? parseFloat(odataObject.Balance) : undefined;\r\n \r\n this.BalanceCurrencyCode = \r\n odataObject.BalanceCurrencyCode;\r\n \r\n this.BalanceInCardCurrency = \r\n (odataObject.BalanceInCardCurrency != null) ? parseFloat(odataObject.BalanceInCardCurrency) : undefined;\r\n \r\n this.CardCurrencyCode = \r\n odataObject.CardCurrencyCode;\r\n \r\n this.GiftCardIssueAmount = \r\n (odataObject.GiftCardIssueAmount != null) ? parseFloat(odataObject.GiftCardIssueAmount) : undefined;\r\n \r\n this.GiftCardActiveFrom = \r\n (odataObject.GiftCardActiveFrom instanceof Date) ? odataObject.GiftCardActiveFrom\r\n : (odataObject.GiftCardActiveFrom != null) ? jsonLightReadStringPropertyValue(odataObject.GiftCardActiveFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardExpireDate = \r\n (odataObject.GiftCardExpireDate instanceof Date) ? odataObject.GiftCardExpireDate\r\n : (odataObject.GiftCardExpireDate != null) ? jsonLightReadStringPropertyValue(odataObject.GiftCardExpireDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.GiftCardHistoryDetails = \r\n odataObject.GiftCardHistoryDetails;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['GiftCardClass'] = GiftCardClass;\r\n \r\n /**\r\n * OperationPermission entity class.\r\n */\r\n export class OperationPermissionClass implements Entities.OperationPermission {\r\n public OperationName: string;\r\n public OperationId: number;\r\n public CheckUserAccess: boolean;\r\n public AllowAnonymousAccess: boolean;\r\n public AllowCustomerAccess: boolean;\r\n public AllowApplicationAccess: boolean;\r\n public IsEnabledForTaskManagement: boolean;\r\n public Permissions: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OperationName = \r\n odataObject.OperationName;\r\n \r\n this.OperationId = \r\n odataObject.OperationId;\r\n \r\n this.CheckUserAccess = \r\n odataObject.CheckUserAccess;\r\n \r\n this.AllowAnonymousAccess = \r\n odataObject.AllowAnonymousAccess;\r\n \r\n this.AllowCustomerAccess = \r\n odataObject.AllowCustomerAccess;\r\n \r\n this.AllowApplicationAccess = \r\n odataObject.AllowApplicationAccess;\r\n \r\n this.IsEnabledForTaskManagement = \r\n odataObject.IsEnabledForTaskManagement;\r\n \r\n this.Permissions = undefined;\r\n if (odataObject.Permissions) {\r\n this.Permissions = [];\r\n for (var i = 0; i < odataObject.Permissions.length; i++) {\r\n if (odataObject.Permissions[i] != null) {\r\n this.Permissions[i] = \r\n odataObject.Permissions[i];\r\n } else {\r\n this.Permissions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OperationPermissionClass'] = OperationPermissionClass;\r\n \r\n /**\r\n * StateProvinceInfo entity class.\r\n */\r\n export class StateProvinceInfoClass implements Entities.StateProvinceInfo {\r\n public CountryRegionId: string;\r\n public StateId: string;\r\n public StateName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.StateId = \r\n odataObject.StateId;\r\n \r\n this.StateName = \r\n odataObject.StateName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['StateProvinceInfoClass'] = StateProvinceInfoClass;\r\n \r\n /**\r\n * TransactionLog entity class.\r\n */\r\n export class TransactionLogClass\r\n extends TransactionClass\r\n implements Entities.TransactionLog {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.TransactionLog\";\r\n \r\n }\r\n }\r\n entityDictionary['TransactionLogClass'] = TransactionLogClass;\r\n \r\n /**\r\n * KitTransaction entity class.\r\n */\r\n export class KitTransactionClass\r\n extends TransactionLogClass\r\n implements Entities.KitTransaction {\r\n public KitTransactionLines: Entities.KitTransactionLine[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.KitTransactionLines = undefined;\r\n if (odataObject.KitTransactionLines) {\r\n this.KitTransactionLines = [];\r\n for (var i = 0; i < odataObject.KitTransactionLines.length; i++) {\r\n if (odataObject.KitTransactionLines[i] != null) {\r\n if (odataObject.KitTransactionLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.KitTransactionLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.KitTransactionLines[i] = new entityDictionary[className](odataObject.KitTransactionLines[i])\r\n }\r\n } else {\r\n this.KitTransactionLines[i] = new KitTransactionLineClass(odataObject.KitTransactionLines[i]);\r\n }\r\n } else {\r\n this.KitTransactionLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.KitTransaction\";\r\n \r\n }\r\n }\r\n entityDictionary['KitTransactionClass'] = KitTransactionClass;\r\n \r\n /**\r\n * SalesTaxGroup entity class.\r\n */\r\n export class SalesTaxGroupClass implements Entities.SalesTaxGroup {\r\n public RecordId: number;\r\n public TaxGroup: string;\r\n public TaxGroupName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.TaxGroup = \r\n odataObject.TaxGroup;\r\n \r\n this.TaxGroupName = \r\n odataObject.TaxGroupName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesTaxGroupClass'] = SalesTaxGroupClass;\r\n \r\n /**\r\n * ProductProperty entity class.\r\n */\r\n export class ProductPropertyClass implements Entities.ProductProperty {\r\n public ValueString: string;\r\n public UnitText: string;\r\n public PropertyTypeValue: number;\r\n public KeyName: string;\r\n public FriendlyName: string;\r\n public RecordId: number;\r\n public IsDimensionProperty: boolean;\r\n public AttributeValueId: number;\r\n public SwatchImageUrl: string;\r\n public SwatchColorHexCode: string;\r\n public GroupId: number;\r\n public GroupTypeValue: number;\r\n public GroupName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n public ProductId: number;\r\n public CatalogId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ValueString = \r\n odataObject.ValueString;\r\n \r\n this.UnitText = \r\n odataObject.UnitText;\r\n \r\n this.PropertyTypeValue = \r\n odataObject.PropertyTypeValue;\r\n \r\n this.KeyName = \r\n odataObject.KeyName;\r\n \r\n this.FriendlyName = \r\n odataObject.FriendlyName;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.IsDimensionProperty = \r\n odataObject.IsDimensionProperty;\r\n \r\n this.AttributeValueId = \r\n (odataObject.AttributeValueId != null) ? parseInt(odataObject.AttributeValueId, 10) : undefined;\r\n \r\n this.SwatchImageUrl = \r\n odataObject.SwatchImageUrl;\r\n \r\n this.SwatchColorHexCode = \r\n odataObject.SwatchColorHexCode;\r\n \r\n this.GroupId = \r\n (odataObject.GroupId != null) ? parseInt(odataObject.GroupId, 10) : undefined;\r\n \r\n this.GroupTypeValue = \r\n odataObject.GroupTypeValue;\r\n \r\n this.GroupName = \r\n odataObject.GroupName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['ProductPropertyClass'] = ProductPropertyClass;\r\n \r\n /**\r\n * ProductCompositionInformation entity class.\r\n */\r\n export class ProductCompositionInformationClass implements Entities.ProductCompositionInformation {\r\n public VariantInformation: Entities.ProductVariantInformation;\r\n public KitDefinition: Entities.KitDefinition;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.VariantInformation == null) {\r\n this.VariantInformation = undefined;\r\n } else if (odataObject.VariantInformation['@odata.type'] == null) {\r\n this.VariantInformation = new ProductVariantInformationClass(odataObject.VariantInformation);\r\n } else {\r\n var className: string = odataObject.VariantInformation['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.VariantInformation = new entityDictionary[className](odataObject.VariantInformation)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.KitDefinition == null) {\r\n this.KitDefinition = undefined;\r\n } else if (odataObject.KitDefinition['@odata.type'] == null) {\r\n this.KitDefinition = new KitDefinitionClass(odataObject.KitDefinition);\r\n } else {\r\n var className: string = odataObject.KitDefinition['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.KitDefinition = new entityDictionary[className](odataObject.KitDefinition)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['ProductCompositionInformationClass'] = ProductCompositionInformationClass;\r\n \r\n /**\r\n * ProductVariantInformation entity class.\r\n */\r\n export class ProductVariantInformationClass implements Entities.ProductVariantInformation {\r\n public ActiveVariantProductId: number;\r\n public Variants: Entities.ProductVariant[];\r\n public Dimensions: Entities.ProductDimensionSet[];\r\n public ItemId: string;\r\n public MasterProductId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ActiveVariantProductId = \r\n (odataObject.ActiveVariantProductId != null) ? parseInt(odataObject.ActiveVariantProductId, 10) : undefined;\r\n \r\n this.Variants = undefined;\r\n if (odataObject.Variants) {\r\n this.Variants = [];\r\n for (var i = 0; i < odataObject.Variants.length; i++) {\r\n if (odataObject.Variants[i] != null) {\r\n if (odataObject.Variants[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Variants[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Variants[i] = new entityDictionary[className](odataObject.Variants[i])\r\n }\r\n } else {\r\n this.Variants[i] = new ProductVariantClass(odataObject.Variants[i]);\r\n }\r\n } else {\r\n this.Variants[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Dimensions = undefined;\r\n if (odataObject.Dimensions) {\r\n this.Dimensions = [];\r\n for (var i = 0; i < odataObject.Dimensions.length; i++) {\r\n if (odataObject.Dimensions[i] != null) {\r\n if (odataObject.Dimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Dimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Dimensions[i] = new entityDictionary[className](odataObject.Dimensions[i])\r\n }\r\n } else {\r\n this.Dimensions[i] = new ProductDimensionSetClass(odataObject.Dimensions[i]);\r\n }\r\n } else {\r\n this.Dimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.MasterProductId = \r\n (odataObject.MasterProductId != null) ? parseInt(odataObject.MasterProductId, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['ProductVariantInformationClass'] = ProductVariantInformationClass;\r\n \r\n /**\r\n * ProductChangeTrackingInformation entity class.\r\n */\r\n export class ProductChangeTrackingInformationClass implements Entities.ProductChangeTrackingInformation {\r\n public ModifiedDateTime: Date;\r\n public ChangeActionValue: number;\r\n public RequestedActionValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ModifiedDateTime = \r\n (odataObject.ModifiedDateTime instanceof Date) ? odataObject.ModifiedDateTime\r\n : (odataObject.ModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.ModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ChangeActionValue = \r\n odataObject.ChangeActionValue;\r\n \r\n this.RequestedActionValue = \r\n odataObject.RequestedActionValue;\r\n \r\n }\r\n }\r\n entityDictionary['ProductChangeTrackingInformationClass'] = ProductChangeTrackingInformationClass;\r\n \r\n /**\r\n * ProductDimensionSet entity class.\r\n */\r\n export class ProductDimensionSetClass implements Entities.ProductDimensionSet {\r\n public DimensionKey: string;\r\n public DimensionValues: Entities.ProductDimensionValueSet[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DimensionKey = \r\n odataObject.DimensionKey;\r\n \r\n this.DimensionValues = undefined;\r\n if (odataObject.DimensionValues) {\r\n this.DimensionValues = [];\r\n for (var i = 0; i < odataObject.DimensionValues.length; i++) {\r\n if (odataObject.DimensionValues[i] != null) {\r\n if (odataObject.DimensionValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DimensionValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DimensionValues[i] = new entityDictionary[className](odataObject.DimensionValues[i])\r\n }\r\n } else {\r\n this.DimensionValues[i] = new ProductDimensionValueSetClass(odataObject.DimensionValues[i]);\r\n }\r\n } else {\r\n this.DimensionValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionSetClass'] = ProductDimensionSetClass;\r\n \r\n /**\r\n * ProductDimensionValueSet entity class.\r\n */\r\n export class ProductDimensionValueSetClass implements Entities.ProductDimensionValueSet {\r\n public DimensionId: string;\r\n public DimensionValue: string;\r\n public VariantSet: number[];\r\n public SwatchImageUrl: string;\r\n public SwatchColorHexCode: string;\r\n public SwatchRefinerGroupValue: string;\r\n public SwatchRefinerGroupTranslation: string;\r\n public SwatchRefinerGroupImageUrl: string;\r\n public SwatchRefinerGroupColorHexCode: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DimensionId = \r\n odataObject.DimensionId;\r\n \r\n this.DimensionValue = \r\n odataObject.DimensionValue;\r\n \r\n this.VariantSet = undefined;\r\n if (odataObject.VariantSet) {\r\n this.VariantSet = [];\r\n for (var i = 0; i < odataObject.VariantSet.length; i++) {\r\n if (odataObject.VariantSet[i] != null) {\r\n this.VariantSet[i] = \r\n parseInt(odataObject.VariantSet[i], 10);\r\n } else {\r\n this.VariantSet[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SwatchImageUrl = \r\n odataObject.SwatchImageUrl;\r\n \r\n this.SwatchColorHexCode = \r\n odataObject.SwatchColorHexCode;\r\n \r\n this.SwatchRefinerGroupValue = \r\n odataObject.SwatchRefinerGroupValue;\r\n \r\n this.SwatchRefinerGroupTranslation = \r\n odataObject.SwatchRefinerGroupTranslation;\r\n \r\n this.SwatchRefinerGroupImageUrl = \r\n odataObject.SwatchRefinerGroupImageUrl;\r\n \r\n this.SwatchRefinerGroupColorHexCode = \r\n odataObject.SwatchRefinerGroupColorHexCode;\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionValueSetClass'] = ProductDimensionValueSetClass;\r\n \r\n /**\r\n * RichMediaLocations entity class.\r\n */\r\n export class RichMediaLocationsClass implements Entities.RichMediaLocations {\r\n public Items: Entities.RichMediaLocationsRichMediaLocation[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Items = undefined;\r\n if (odataObject.Items) {\r\n this.Items = [];\r\n for (var i = 0; i < odataObject.Items.length; i++) {\r\n if (odataObject.Items[i] != null) {\r\n if (odataObject.Items[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Items[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Items[i] = new entityDictionary[className](odataObject.Items[i])\r\n }\r\n } else {\r\n this.Items[i] = new RichMediaLocationsRichMediaLocationClass(odataObject.Items[i]);\r\n }\r\n } else {\r\n this.Items[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RichMediaLocationsClass'] = RichMediaLocationsClass;\r\n \r\n /**\r\n * RichMediaLocationsRichMediaLocation entity class.\r\n */\r\n export class RichMediaLocationsRichMediaLocationClass implements Entities.RichMediaLocationsRichMediaLocation {\r\n public Url: string;\r\n public AltText: string;\r\n public IsSelfHosted: boolean;\r\n public IsDefault: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Url = \r\n odataObject.Url;\r\n \r\n this.AltText = \r\n odataObject.AltText;\r\n \r\n this.IsSelfHosted = \r\n odataObject.IsSelfHosted;\r\n \r\n this.IsDefault = \r\n odataObject.IsDefault;\r\n \r\n }\r\n }\r\n entityDictionary['RichMediaLocationsRichMediaLocationClass'] = RichMediaLocationsRichMediaLocationClass;\r\n \r\n /**\r\n * KitDefinition entity class.\r\n */\r\n export class KitDefinitionClass implements Entities.KitDefinition {\r\n public DisassembleAtRegister: boolean;\r\n public KitLineDefinitions: Entities.KitLineDefinition[];\r\n public KitLineProductToVariantMap: Entities.ComponentKitVariantSet[];\r\n public KitVariantToComponentMap: Entities.KitVariantContent[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DisassembleAtRegister = \r\n odataObject.DisassembleAtRegister;\r\n \r\n this.KitLineDefinitions = undefined;\r\n if (odataObject.KitLineDefinitions) {\r\n this.KitLineDefinitions = [];\r\n for (var i = 0; i < odataObject.KitLineDefinitions.length; i++) {\r\n if (odataObject.KitLineDefinitions[i] != null) {\r\n if (odataObject.KitLineDefinitions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.KitLineDefinitions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.KitLineDefinitions[i] = new entityDictionary[className](odataObject.KitLineDefinitions[i])\r\n }\r\n } else {\r\n this.KitLineDefinitions[i] = new KitLineDefinitionClass(odataObject.KitLineDefinitions[i]);\r\n }\r\n } else {\r\n this.KitLineDefinitions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.KitLineProductToVariantMap = undefined;\r\n if (odataObject.KitLineProductToVariantMap) {\r\n this.KitLineProductToVariantMap = [];\r\n for (var i = 0; i < odataObject.KitLineProductToVariantMap.length; i++) {\r\n if (odataObject.KitLineProductToVariantMap[i] != null) {\r\n if (odataObject.KitLineProductToVariantMap[i]['@odata.type'] != null) {\r\n var className: string = odataObject.KitLineProductToVariantMap[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.KitLineProductToVariantMap[i] = new entityDictionary[className](odataObject.KitLineProductToVariantMap[i])\r\n }\r\n } else {\r\n this.KitLineProductToVariantMap[i] = new ComponentKitVariantSetClass(odataObject.KitLineProductToVariantMap[i]);\r\n }\r\n } else {\r\n this.KitLineProductToVariantMap[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.KitVariantToComponentMap = undefined;\r\n if (odataObject.KitVariantToComponentMap) {\r\n this.KitVariantToComponentMap = [];\r\n for (var i = 0; i < odataObject.KitVariantToComponentMap.length; i++) {\r\n if (odataObject.KitVariantToComponentMap[i] != null) {\r\n if (odataObject.KitVariantToComponentMap[i]['@odata.type'] != null) {\r\n var className: string = odataObject.KitVariantToComponentMap[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.KitVariantToComponentMap[i] = new entityDictionary[className](odataObject.KitVariantToComponentMap[i])\r\n }\r\n } else {\r\n this.KitVariantToComponentMap[i] = new KitVariantContentClass(odataObject.KitVariantToComponentMap[i]);\r\n }\r\n } else {\r\n this.KitVariantToComponentMap[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['KitDefinitionClass'] = KitDefinitionClass;\r\n \r\n /**\r\n * ComponentKitVariantSet entity class.\r\n */\r\n export class ComponentKitVariantSetClass implements Entities.ComponentKitVariantSet {\r\n public KitLineProductId: number;\r\n public KitVariantIdList: number[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.KitLineProductId = \r\n (odataObject.KitLineProductId != null) ? parseInt(odataObject.KitLineProductId, 10) : undefined;\r\n \r\n this.KitVariantIdList = undefined;\r\n if (odataObject.KitVariantIdList) {\r\n this.KitVariantIdList = [];\r\n for (var i = 0; i < odataObject.KitVariantIdList.length; i++) {\r\n if (odataObject.KitVariantIdList[i] != null) {\r\n this.KitVariantIdList[i] = \r\n parseInt(odataObject.KitVariantIdList[i], 10);\r\n } else {\r\n this.KitVariantIdList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ComponentKitVariantSetClass'] = ComponentKitVariantSetClass;\r\n \r\n /**\r\n * KitLineDefinition entity class.\r\n */\r\n export class KitLineDefinitionClass implements Entities.KitLineDefinition {\r\n public ComponentProductId: number;\r\n public KitLineIdentifier: number;\r\n public SubstituteProductIds: number[];\r\n public ComponentProperties: Entities.KitLineProductProperty[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ComponentProductId = \r\n (odataObject.ComponentProductId != null) ? parseInt(odataObject.ComponentProductId, 10) : undefined;\r\n \r\n this.KitLineIdentifier = \r\n (odataObject.KitLineIdentifier != null) ? parseInt(odataObject.KitLineIdentifier, 10) : undefined;\r\n \r\n this.SubstituteProductIds = undefined;\r\n if (odataObject.SubstituteProductIds) {\r\n this.SubstituteProductIds = [];\r\n for (var i = 0; i < odataObject.SubstituteProductIds.length; i++) {\r\n if (odataObject.SubstituteProductIds[i] != null) {\r\n this.SubstituteProductIds[i] = \r\n parseInt(odataObject.SubstituteProductIds[i], 10);\r\n } else {\r\n this.SubstituteProductIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ComponentProperties = undefined;\r\n if (odataObject.ComponentProperties) {\r\n this.ComponentProperties = [];\r\n for (var i = 0; i < odataObject.ComponentProperties.length; i++) {\r\n if (odataObject.ComponentProperties[i] != null) {\r\n if (odataObject.ComponentProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ComponentProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ComponentProperties[i] = new entityDictionary[className](odataObject.ComponentProperties[i])\r\n }\r\n } else {\r\n this.ComponentProperties[i] = new KitLineProductPropertyClass(odataObject.ComponentProperties[i]);\r\n }\r\n } else {\r\n this.ComponentProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['KitLineDefinitionClass'] = KitLineDefinitionClass;\r\n \r\n /**\r\n * KitLineProductProperty entity class.\r\n */\r\n export class KitLineProductPropertyClass implements Entities.KitLineProductProperty {\r\n public KitLineIdentifier: number;\r\n public ProductId: number;\r\n public Unit: string;\r\n public Quantity: number;\r\n public Charge: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.KitLineIdentifier = \r\n (odataObject.KitLineIdentifier != null) ? parseInt(odataObject.KitLineIdentifier, 10) : undefined;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.Unit = \r\n odataObject.Unit;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.Charge = \r\n (odataObject.Charge != null) ? parseFloat(odataObject.Charge) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['KitLineProductPropertyClass'] = KitLineProductPropertyClass;\r\n \r\n /**\r\n * KitComponentKey entity class.\r\n */\r\n export class KitComponentKeyClass implements Entities.KitComponentKey {\r\n public KitLineIdentifier: number;\r\n public DistinctProductId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.KitLineIdentifier = \r\n (odataObject.KitLineIdentifier != null) ? parseInt(odataObject.KitLineIdentifier, 10) : undefined;\r\n \r\n this.DistinctProductId = \r\n (odataObject.DistinctProductId != null) ? parseInt(odataObject.DistinctProductId, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['KitComponentKeyClass'] = KitComponentKeyClass;\r\n \r\n /**\r\n * KitVariantContent entity class.\r\n */\r\n export class KitVariantContentClass implements Entities.KitVariantContent {\r\n public KitVariantId: number;\r\n public KitComponentKeyList: Entities.KitComponentKey[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.KitVariantId = \r\n (odataObject.KitVariantId != null) ? parseInt(odataObject.KitVariantId, 10) : undefined;\r\n \r\n this.KitComponentKeyList = undefined;\r\n if (odataObject.KitComponentKeyList) {\r\n this.KitComponentKeyList = [];\r\n for (var i = 0; i < odataObject.KitComponentKeyList.length; i++) {\r\n if (odataObject.KitComponentKeyList[i] != null) {\r\n if (odataObject.KitComponentKeyList[i]['@odata.type'] != null) {\r\n var className: string = odataObject.KitComponentKeyList[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.KitComponentKeyList[i] = new entityDictionary[className](odataObject.KitComponentKeyList[i])\r\n }\r\n } else {\r\n this.KitComponentKeyList[i] = new KitComponentKeyClass(odataObject.KitComponentKeyList[i]);\r\n }\r\n } else {\r\n this.KitComponentKeyList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['KitVariantContentClass'] = KitVariantContentClass;\r\n \r\n /**\r\n * ProductLookupClause entity class.\r\n */\r\n export class ProductLookupClauseClass implements Entities.ProductLookupClause {\r\n public ItemId: string;\r\n public InventDimensionId: string;\r\n public Barcode: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.InventDimensionId = \r\n odataObject.InventDimensionId;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductLookupClauseClass'] = ProductLookupClauseClass;\r\n \r\n /**\r\n * ProductAssortmentInterval entity class.\r\n */\r\n export class ProductAssortmentIntervalClass implements Entities.ProductAssortmentInterval {\r\n public ProductId: number;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductAssortmentIntervalClass'] = ProductAssortmentIntervalClass;\r\n \r\n /**\r\n * OrgUnitLocation entity class.\r\n */\r\n export class OrgUnitLocationClass implements Entities.OrgUnitLocation {\r\n public Contacts: Entities.OrgUnitContact[];\r\n public ChannelId: number;\r\n public Latitude: number;\r\n public Longitude: number;\r\n public OrgUnitName: string;\r\n public OrgUnitNumber: string;\r\n public Address: string;\r\n public Street: string;\r\n public StreetNumber: string;\r\n public City: string;\r\n public DistrictName: string;\r\n public BuildingCompliment: string;\r\n public Postbox: string;\r\n public Zip: string;\r\n public County: string;\r\n public CountyName: string;\r\n public State: string;\r\n public StateName: string;\r\n public Country: string;\r\n public Distance: number;\r\n public InventoryLocationId: string;\r\n public InventorySiteId: string;\r\n public PostalAddressId: number;\r\n public OpenFrom: number;\r\n public OpenTo: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Contacts = undefined;\r\n if (odataObject.Contacts) {\r\n this.Contacts = [];\r\n for (var i = 0; i < odataObject.Contacts.length; i++) {\r\n if (odataObject.Contacts[i] != null) {\r\n if (odataObject.Contacts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Contacts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Contacts[i] = new entityDictionary[className](odataObject.Contacts[i])\r\n }\r\n } else {\r\n this.Contacts[i] = new OrgUnitContactClass(odataObject.Contacts[i]);\r\n }\r\n } else {\r\n this.Contacts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.Latitude = \r\n (odataObject.Latitude != null) ? parseFloat(odataObject.Latitude) : undefined;\r\n \r\n this.Longitude = \r\n (odataObject.Longitude != null) ? parseFloat(odataObject.Longitude) : undefined;\r\n \r\n this.OrgUnitName = \r\n odataObject.OrgUnitName;\r\n \r\n this.OrgUnitNumber = \r\n odataObject.OrgUnitNumber;\r\n \r\n this.Address = \r\n odataObject.Address;\r\n \r\n this.Street = \r\n odataObject.Street;\r\n \r\n this.StreetNumber = \r\n odataObject.StreetNumber;\r\n \r\n this.City = \r\n odataObject.City;\r\n \r\n this.DistrictName = \r\n odataObject.DistrictName;\r\n \r\n this.BuildingCompliment = \r\n odataObject.BuildingCompliment;\r\n \r\n this.Postbox = \r\n odataObject.Postbox;\r\n \r\n this.Zip = \r\n odataObject.Zip;\r\n \r\n this.County = \r\n odataObject.County;\r\n \r\n this.CountyName = \r\n odataObject.CountyName;\r\n \r\n this.State = \r\n odataObject.State;\r\n \r\n this.StateName = \r\n odataObject.StateName;\r\n \r\n this.Country = \r\n odataObject.Country;\r\n \r\n this.Distance = \r\n (odataObject.Distance != null) ? parseFloat(odataObject.Distance) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.InventorySiteId = \r\n odataObject.InventorySiteId;\r\n \r\n this.PostalAddressId = \r\n (odataObject.PostalAddressId != null) ? parseInt(odataObject.PostalAddressId, 10) : undefined;\r\n \r\n this.OpenFrom = \r\n odataObject.OpenFrom;\r\n \r\n this.OpenTo = \r\n odataObject.OpenTo;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitLocationClass'] = OrgUnitLocationClass;\r\n \r\n /**\r\n * OrgUnitContact entity class.\r\n */\r\n export class OrgUnitContactClass implements Entities.OrgUnitContact {\r\n public ChannelId: number;\r\n public Locator: string;\r\n public LocatorExtension: string;\r\n public ContactTypeValue: number;\r\n public IsPrimary: boolean;\r\n public IsPrivate: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.Locator = \r\n odataObject.Locator;\r\n \r\n this.LocatorExtension = \r\n odataObject.LocatorExtension;\r\n \r\n this.ContactTypeValue = \r\n odataObject.ContactTypeValue;\r\n \r\n this.IsPrimary = \r\n odataObject.IsPrimary;\r\n \r\n this.IsPrivate = \r\n odataObject.IsPrivate;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitContactClass'] = OrgUnitContactClass;\r\n \r\n /**\r\n * SalesLineDeliveryOption entity class.\r\n */\r\n export class SalesLineDeliveryOptionClass implements Entities.SalesLineDeliveryOption {\r\n public SalesLineId: string;\r\n public DeliveryOptions: Entities.DeliveryOption[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesLineId = \r\n odataObject.SalesLineId;\r\n \r\n this.DeliveryOptions = undefined;\r\n if (odataObject.DeliveryOptions) {\r\n this.DeliveryOptions = [];\r\n for (var i = 0; i < odataObject.DeliveryOptions.length; i++) {\r\n if (odataObject.DeliveryOptions[i] != null) {\r\n if (odataObject.DeliveryOptions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DeliveryOptions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryOptions[i] = new entityDictionary[className](odataObject.DeliveryOptions[i])\r\n }\r\n } else {\r\n this.DeliveryOptions[i] = new DeliveryOptionClass(odataObject.DeliveryOptions[i]);\r\n }\r\n } else {\r\n this.DeliveryOptions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesLineDeliveryOptionClass'] = SalesLineDeliveryOptionClass;\r\n \r\n /**\r\n * DeliveryOption entity class.\r\n */\r\n export class DeliveryOptionClass implements Entities.DeliveryOption {\r\n public ChargeGroup: string;\r\n public Code: string;\r\n public Description: string;\r\n public RecordId: number;\r\n public DeliveryChargeLines: Entities.DeliveryChargeLine[];\r\n public TotalChargeAmount: number;\r\n public ShippingChargeAmount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChargeGroup = \r\n odataObject.ChargeGroup;\r\n \r\n this.Code = \r\n odataObject.Code;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.DeliveryChargeLines = undefined;\r\n if (odataObject.DeliveryChargeLines) {\r\n this.DeliveryChargeLines = [];\r\n for (var i = 0; i < odataObject.DeliveryChargeLines.length; i++) {\r\n if (odataObject.DeliveryChargeLines[i] != null) {\r\n if (odataObject.DeliveryChargeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DeliveryChargeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryChargeLines[i] = new entityDictionary[className](odataObject.DeliveryChargeLines[i])\r\n }\r\n } else {\r\n this.DeliveryChargeLines[i] = new DeliveryChargeLineClass(odataObject.DeliveryChargeLines[i]);\r\n }\r\n } else {\r\n this.DeliveryChargeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TotalChargeAmount = \r\n (odataObject.TotalChargeAmount != null) ? parseFloat(odataObject.TotalChargeAmount) : undefined;\r\n \r\n this.ShippingChargeAmount = \r\n (odataObject.ShippingChargeAmount != null) ? parseFloat(odataObject.ShippingChargeAmount) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DeliveryOptionClass'] = DeliveryOptionClass;\r\n \r\n /**\r\n * ChannelDeliveryOption entity class.\r\n */\r\n export class ChannelDeliveryOptionClass implements Entities.ChannelDeliveryOption {\r\n public ChannelId: number;\r\n public DeliveryOptions: Entities.DeliveryOption[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.DeliveryOptions = undefined;\r\n if (odataObject.DeliveryOptions) {\r\n this.DeliveryOptions = [];\r\n for (var i = 0; i < odataObject.DeliveryOptions.length; i++) {\r\n if (odataObject.DeliveryOptions[i] != null) {\r\n if (odataObject.DeliveryOptions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DeliveryOptions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryOptions[i] = new entityDictionary[className](odataObject.DeliveryOptions[i])\r\n }\r\n } else {\r\n this.DeliveryOptions[i] = new DeliveryOptionClass(odataObject.DeliveryOptions[i]);\r\n }\r\n } else {\r\n this.DeliveryOptions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelDeliveryOptionClass'] = ChannelDeliveryOptionClass;\r\n \r\n /**\r\n * ChannelIdentity entity class.\r\n */\r\n export class ChannelIdentityClass implements Entities.ChannelIdentity {\r\n public ChannelType: Entities.ExtensibleRetailChannelType;\r\n public Name: string;\r\n public OperatingUnitNumber: string;\r\n public DataAreaId: string;\r\n public RecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.ChannelType == null) {\r\n this.ChannelType = undefined;\r\n } else if (odataObject.ChannelType['@odata.type'] == null) {\r\n this.ChannelType = new ExtensibleRetailChannelTypeClass(odataObject.ChannelType);\r\n } else {\r\n var className: string = odataObject.ChannelType['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChannelType = new entityDictionary[className](odataObject.ChannelType)\r\n }\r\n }\r\n\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.OperatingUnitNumber = \r\n odataObject.OperatingUnitNumber;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelIdentityClass'] = ChannelIdentityClass;\r\n \r\n /**\r\n * ExtensibleRetailChannelType entity class.\r\n */\r\n export class ExtensibleRetailChannelTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleRetailChannelType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleRetailChannelType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleRetailChannelTypeClass'] = ExtensibleRetailChannelTypeClass;\r\n \r\n /**\r\n * ChannelProfileProperty entity class.\r\n */\r\n export class ChannelProfilePropertyClass implements Entities.ChannelProfileProperty {\r\n public Key: number;\r\n public Value: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Key = \r\n odataObject.Key;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelProfilePropertyClass'] = ChannelProfilePropertyClass;\r\n \r\n /**\r\n * ChannelConfiguration entity class.\r\n */\r\n export class ChannelConfigurationClass implements Entities.ChannelConfiguration {\r\n public RecordId: number;\r\n public ChannelNaturalId: string;\r\n public MinimumDepositPercentage: number;\r\n public QuoteExpirationDays: number;\r\n public PickupDeliveryModeCode: string;\r\n public CarryoutDeliveryModeCode: string;\r\n public CancellationChargePercentage: number;\r\n public InventLocation: string;\r\n public InventLocationDataAreaId: string;\r\n public BingMapsApiKey: string;\r\n public BingMapsEnabled: boolean;\r\n public Currency: string;\r\n public CatalogDefaultImageTemplate: string;\r\n public CompanyCurrency: string;\r\n public PriceIncludesSalesTax: boolean;\r\n public CountryRegionId: string;\r\n public ChannelCountryRegionISOCode: string;\r\n public DefaultLanguageId: string;\r\n public TimeZoneInfoId: string;\r\n public EmailDeliveryModeCode: string;\r\n public GiftCardItemId: string;\r\n public EnableProductRecommendations: boolean;\r\n public RefundableShippingAmountWithoutApproval: number;\r\n public RefundShippingCharges: boolean;\r\n public ReceiptSettingsValue: number;\r\n public CustomerAttributeGroupId: number;\r\n public ClientBookAttributeGroupId: number;\r\n public NotificationRefreshInterval: number;\r\n public AllowExchangeOnReturnOrders: boolean;\r\n public FiscalRegistrationProcessId: string;\r\n public IsInventoryAutomaticValidationEnabled: boolean;\r\n public ProfileProperties: Entities.ChannelProfileProperty[];\r\n public Properties: Entities.ChannelProperty[];\r\n public Languages: Entities.ChannelLanguage[];\r\n public UseAdvancedAutoCharges: boolean;\r\n public UseRTSForOnlineOrderCreation: boolean;\r\n public IsWarrantyAutoPromptEnabled: boolean;\r\n public EnableProductRatingsForRetailStores: boolean;\r\n public EnableFetchingPickingListsForPickingAndReceiving: boolean;\r\n public EnableReturnsForMultipleOrderInvoices: boolean;\r\n public EnableAnonymousOrderLookupByChannelReferenceId: boolean;\r\n public VoidSuspendedTransactionsOnCloseShift: number;\r\n public EnableOmniChannelPayments: boolean;\r\n public UseAdvancedCashManagement: boolean;\r\n public EnableFiscalRegistrationStorageBackup: boolean;\r\n public UseSalesReceiptAsDefaultReceiptTypeInJournal: boolean;\r\n public SalesOrderHeaderAttributeGroups: number[];\r\n public SalesOrderLinesAttributeGroups: number[];\r\n public CustomerAddressBooks: Entities.StoreAddressBook[];\r\n public EnableReturnPolicies: boolean;\r\n public InventAvailabilityCalculationMode: string;\r\n public IsPriceInclusiveTaxExemptCalculationEnabled: boolean;\r\n public EnableValidationOfSerialNumbersForInStoreReturns: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ChannelNaturalId = \r\n odataObject.ChannelNaturalId;\r\n \r\n this.MinimumDepositPercentage = \r\n (odataObject.MinimumDepositPercentage != null) ? parseFloat(odataObject.MinimumDepositPercentage) : undefined;\r\n \r\n this.QuoteExpirationDays = \r\n odataObject.QuoteExpirationDays;\r\n \r\n this.PickupDeliveryModeCode = \r\n odataObject.PickupDeliveryModeCode;\r\n \r\n this.CarryoutDeliveryModeCode = \r\n odataObject.CarryoutDeliveryModeCode;\r\n \r\n this.CancellationChargePercentage = \r\n (odataObject.CancellationChargePercentage != null) ? parseFloat(odataObject.CancellationChargePercentage) : undefined;\r\n \r\n this.InventLocation = \r\n odataObject.InventLocation;\r\n \r\n this.InventLocationDataAreaId = \r\n odataObject.InventLocationDataAreaId;\r\n \r\n this.BingMapsApiKey = \r\n odataObject.BingMapsApiKey;\r\n \r\n this.BingMapsEnabled = \r\n odataObject.BingMapsEnabled;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.CatalogDefaultImageTemplate = \r\n odataObject.CatalogDefaultImageTemplate;\r\n \r\n this.CompanyCurrency = \r\n odataObject.CompanyCurrency;\r\n \r\n this.PriceIncludesSalesTax = \r\n odataObject.PriceIncludesSalesTax;\r\n \r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.ChannelCountryRegionISOCode = \r\n odataObject.ChannelCountryRegionISOCode;\r\n \r\n this.DefaultLanguageId = \r\n odataObject.DefaultLanguageId;\r\n \r\n this.TimeZoneInfoId = \r\n odataObject.TimeZoneInfoId;\r\n \r\n this.EmailDeliveryModeCode = \r\n odataObject.EmailDeliveryModeCode;\r\n \r\n this.GiftCardItemId = \r\n odataObject.GiftCardItemId;\r\n \r\n this.EnableProductRecommendations = \r\n odataObject.EnableProductRecommendations;\r\n \r\n this.RefundableShippingAmountWithoutApproval = \r\n (odataObject.RefundableShippingAmountWithoutApproval != null) ? parseFloat(odataObject.RefundableShippingAmountWithoutApproval) : undefined;\r\n \r\n this.RefundShippingCharges = \r\n odataObject.RefundShippingCharges;\r\n \r\n this.ReceiptSettingsValue = \r\n odataObject.ReceiptSettingsValue;\r\n \r\n this.CustomerAttributeGroupId = \r\n (odataObject.CustomerAttributeGroupId != null) ? parseInt(odataObject.CustomerAttributeGroupId, 10) : undefined;\r\n \r\n this.ClientBookAttributeGroupId = \r\n (odataObject.ClientBookAttributeGroupId != null) ? parseInt(odataObject.ClientBookAttributeGroupId, 10) : undefined;\r\n \r\n this.NotificationRefreshInterval = \r\n odataObject.NotificationRefreshInterval;\r\n \r\n this.AllowExchangeOnReturnOrders = \r\n odataObject.AllowExchangeOnReturnOrders;\r\n \r\n this.FiscalRegistrationProcessId = \r\n odataObject.FiscalRegistrationProcessId;\r\n \r\n this.IsInventoryAutomaticValidationEnabled = \r\n odataObject.IsInventoryAutomaticValidationEnabled;\r\n \r\n this.ProfileProperties = undefined;\r\n if (odataObject.ProfileProperties) {\r\n this.ProfileProperties = [];\r\n for (var i = 0; i < odataObject.ProfileProperties.length; i++) {\r\n if (odataObject.ProfileProperties[i] != null) {\r\n if (odataObject.ProfileProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProfileProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProfileProperties[i] = new entityDictionary[className](odataObject.ProfileProperties[i])\r\n }\r\n } else {\r\n this.ProfileProperties[i] = new ChannelProfilePropertyClass(odataObject.ProfileProperties[i]);\r\n }\r\n } else {\r\n this.ProfileProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Properties = undefined;\r\n if (odataObject.Properties) {\r\n this.Properties = [];\r\n for (var i = 0; i < odataObject.Properties.length; i++) {\r\n if (odataObject.Properties[i] != null) {\r\n if (odataObject.Properties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Properties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Properties[i] = new entityDictionary[className](odataObject.Properties[i])\r\n }\r\n } else {\r\n this.Properties[i] = new ChannelPropertyClass(odataObject.Properties[i]);\r\n }\r\n } else {\r\n this.Properties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Languages = undefined;\r\n if (odataObject.Languages) {\r\n this.Languages = [];\r\n for (var i = 0; i < odataObject.Languages.length; i++) {\r\n if (odataObject.Languages[i] != null) {\r\n if (odataObject.Languages[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Languages[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Languages[i] = new entityDictionary[className](odataObject.Languages[i])\r\n }\r\n } else {\r\n this.Languages[i] = new ChannelLanguageClass(odataObject.Languages[i]);\r\n }\r\n } else {\r\n this.Languages[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.UseAdvancedAutoCharges = \r\n odataObject.UseAdvancedAutoCharges;\r\n \r\n this.UseRTSForOnlineOrderCreation = \r\n odataObject.UseRTSForOnlineOrderCreation;\r\n \r\n this.IsWarrantyAutoPromptEnabled = \r\n odataObject.IsWarrantyAutoPromptEnabled;\r\n \r\n this.EnableProductRatingsForRetailStores = \r\n odataObject.EnableProductRatingsForRetailStores;\r\n \r\n this.EnableFetchingPickingListsForPickingAndReceiving = \r\n odataObject.EnableFetchingPickingListsForPickingAndReceiving;\r\n \r\n this.EnableReturnsForMultipleOrderInvoices = \r\n odataObject.EnableReturnsForMultipleOrderInvoices;\r\n \r\n this.EnableAnonymousOrderLookupByChannelReferenceId = \r\n odataObject.EnableAnonymousOrderLookupByChannelReferenceId;\r\n \r\n this.VoidSuspendedTransactionsOnCloseShift = \r\n odataObject.VoidSuspendedTransactionsOnCloseShift;\r\n \r\n this.EnableOmniChannelPayments = \r\n odataObject.EnableOmniChannelPayments;\r\n \r\n this.UseAdvancedCashManagement = \r\n odataObject.UseAdvancedCashManagement;\r\n \r\n this.EnableFiscalRegistrationStorageBackup = \r\n odataObject.EnableFiscalRegistrationStorageBackup;\r\n \r\n this.UseSalesReceiptAsDefaultReceiptTypeInJournal = \r\n odataObject.UseSalesReceiptAsDefaultReceiptTypeInJournal;\r\n \r\n this.SalesOrderHeaderAttributeGroups = undefined;\r\n if (odataObject.SalesOrderHeaderAttributeGroups) {\r\n this.SalesOrderHeaderAttributeGroups = [];\r\n for (var i = 0; i < odataObject.SalesOrderHeaderAttributeGroups.length; i++) {\r\n if (odataObject.SalesOrderHeaderAttributeGroups[i] != null) {\r\n this.SalesOrderHeaderAttributeGroups[i] = \r\n parseInt(odataObject.SalesOrderHeaderAttributeGroups[i], 10);\r\n } else {\r\n this.SalesOrderHeaderAttributeGroups[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SalesOrderLinesAttributeGroups = undefined;\r\n if (odataObject.SalesOrderLinesAttributeGroups) {\r\n this.SalesOrderLinesAttributeGroups = [];\r\n for (var i = 0; i < odataObject.SalesOrderLinesAttributeGroups.length; i++) {\r\n if (odataObject.SalesOrderLinesAttributeGroups[i] != null) {\r\n this.SalesOrderLinesAttributeGroups[i] = \r\n parseInt(odataObject.SalesOrderLinesAttributeGroups[i], 10);\r\n } else {\r\n this.SalesOrderLinesAttributeGroups[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CustomerAddressBooks = undefined;\r\n if (odataObject.CustomerAddressBooks) {\r\n this.CustomerAddressBooks = [];\r\n for (var i = 0; i < odataObject.CustomerAddressBooks.length; i++) {\r\n if (odataObject.CustomerAddressBooks[i] != null) {\r\n if (odataObject.CustomerAddressBooks[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomerAddressBooks[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomerAddressBooks[i] = new entityDictionary[className](odataObject.CustomerAddressBooks[i])\r\n }\r\n } else {\r\n this.CustomerAddressBooks[i] = new StoreAddressBookClass(odataObject.CustomerAddressBooks[i]);\r\n }\r\n } else {\r\n this.CustomerAddressBooks[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.EnableReturnPolicies = \r\n odataObject.EnableReturnPolicies;\r\n \r\n this.InventAvailabilityCalculationMode = \r\n odataObject.InventAvailabilityCalculationMode;\r\n \r\n this.IsPriceInclusiveTaxExemptCalculationEnabled = \r\n odataObject.IsPriceInclusiveTaxExemptCalculationEnabled;\r\n \r\n this.EnableValidationOfSerialNumbersForInStoreReturns = \r\n odataObject.EnableValidationOfSerialNumbersForInStoreReturns;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelConfigurationClass'] = ChannelConfigurationClass;\r\n \r\n /**\r\n * ChannelProperty entity class.\r\n */\r\n export class ChannelPropertyClass implements Entities.ChannelProperty {\r\n public Name: string;\r\n public Value: string;\r\n public Channel: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.Channel = \r\n (odataObject.Channel != null) ? parseInt(odataObject.Channel, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelPropertyClass'] = ChannelPropertyClass;\r\n \r\n /**\r\n * ChannelLanguage entity class.\r\n */\r\n export class ChannelLanguageClass implements Entities.ChannelLanguage {\r\n public LanguageId: string;\r\n public IsDefault: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.IsDefault = \r\n odataObject.IsDefault;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelLanguageClass'] = ChannelLanguageClass;\r\n \r\n /**\r\n * ChannelDeliveryOptionConfiguration entity class.\r\n */\r\n export class ChannelDeliveryOptionConfigurationClass implements Entities.ChannelDeliveryOptionConfiguration {\r\n public PickupDeliveryModeCodes: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PickupDeliveryModeCodes = undefined;\r\n if (odataObject.PickupDeliveryModeCodes) {\r\n this.PickupDeliveryModeCodes = [];\r\n for (var i = 0; i < odataObject.PickupDeliveryModeCodes.length; i++) {\r\n if (odataObject.PickupDeliveryModeCodes[i] != null) {\r\n this.PickupDeliveryModeCodes[i] = \r\n odataObject.PickupDeliveryModeCodes[i];\r\n } else {\r\n this.PickupDeliveryModeCodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelDeliveryOptionConfigurationClass'] = ChannelDeliveryOptionConfigurationClass;\r\n \r\n /**\r\n * NonSalesTransaction entity class.\r\n */\r\n export class NonSalesTransactionClass\r\n extends TransactionClass\r\n implements Entities.NonSalesTransaction {\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public Amount: number;\r\n public ForeignCurrency: string;\r\n public OpenDrawer: boolean;\r\n public DenominationDetails: Entities.DenominationDetail[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.ForeignCurrency = \r\n odataObject.ForeignCurrency;\r\n \r\n this.OpenDrawer = \r\n odataObject.OpenDrawer;\r\n \r\n this.DenominationDetails = undefined;\r\n if (odataObject.DenominationDetails) {\r\n this.DenominationDetails = [];\r\n for (var i = 0; i < odataObject.DenominationDetails.length; i++) {\r\n if (odataObject.DenominationDetails[i] != null) {\r\n if (odataObject.DenominationDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DenominationDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DenominationDetails[i] = new entityDictionary[className](odataObject.DenominationDetails[i])\r\n }\r\n } else {\r\n this.DenominationDetails[i] = new DenominationDetailClass(odataObject.DenominationDetails[i]);\r\n }\r\n } else {\r\n this.DenominationDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.NonSalesTransaction\";\r\n \r\n }\r\n }\r\n entityDictionary['NonSalesTransactionClass'] = NonSalesTransactionClass;\r\n \r\n /**\r\n * DropAndDeclareTransaction entity class.\r\n */\r\n export class DropAndDeclareTransactionClass\r\n extends TransactionClass\r\n implements Entities.DropAndDeclareTransaction {\r\n public TenderDetails: Entities.TenderDetail[];\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public OpenDrawer: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.TenderDetails = undefined;\r\n if (odataObject.TenderDetails) {\r\n this.TenderDetails = [];\r\n for (var i = 0; i < odataObject.TenderDetails.length; i++) {\r\n if (odataObject.TenderDetails[i] != null) {\r\n if (odataObject.TenderDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderDetails[i] = new entityDictionary[className](odataObject.TenderDetails[i])\r\n }\r\n } else {\r\n this.TenderDetails[i] = new TenderDetailClass(odataObject.TenderDetails[i]);\r\n }\r\n } else {\r\n this.TenderDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.OpenDrawer = \r\n odataObject.OpenDrawer;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.DropAndDeclareTransaction\";\r\n \r\n }\r\n }\r\n entityDictionary['DropAndDeclareTransactionClass'] = DropAndDeclareTransactionClass;\r\n \r\n /**\r\n * ProductSearchCriteria entity class.\r\n */\r\n export class ProductSearchCriteriaClass implements Entities.ProductSearchCriteria {\r\n public Ids: number[];\r\n public CategoryIds: number[];\r\n public IncludeProductsFromDescendantCategories: boolean;\r\n public SearchCondition: string;\r\n public SkipVariantExpansion: boolean;\r\n public IncludeAttributes: boolean;\r\n public Barcodes: string[];\r\n public ItemIds: Entities.ProductLookupClause[];\r\n public Refinement: Entities.ProductRefinerValue[];\r\n public CustomerAccountNumber: string;\r\n public RecommendationListId: string;\r\n public DownloadProductData: boolean;\r\n public Context: Entities.ProjectionDomain;\r\n public Language: string;\r\n public IsOnline: boolean;\r\n public DataLevelValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Ids = undefined;\r\n if (odataObject.Ids) {\r\n this.Ids = [];\r\n for (var i = 0; i < odataObject.Ids.length; i++) {\r\n if (odataObject.Ids[i] != null) {\r\n this.Ids[i] = \r\n parseInt(odataObject.Ids[i], 10);\r\n } else {\r\n this.Ids[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CategoryIds = undefined;\r\n if (odataObject.CategoryIds) {\r\n this.CategoryIds = [];\r\n for (var i = 0; i < odataObject.CategoryIds.length; i++) {\r\n if (odataObject.CategoryIds[i] != null) {\r\n this.CategoryIds[i] = \r\n parseInt(odataObject.CategoryIds[i], 10);\r\n } else {\r\n this.CategoryIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IncludeProductsFromDescendantCategories = \r\n odataObject.IncludeProductsFromDescendantCategories;\r\n \r\n this.SearchCondition = \r\n odataObject.SearchCondition;\r\n \r\n this.SkipVariantExpansion = \r\n odataObject.SkipVariantExpansion;\r\n \r\n this.IncludeAttributes = \r\n odataObject.IncludeAttributes;\r\n \r\n this.Barcodes = undefined;\r\n if (odataObject.Barcodes) {\r\n this.Barcodes = [];\r\n for (var i = 0; i < odataObject.Barcodes.length; i++) {\r\n if (odataObject.Barcodes[i] != null) {\r\n this.Barcodes[i] = \r\n odataObject.Barcodes[i];\r\n } else {\r\n this.Barcodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ItemIds = undefined;\r\n if (odataObject.ItemIds) {\r\n this.ItemIds = [];\r\n for (var i = 0; i < odataObject.ItemIds.length; i++) {\r\n if (odataObject.ItemIds[i] != null) {\r\n if (odataObject.ItemIds[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ItemIds[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ItemIds[i] = new entityDictionary[className](odataObject.ItemIds[i])\r\n }\r\n } else {\r\n this.ItemIds[i] = new ProductLookupClauseClass(odataObject.ItemIds[i]);\r\n }\r\n } else {\r\n this.ItemIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Refinement = undefined;\r\n if (odataObject.Refinement) {\r\n this.Refinement = [];\r\n for (var i = 0; i < odataObject.Refinement.length; i++) {\r\n if (odataObject.Refinement[i] != null) {\r\n if (odataObject.Refinement[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Refinement[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Refinement[i] = new entityDictionary[className](odataObject.Refinement[i])\r\n }\r\n } else {\r\n this.Refinement[i] = new ProductRefinerValueClass(odataObject.Refinement[i]);\r\n }\r\n } else {\r\n this.Refinement[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.RecommendationListId = \r\n odataObject.RecommendationListId;\r\n \r\n this.DownloadProductData = \r\n odataObject.DownloadProductData;\r\n \r\n if (odataObject.Context == null) {\r\n this.Context = undefined;\r\n } else if (odataObject.Context['@odata.type'] == null) {\r\n this.Context = new ProjectionDomainClass(odataObject.Context);\r\n } else {\r\n var className: string = odataObject.Context['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Context = new entityDictionary[className](odataObject.Context)\r\n }\r\n }\r\n\r\n \r\n this.Language = \r\n odataObject.Language;\r\n \r\n this.IsOnline = \r\n odataObject.IsOnline;\r\n \r\n this.DataLevelValue = \r\n odataObject.DataLevelValue;\r\n \r\n }\r\n }\r\n entityDictionary['ProductSearchCriteriaClass'] = ProductSearchCriteriaClass;\r\n \r\n /**\r\n * ChangedProductsSearchCriteria entity class.\r\n */\r\n export class ChangedProductsSearchCriteriaClass implements Entities.ChangedProductsSearchCriteria {\r\n public SynchronizationToken: string;\r\n public Context: Entities.ProjectionDomain;\r\n public AsListings: boolean;\r\n public Session: Entities.ReadChangedProductsSession;\r\n public DataLevelValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SynchronizationToken = \r\n odataObject.SynchronizationToken;\r\n \r\n if (odataObject.Context == null) {\r\n this.Context = undefined;\r\n } else if (odataObject.Context['@odata.type'] == null) {\r\n this.Context = new ProjectionDomainClass(odataObject.Context);\r\n } else {\r\n var className: string = odataObject.Context['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Context = new entityDictionary[className](odataObject.Context)\r\n }\r\n }\r\n\r\n \r\n this.AsListings = \r\n odataObject.AsListings;\r\n \r\n if (odataObject.Session == null) {\r\n this.Session = undefined;\r\n } else if (odataObject.Session['@odata.type'] == null) {\r\n this.Session = new ReadChangedProductsSessionClass(odataObject.Session);\r\n } else {\r\n var className: string = odataObject.Session['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Session = new entityDictionary[className](odataObject.Session)\r\n }\r\n }\r\n\r\n \r\n this.DataLevelValue = \r\n odataObject.DataLevelValue;\r\n \r\n }\r\n }\r\n entityDictionary['ChangedProductsSearchCriteriaClass'] = ChangedProductsSearchCriteriaClass;\r\n \r\n /**\r\n * EmployeeActivitySearchCriteria entity class.\r\n */\r\n export class EmployeeActivitySearchCriteriaClass implements Entities.EmployeeActivitySearchCriteria {\r\n public FromDateTimeOffset: Date;\r\n public ToDateTimeOffset: Date;\r\n public StoreNumber: string;\r\n public EmployeeActivityTypeValues: number[];\r\n public DataLevelValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FromDateTimeOffset = \r\n (odataObject.FromDateTimeOffset instanceof Date) ? odataObject.FromDateTimeOffset\r\n : (odataObject.FromDateTimeOffset != null) ? jsonLightReadStringPropertyValue(odataObject.FromDateTimeOffset, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ToDateTimeOffset = \r\n (odataObject.ToDateTimeOffset instanceof Date) ? odataObject.ToDateTimeOffset\r\n : (odataObject.ToDateTimeOffset != null) ? jsonLightReadStringPropertyValue(odataObject.ToDateTimeOffset, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.EmployeeActivityTypeValues = undefined;\r\n if (odataObject.EmployeeActivityTypeValues) {\r\n this.EmployeeActivityTypeValues = [];\r\n for (var i = 0; i < odataObject.EmployeeActivityTypeValues.length; i++) {\r\n if (odataObject.EmployeeActivityTypeValues[i] != null) {\r\n this.EmployeeActivityTypeValues[i] = \r\n odataObject.EmployeeActivityTypeValues[i];\r\n } else {\r\n this.EmployeeActivityTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DataLevelValue = \r\n odataObject.DataLevelValue;\r\n \r\n }\r\n }\r\n entityDictionary['EmployeeActivitySearchCriteriaClass'] = EmployeeActivitySearchCriteriaClass;\r\n \r\n /**\r\n * SearchSuggestionCriteria entity class.\r\n */\r\n export class SearchSuggestionCriteriaClass implements Entities.SearchSuggestionCriteria {\r\n public ProductSearchCriteria: Entities.ProductSearchCriteria;\r\n public CustomerSearchCriteria: Entities.CustomerSearchCriteria;\r\n public SuggestionType: string;\r\n public HitPrefix: string;\r\n public HitSuffix: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.ProductSearchCriteria == null) {\r\n this.ProductSearchCriteria = undefined;\r\n } else if (odataObject.ProductSearchCriteria['@odata.type'] == null) {\r\n this.ProductSearchCriteria = new ProductSearchCriteriaClass(odataObject.ProductSearchCriteria);\r\n } else {\r\n var className: string = odataObject.ProductSearchCriteria['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductSearchCriteria = new entityDictionary[className](odataObject.ProductSearchCriteria)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.CustomerSearchCriteria == null) {\r\n this.CustomerSearchCriteria = undefined;\r\n } else if (odataObject.CustomerSearchCriteria['@odata.type'] == null) {\r\n this.CustomerSearchCriteria = new CustomerSearchCriteriaClass(odataObject.CustomerSearchCriteria);\r\n } else {\r\n var className: string = odataObject.CustomerSearchCriteria['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomerSearchCriteria = new entityDictionary[className](odataObject.CustomerSearchCriteria)\r\n }\r\n }\r\n\r\n \r\n this.SuggestionType = \r\n odataObject.SuggestionType;\r\n \r\n this.HitPrefix = \r\n odataObject.HitPrefix;\r\n \r\n this.HitSuffix = \r\n odataObject.HitSuffix;\r\n \r\n }\r\n }\r\n entityDictionary['SearchSuggestionCriteriaClass'] = SearchSuggestionCriteriaClass;\r\n \r\n /**\r\n * CartLineDeliveryPreference entity class.\r\n */\r\n export class CartLineDeliveryPreferenceClass implements Entities.CartLineDeliveryPreference {\r\n public LineId: string;\r\n public DeliveryPreferenceTypeValues: number[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.DeliveryPreferenceTypeValues = undefined;\r\n if (odataObject.DeliveryPreferenceTypeValues) {\r\n this.DeliveryPreferenceTypeValues = [];\r\n for (var i = 0; i < odataObject.DeliveryPreferenceTypeValues.length; i++) {\r\n if (odataObject.DeliveryPreferenceTypeValues[i] != null) {\r\n this.DeliveryPreferenceTypeValues[i] = \r\n odataObject.DeliveryPreferenceTypeValues[i];\r\n } else {\r\n this.DeliveryPreferenceTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartLineDeliveryPreferenceClass'] = CartLineDeliveryPreferenceClass;\r\n \r\n /**\r\n * CartLinePromotion entity class.\r\n */\r\n export class CartLinePromotionClass implements Entities.CartLinePromotion {\r\n public LineId: string;\r\n public Promotions: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.Promotions = undefined;\r\n if (odataObject.Promotions) {\r\n this.Promotions = [];\r\n for (var i = 0; i < odataObject.Promotions.length; i++) {\r\n if (odataObject.Promotions[i] != null) {\r\n this.Promotions[i] = \r\n odataObject.Promotions[i];\r\n } else {\r\n this.Promotions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartLinePromotionClass'] = CartLinePromotionClass;\r\n \r\n /**\r\n * ProductVariant entity class.\r\n */\r\n export class ProductVariantClass implements Entities.ProductVariant {\r\n public ItemId: string;\r\n public MasterProductId: number;\r\n public InventoryDimensionId: string;\r\n public AdjustedPrice: number;\r\n public BasePrice: number;\r\n public Price: number;\r\n public Color: string;\r\n public Style: string;\r\n public Size: string;\r\n public Configuration: string;\r\n public ColorId: string;\r\n public StyleId: string;\r\n public SizeId: string;\r\n public ConfigId: string;\r\n public VariantId: string;\r\n public Images: Entities.RichMediaLocations[];\r\n public DistinctProductVariantId: number;\r\n public ProductNumber: string;\r\n public PropertiesAsList: Entities.ProductPropertyTranslation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.MasterProductId = \r\n (odataObject.MasterProductId != null) ? parseInt(odataObject.MasterProductId, 10) : undefined;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.AdjustedPrice = \r\n (odataObject.AdjustedPrice != null) ? parseFloat(odataObject.AdjustedPrice) : undefined;\r\n \r\n this.BasePrice = \r\n (odataObject.BasePrice != null) ? parseFloat(odataObject.BasePrice) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.Color = \r\n odataObject.Color;\r\n \r\n this.Style = \r\n odataObject.Style;\r\n \r\n this.Size = \r\n odataObject.Size;\r\n \r\n this.Configuration = \r\n odataObject.Configuration;\r\n \r\n this.ColorId = \r\n odataObject.ColorId;\r\n \r\n this.StyleId = \r\n odataObject.StyleId;\r\n \r\n this.SizeId = \r\n odataObject.SizeId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.VariantId = \r\n odataObject.VariantId;\r\n \r\n this.Images = undefined;\r\n if (odataObject.Images) {\r\n this.Images = [];\r\n for (var i = 0; i < odataObject.Images.length; i++) {\r\n if (odataObject.Images[i] != null) {\r\n if (odataObject.Images[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Images[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Images[i] = new entityDictionary[className](odataObject.Images[i])\r\n }\r\n } else {\r\n this.Images[i] = new RichMediaLocationsClass(odataObject.Images[i]);\r\n }\r\n } else {\r\n this.Images[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DistinctProductVariantId = \r\n (odataObject.DistinctProductVariantId != null) ? parseInt(odataObject.DistinctProductVariantId, 10) : undefined;\r\n \r\n this.ProductNumber = \r\n odataObject.ProductNumber;\r\n \r\n this.PropertiesAsList = undefined;\r\n if (odataObject.PropertiesAsList) {\r\n this.PropertiesAsList = [];\r\n for (var i = 0; i < odataObject.PropertiesAsList.length; i++) {\r\n if (odataObject.PropertiesAsList[i] != null) {\r\n if (odataObject.PropertiesAsList[i]['@odata.type'] != null) {\r\n var className: string = odataObject.PropertiesAsList[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PropertiesAsList[i] = new entityDictionary[className](odataObject.PropertiesAsList[i])\r\n }\r\n } else {\r\n this.PropertiesAsList[i] = new ProductPropertyTranslationClass(odataObject.PropertiesAsList[i]);\r\n }\r\n } else {\r\n this.PropertiesAsList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductVariantClass'] = ProductVariantClass;\r\n \r\n /**\r\n * HardwareProfilePrinter entity class.\r\n */\r\n export class HardwareProfilePrinterClass implements Entities.HardwareProfilePrinter {\r\n public ProfileId: string;\r\n public DeviceTypeValue: number;\r\n public DeviceName: string;\r\n public DeviceMake: string;\r\n public DeviceModel: string;\r\n public DeviceDescription: string;\r\n public CharacterSet: number;\r\n public ReceiptProfileId: string;\r\n public BinaryConversion: boolean;\r\n public DocInsertRemovalTimeout: number;\r\n public Logo: string;\r\n public LogoAlignment: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.DeviceTypeValue = \r\n odataObject.DeviceTypeValue;\r\n \r\n this.DeviceName = \r\n odataObject.DeviceName;\r\n \r\n this.DeviceMake = \r\n odataObject.DeviceMake;\r\n \r\n this.DeviceModel = \r\n odataObject.DeviceModel;\r\n \r\n this.DeviceDescription = \r\n odataObject.DeviceDescription;\r\n \r\n this.CharacterSet = \r\n odataObject.CharacterSet;\r\n \r\n this.ReceiptProfileId = \r\n odataObject.ReceiptProfileId;\r\n \r\n this.BinaryConversion = \r\n odataObject.BinaryConversion;\r\n \r\n this.DocInsertRemovalTimeout = \r\n odataObject.DocInsertRemovalTimeout;\r\n \r\n this.Logo = \r\n odataObject.Logo;\r\n \r\n this.LogoAlignment = \r\n odataObject.LogoAlignment;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareProfilePrinterClass'] = HardwareProfilePrinterClass;\r\n \r\n /**\r\n * HardwareProfileScanner entity class.\r\n */\r\n export class HardwareProfileScannerClass implements Entities.HardwareProfileScanner {\r\n public ProfileId: string;\r\n public DeviceTypeValue: number;\r\n public DeviceName: string;\r\n public DeviceDescription: string;\r\n public DecodeData: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.DeviceTypeValue = \r\n odataObject.DeviceTypeValue;\r\n \r\n this.DeviceName = \r\n odataObject.DeviceName;\r\n \r\n this.DeviceDescription = \r\n odataObject.DeviceDescription;\r\n \r\n this.DecodeData = \r\n odataObject.DecodeData;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareProfileScannerClass'] = HardwareProfileScannerClass;\r\n \r\n /**\r\n * HardwareProfileCashDrawer entity class.\r\n */\r\n export class HardwareProfileCashDrawerClass implements Entities.HardwareProfileCashDrawer {\r\n public ProfileId: string;\r\n public DeviceTypeValue: number;\r\n public DeviceName: string;\r\n public DeviceDescription: string;\r\n public DeviceMake: string;\r\n public DeviceModel: string;\r\n public IsSharedShiftDrawer: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.DeviceTypeValue = \r\n odataObject.DeviceTypeValue;\r\n \r\n this.DeviceName = \r\n odataObject.DeviceName;\r\n \r\n this.DeviceDescription = \r\n odataObject.DeviceDescription;\r\n \r\n this.DeviceMake = \r\n odataObject.DeviceMake;\r\n \r\n this.DeviceModel = \r\n odataObject.DeviceModel;\r\n \r\n this.IsSharedShiftDrawer = \r\n odataObject.IsSharedShiftDrawer;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareProfileCashDrawerClass'] = HardwareProfileCashDrawerClass;\r\n \r\n /**\r\n * TillLayout entity class.\r\n */\r\n export class TillLayoutClass implements Entities.TillLayout {\r\n public CashChangerLayoutXml: string;\r\n public CustomerLayoutId: string;\r\n public CustomerLayoutXml: string;\r\n public Height: number;\r\n public LayoutId: string;\r\n public LayoutTypeValue: number;\r\n public LayoutXml: string;\r\n public LayoutXmlPortrait: string;\r\n public Name: string;\r\n public ReceiptId: string;\r\n public ReceiptItemsLayoutXml: string;\r\n public ReceiptPaymentLayoutXml: string;\r\n public TotalId: string;\r\n public TotalsLayoutXml: string;\r\n public Width: number;\r\n public RecordId: number;\r\n public StartScreen: number;\r\n public ButtonGridZones: Entities.ButtonGridZone[];\r\n public ImageZones: Entities.ImageZone[];\r\n public ReportZones: Entities.ReportZone[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CashChangerLayoutXml = \r\n odataObject.CashChangerLayoutXml;\r\n \r\n this.CustomerLayoutId = \r\n odataObject.CustomerLayoutId;\r\n \r\n this.CustomerLayoutXml = \r\n odataObject.CustomerLayoutXml;\r\n \r\n this.Height = \r\n odataObject.Height;\r\n \r\n this.LayoutId = \r\n odataObject.LayoutId;\r\n \r\n this.LayoutTypeValue = \r\n odataObject.LayoutTypeValue;\r\n \r\n this.LayoutXml = \r\n odataObject.LayoutXml;\r\n \r\n this.LayoutXmlPortrait = \r\n odataObject.LayoutXmlPortrait;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.ReceiptItemsLayoutXml = \r\n odataObject.ReceiptItemsLayoutXml;\r\n \r\n this.ReceiptPaymentLayoutXml = \r\n odataObject.ReceiptPaymentLayoutXml;\r\n \r\n this.TotalId = \r\n odataObject.TotalId;\r\n \r\n this.TotalsLayoutXml = \r\n odataObject.TotalsLayoutXml;\r\n \r\n this.Width = \r\n odataObject.Width;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.StartScreen = \r\n odataObject.StartScreen;\r\n \r\n this.ButtonGridZones = undefined;\r\n if (odataObject.ButtonGridZones) {\r\n this.ButtonGridZones = [];\r\n for (var i = 0; i < odataObject.ButtonGridZones.length; i++) {\r\n if (odataObject.ButtonGridZones[i] != null) {\r\n if (odataObject.ButtonGridZones[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ButtonGridZones[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ButtonGridZones[i] = new entityDictionary[className](odataObject.ButtonGridZones[i])\r\n }\r\n } else {\r\n this.ButtonGridZones[i] = new ButtonGridZoneClass(odataObject.ButtonGridZones[i]);\r\n }\r\n } else {\r\n this.ButtonGridZones[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ImageZones = undefined;\r\n if (odataObject.ImageZones) {\r\n this.ImageZones = [];\r\n for (var i = 0; i < odataObject.ImageZones.length; i++) {\r\n if (odataObject.ImageZones[i] != null) {\r\n if (odataObject.ImageZones[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ImageZones[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ImageZones[i] = new entityDictionary[className](odataObject.ImageZones[i])\r\n }\r\n } else {\r\n this.ImageZones[i] = new ImageZoneClass(odataObject.ImageZones[i]);\r\n }\r\n } else {\r\n this.ImageZones[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReportZones = undefined;\r\n if (odataObject.ReportZones) {\r\n this.ReportZones = [];\r\n for (var i = 0; i < odataObject.ReportZones.length; i++) {\r\n if (odataObject.ReportZones[i] != null) {\r\n if (odataObject.ReportZones[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReportZones[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReportZones[i] = new entityDictionary[className](odataObject.ReportZones[i])\r\n }\r\n } else {\r\n this.ReportZones[i] = new ReportZoneClass(odataObject.ReportZones[i]);\r\n }\r\n } else {\r\n this.ReportZones[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TillLayoutClass'] = TillLayoutClass;\r\n \r\n /**\r\n * SalesInvoice entity class.\r\n */\r\n export class SalesInvoiceClass implements Entities.SalesInvoice {\r\n public RecordId: number;\r\n public ChannelId: number;\r\n public Id: string;\r\n public SalesId: string;\r\n public SalesType: string;\r\n public InvoiceDate: Date;\r\n public DueDate: Date;\r\n public CurrencyCode: string;\r\n public InvoiceSubtotal: number;\r\n public TotalCharges: number;\r\n public TotalTaxAmount: number;\r\n public TotalLineDiscount: number;\r\n public TotalDiscount: number;\r\n public Amount: number;\r\n public AmountPaid: number;\r\n public AmountBalance: number;\r\n public Account: string;\r\n public Name: string;\r\n public TotalManualDiscountPercentage: number;\r\n public TotalManualDiscountAmount: number;\r\n public SalesInvoiceLine: Entities.SalesInvoiceLine[];\r\n public ChargeLines: Entities.ChargeLine[];\r\n public TenderLines: Entities.TenderLine[];\r\n public DeliveryModeChargeAmount: number;\r\n public OrderAccount: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.SalesType = \r\n odataObject.SalesType;\r\n \r\n this.InvoiceDate = \r\n (odataObject.InvoiceDate instanceof Date) ? odataObject.InvoiceDate\r\n : (odataObject.InvoiceDate != null) ? jsonLightReadStringPropertyValue(odataObject.InvoiceDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DueDate = \r\n (odataObject.DueDate instanceof Date) ? odataObject.DueDate\r\n : (odataObject.DueDate != null) ? jsonLightReadStringPropertyValue(odataObject.DueDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.InvoiceSubtotal = \r\n (odataObject.InvoiceSubtotal != null) ? parseFloat(odataObject.InvoiceSubtotal) : undefined;\r\n \r\n this.TotalCharges = \r\n (odataObject.TotalCharges != null) ? parseFloat(odataObject.TotalCharges) : undefined;\r\n \r\n this.TotalTaxAmount = \r\n (odataObject.TotalTaxAmount != null) ? parseFloat(odataObject.TotalTaxAmount) : undefined;\r\n \r\n this.TotalLineDiscount = \r\n (odataObject.TotalLineDiscount != null) ? parseFloat(odataObject.TotalLineDiscount) : undefined;\r\n \r\n this.TotalDiscount = \r\n (odataObject.TotalDiscount != null) ? parseFloat(odataObject.TotalDiscount) : undefined;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.AmountPaid = \r\n (odataObject.AmountPaid != null) ? parseFloat(odataObject.AmountPaid) : undefined;\r\n \r\n this.AmountBalance = \r\n (odataObject.AmountBalance != null) ? parseFloat(odataObject.AmountBalance) : undefined;\r\n \r\n this.Account = \r\n odataObject.Account;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.TotalManualDiscountPercentage = \r\n (odataObject.TotalManualDiscountPercentage != null) ? parseFloat(odataObject.TotalManualDiscountPercentage) : undefined;\r\n \r\n this.TotalManualDiscountAmount = \r\n (odataObject.TotalManualDiscountAmount != null) ? parseFloat(odataObject.TotalManualDiscountAmount) : undefined;\r\n \r\n this.SalesInvoiceLine = undefined;\r\n if (odataObject.SalesInvoiceLine) {\r\n this.SalesInvoiceLine = [];\r\n for (var i = 0; i < odataObject.SalesInvoiceLine.length; i++) {\r\n if (odataObject.SalesInvoiceLine[i] != null) {\r\n if (odataObject.SalesInvoiceLine[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SalesInvoiceLine[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SalesInvoiceLine[i] = new entityDictionary[className](odataObject.SalesInvoiceLine[i])\r\n }\r\n } else {\r\n this.SalesInvoiceLine[i] = new SalesInvoiceLineClass(odataObject.SalesInvoiceLine[i]);\r\n }\r\n } else {\r\n this.SalesInvoiceLine[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ChargeLines = undefined;\r\n if (odataObject.ChargeLines) {\r\n this.ChargeLines = [];\r\n for (var i = 0; i < odataObject.ChargeLines.length; i++) {\r\n if (odataObject.ChargeLines[i] != null) {\r\n if (odataObject.ChargeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChargeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChargeLines[i] = new entityDictionary[className](odataObject.ChargeLines[i])\r\n }\r\n } else {\r\n this.ChargeLines[i] = new ChargeLineClass(odataObject.ChargeLines[i]);\r\n }\r\n } else {\r\n this.ChargeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TenderLines = undefined;\r\n if (odataObject.TenderLines) {\r\n this.TenderLines = [];\r\n for (var i = 0; i < odataObject.TenderLines.length; i++) {\r\n if (odataObject.TenderLines[i] != null) {\r\n if (odataObject.TenderLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLines[i] = new entityDictionary[className](odataObject.TenderLines[i])\r\n }\r\n } else {\r\n this.TenderLines[i] = new TenderLineClass(odataObject.TenderLines[i]);\r\n }\r\n } else {\r\n this.TenderLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DeliveryModeChargeAmount = \r\n (odataObject.DeliveryModeChargeAmount != null) ? parseFloat(odataObject.DeliveryModeChargeAmount) : undefined;\r\n \r\n this.OrderAccount = \r\n odataObject.OrderAccount;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesInvoiceClass'] = SalesInvoiceClass;\r\n \r\n /**\r\n * OrderInvoice entity class.\r\n */\r\n export class OrderInvoiceClass implements Entities.OrderInvoice {\r\n public Id: string;\r\n public CustomerAccountNumber: string;\r\n public CustomerName: string;\r\n public InvoiceDate: Date;\r\n public TotalAmount: number;\r\n public AmountPaid: number;\r\n public AmountBalance: number;\r\n public InvoiceTypeValue: number;\r\n public CurrencyCode: string;\r\n public InvoiceDueDate: Date;\r\n public InvoicePaidStatusValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.InvoiceDate = \r\n (odataObject.InvoiceDate instanceof Date) ? odataObject.InvoiceDate\r\n : (odataObject.InvoiceDate != null) ? jsonLightReadStringPropertyValue(odataObject.InvoiceDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.AmountPaid = \r\n (odataObject.AmountPaid != null) ? parseFloat(odataObject.AmountPaid) : undefined;\r\n \r\n this.AmountBalance = \r\n (odataObject.AmountBalance != null) ? parseFloat(odataObject.AmountBalance) : undefined;\r\n \r\n this.InvoiceTypeValue = \r\n odataObject.InvoiceTypeValue;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.InvoiceDueDate = \r\n (odataObject.InvoiceDueDate instanceof Date) ? odataObject.InvoiceDueDate\r\n : (odataObject.InvoiceDueDate != null) ? jsonLightReadStringPropertyValue(odataObject.InvoiceDueDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.InvoicePaidStatusValue = \r\n odataObject.InvoicePaidStatusValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OrderInvoiceClass'] = OrderInvoiceClass;\r\n \r\n /**\r\n * TaxOverride entity class.\r\n */\r\n export class TaxOverrideClass implements Entities.TaxOverride {\r\n public Code: string;\r\n public SourceTaxGroup: string;\r\n public DestinationTaxGroup: string;\r\n public SourceItemTaxGroup: string;\r\n public DestinationItemTaxGroup: string;\r\n public ChannelId: number;\r\n public AdditionalDescription: string;\r\n public Status: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Code = \r\n odataObject.Code;\r\n \r\n this.SourceTaxGroup = \r\n odataObject.SourceTaxGroup;\r\n \r\n this.DestinationTaxGroup = \r\n odataObject.DestinationTaxGroup;\r\n \r\n this.SourceItemTaxGroup = \r\n odataObject.SourceItemTaxGroup;\r\n \r\n this.DestinationItemTaxGroup = \r\n odataObject.DestinationItemTaxGroup;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.AdditionalDescription = \r\n odataObject.AdditionalDescription;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TaxOverrideClass'] = TaxOverrideClass;\r\n \r\n /**\r\n * TenderType entity class.\r\n */\r\n export class TenderTypeClass implements Entities.TenderType {\r\n public Function: number;\r\n public TenderTypeId: string;\r\n public Name: string;\r\n public OperationId: number;\r\n public OperationName: string;\r\n public ChangeTenderTypeId: string;\r\n public AboveMinimumChangeAmount: number;\r\n public AboveMinimumChangeTenderTypeId: string;\r\n public OpenDrawer: boolean;\r\n public UseSignatureCaptureDevice: boolean;\r\n public MinimumSignatureCaptureAmount: number;\r\n public IsOvertenderAllowed: boolean;\r\n public IsUndertenderAllowed: boolean;\r\n public MaximumOvertenderAmount: number;\r\n public MaximumUndertenderAmount: number;\r\n public MaximumAmountPerTransaction: number;\r\n public MaximumAmountPerLine: number;\r\n public MinimumAmountPerTransaction: number;\r\n public MinimumAmountPerLine: number;\r\n public RoundOff: number;\r\n public CountingRequired: number;\r\n public TakenToBank: number;\r\n public TakenToSafe: number;\r\n public ConnectorId: string;\r\n public GiftCardItem: string;\r\n public GiftCardCashoutOutThreshold: number;\r\n public ChangeLineOnReceipt: string;\r\n public HideCardInputDetails: boolean;\r\n public CashDrawerLimitEnabled: boolean;\r\n public CashDrawerLimit: number;\r\n public RestrictReturnsWithoutReceipt: boolean;\r\n public HasTenderDiscount: boolean;\r\n public DefaultCardTypeId: string;\r\n public UseForDeclareStartAmount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Function = \r\n odataObject.Function;\r\n \r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.OperationId = \r\n odataObject.OperationId;\r\n \r\n this.OperationName = \r\n odataObject.OperationName;\r\n \r\n this.ChangeTenderTypeId = \r\n odataObject.ChangeTenderTypeId;\r\n \r\n this.AboveMinimumChangeAmount = \r\n (odataObject.AboveMinimumChangeAmount != null) ? parseFloat(odataObject.AboveMinimumChangeAmount) : undefined;\r\n \r\n this.AboveMinimumChangeTenderTypeId = \r\n odataObject.AboveMinimumChangeTenderTypeId;\r\n \r\n this.OpenDrawer = \r\n odataObject.OpenDrawer;\r\n \r\n this.UseSignatureCaptureDevice = \r\n odataObject.UseSignatureCaptureDevice;\r\n \r\n this.MinimumSignatureCaptureAmount = \r\n (odataObject.MinimumSignatureCaptureAmount != null) ? parseFloat(odataObject.MinimumSignatureCaptureAmount) : undefined;\r\n \r\n this.IsOvertenderAllowed = \r\n odataObject.IsOvertenderAllowed;\r\n \r\n this.IsUndertenderAllowed = \r\n odataObject.IsUndertenderAllowed;\r\n \r\n this.MaximumOvertenderAmount = \r\n (odataObject.MaximumOvertenderAmount != null) ? parseFloat(odataObject.MaximumOvertenderAmount) : undefined;\r\n \r\n this.MaximumUndertenderAmount = \r\n (odataObject.MaximumUndertenderAmount != null) ? parseFloat(odataObject.MaximumUndertenderAmount) : undefined;\r\n \r\n this.MaximumAmountPerTransaction = \r\n (odataObject.MaximumAmountPerTransaction != null) ? parseFloat(odataObject.MaximumAmountPerTransaction) : undefined;\r\n \r\n this.MaximumAmountPerLine = \r\n (odataObject.MaximumAmountPerLine != null) ? parseFloat(odataObject.MaximumAmountPerLine) : undefined;\r\n \r\n this.MinimumAmountPerTransaction = \r\n (odataObject.MinimumAmountPerTransaction != null) ? parseFloat(odataObject.MinimumAmountPerTransaction) : undefined;\r\n \r\n this.MinimumAmountPerLine = \r\n (odataObject.MinimumAmountPerLine != null) ? parseFloat(odataObject.MinimumAmountPerLine) : undefined;\r\n \r\n this.RoundOff = \r\n (odataObject.RoundOff != null) ? parseFloat(odataObject.RoundOff) : undefined;\r\n \r\n this.CountingRequired = \r\n odataObject.CountingRequired;\r\n \r\n this.TakenToBank = \r\n odataObject.TakenToBank;\r\n \r\n this.TakenToSafe = \r\n odataObject.TakenToSafe;\r\n \r\n this.ConnectorId = \r\n odataObject.ConnectorId;\r\n \r\n this.GiftCardItem = \r\n odataObject.GiftCardItem;\r\n \r\n this.GiftCardCashoutOutThreshold = \r\n (odataObject.GiftCardCashoutOutThreshold != null) ? parseFloat(odataObject.GiftCardCashoutOutThreshold) : undefined;\r\n \r\n this.ChangeLineOnReceipt = \r\n odataObject.ChangeLineOnReceipt;\r\n \r\n this.HideCardInputDetails = \r\n odataObject.HideCardInputDetails;\r\n \r\n this.CashDrawerLimitEnabled = \r\n odataObject.CashDrawerLimitEnabled;\r\n \r\n this.CashDrawerLimit = \r\n (odataObject.CashDrawerLimit != null) ? parseFloat(odataObject.CashDrawerLimit) : undefined;\r\n \r\n this.RestrictReturnsWithoutReceipt = \r\n odataObject.RestrictReturnsWithoutReceipt;\r\n \r\n this.HasTenderDiscount = \r\n odataObject.HasTenderDiscount;\r\n \r\n this.DefaultCardTypeId = \r\n odataObject.DefaultCardTypeId;\r\n \r\n this.UseForDeclareStartAmount = \r\n odataObject.UseForDeclareStartAmount;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TenderTypeClass'] = TenderTypeClass;\r\n \r\n /**\r\n * ReasonCode entity class.\r\n */\r\n export class ReasonCodeClass implements Entities.ReasonCode {\r\n public InputRequired: boolean;\r\n public LinkedReasonCodeId: string;\r\n public MaximumLength: number;\r\n public MaximumValue: number;\r\n public MinimumLength: number;\r\n public MinimumValue: number;\r\n public OncePerTransaction: boolean;\r\n public PrintInputNameOnReceipt: boolean;\r\n public PrintInputToReceipt: boolean;\r\n public PrintPromptToReceipt: boolean;\r\n public Prompt: string;\r\n public RandomFactor: number;\r\n public RetailUseReasonCode: boolean;\r\n public ReasonCodeId: string;\r\n public Description: string;\r\n public InputTypeValue: number;\r\n public ActivityValue: number;\r\n public IsMultiLineText: boolean;\r\n public ReasonSubCodes: Entities.ReasonSubCode[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InputRequired = \r\n odataObject.InputRequired;\r\n \r\n this.LinkedReasonCodeId = \r\n odataObject.LinkedReasonCodeId;\r\n \r\n this.MaximumLength = \r\n odataObject.MaximumLength;\r\n \r\n this.MaximumValue = \r\n (odataObject.MaximumValue != null) ? parseFloat(odataObject.MaximumValue) : undefined;\r\n \r\n this.MinimumLength = \r\n odataObject.MinimumLength;\r\n \r\n this.MinimumValue = \r\n (odataObject.MinimumValue != null) ? parseFloat(odataObject.MinimumValue) : undefined;\r\n \r\n this.OncePerTransaction = \r\n odataObject.OncePerTransaction;\r\n \r\n this.PrintInputNameOnReceipt = \r\n odataObject.PrintInputNameOnReceipt;\r\n \r\n this.PrintInputToReceipt = \r\n odataObject.PrintInputToReceipt;\r\n \r\n this.PrintPromptToReceipt = \r\n odataObject.PrintPromptToReceipt;\r\n \r\n this.Prompt = \r\n odataObject.Prompt;\r\n \r\n this.RandomFactor = \r\n (odataObject.RandomFactor != null) ? parseFloat(odataObject.RandomFactor) : undefined;\r\n \r\n this.RetailUseReasonCode = \r\n odataObject.RetailUseReasonCode;\r\n \r\n this.ReasonCodeId = \r\n odataObject.ReasonCodeId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.InputTypeValue = \r\n odataObject.InputTypeValue;\r\n \r\n this.ActivityValue = \r\n odataObject.ActivityValue;\r\n \r\n this.IsMultiLineText = \r\n odataObject.IsMultiLineText;\r\n \r\n this.ReasonSubCodes = undefined;\r\n if (odataObject.ReasonSubCodes) {\r\n this.ReasonSubCodes = [];\r\n for (var i = 0; i < odataObject.ReasonSubCodes.length; i++) {\r\n if (odataObject.ReasonSubCodes[i] != null) {\r\n if (odataObject.ReasonSubCodes[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonSubCodes[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonSubCodes[i] = new entityDictionary[className](odataObject.ReasonSubCodes[i])\r\n }\r\n } else {\r\n this.ReasonSubCodes[i] = new ReasonSubCodeClass(odataObject.ReasonSubCodes[i]);\r\n }\r\n } else {\r\n this.ReasonSubCodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReasonCodeClass'] = ReasonCodeClass;\r\n \r\n /**\r\n * ReportDataSet entity class.\r\n */\r\n export class ReportDataSetClass implements Entities.ReportDataSet {\r\n public ReportId: string;\r\n public Parameters: Entities.CommerceProperty[];\r\n public Locale: string;\r\n public Output: Entities.ReportRow[];\r\n public HasTotalRow: boolean;\r\n public HasDisclaimer: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ReportId = \r\n odataObject.ReportId;\r\n \r\n this.Parameters = undefined;\r\n if (odataObject.Parameters) {\r\n this.Parameters = [];\r\n for (var i = 0; i < odataObject.Parameters.length; i++) {\r\n if (odataObject.Parameters[i] != null) {\r\n if (odataObject.Parameters[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Parameters[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Parameters[i] = new entityDictionary[className](odataObject.Parameters[i])\r\n }\r\n } else {\r\n this.Parameters[i] = new CommercePropertyClass(odataObject.Parameters[i]);\r\n }\r\n } else {\r\n this.Parameters[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Locale = \r\n odataObject.Locale;\r\n \r\n this.Output = undefined;\r\n if (odataObject.Output) {\r\n this.Output = [];\r\n for (var i = 0; i < odataObject.Output.length; i++) {\r\n if (odataObject.Output[i] != null) {\r\n if (odataObject.Output[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Output[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Output[i] = new entityDictionary[className](odataObject.Output[i])\r\n }\r\n } else {\r\n this.Output[i] = new ReportRowClass(odataObject.Output[i]);\r\n }\r\n } else {\r\n this.Output[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.HasTotalRow = \r\n odataObject.HasTotalRow;\r\n \r\n this.HasDisclaimer = \r\n odataObject.HasDisclaimer;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReportDataSetClass'] = ReportDataSetClass;\r\n \r\n /**\r\n * ZipCodeInfo entity class.\r\n */\r\n export class ZipCodeInfoClass implements Entities.ZipCodeInfo {\r\n public ZipPostalCode: string;\r\n public StreetName: string;\r\n public TimeZone: number;\r\n public CountryRegionId: string;\r\n public StateId: string;\r\n public CountyId: string;\r\n public CityName: string;\r\n public CityAlias: string;\r\n public District: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ZipPostalCode = \r\n odataObject.ZipPostalCode;\r\n \r\n this.StreetName = \r\n odataObject.StreetName;\r\n \r\n this.TimeZone = \r\n odataObject.TimeZone;\r\n \r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.StateId = \r\n odataObject.StateId;\r\n \r\n this.CountyId = \r\n odataObject.CountyId;\r\n \r\n this.CityName = \r\n odataObject.CityName;\r\n \r\n this.CityAlias = \r\n odataObject.CityAlias;\r\n \r\n this.District = \r\n odataObject.District;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ZipCodeInfoClass'] = ZipCodeInfoClass;\r\n \r\n /**\r\n * ReasonCodeRequirement entity class.\r\n */\r\n export class ReasonCodeRequirementClass implements Entities.ReasonCodeRequirement {\r\n public ReasonCodeId: string;\r\n public SourceId: string;\r\n public TableRefTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ReasonCodeId = \r\n odataObject.ReasonCodeId;\r\n \r\n this.SourceId = \r\n odataObject.SourceId;\r\n \r\n this.TableRefTypeValue = \r\n odataObject.TableRefTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReasonCodeRequirementClass'] = ReasonCodeRequirementClass;\r\n \r\n /**\r\n * QueryResultSettings entity class.\r\n */\r\n export class QueryResultSettingsClass implements Entities.QueryResultSettings {\r\n public Paging: Entities.PagingInfo;\r\n public Sorting: Entities.SortingInfo;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.Paging == null) {\r\n this.Paging = undefined;\r\n } else if (odataObject.Paging['@odata.type'] == null) {\r\n this.Paging = new PagingInfoClass(odataObject.Paging);\r\n } else {\r\n var className: string = odataObject.Paging['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Paging = new entityDictionary[className](odataObject.Paging)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.Sorting == null) {\r\n this.Sorting = undefined;\r\n } else if (odataObject.Sorting['@odata.type'] == null) {\r\n this.Sorting = new SortingInfoClass(odataObject.Sorting);\r\n } else {\r\n var className: string = odataObject.Sorting['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Sorting = new entityDictionary[className](odataObject.Sorting)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['QueryResultSettingsClass'] = QueryResultSettingsClass;\r\n \r\n /**\r\n * SortingInfo entity class.\r\n */\r\n export class SortingInfoClass implements Entities.SortingInfo {\r\n public Columns: Entities.SortColumn[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Columns = undefined;\r\n if (odataObject.Columns) {\r\n this.Columns = [];\r\n for (var i = 0; i < odataObject.Columns.length; i++) {\r\n if (odataObject.Columns[i] != null) {\r\n if (odataObject.Columns[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Columns[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Columns[i] = new entityDictionary[className](odataObject.Columns[i])\r\n }\r\n } else {\r\n this.Columns[i] = new SortColumnClass(odataObject.Columns[i]);\r\n }\r\n } else {\r\n this.Columns[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SortingInfoClass'] = SortingInfoClass;\r\n \r\n /**\r\n * SortColumn entity class.\r\n */\r\n export class SortColumnClass implements Entities.SortColumn {\r\n public ColumnName: string;\r\n public IsDescending: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ColumnName = \r\n odataObject.ColumnName;\r\n \r\n this.IsDescending = \r\n odataObject.IsDescending;\r\n \r\n }\r\n }\r\n entityDictionary['SortColumnClass'] = SortColumnClass;\r\n \r\n /**\r\n * PagingInfo entity class.\r\n */\r\n export class PagingInfoClass implements Entities.PagingInfo {\r\n public NextPageToken: string;\r\n public Top: number;\r\n public Skip: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.NextPageToken = \r\n odataObject.NextPageToken;\r\n \r\n this.Top = \r\n (odataObject.Top != null) ? parseInt(odataObject.Top, 10) : undefined;\r\n \r\n this.Skip = \r\n (odataObject.Skip != null) ? parseInt(odataObject.Skip, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['PagingInfoClass'] = PagingInfoClass;\r\n \r\n /**\r\n * ProductPropertyTranslation entity class.\r\n */\r\n export class ProductPropertyTranslationClass implements Entities.ProductPropertyTranslation {\r\n public TranslationLanguage: string;\r\n public TranslatedProperties: Entities.ProductProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TranslationLanguage = \r\n odataObject.TranslationLanguage;\r\n \r\n this.TranslatedProperties = undefined;\r\n if (odataObject.TranslatedProperties) {\r\n this.TranslatedProperties = [];\r\n for (var i = 0; i < odataObject.TranslatedProperties.length; i++) {\r\n if (odataObject.TranslatedProperties[i] != null) {\r\n if (odataObject.TranslatedProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TranslatedProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TranslatedProperties[i] = new entityDictionary[className](odataObject.TranslatedProperties[i])\r\n }\r\n } else {\r\n this.TranslatedProperties[i] = new ProductPropertyClass(odataObject.TranslatedProperties[i]);\r\n }\r\n } else {\r\n this.TranslatedProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductPropertyTranslationClass'] = ProductPropertyTranslationClass;\r\n \r\n /**\r\n * NumberSequenceSeedData entity class.\r\n */\r\n export class NumberSequenceSeedDataClass implements Entities.NumberSequenceSeedData {\r\n public DataTypeValue: number;\r\n public DataValue: number;\r\n public LastTransactionDataValue: number;\r\n public LastTransactionCreatedDateTime: Date;\r\n public LastTransactionId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.DataValue = \r\n (odataObject.DataValue != null) ? parseInt(odataObject.DataValue, 10) : undefined;\r\n \r\n this.LastTransactionDataValue = \r\n (odataObject.LastTransactionDataValue != null) ? parseInt(odataObject.LastTransactionDataValue, 10) : undefined;\r\n \r\n this.LastTransactionCreatedDateTime = \r\n (odataObject.LastTransactionCreatedDateTime instanceof Date) ? odataObject.LastTransactionCreatedDateTime\r\n : (odataObject.LastTransactionCreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.LastTransactionCreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LastTransactionId = \r\n odataObject.LastTransactionId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['NumberSequenceSeedDataClass'] = NumberSequenceSeedDataClass;\r\n \r\n /**\r\n * ReceiptNumberResetInfo entity class.\r\n */\r\n export class ReceiptNumberResetInfoClass implements Entities.ReceiptNumberResetInfo {\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public ResetDate: Date;\r\n public TypeValue: number;\r\n public Enabled: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ResetDate = \r\n (odataObject.ResetDate instanceof Date) ? odataObject.ResetDate\r\n : (odataObject.ResetDate != null) ? jsonLightReadStringPropertyValue(odataObject.ResetDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TypeValue = \r\n odataObject.TypeValue;\r\n \r\n this.Enabled = \r\n odataObject.Enabled;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReceiptNumberResetInfoClass'] = ReceiptNumberResetInfoClass;\r\n \r\n /**\r\n * DeviceActivationResult entity class.\r\n */\r\n export class DeviceActivationResultClass implements Entities.DeviceActivationResult {\r\n public Device: Entities.Device;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.Device == null) {\r\n this.Device = undefined;\r\n } else if (odataObject.Device['@odata.type'] == null) {\r\n this.Device = new DeviceClass(odataObject.Device);\r\n } else {\r\n var className: string = odataObject.Device['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Device = new entityDictionary[className](odataObject.Device)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DeviceActivationResultClass'] = DeviceActivationResultClass;\r\n \r\n /**\r\n * PurchaseHistory entity class.\r\n */\r\n export class PurchaseHistoryClass implements Entities.PurchaseHistory {\r\n public DatePurchased: Date;\r\n public ImageUrl: string;\r\n public ItemId: string;\r\n public ProductId: number;\r\n public ProductName: string;\r\n public ReceiptId: string;\r\n public SalesId: string;\r\n public ChannelId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DatePurchased = \r\n (odataObject.DatePurchased instanceof Date) ? odataObject.DatePurchased\r\n : (odataObject.DatePurchased != null) ? jsonLightReadStringPropertyValue(odataObject.DatePurchased, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ImageUrl = \r\n odataObject.ImageUrl;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ProductName = \r\n odataObject.ProductName;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PurchaseHistoryClass'] = PurchaseHistoryClass;\r\n \r\n /**\r\n * Node entity class.\r\n */\r\n export class NodeClass implements Entities.Node {\r\n public ParentScopeId: string;\r\n public ParentSequence: number;\r\n public Id: string;\r\n public Sequence: number;\r\n public Description: string;\r\n public ScreenshotUri: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ParentScopeId = \r\n odataObject.ParentScopeId;\r\n \r\n this.ParentSequence = \r\n odataObject.ParentSequence;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Sequence = \r\n odataObject.Sequence;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ScreenshotUri = \r\n odataObject.ScreenshotUri;\r\n \r\n }\r\n }\r\n entityDictionary['NodeClass'] = NodeClass;\r\n \r\n /**\r\n * Line entity class.\r\n */\r\n export class LineClass implements Entities.Line {\r\n public ChildrenIds: number[];\r\n public Id: number;\r\n public Name: string;\r\n public Description: string;\r\n public IsLinked: boolean;\r\n public LineMetadataId: number;\r\n public Artifacts: Entities.ArtifactSummary[];\r\n public MetadataPropertyValues: Entities.MetadataPropertyValue[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChildrenIds = undefined;\r\n if (odataObject.ChildrenIds) {\r\n this.ChildrenIds = [];\r\n for (var i = 0; i < odataObject.ChildrenIds.length; i++) {\r\n if (odataObject.ChildrenIds[i] != null) {\r\n this.ChildrenIds[i] = \r\n parseInt(odataObject.ChildrenIds[i], 10);\r\n } else {\r\n this.ChildrenIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Id = \r\n (odataObject.Id != null) ? parseInt(odataObject.Id, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.IsLinked = \r\n odataObject.IsLinked;\r\n \r\n this.LineMetadataId = \r\n (odataObject.LineMetadataId != null) ? parseInt(odataObject.LineMetadataId, 10) : undefined;\r\n \r\n this.Artifacts = undefined;\r\n if (odataObject.Artifacts) {\r\n this.Artifacts = [];\r\n for (var i = 0; i < odataObject.Artifacts.length; i++) {\r\n if (odataObject.Artifacts[i] != null) {\r\n if (odataObject.Artifacts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Artifacts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Artifacts[i] = new entityDictionary[className](odataObject.Artifacts[i])\r\n }\r\n } else {\r\n this.Artifacts[i] = new ArtifactSummaryClass(odataObject.Artifacts[i]);\r\n }\r\n } else {\r\n this.Artifacts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.MetadataPropertyValues = undefined;\r\n if (odataObject.MetadataPropertyValues) {\r\n this.MetadataPropertyValues = [];\r\n for (var i = 0; i < odataObject.MetadataPropertyValues.length; i++) {\r\n if (odataObject.MetadataPropertyValues[i] != null) {\r\n if (odataObject.MetadataPropertyValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.MetadataPropertyValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.MetadataPropertyValues[i] = new entityDictionary[className](odataObject.MetadataPropertyValues[i])\r\n }\r\n } else {\r\n this.MetadataPropertyValues[i] = new MetadataPropertyValueClass(odataObject.MetadataPropertyValues[i]);\r\n }\r\n } else {\r\n this.MetadataPropertyValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LineClass'] = LineClass;\r\n \r\n /**\r\n * MetadataText entity class.\r\n */\r\n export class MetadataTextClass implements Entities.MetadataText {\r\n public Id: string;\r\n public Text: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Text = \r\n odataObject.Text;\r\n \r\n }\r\n }\r\n entityDictionary['MetadataTextClass'] = MetadataTextClass;\r\n \r\n /**\r\n * MetadataHypertextLink entity class.\r\n */\r\n export class MetadataHypertextLinkClass implements Entities.MetadataHypertextLink {\r\n public Id: string;\r\n public DisplayName: string;\r\n public Url: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.DisplayName = \r\n odataObject.DisplayName;\r\n \r\n this.Url = \r\n odataObject.Url;\r\n \r\n }\r\n }\r\n entityDictionary['MetadataHypertextLinkClass'] = MetadataHypertextLinkClass;\r\n \r\n /**\r\n * Scope entity class.\r\n */\r\n export class ScopeClass\r\n extends NodeClass\r\n implements Entities.Scope {\r\n public Name: string;\r\n public ScopeTypeValue: number;\r\n public Children: Entities.Node[];\r\n public ActiveCount: number;\r\n public IsForm: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.ScopeTypeValue = \r\n odataObject.ScopeTypeValue;\r\n \r\n this.Children = undefined;\r\n if (odataObject.Children) {\r\n this.Children = [];\r\n for (var i = 0; i < odataObject.Children.length; i++) {\r\n if (odataObject.Children[i] != null) {\r\n if (odataObject.Children[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Children[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Children[i] = new entityDictionary[className](odataObject.Children[i])\r\n }\r\n } else {\r\n this.Children[i] = new NodeClass(odataObject.Children[i]);\r\n }\r\n } else {\r\n this.Children[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ActiveCount = \r\n odataObject.ActiveCount;\r\n \r\n this.IsForm = \r\n odataObject.IsForm;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.Scope\";\r\n \r\n }\r\n }\r\n entityDictionary['ScopeClass'] = ScopeClass;\r\n \r\n /**\r\n * Framework entity class.\r\n */\r\n export class FrameworkClass implements Entities.Framework {\r\n public Lines: Entities.Line[];\r\n public Id: number;\r\n public Name: string;\r\n public Access: string;\r\n public Hierarchy: Entities.Line[];\r\n public Publisher: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Lines = undefined;\r\n if (odataObject.Lines) {\r\n this.Lines = [];\r\n for (var i = 0; i < odataObject.Lines.length; i++) {\r\n if (odataObject.Lines[i] != null) {\r\n if (odataObject.Lines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Lines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Lines[i] = new entityDictionary[className](odataObject.Lines[i])\r\n }\r\n } else {\r\n this.Lines[i] = new LineClass(odataObject.Lines[i]);\r\n }\r\n } else {\r\n this.Lines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Id = \r\n (odataObject.Id != null) ? parseInt(odataObject.Id, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Access = \r\n odataObject.Access;\r\n \r\n this.Hierarchy = undefined;\r\n if (odataObject.Hierarchy) {\r\n this.Hierarchy = [];\r\n for (var i = 0; i < odataObject.Hierarchy.length; i++) {\r\n if (odataObject.Hierarchy[i] != null) {\r\n if (odataObject.Hierarchy[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Hierarchy[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Hierarchy[i] = new entityDictionary[className](odataObject.Hierarchy[i])\r\n }\r\n } else {\r\n this.Hierarchy[i] = new LineClass(odataObject.Hierarchy[i]);\r\n }\r\n } else {\r\n this.Hierarchy[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Publisher = \r\n odataObject.Publisher;\r\n \r\n }\r\n }\r\n entityDictionary['FrameworkClass'] = FrameworkClass;\r\n \r\n /**\r\n * UserAction entity class.\r\n */\r\n export class UserActionClass\r\n extends NodeClass\r\n implements Entities.UserAction {\r\n public SystemGenerated: boolean;\r\n public GlobalId: string;\r\n public Annotations: Entities.Annotation[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.SystemGenerated = \r\n odataObject.SystemGenerated;\r\n \r\n this.GlobalId = \r\n odataObject.GlobalId;\r\n \r\n this.Annotations = undefined;\r\n if (odataObject.Annotations) {\r\n this.Annotations = [];\r\n for (var i = 0; i < odataObject.Annotations.length; i++) {\r\n if (odataObject.Annotations[i] != null) {\r\n if (odataObject.Annotations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Annotations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Annotations[i] = new entityDictionary[className](odataObject.Annotations[i])\r\n }\r\n } else {\r\n this.Annotations[i] = new AnnotationClass(odataObject.Annotations[i]);\r\n }\r\n } else {\r\n this.Annotations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.UserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['UserActionClass'] = UserActionClass;\r\n \r\n /**\r\n * TaskUserAction entity class.\r\n */\r\n export class TaskUserActionClass\r\n extends UserActionClass\r\n implements Entities.TaskUserAction {\r\n public UserActionTypeValue: number;\r\n public Name: string;\r\n public Comment: string;\r\n public TaskId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.UserActionTypeValue = \r\n odataObject.UserActionTypeValue;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this.TaskId = \r\n odataObject.TaskId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.TaskUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['TaskUserActionClass'] = TaskUserActionClass;\r\n \r\n /**\r\n * FormUserAction entity class.\r\n */\r\n export class FormUserActionClass\r\n extends UserActionClass\r\n implements Entities.FormUserAction {\r\n public FormId: string;\r\n public ControlLabel: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.FormId = \r\n odataObject.FormId;\r\n \r\n this.ControlLabel = \r\n odataObject.ControlLabel;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.FormUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['FormUserActionClass'] = FormUserActionClass;\r\n \r\n /**\r\n * CommandUserAction entity class.\r\n */\r\n export class CommandUserActionClass\r\n extends FormUserActionClass\r\n implements Entities.CommandUserAction {\r\n public ReturnTypeValue: number;\r\n public CommandName: string;\r\n public ControlName: string;\r\n public ControlType: string;\r\n public Arguments: Entities.CommandArgument[];\r\n public LabelId: string;\r\n public ReturnValue: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ReturnTypeValue = \r\n odataObject.ReturnTypeValue;\r\n \r\n this.CommandName = \r\n odataObject.CommandName;\r\n \r\n this.ControlName = \r\n odataObject.ControlName;\r\n \r\n this.ControlType = \r\n odataObject.ControlType;\r\n \r\n this.Arguments = undefined;\r\n if (odataObject.Arguments) {\r\n this.Arguments = [];\r\n for (var i = 0; i < odataObject.Arguments.length; i++) {\r\n if (odataObject.Arguments[i] != null) {\r\n if (odataObject.Arguments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Arguments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Arguments[i] = new entityDictionary[className](odataObject.Arguments[i])\r\n }\r\n } else {\r\n this.Arguments[i] = new CommandArgumentClass(odataObject.Arguments[i]);\r\n }\r\n } else {\r\n this.Arguments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LabelId = \r\n odataObject.LabelId;\r\n \r\n this.ReturnValue = \r\n odataObject.ReturnValue;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CommandUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['CommandUserActionClass'] = CommandUserActionClass;\r\n \r\n /**\r\n * Annotation entity class.\r\n */\r\n export class AnnotationClass implements Entities.Annotation {\r\n public Description: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Description = \r\n odataObject.Description;\r\n \r\n }\r\n }\r\n entityDictionary['AnnotationClass'] = AnnotationClass;\r\n \r\n /**\r\n * Recording entity class.\r\n */\r\n export class RecordingClass implements Entities.Recording {\r\n public Scopes: Entities.Scope[];\r\n public FormContextEntries: Entities.FormContextDictionaryEntry[];\r\n public RootScope: Entities.Scope;\r\n public Name: string;\r\n public Description: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Scopes = undefined;\r\n if (odataObject.Scopes) {\r\n this.Scopes = [];\r\n for (var i = 0; i < odataObject.Scopes.length; i++) {\r\n if (odataObject.Scopes[i] != null) {\r\n if (odataObject.Scopes[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Scopes[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Scopes[i] = new entityDictionary[className](odataObject.Scopes[i])\r\n }\r\n } else {\r\n this.Scopes[i] = new ScopeClass(odataObject.Scopes[i]);\r\n }\r\n } else {\r\n this.Scopes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FormContextEntries = undefined;\r\n if (odataObject.FormContextEntries) {\r\n this.FormContextEntries = [];\r\n for (var i = 0; i < odataObject.FormContextEntries.length; i++) {\r\n if (odataObject.FormContextEntries[i] != null) {\r\n if (odataObject.FormContextEntries[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FormContextEntries[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FormContextEntries[i] = new entityDictionary[className](odataObject.FormContextEntries[i])\r\n }\r\n } else {\r\n this.FormContextEntries[i] = new FormContextDictionaryEntryClass(odataObject.FormContextEntries[i]);\r\n }\r\n } else {\r\n this.FormContextEntries[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.RootScope == null) {\r\n this.RootScope = undefined;\r\n } else if (odataObject.RootScope['@odata.type'] == null) {\r\n this.RootScope = new ScopeClass(odataObject.RootScope);\r\n } else {\r\n var className: string = odataObject.RootScope['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RootScope = new entityDictionary[className](odataObject.RootScope)\r\n }\r\n }\r\n\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n }\r\n }\r\n entityDictionary['RecordingClass'] = RecordingClass;\r\n \r\n /**\r\n * FormContextDictionaryEntry entity class.\r\n */\r\n export class FormContextDictionaryEntryClass implements Entities.FormContextDictionaryEntry {\r\n public FormId: string;\r\n public FormContext: Entities.FormContext;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FormId = \r\n odataObject.FormId;\r\n \r\n if (odataObject.FormContext == null) {\r\n this.FormContext = undefined;\r\n } else if (odataObject.FormContext['@odata.type'] == null) {\r\n this.FormContext = new FormContextClass(odataObject.FormContext);\r\n } else {\r\n var className: string = odataObject.FormContext['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FormContext = new entityDictionary[className](odataObject.FormContext)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['FormContextDictionaryEntryClass'] = FormContextDictionaryEntryClass;\r\n \r\n /**\r\n * ProductVariantResolutionContext entity class.\r\n */\r\n export class ProductVariantResolutionContextClass implements Entities.ProductVariantResolutionContext {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n }\r\n }\r\n entityDictionary['ProductVariantResolutionContextClass'] = ProductVariantResolutionContextClass;\r\n \r\n /**\r\n * ProductVariantResolutionOnKitSelectionContext entity class.\r\n */\r\n export class ProductVariantResolutionOnKitSelectionContextClass\r\n extends ProductVariantResolutionContextClass\r\n implements Entities.ProductVariantResolutionOnKitSelectionContext {\r\n public SelectedComponents: Entities.ComponentInSlotRelation[];\r\n public SlotId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.SelectedComponents = undefined;\r\n if (odataObject.SelectedComponents) {\r\n this.SelectedComponents = [];\r\n for (var i = 0; i < odataObject.SelectedComponents.length; i++) {\r\n if (odataObject.SelectedComponents[i] != null) {\r\n if (odataObject.SelectedComponents[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SelectedComponents[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SelectedComponents[i] = new entityDictionary[className](odataObject.SelectedComponents[i])\r\n }\r\n } else {\r\n this.SelectedComponents[i] = new ComponentInSlotRelationClass(odataObject.SelectedComponents[i]);\r\n }\r\n } else {\r\n this.SelectedComponents[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SlotId = \r\n (odataObject.SlotId != null) ? parseInt(odataObject.SlotId, 10) : undefined;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ProductVariantResolutionOnKitSelectionContext\";\r\n \r\n }\r\n }\r\n entityDictionary['ProductVariantResolutionOnKitSelectionContextClass'] = ProductVariantResolutionOnKitSelectionContextClass;\r\n \r\n /**\r\n * WarehouseLocation entity class.\r\n */\r\n export class WarehouseLocationClass implements Entities.WarehouseLocation {\r\n public LocationId: string;\r\n public IsLicensePlateControlled: boolean;\r\n public ProfileId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LocationId = \r\n odataObject.LocationId;\r\n \r\n this.IsLicensePlateControlled = \r\n odataObject.IsLicensePlateControlled;\r\n \r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['WarehouseLocationClass'] = WarehouseLocationClass;\r\n \r\n /**\r\n * FiscalTransaction entity class.\r\n */\r\n export class FiscalTransactionClass implements Entities.FiscalTransaction {\r\n public CreatedDateTime: Date;\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public TransactionId: string;\r\n public TransDateTime: Date;\r\n public LineNumber: number;\r\n public RegisterResponse: string;\r\n public ReceiptCopy: boolean;\r\n public RecordGUID: string;\r\n public RegisterStoreId: string;\r\n public RegisterTerminalId: string;\r\n public StaffId: string;\r\n public RegistrationStatusValue: number;\r\n public RegistrationProcessId: string;\r\n public ConnectorGroup: string;\r\n public ConnectorName: string;\r\n public ConnectorFunctionalityProfileId: string;\r\n public RegisterInfo: string;\r\n public DocumentNumber: string;\r\n public RegistrationTypeValue: number;\r\n public ServiceName: string;\r\n public CountryRegionIsoCode: string;\r\n public TenderLineAdjustments: Entities.FiscalTransactionTenderLineAdjustment[];\r\n public SalesLineAdjustments: Entities.FiscalTransactionSalesLineAdjustment[];\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.TransDateTime = \r\n (odataObject.TransDateTime instanceof Date) ? odataObject.TransDateTime\r\n : (odataObject.TransDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.TransDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.RegisterResponse = \r\n odataObject.RegisterResponse;\r\n \r\n this.ReceiptCopy = \r\n odataObject.ReceiptCopy;\r\n \r\n this.RecordGUID = \r\n odataObject.RecordGUID;\r\n \r\n this.RegisterStoreId = \r\n odataObject.RegisterStoreId;\r\n \r\n this.RegisterTerminalId = \r\n odataObject.RegisterTerminalId;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.RegistrationStatusValue = \r\n odataObject.RegistrationStatusValue;\r\n \r\n this.RegistrationProcessId = \r\n odataObject.RegistrationProcessId;\r\n \r\n this.ConnectorGroup = \r\n odataObject.ConnectorGroup;\r\n \r\n this.ConnectorName = \r\n odataObject.ConnectorName;\r\n \r\n this.ConnectorFunctionalityProfileId = \r\n odataObject.ConnectorFunctionalityProfileId;\r\n \r\n this.RegisterInfo = \r\n odataObject.RegisterInfo;\r\n \r\n this.DocumentNumber = \r\n odataObject.DocumentNumber;\r\n \r\n this.RegistrationTypeValue = \r\n odataObject.RegistrationTypeValue;\r\n \r\n this.ServiceName = \r\n odataObject.ServiceName;\r\n \r\n this.CountryRegionIsoCode = \r\n odataObject.CountryRegionIsoCode;\r\n \r\n this.TenderLineAdjustments = undefined;\r\n if (odataObject.TenderLineAdjustments) {\r\n this.TenderLineAdjustments = [];\r\n for (var i = 0; i < odataObject.TenderLineAdjustments.length; i++) {\r\n if (odataObject.TenderLineAdjustments[i] != null) {\r\n if (odataObject.TenderLineAdjustments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderLineAdjustments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLineAdjustments[i] = new entityDictionary[className](odataObject.TenderLineAdjustments[i])\r\n }\r\n } else {\r\n this.TenderLineAdjustments[i] = new FiscalTransactionTenderLineAdjustmentClass(odataObject.TenderLineAdjustments[i]);\r\n }\r\n } else {\r\n this.TenderLineAdjustments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SalesLineAdjustments = undefined;\r\n if (odataObject.SalesLineAdjustments) {\r\n this.SalesLineAdjustments = [];\r\n for (var i = 0; i < odataObject.SalesLineAdjustments.length; i++) {\r\n if (odataObject.SalesLineAdjustments[i] != null) {\r\n if (odataObject.SalesLineAdjustments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SalesLineAdjustments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SalesLineAdjustments[i] = new entityDictionary[className](odataObject.SalesLineAdjustments[i])\r\n }\r\n } else {\r\n this.SalesLineAdjustments[i] = new FiscalTransactionSalesLineAdjustmentClass(odataObject.SalesLineAdjustments[i]);\r\n }\r\n } else {\r\n this.SalesLineAdjustments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalTransactionClass'] = FiscalTransactionClass;\r\n \r\n /**\r\n * FulfillmentLine entity class.\r\n */\r\n export class FulfillmentLineClass implements Entities.FulfillmentLine {\r\n public SalesId: string;\r\n public SalesPersonStoreId: string;\r\n public SalesPersonId: string;\r\n public SalesPersonFirstName: string;\r\n public SalesPersonLastName: string;\r\n public SalesLineNumber: number;\r\n public ReceiptId: string;\r\n public ChannelReferenceId: string;\r\n public CustomerId: string;\r\n public CustomerName: string;\r\n public EmailAddress: string;\r\n public DeliveryModeCode: string;\r\n public DocumentStatusValue: number;\r\n public FulfillmentDeliveryType: Entities.FulfillmentLineDeliveryType;\r\n public DeliveryTypeValue: number;\r\n public QuantityOrdered: number;\r\n public QuantityNotProcessed: number;\r\n public QuantityReserved: number;\r\n public QuantityPicked: number;\r\n public QuantityPacked: number;\r\n public QuantityInvoiced: number;\r\n public StoreInventoryTotalQuantity: number;\r\n public StoreInventoryReservedQuantity: number;\r\n public StoreInventoryOrderedQuantity: number;\r\n public ItemId: string;\r\n public ProductId: number;\r\n public ProductVariant: string;\r\n public ItemName: string;\r\n public SerialNumber: string;\r\n public FulfillmentStatus: Entities.FulfillmentLineStatus;\r\n public FulfillmentStatusValue: number;\r\n public UnitOfMeasureSymbol: string;\r\n public RequestedShipDate: Date;\r\n public RequestedDeliveryDate: Date;\r\n public RequestedReceiptDate: Date;\r\n public PickupTimeslotStartDateTime: Date;\r\n public PickupTimeslotEndDateTime: Date;\r\n public CreatedDate: Date;\r\n public TotalAmount: number;\r\n public Balance: number;\r\n public ShippingAddress: Entities.Address;\r\n public DetailedOrderStatusValue: number;\r\n public DetailedLineStatusValue: number;\r\n public ChannelTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.SalesPersonStoreId = \r\n odataObject.SalesPersonStoreId;\r\n \r\n this.SalesPersonId = \r\n odataObject.SalesPersonId;\r\n \r\n this.SalesPersonFirstName = \r\n odataObject.SalesPersonFirstName;\r\n \r\n this.SalesPersonLastName = \r\n odataObject.SalesPersonLastName;\r\n \r\n this.SalesLineNumber = \r\n (odataObject.SalesLineNumber != null) ? parseFloat(odataObject.SalesLineNumber) : undefined;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.EmailAddress = \r\n odataObject.EmailAddress;\r\n \r\n this.DeliveryModeCode = \r\n odataObject.DeliveryModeCode;\r\n \r\n this.DocumentStatusValue = \r\n odataObject.DocumentStatusValue;\r\n \r\n if (odataObject.FulfillmentDeliveryType == null) {\r\n this.FulfillmentDeliveryType = undefined;\r\n } else if (odataObject.FulfillmentDeliveryType['@odata.type'] == null) {\r\n this.FulfillmentDeliveryType = new FulfillmentLineDeliveryTypeClass(odataObject.FulfillmentDeliveryType);\r\n } else {\r\n var className: string = odataObject.FulfillmentDeliveryType['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FulfillmentDeliveryType = new entityDictionary[className](odataObject.FulfillmentDeliveryType)\r\n }\r\n }\r\n\r\n \r\n this.DeliveryTypeValue = \r\n odataObject.DeliveryTypeValue;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.QuantityNotProcessed = \r\n (odataObject.QuantityNotProcessed != null) ? parseFloat(odataObject.QuantityNotProcessed) : undefined;\r\n \r\n this.QuantityReserved = \r\n (odataObject.QuantityReserved != null) ? parseFloat(odataObject.QuantityReserved) : undefined;\r\n \r\n this.QuantityPicked = \r\n (odataObject.QuantityPicked != null) ? parseFloat(odataObject.QuantityPicked) : undefined;\r\n \r\n this.QuantityPacked = \r\n (odataObject.QuantityPacked != null) ? parseFloat(odataObject.QuantityPacked) : undefined;\r\n \r\n this.QuantityInvoiced = \r\n (odataObject.QuantityInvoiced != null) ? parseFloat(odataObject.QuantityInvoiced) : undefined;\r\n \r\n this.StoreInventoryTotalQuantity = \r\n (odataObject.StoreInventoryTotalQuantity != null) ? parseFloat(odataObject.StoreInventoryTotalQuantity) : undefined;\r\n \r\n this.StoreInventoryReservedQuantity = \r\n (odataObject.StoreInventoryReservedQuantity != null) ? parseFloat(odataObject.StoreInventoryReservedQuantity) : undefined;\r\n \r\n this.StoreInventoryOrderedQuantity = \r\n (odataObject.StoreInventoryOrderedQuantity != null) ? parseFloat(odataObject.StoreInventoryOrderedQuantity) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ProductVariant = \r\n odataObject.ProductVariant;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n if (odataObject.FulfillmentStatus == null) {\r\n this.FulfillmentStatus = undefined;\r\n } else if (odataObject.FulfillmentStatus['@odata.type'] == null) {\r\n this.FulfillmentStatus = new FulfillmentLineStatusClass(odataObject.FulfillmentStatus);\r\n } else {\r\n var className: string = odataObject.FulfillmentStatus['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FulfillmentStatus = new entityDictionary[className](odataObject.FulfillmentStatus)\r\n }\r\n }\r\n\r\n \r\n this.FulfillmentStatusValue = \r\n odataObject.FulfillmentStatusValue;\r\n \r\n this.UnitOfMeasureSymbol = \r\n odataObject.UnitOfMeasureSymbol;\r\n \r\n this.RequestedShipDate = \r\n (odataObject.RequestedShipDate instanceof Date) ? odataObject.RequestedShipDate\r\n : (odataObject.RequestedShipDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedShipDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequestedReceiptDate = \r\n (odataObject.RequestedReceiptDate instanceof Date) ? odataObject.RequestedReceiptDate\r\n : (odataObject.RequestedReceiptDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedReceiptDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotStartDateTime = \r\n (odataObject.PickupTimeslotStartDateTime instanceof Date) ? odataObject.PickupTimeslotStartDateTime\r\n : (odataObject.PickupTimeslotStartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotStartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotEndDateTime = \r\n (odataObject.PickupTimeslotEndDateTime instanceof Date) ? odataObject.PickupTimeslotEndDateTime\r\n : (odataObject.PickupTimeslotEndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotEndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.CreatedDate = \r\n (odataObject.CreatedDate instanceof Date) ? odataObject.CreatedDate\r\n : (odataObject.CreatedDate != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TotalAmount = \r\n (odataObject.TotalAmount != null) ? parseFloat(odataObject.TotalAmount) : undefined;\r\n \r\n this.Balance = \r\n (odataObject.Balance != null) ? parseFloat(odataObject.Balance) : undefined;\r\n \r\n if (odataObject.ShippingAddress == null) {\r\n this.ShippingAddress = undefined;\r\n } else if (odataObject.ShippingAddress['@odata.type'] == null) {\r\n this.ShippingAddress = new AddressClass(odataObject.ShippingAddress);\r\n } else {\r\n var className: string = odataObject.ShippingAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingAddress = new entityDictionary[className](odataObject.ShippingAddress)\r\n }\r\n }\r\n\r\n \r\n this.DetailedOrderStatusValue = \r\n odataObject.DetailedOrderStatusValue;\r\n \r\n this.DetailedLineStatusValue = \r\n odataObject.DetailedLineStatusValue;\r\n \r\n this.ChannelTypeValue = \r\n odataObject.ChannelTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineClass'] = FulfillmentLineClass;\r\n \r\n /**\r\n * FulfillmentLineSearchCriteria entity class.\r\n */\r\n export class FulfillmentLineSearchCriteriaClass implements Entities.FulfillmentLineSearchCriteria {\r\n public CustomerId: string;\r\n public CustomerName: string;\r\n public EmailAddress: string;\r\n public SalesId: string;\r\n public OrderCreatedStartDate: Date;\r\n public OrderCreatedEndDate: Date;\r\n public ReceiptId: string;\r\n public StoreId: string;\r\n public ChannelReferenceId: string;\r\n public RequestedReceiptStartDate: Date;\r\n public RequestedReceiptEndDate: Date;\r\n public RequestedDeliveryStartDate: Date;\r\n public RequestedDeliveryEndDate: Date;\r\n public FulfillmentStatusValues: number[];\r\n public DeliveryModeCode: string;\r\n public WarehouseId: string;\r\n public LoyaltyCardNumber: string;\r\n public CustomerPhoneNumber: string;\r\n public DeliveryTypeValue: number;\r\n public CustomFilters: Entities.SearchFilter[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.EmailAddress = \r\n odataObject.EmailAddress;\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.OrderCreatedStartDate = \r\n (odataObject.OrderCreatedStartDate instanceof Date) ? odataObject.OrderCreatedStartDate\r\n : (odataObject.OrderCreatedStartDate != null) ? jsonLightReadStringPropertyValue(odataObject.OrderCreatedStartDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.OrderCreatedEndDate = \r\n (odataObject.OrderCreatedEndDate instanceof Date) ? odataObject.OrderCreatedEndDate\r\n : (odataObject.OrderCreatedEndDate != null) ? jsonLightReadStringPropertyValue(odataObject.OrderCreatedEndDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.RequestedReceiptStartDate = \r\n (odataObject.RequestedReceiptStartDate instanceof Date) ? odataObject.RequestedReceiptStartDate\r\n : (odataObject.RequestedReceiptStartDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedReceiptStartDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequestedReceiptEndDate = \r\n (odataObject.RequestedReceiptEndDate instanceof Date) ? odataObject.RequestedReceiptEndDate\r\n : (odataObject.RequestedReceiptEndDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedReceiptEndDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequestedDeliveryStartDate = \r\n (odataObject.RequestedDeliveryStartDate instanceof Date) ? odataObject.RequestedDeliveryStartDate\r\n : (odataObject.RequestedDeliveryStartDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryStartDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequestedDeliveryEndDate = \r\n (odataObject.RequestedDeliveryEndDate instanceof Date) ? odataObject.RequestedDeliveryEndDate\r\n : (odataObject.RequestedDeliveryEndDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryEndDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.FulfillmentStatusValues = undefined;\r\n if (odataObject.FulfillmentStatusValues) {\r\n this.FulfillmentStatusValues = [];\r\n for (var i = 0; i < odataObject.FulfillmentStatusValues.length; i++) {\r\n if (odataObject.FulfillmentStatusValues[i] != null) {\r\n this.FulfillmentStatusValues[i] = \r\n odataObject.FulfillmentStatusValues[i];\r\n } else {\r\n this.FulfillmentStatusValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DeliveryModeCode = \r\n odataObject.DeliveryModeCode;\r\n \r\n this.WarehouseId = \r\n odataObject.WarehouseId;\r\n \r\n this.LoyaltyCardNumber = \r\n odataObject.LoyaltyCardNumber;\r\n \r\n this.CustomerPhoneNumber = \r\n odataObject.CustomerPhoneNumber;\r\n \r\n this.DeliveryTypeValue = \r\n odataObject.DeliveryTypeValue;\r\n \r\n this.CustomFilters = undefined;\r\n if (odataObject.CustomFilters) {\r\n this.CustomFilters = [];\r\n for (var i = 0; i < odataObject.CustomFilters.length; i++) {\r\n if (odataObject.CustomFilters[i] != null) {\r\n if (odataObject.CustomFilters[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomFilters[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomFilters[i] = new entityDictionary[className](odataObject.CustomFilters[i])\r\n }\r\n } else {\r\n this.CustomFilters[i] = new SearchFilterClass(odataObject.CustomFilters[i]);\r\n }\r\n } else {\r\n this.CustomFilters[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineSearchCriteriaClass'] = FulfillmentLineSearchCriteriaClass;\r\n \r\n /**\r\n * Comment entity class.\r\n */\r\n export class CommentClass implements Entities.Comment {\r\n public RecordId: number;\r\n public AuthorStaffId: string;\r\n public AuthorName: string;\r\n public Text: string;\r\n public CreatedDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.AuthorStaffId = \r\n odataObject.AuthorStaffId;\r\n \r\n this.AuthorName = \r\n odataObject.AuthorName;\r\n \r\n this.Text = \r\n odataObject.Text;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CommentClass'] = CommentClass;\r\n \r\n /**\r\n * AddressPurpose entity class.\r\n */\r\n export class AddressPurposeClass implements Entities.AddressPurpose {\r\n public RecordId: number;\r\n public AddressType: number;\r\n public Name: string;\r\n public Description: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.AddressType = \r\n odataObject.AddressType;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AddressPurposeClass'] = AddressPurposeClass;\r\n \r\n /**\r\n * DeliveryChargeLine entity class.\r\n */\r\n export class DeliveryChargeLineClass implements Entities.DeliveryChargeLine {\r\n public ChargeCode: string;\r\n public CurrencyCode: string;\r\n public CalculatedAmount: number;\r\n public Description: string;\r\n public IsRefundable: boolean;\r\n public IsShipping: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChargeCode = \r\n odataObject.ChargeCode;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.CalculatedAmount = \r\n (odataObject.CalculatedAmount != null) ? parseFloat(odataObject.CalculatedAmount) : undefined;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.IsRefundable = \r\n odataObject.IsRefundable;\r\n \r\n this.IsShipping = \r\n odataObject.IsShipping;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DeliveryChargeLineClass'] = DeliveryChargeLineClass;\r\n \r\n /**\r\n * ExtensionPackageDefinition entity class.\r\n */\r\n export class ExtensionPackageDefinitionClass implements Entities.ExtensionPackageDefinition {\r\n public Name: string;\r\n public Publisher: string;\r\n public IsEnabled: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Publisher = \r\n odataObject.Publisher;\r\n \r\n this.IsEnabled = \r\n odataObject.IsEnabled;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ExtensionPackageDefinitionClass'] = ExtensionPackageDefinitionClass;\r\n \r\n /**\r\n * ReturnPolicy entity class.\r\n */\r\n export class ReturnPolicyClass implements Entities.ReturnPolicy {\r\n public RecordId: number;\r\n public TenderTypePolicies: Entities.TenderTypePolicy[];\r\n public IsManagerOverrideEnabled: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.TenderTypePolicies = undefined;\r\n if (odataObject.TenderTypePolicies) {\r\n this.TenderTypePolicies = [];\r\n for (var i = 0; i < odataObject.TenderTypePolicies.length; i++) {\r\n if (odataObject.TenderTypePolicies[i] != null) {\r\n if (odataObject.TenderTypePolicies[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderTypePolicies[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderTypePolicies[i] = new entityDictionary[className](odataObject.TenderTypePolicies[i])\r\n }\r\n } else {\r\n this.TenderTypePolicies[i] = new TenderTypePolicyClass(odataObject.TenderTypePolicies[i]);\r\n }\r\n } else {\r\n this.TenderTypePolicies[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsManagerOverrideEnabled = \r\n odataObject.IsManagerOverrideEnabled;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReturnPolicyClass'] = ReturnPolicyClass;\r\n \r\n /**\r\n * TenderTypeAmount entity class.\r\n */\r\n export class TenderTypeAmountClass implements Entities.TenderTypeAmount {\r\n public TenderTypeId: string;\r\n public Amount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TenderTypeAmountClass'] = TenderTypeAmountClass;\r\n \r\n /**\r\n * FeatureState entity class.\r\n */\r\n export class FeatureStateClass implements Entities.FeatureState {\r\n public Name: string;\r\n public IsEnabled: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.IsEnabled = \r\n odataObject.IsEnabled;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FeatureStateClass'] = FeatureStateClass;\r\n \r\n /**\r\n * Warranty entity class.\r\n */\r\n export class WarrantyClass\r\n extends SimpleProductClass\r\n implements Entities.Warranty {\r\n public DurationUnitValue: number;\r\n public Duration: number;\r\n public ApplicablePriceRangeBaseTypeValue: number;\r\n public ApplicablePriceRangeMin: number;\r\n public ApplicablePriceRangeMax: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.DurationUnitValue = \r\n odataObject.DurationUnitValue;\r\n \r\n this.Duration = \r\n odataObject.Duration;\r\n \r\n this.ApplicablePriceRangeBaseTypeValue = \r\n odataObject.ApplicablePriceRangeBaseTypeValue;\r\n \r\n this.ApplicablePriceRangeMin = \r\n (odataObject.ApplicablePriceRangeMin != null) ? parseFloat(odataObject.ApplicablePriceRangeMin) : undefined;\r\n \r\n this.ApplicablePriceRangeMax = \r\n (odataObject.ApplicablePriceRangeMax != null) ? parseFloat(odataObject.ApplicablePriceRangeMax) : undefined;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.Warranty\";\r\n \r\n }\r\n }\r\n entityDictionary['WarrantyClass'] = WarrantyClass;\r\n \r\n /**\r\n * RecallInvoicedSalesLineLookup entity class.\r\n */\r\n export class RecallInvoicedSalesLineLookupClass implements Entities.RecallInvoicedSalesLineLookup {\r\n public InvoicedLineId: number;\r\n public Quantity: number;\r\n public SerialNumber: string;\r\n public IgnoreSerialNumberMismatch: boolean;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InvoicedLineId = \r\n (odataObject.InvoicedLineId != null) ? parseInt(odataObject.InvoicedLineId, 10) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.IgnoreSerialNumberMismatch = \r\n odataObject.IgnoreSerialNumberMismatch;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RecallInvoicedSalesLineLookupClass'] = RecallInvoicedSalesLineLookupClass;\r\n \r\n /**\r\n * WarrantyGroup entity class.\r\n */\r\n export class WarrantyGroupClass implements Entities.WarrantyGroup {\r\n public Warranties: Entities.Warranty[];\r\n public RecordId: number;\r\n public GroupName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Warranties = undefined;\r\n if (odataObject.Warranties) {\r\n this.Warranties = [];\r\n for (var i = 0; i < odataObject.Warranties.length; i++) {\r\n if (odataObject.Warranties[i] != null) {\r\n if (odataObject.Warranties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Warranties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Warranties[i] = new entityDictionary[className](odataObject.Warranties[i])\r\n }\r\n } else {\r\n this.Warranties[i] = new WarrantyClass(odataObject.Warranties[i]);\r\n }\r\n } else {\r\n this.Warranties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.GroupName = \r\n odataObject.GroupName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['WarrantyGroupClass'] = WarrantyGroupClass;\r\n \r\n /**\r\n * ProductWarrantiesMapping entity class.\r\n */\r\n export class ProductWarrantiesMappingClass implements Entities.ProductWarrantiesMapping {\r\n public WarrantyGroups: Entities.WarrantyGroup[];\r\n public WarrantableProductId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.WarrantyGroups = undefined;\r\n if (odataObject.WarrantyGroups) {\r\n this.WarrantyGroups = [];\r\n for (var i = 0; i < odataObject.WarrantyGroups.length; i++) {\r\n if (odataObject.WarrantyGroups[i] != null) {\r\n if (odataObject.WarrantyGroups[i]['@odata.type'] != null) {\r\n var className: string = odataObject.WarrantyGroups[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.WarrantyGroups[i] = new entityDictionary[className](odataObject.WarrantyGroups[i])\r\n }\r\n } else {\r\n this.WarrantyGroups[i] = new WarrantyGroupClass(odataObject.WarrantyGroups[i]);\r\n }\r\n } else {\r\n this.WarrantyGroups[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.WarrantableProductId = \r\n (odataObject.WarrantableProductId != null) ? parseInt(odataObject.WarrantableProductId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductWarrantiesMappingClass'] = ProductWarrantiesMappingClass;\r\n \r\n /**\r\n * FulfillmentLineContextualOperationsMap entity class.\r\n */\r\n export class FulfillmentLineContextualOperationsMapClass implements Entities.FulfillmentLineContextualOperationsMap {\r\n public FulfillmentLine: Entities.FulfillmentLine;\r\n public ApplicableOperationsValues: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.FulfillmentLine == null) {\r\n this.FulfillmentLine = undefined;\r\n } else if (odataObject.FulfillmentLine['@odata.type'] == null) {\r\n this.FulfillmentLine = new FulfillmentLineClass(odataObject.FulfillmentLine);\r\n } else {\r\n var className: string = odataObject.FulfillmentLine['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FulfillmentLine = new entityDictionary[className](odataObject.FulfillmentLine)\r\n }\r\n }\r\n\r\n \r\n this.ApplicableOperationsValues = undefined;\r\n if (odataObject.ApplicableOperationsValues) {\r\n this.ApplicableOperationsValues = [];\r\n for (var i = 0; i < odataObject.ApplicableOperationsValues.length; i++) {\r\n if (odataObject.ApplicableOperationsValues[i] != null) {\r\n this.ApplicableOperationsValues[i] = \r\n odataObject.ApplicableOperationsValues[i];\r\n } else {\r\n this.ApplicableOperationsValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineContextualOperationsMapClass'] = FulfillmentLineContextualOperationsMapClass;\r\n \r\n /**\r\n * UserAlert entity class.\r\n */\r\n export class UserAlertClass implements Entities.UserAlert {\r\n public AlertSourceIdValue: number;\r\n public LocalizedMessage: string;\r\n public IsBlocking: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AlertSourceIdValue = \r\n odataObject.AlertSourceIdValue;\r\n \r\n this.LocalizedMessage = \r\n odataObject.LocalizedMessage;\r\n \r\n this.IsBlocking = \r\n odataObject.IsBlocking;\r\n \r\n }\r\n }\r\n entityDictionary['UserAlertClass'] = UserAlertClass;\r\n \r\n /**\r\n * CartLineUserAlerts entity class.\r\n */\r\n export class CartLineUserAlertsClass implements Entities.CartLineUserAlerts {\r\n public LineIndex: number;\r\n public LineNumber: number;\r\n public UserAlerts: Entities.UserAlert[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineIndex = \r\n odataObject.LineIndex;\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.UserAlerts = undefined;\r\n if (odataObject.UserAlerts) {\r\n this.UserAlerts = [];\r\n for (var i = 0; i < odataObject.UserAlerts.length; i++) {\r\n if (odataObject.UserAlerts[i] != null) {\r\n if (odataObject.UserAlerts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.UserAlerts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UserAlerts[i] = new entityDictionary[className](odataObject.UserAlerts[i])\r\n }\r\n } else {\r\n this.UserAlerts[i] = new UserAlertClass(odataObject.UserAlerts[i]);\r\n }\r\n } else {\r\n this.UserAlerts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartLineUserAlertsClass'] = CartLineUserAlertsClass;\r\n \r\n /**\r\n * FulfillmentLineUserAlerts entity class.\r\n */\r\n export class FulfillmentLineUserAlertsClass implements Entities.FulfillmentLineUserAlerts {\r\n public SalesId: string;\r\n public SalesLineNumber: number;\r\n public UserAlerts: Entities.UserAlert[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.SalesLineNumber = \r\n (odataObject.SalesLineNumber != null) ? parseFloat(odataObject.SalesLineNumber) : undefined;\r\n \r\n this.UserAlerts = undefined;\r\n if (odataObject.UserAlerts) {\r\n this.UserAlerts = [];\r\n for (var i = 0; i < odataObject.UserAlerts.length; i++) {\r\n if (odataObject.UserAlerts[i] != null) {\r\n if (odataObject.UserAlerts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.UserAlerts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UserAlerts[i] = new entityDictionary[className](odataObject.UserAlerts[i])\r\n }\r\n } else {\r\n this.UserAlerts[i] = new UserAlertClass(odataObject.UserAlerts[i]);\r\n }\r\n } else {\r\n this.UserAlerts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineUserAlertsClass'] = FulfillmentLineUserAlertsClass;\r\n \r\n /**\r\n * BusinessPartnerProspect entity class.\r\n */\r\n export class BusinessPartnerProspectClass implements Entities.BusinessPartnerProspect {\r\n public FirstName: string;\r\n public LastName: string;\r\n public CompanyName: string;\r\n public Address: Entities.Address;\r\n public JobTitle: string;\r\n public Department: string;\r\n public CompanySize: number;\r\n public Comments: string;\r\n public LastOperationId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FirstName = \r\n odataObject.FirstName;\r\n \r\n this.LastName = \r\n odataObject.LastName;\r\n \r\n this.CompanyName = \r\n odataObject.CompanyName;\r\n \r\n if (odataObject.Address == null) {\r\n this.Address = undefined;\r\n } else if (odataObject.Address['@odata.type'] == null) {\r\n this.Address = new AddressClass(odataObject.Address);\r\n } else {\r\n var className: string = odataObject.Address['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Address = new entityDictionary[className](odataObject.Address)\r\n }\r\n }\r\n\r\n \r\n this.JobTitle = \r\n odataObject.JobTitle;\r\n \r\n this.Department = \r\n odataObject.Department;\r\n \r\n this.CompanySize = \r\n odataObject.CompanySize;\r\n \r\n this.Comments = \r\n odataObject.Comments;\r\n \r\n this.LastOperationId = \r\n odataObject.LastOperationId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BusinessPartnerProspectClass'] = BusinessPartnerProspectClass;\r\n \r\n /**\r\n * ChannelSearchCriteria entity class.\r\n */\r\n export class ChannelSearchCriteriaClass implements Entities.ChannelSearchCriteria {\r\n public SearchLocationValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SearchLocationValue = \r\n odataObject.SearchLocationValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelSearchCriteriaClass'] = ChannelSearchCriteriaClass;\r\n \r\n /**\r\n * BusinessPartnerOperation entity class.\r\n */\r\n export class BusinessPartnerOperationClass implements Entities.BusinessPartnerOperation {\r\n public TypeValue: number;\r\n public StatusValue: number;\r\n public Value: string;\r\n public Description: string;\r\n public CreatedDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TypeValue = \r\n odataObject.TypeValue;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BusinessPartnerOperationClass'] = BusinessPartnerOperationClass;\r\n \r\n /**\r\n * BusinessPartnerOperationRequest entity class.\r\n */\r\n export class BusinessPartnerOperationRequestClass implements Entities.BusinessPartnerOperationRequest {\r\n public TypeValue: number;\r\n public StatusValue: number;\r\n public CreatedDateTime: Date;\r\n public Details: Entities.BusinessPartnerOperationRequestDetails;\r\n public UserId: string;\r\n public UserFirstName: string;\r\n public UserLastName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TypeValue = \r\n odataObject.TypeValue;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n if (odataObject.Details == null) {\r\n this.Details = undefined;\r\n } else if (odataObject.Details['@odata.type'] == null) {\r\n this.Details = new BusinessPartnerOperationRequestDetailsClass(odataObject.Details);\r\n } else {\r\n var className: string = odataObject.Details['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Details = new entityDictionary[className](odataObject.Details)\r\n }\r\n }\r\n\r\n \r\n this.UserId = \r\n odataObject.UserId;\r\n \r\n this.UserFirstName = \r\n odataObject.UserFirstName;\r\n \r\n this.UserLastName = \r\n odataObject.UserLastName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BusinessPartnerOperationRequestClass'] = BusinessPartnerOperationRequestClass;\r\n \r\n /**\r\n * ReceiptTypesByFormatType entity class.\r\n */\r\n export class ReceiptTypesByFormatTypeClass implements Entities.ReceiptTypesByFormatType {\r\n public ReceiptOutputFormatType: Entities.ReceiptOutputFormatType;\r\n public ReceiptTypesValues: number[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.ReceiptOutputFormatType == null) {\r\n this.ReceiptOutputFormatType = undefined;\r\n } else if (odataObject.ReceiptOutputFormatType['@odata.type'] == null) {\r\n this.ReceiptOutputFormatType = new ReceiptOutputFormatTypeClass(odataObject.ReceiptOutputFormatType);\r\n } else {\r\n var className: string = odataObject.ReceiptOutputFormatType['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReceiptOutputFormatType = new entityDictionary[className](odataObject.ReceiptOutputFormatType)\r\n }\r\n }\r\n\r\n \r\n this.ReceiptTypesValues = undefined;\r\n if (odataObject.ReceiptTypesValues) {\r\n this.ReceiptTypesValues = [];\r\n for (var i = 0; i < odataObject.ReceiptTypesValues.length; i++) {\r\n if (odataObject.ReceiptTypesValues[i] != null) {\r\n this.ReceiptTypesValues[i] = \r\n odataObject.ReceiptTypesValues[i];\r\n } else {\r\n this.ReceiptTypesValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReceiptTypesByFormatTypeClass'] = ReceiptTypesByFormatTypeClass;\r\n \r\n /**\r\n * InventoryJournalNameSearchCriteria entity class.\r\n */\r\n export class InventoryJournalNameSearchCriteriaClass implements Entities.InventoryJournalNameSearchCriteria {\r\n public JournalNameIds: string[];\r\n public DocumentTypeValues: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.JournalNameIds = undefined;\r\n if (odataObject.JournalNameIds) {\r\n this.JournalNameIds = [];\r\n for (var i = 0; i < odataObject.JournalNameIds.length; i++) {\r\n if (odataObject.JournalNameIds[i] != null) {\r\n this.JournalNameIds[i] = \r\n odataObject.JournalNameIds[i];\r\n } else {\r\n this.JournalNameIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DocumentTypeValues = undefined;\r\n if (odataObject.DocumentTypeValues) {\r\n this.DocumentTypeValues = [];\r\n for (var i = 0; i < odataObject.DocumentTypeValues.length; i++) {\r\n if (odataObject.DocumentTypeValues[i] != null) {\r\n this.DocumentTypeValues[i] = \r\n odataObject.DocumentTypeValues[i];\r\n } else {\r\n this.DocumentTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryJournalNameSearchCriteriaClass'] = InventoryJournalNameSearchCriteriaClass;\r\n \r\n /**\r\n * AssortedProductIdentity entity class.\r\n */\r\n export class AssortedProductIdentityClass implements Entities.AssortedProductIdentity {\r\n public ProductId: number;\r\n public IsRemoteProduct: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.IsRemoteProduct = \r\n odataObject.IsRemoteProduct;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AssortedProductIdentityClass'] = AssortedProductIdentityClass;\r\n \r\n /**\r\n * ProductExistenceId entity class.\r\n */\r\n export class ProductExistenceIdClass implements Entities.ProductExistenceId {\r\n public ProductId: number;\r\n public LanguageId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductExistenceIdClass'] = ProductExistenceIdClass;\r\n \r\n /**\r\n * ProductExistenceCriteria entity class.\r\n */\r\n export class ProductExistenceCriteriaClass implements Entities.ProductExistenceCriteria {\r\n public ChannelId: number;\r\n public CatalogId: number;\r\n public Ids: Entities.ProductExistenceId[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.Ids = undefined;\r\n if (odataObject.Ids) {\r\n this.Ids = [];\r\n for (var i = 0; i < odataObject.Ids.length; i++) {\r\n if (odataObject.Ids[i] != null) {\r\n if (odataObject.Ids[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Ids[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Ids[i] = new entityDictionary[className](odataObject.Ids[i])\r\n }\r\n } else {\r\n this.Ids[i] = new ProductExistenceIdClass(odataObject.Ids[i]);\r\n }\r\n } else {\r\n this.Ids[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductExistenceCriteriaClass'] = ProductExistenceCriteriaClass;\r\n \r\n /**\r\n * ChecklistTask entity class.\r\n */\r\n export class ChecklistTaskClass implements Entities.ChecklistTask {\r\n public Version: string;\r\n public InstructionsVersion: string;\r\n public AssignedToPersonnelNumbers: string[];\r\n public AssignedToExternalSubId: string;\r\n public Id: string;\r\n public Name: string;\r\n public Description: string;\r\n public DueDateTime: Date;\r\n public DeepLinkTypeValue: number;\r\n public DeepLink: string;\r\n public DeepLinkPosOperationName: string;\r\n public ContactPersonPersonnelNumber: string;\r\n public Instructions: string;\r\n public StatusValue: number;\r\n public CompletionDateTime: Date;\r\n public ResolvedByPersonnelNumber: string;\r\n public ChecklistId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Version = \r\n odataObject.Version;\r\n \r\n this.InstructionsVersion = \r\n odataObject.InstructionsVersion;\r\n \r\n this.AssignedToPersonnelNumbers = undefined;\r\n if (odataObject.AssignedToPersonnelNumbers) {\r\n this.AssignedToPersonnelNumbers = [];\r\n for (var i = 0; i < odataObject.AssignedToPersonnelNumbers.length; i++) {\r\n if (odataObject.AssignedToPersonnelNumbers[i] != null) {\r\n this.AssignedToPersonnelNumbers[i] = \r\n odataObject.AssignedToPersonnelNumbers[i];\r\n } else {\r\n this.AssignedToPersonnelNumbers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AssignedToExternalSubId = \r\n odataObject.AssignedToExternalSubId;\r\n \r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.DueDateTime = \r\n (odataObject.DueDateTime instanceof Date) ? odataObject.DueDateTime\r\n : (odataObject.DueDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.DueDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DeepLinkTypeValue = \r\n odataObject.DeepLinkTypeValue;\r\n \r\n this.DeepLink = \r\n odataObject.DeepLink;\r\n \r\n this.DeepLinkPosOperationName = \r\n odataObject.DeepLinkPosOperationName;\r\n \r\n this.ContactPersonPersonnelNumber = \r\n odataObject.ContactPersonPersonnelNumber;\r\n \r\n this.Instructions = \r\n odataObject.Instructions;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.CompletionDateTime = \r\n (odataObject.CompletionDateTime instanceof Date) ? odataObject.CompletionDateTime\r\n : (odataObject.CompletionDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CompletionDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ResolvedByPersonnelNumber = \r\n odataObject.ResolvedByPersonnelNumber;\r\n \r\n this.ChecklistId = \r\n odataObject.ChecklistId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChecklistTaskClass'] = ChecklistTaskClass;\r\n \r\n /**\r\n * MediaLocation entity class.\r\n */\r\n export class MediaLocationClass implements Entities.MediaLocation {\r\n public Uri: string;\r\n public AltText: string;\r\n public IsDefault: boolean;\r\n public IsSelfHosted: boolean;\r\n public Priority: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Uri = \r\n odataObject.Uri;\r\n \r\n this.AltText = \r\n odataObject.AltText;\r\n \r\n this.IsDefault = \r\n odataObject.IsDefault;\r\n \r\n this.IsSelfHosted = \r\n odataObject.IsSelfHosted;\r\n \r\n this.Priority = \r\n odataObject.Priority;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['MediaLocationClass'] = MediaLocationClass;\r\n \r\n /**\r\n * EmployeeActivity entity class.\r\n */\r\n export class EmployeeActivityClass implements Entities.EmployeeActivity {\r\n public StaffId: string;\r\n public StaffName: string;\r\n public Activity: string;\r\n public ActivityDateTimeOffset: Date;\r\n public StoreNumber: string;\r\n public EmployeeActivityTypeValue: number;\r\n public BreakCategory: string;\r\n public RecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.StaffName = \r\n odataObject.StaffName;\r\n \r\n this.Activity = \r\n odataObject.Activity;\r\n \r\n this.ActivityDateTimeOffset = \r\n (odataObject.ActivityDateTimeOffset instanceof Date) ? odataObject.ActivityDateTimeOffset\r\n : (odataObject.ActivityDateTimeOffset != null) ? jsonLightReadStringPropertyValue(odataObject.ActivityDateTimeOffset, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.EmployeeActivityTypeValue = \r\n odataObject.EmployeeActivityTypeValue;\r\n \r\n this.BreakCategory = \r\n odataObject.BreakCategory;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['EmployeeActivityClass'] = EmployeeActivityClass;\r\n \r\n /**\r\n * CustomerRefiner entity class.\r\n */\r\n export class CustomerRefinerClass\r\n extends SearchRefinerClass\r\n implements Entities.CustomerRefiner {\r\n public SourceValue: number;\r\n public Values: Entities.CustomerRefinerValue[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.SourceValue = \r\n odataObject.SourceValue;\r\n \r\n this.Values = undefined;\r\n if (odataObject.Values) {\r\n this.Values = [];\r\n for (var i = 0; i < odataObject.Values.length; i++) {\r\n if (odataObject.Values[i] != null) {\r\n if (odataObject.Values[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Values[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Values[i] = new entityDictionary[className](odataObject.Values[i])\r\n }\r\n } else {\r\n this.Values[i] = new CustomerRefinerValueClass(odataObject.Values[i]);\r\n }\r\n } else {\r\n this.Values[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CustomerRefiner\";\r\n \r\n }\r\n }\r\n entityDictionary['CustomerRefinerClass'] = CustomerRefinerClass;\r\n \r\n /**\r\n * TokenizedPaymentCard entity class.\r\n */\r\n export class TokenizedPaymentCardClass implements Entities.TokenizedPaymentCard {\r\n public IsSwipe: boolean;\r\n public TenderType: string;\r\n public CardTokenInfo: Entities.CardTokenInfo;\r\n public Phone: string;\r\n public Country: string;\r\n public House: string;\r\n public Address1: string;\r\n public Address2: string;\r\n public City: string;\r\n public State: string;\r\n public Zip: string;\r\n public NameOnCard: string;\r\n public CardTypeId: string;\r\n public ExpirationMonth: number;\r\n public ExpirationYear: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsSwipe = \r\n odataObject.IsSwipe;\r\n \r\n this.TenderType = \r\n odataObject.TenderType;\r\n \r\n if (odataObject.CardTokenInfo == null) {\r\n this.CardTokenInfo = undefined;\r\n } else if (odataObject.CardTokenInfo['@odata.type'] == null) {\r\n this.CardTokenInfo = new CardTokenInfoClass(odataObject.CardTokenInfo);\r\n } else {\r\n var className: string = odataObject.CardTokenInfo['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CardTokenInfo = new entityDictionary[className](odataObject.CardTokenInfo)\r\n }\r\n }\r\n\r\n \r\n this.Phone = \r\n odataObject.Phone;\r\n \r\n this.Country = \r\n odataObject.Country;\r\n \r\n this.House = \r\n odataObject.House;\r\n \r\n this.Address1 = \r\n odataObject.Address1;\r\n \r\n this.Address2 = \r\n odataObject.Address2;\r\n \r\n this.City = \r\n odataObject.City;\r\n \r\n this.State = \r\n odataObject.State;\r\n \r\n this.Zip = \r\n odataObject.Zip;\r\n \r\n this.NameOnCard = \r\n odataObject.NameOnCard;\r\n \r\n this.CardTypeId = \r\n odataObject.CardTypeId;\r\n \r\n this.ExpirationMonth = \r\n odataObject.ExpirationMonth;\r\n \r\n this.ExpirationYear = \r\n odataObject.ExpirationYear;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TokenizedPaymentCardClass'] = TokenizedPaymentCardClass;\r\n \r\n /**\r\n * ProductDimensionAvailabilitySearchCriteria entity class.\r\n */\r\n export class ProductDimensionAvailabilitySearchCriteriaClass implements Entities.ProductDimensionAvailabilitySearchCriteria {\r\n public RequestedDimensionTypeValue: number;\r\n public MatchingDimensionValues: Entities.ProductDimension[];\r\n public DefaultWarehouseOnly: boolean;\r\n public FilterByChannelFulfillmentGroup: boolean;\r\n public DeliveryModeTypeFilterValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RequestedDimensionTypeValue = \r\n odataObject.RequestedDimensionTypeValue;\r\n \r\n this.MatchingDimensionValues = undefined;\r\n if (odataObject.MatchingDimensionValues) {\r\n this.MatchingDimensionValues = [];\r\n for (var i = 0; i < odataObject.MatchingDimensionValues.length; i++) {\r\n if (odataObject.MatchingDimensionValues[i] != null) {\r\n if (odataObject.MatchingDimensionValues[i]['@odata.type'] != null) {\r\n var className: string = odataObject.MatchingDimensionValues[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.MatchingDimensionValues[i] = new entityDictionary[className](odataObject.MatchingDimensionValues[i])\r\n }\r\n } else {\r\n this.MatchingDimensionValues[i] = new ProductDimensionClass(odataObject.MatchingDimensionValues[i]);\r\n }\r\n } else {\r\n this.MatchingDimensionValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DefaultWarehouseOnly = \r\n odataObject.DefaultWarehouseOnly;\r\n \r\n this.FilterByChannelFulfillmentGroup = \r\n odataObject.FilterByChannelFulfillmentGroup;\r\n \r\n this.DeliveryModeTypeFilterValue = \r\n odataObject.DeliveryModeTypeFilterValue;\r\n \r\n }\r\n }\r\n entityDictionary['ProductDimensionAvailabilitySearchCriteriaClass'] = ProductDimensionAvailabilitySearchCriteriaClass;\r\n \r\n /**\r\n * LineShippingAddress entity class.\r\n */\r\n export class LineShippingAddressClass implements Entities.LineShippingAddress {\r\n public LineId: string;\r\n public ShippingAddress: Entities.Address;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n if (odataObject.ShippingAddress == null) {\r\n this.ShippingAddress = undefined;\r\n } else if (odataObject.ShippingAddress['@odata.type'] == null) {\r\n this.ShippingAddress = new AddressClass(odataObject.ShippingAddress);\r\n } else {\r\n var className: string = odataObject.ShippingAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShippingAddress = new entityDictionary[className](odataObject.ShippingAddress)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['LineShippingAddressClass'] = LineShippingAddressClass;\r\n \r\n /**\r\n * CartDeliveryPreferences entity class.\r\n */\r\n export class CartDeliveryPreferencesClass implements Entities.CartDeliveryPreferences {\r\n public HeaderDeliveryPreferenceTypeValues: number[];\r\n public CartLineDeliveryPreferences: Entities.CartLineDeliveryPreference[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HeaderDeliveryPreferenceTypeValues = undefined;\r\n if (odataObject.HeaderDeliveryPreferenceTypeValues) {\r\n this.HeaderDeliveryPreferenceTypeValues = [];\r\n for (var i = 0; i < odataObject.HeaderDeliveryPreferenceTypeValues.length; i++) {\r\n if (odataObject.HeaderDeliveryPreferenceTypeValues[i] != null) {\r\n this.HeaderDeliveryPreferenceTypeValues[i] = \r\n odataObject.HeaderDeliveryPreferenceTypeValues[i];\r\n } else {\r\n this.HeaderDeliveryPreferenceTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CartLineDeliveryPreferences = undefined;\r\n if (odataObject.CartLineDeliveryPreferences) {\r\n this.CartLineDeliveryPreferences = [];\r\n for (var i = 0; i < odataObject.CartLineDeliveryPreferences.length; i++) {\r\n if (odataObject.CartLineDeliveryPreferences[i] != null) {\r\n if (odataObject.CartLineDeliveryPreferences[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CartLineDeliveryPreferences[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CartLineDeliveryPreferences[i] = new entityDictionary[className](odataObject.CartLineDeliveryPreferences[i])\r\n }\r\n } else {\r\n this.CartLineDeliveryPreferences[i] = new CartLineDeliveryPreferenceClass(odataObject.CartLineDeliveryPreferences[i]);\r\n }\r\n } else {\r\n this.CartLineDeliveryPreferences[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartDeliveryPreferencesClass'] = CartDeliveryPreferencesClass;\r\n \r\n /**\r\n * LineDeliverySpecification entity class.\r\n */\r\n export class LineDeliverySpecificationClass implements Entities.LineDeliverySpecification {\r\n public LineId: string;\r\n public DeliverySpecification: Entities.DeliverySpecification;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n if (odataObject.DeliverySpecification == null) {\r\n this.DeliverySpecification = undefined;\r\n } else if (odataObject.DeliverySpecification['@odata.type'] == null) {\r\n this.DeliverySpecification = new DeliverySpecificationClass(odataObject.DeliverySpecification);\r\n } else {\r\n var className: string = odataObject.DeliverySpecification['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliverySpecification = new entityDictionary[className](odataObject.DeliverySpecification)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['LineDeliverySpecificationClass'] = LineDeliverySpecificationClass;\r\n \r\n /**\r\n * DeliverySpecification entity class.\r\n */\r\n export class DeliverySpecificationClass implements Entities.DeliverySpecification {\r\n public DeliveryModeId: string;\r\n public DeliveryPreferenceTypeValue: number;\r\n public DeliveryAddress: Entities.Address;\r\n public RequestedDeliveryDate: Date;\r\n public PickUpStoreId: string;\r\n public PickupTimeslotStartDateTime: Date;\r\n public PickupTimeslotEndDateTime: Date;\r\n public ElectronicDeliveryEmailAddress: string;\r\n public ElectronicDeliveryEmailContent: string;\r\n public ShipFromStoreId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DeliveryModeId = \r\n odataObject.DeliveryModeId;\r\n \r\n this.DeliveryPreferenceTypeValue = \r\n odataObject.DeliveryPreferenceTypeValue;\r\n \r\n if (odataObject.DeliveryAddress == null) {\r\n this.DeliveryAddress = undefined;\r\n } else if (odataObject.DeliveryAddress['@odata.type'] == null) {\r\n this.DeliveryAddress = new AddressClass(odataObject.DeliveryAddress);\r\n } else {\r\n var className: string = odataObject.DeliveryAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryAddress = new entityDictionary[className](odataObject.DeliveryAddress)\r\n }\r\n }\r\n\r\n \r\n this.RequestedDeliveryDate = \r\n (odataObject.RequestedDeliveryDate instanceof Date) ? odataObject.RequestedDeliveryDate\r\n : (odataObject.RequestedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.RequestedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickUpStoreId = \r\n odataObject.PickUpStoreId;\r\n \r\n this.PickupTimeslotStartDateTime = \r\n (odataObject.PickupTimeslotStartDateTime instanceof Date) ? odataObject.PickupTimeslotStartDateTime\r\n : (odataObject.PickupTimeslotStartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotStartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotEndDateTime = \r\n (odataObject.PickupTimeslotEndDateTime instanceof Date) ? odataObject.PickupTimeslotEndDateTime\r\n : (odataObject.PickupTimeslotEndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotEndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ElectronicDeliveryEmailAddress = \r\n odataObject.ElectronicDeliveryEmailAddress;\r\n \r\n this.ElectronicDeliveryEmailContent = \r\n odataObject.ElectronicDeliveryEmailContent;\r\n \r\n this.ShipFromStoreId = \r\n odataObject.ShipFromStoreId;\r\n \r\n }\r\n }\r\n entityDictionary['DeliverySpecificationClass'] = DeliverySpecificationClass;\r\n \r\n /**\r\n * OrderSearchCriteria entity class.\r\n */\r\n export class OrderSearchCriteriaClass implements Entities.OrderSearchCriteria {\r\n public CustomerAccountNumber: string;\r\n public CustomerName: string;\r\n public EmailAddress: string;\r\n public LoyaltyCardNumber: string;\r\n public CustomerPhoneNumber: string;\r\n public SalesId: string;\r\n public ReceiptId: string;\r\n public OrderStatusValues: number[];\r\n public StartDateTime: Date;\r\n public EndDateTime: Date;\r\n public ChannelReferenceId: string;\r\n public StoreId: string;\r\n public OrderType: number;\r\n public CustomFilters: Entities.SearchFilter[];\r\n public FulfillmentTypeValues: number[];\r\n public DeliveryMode: string;\r\n public PickupStartDate: Date;\r\n public PickupEndDate: Date;\r\n public PickupTimeslotStartTime: number;\r\n public PickupTimeslotEndTime: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.CustomerName = \r\n odataObject.CustomerName;\r\n \r\n this.EmailAddress = \r\n odataObject.EmailAddress;\r\n \r\n this.LoyaltyCardNumber = \r\n odataObject.LoyaltyCardNumber;\r\n \r\n this.CustomerPhoneNumber = \r\n odataObject.CustomerPhoneNumber;\r\n \r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.OrderStatusValues = undefined;\r\n if (odataObject.OrderStatusValues) {\r\n this.OrderStatusValues = [];\r\n for (var i = 0; i < odataObject.OrderStatusValues.length; i++) {\r\n if (odataObject.OrderStatusValues[i] != null) {\r\n this.OrderStatusValues[i] = \r\n odataObject.OrderStatusValues[i];\r\n } else {\r\n this.OrderStatusValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.OrderType = \r\n odataObject.OrderType;\r\n \r\n this.CustomFilters = undefined;\r\n if (odataObject.CustomFilters) {\r\n this.CustomFilters = [];\r\n for (var i = 0; i < odataObject.CustomFilters.length; i++) {\r\n if (odataObject.CustomFilters[i] != null) {\r\n if (odataObject.CustomFilters[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CustomFilters[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CustomFilters[i] = new entityDictionary[className](odataObject.CustomFilters[i])\r\n }\r\n } else {\r\n this.CustomFilters[i] = new SearchFilterClass(odataObject.CustomFilters[i]);\r\n }\r\n } else {\r\n this.CustomFilters[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FulfillmentTypeValues = undefined;\r\n if (odataObject.FulfillmentTypeValues) {\r\n this.FulfillmentTypeValues = [];\r\n for (var i = 0; i < odataObject.FulfillmentTypeValues.length; i++) {\r\n if (odataObject.FulfillmentTypeValues[i] != null) {\r\n this.FulfillmentTypeValues[i] = \r\n odataObject.FulfillmentTypeValues[i];\r\n } else {\r\n this.FulfillmentTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n this.PickupStartDate = \r\n (odataObject.PickupStartDate instanceof Date) ? odataObject.PickupStartDate\r\n : (odataObject.PickupStartDate != null) ? jsonLightReadStringPropertyValue(odataObject.PickupStartDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupEndDate = \r\n (odataObject.PickupEndDate instanceof Date) ? odataObject.PickupEndDate\r\n : (odataObject.PickupEndDate != null) ? jsonLightReadStringPropertyValue(odataObject.PickupEndDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotStartTime = \r\n odataObject.PickupTimeslotStartTime;\r\n \r\n this.PickupTimeslotEndTime = \r\n odataObject.PickupTimeslotEndTime;\r\n \r\n }\r\n }\r\n entityDictionary['OrderSearchCriteriaClass'] = OrderSearchCriteriaClass;\r\n \r\n /**\r\n * ChecklistSearchCriteria entity class.\r\n */\r\n export class ChecklistSearchCriteriaClass implements Entities.ChecklistSearchCriteria {\r\n public ChannelId: number;\r\n public PersonnelNumber: string;\r\n public ChecklistIds: string[];\r\n public StatusValues: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.PersonnelNumber = \r\n odataObject.PersonnelNumber;\r\n \r\n this.ChecklistIds = undefined;\r\n if (odataObject.ChecklistIds) {\r\n this.ChecklistIds = [];\r\n for (var i = 0; i < odataObject.ChecklistIds.length; i++) {\r\n if (odataObject.ChecklistIds[i] != null) {\r\n this.ChecklistIds[i] = \r\n odataObject.ChecklistIds[i];\r\n } else {\r\n this.ChecklistIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.StatusValues = undefined;\r\n if (odataObject.StatusValues) {\r\n this.StatusValues = [];\r\n for (var i = 0; i < odataObject.StatusValues.length; i++) {\r\n if (odataObject.StatusValues[i] != null) {\r\n this.StatusValues[i] = \r\n odataObject.StatusValues[i];\r\n } else {\r\n this.StatusValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChecklistSearchCriteriaClass'] = ChecklistSearchCriteriaClass;\r\n \r\n /**\r\n * TaskSearchCriteria entity class.\r\n */\r\n export class TaskSearchCriteriaClass implements Entities.TaskSearchCriteria {\r\n public ChannelId: number;\r\n public PersonnelNumber: string;\r\n public TaskIds: string[];\r\n public StatusValues: number[];\r\n public FilterMyTasks: boolean;\r\n public FilterOverdueTasks: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.PersonnelNumber = \r\n odataObject.PersonnelNumber;\r\n \r\n this.TaskIds = undefined;\r\n if (odataObject.TaskIds) {\r\n this.TaskIds = [];\r\n for (var i = 0; i < odataObject.TaskIds.length; i++) {\r\n if (odataObject.TaskIds[i] != null) {\r\n this.TaskIds[i] = \r\n odataObject.TaskIds[i];\r\n } else {\r\n this.TaskIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.StatusValues = undefined;\r\n if (odataObject.StatusValues) {\r\n this.StatusValues = [];\r\n for (var i = 0; i < odataObject.StatusValues.length; i++) {\r\n if (odataObject.StatusValues[i] != null) {\r\n this.StatusValues[i] = \r\n odataObject.StatusValues[i];\r\n } else {\r\n this.StatusValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FilterMyTasks = \r\n odataObject.FilterMyTasks;\r\n \r\n this.FilterOverdueTasks = \r\n odataObject.FilterOverdueTasks;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TaskSearchCriteriaClass'] = TaskSearchCriteriaClass;\r\n \r\n /**\r\n * ChecklistTaskTeamsIntegrationConfiguration entity class.\r\n */\r\n export class ChecklistTaskTeamsIntegrationConfigurationClass implements Entities.ChecklistTaskTeamsIntegrationConfiguration {\r\n public IsEnabled: boolean;\r\n public MicrosoftGraphResource: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsEnabled = \r\n odataObject.IsEnabled;\r\n \r\n this.MicrosoftGraphResource = \r\n odataObject.MicrosoftGraphResource;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChecklistTaskTeamsIntegrationConfigurationClass'] = ChecklistTaskTeamsIntegrationConfigurationClass;\r\n \r\n /**\r\n * ReturnCartLine entity class.\r\n */\r\n export class ReturnCartLineClass implements Entities.ReturnCartLine {\r\n public Description: string;\r\n public ItemId: string;\r\n public ProductId: number;\r\n public Quantity: number;\r\n public ReturnLineNumber: number;\r\n public ReturnTransactionId: string;\r\n public SerialNumber: string;\r\n public IgnoreSerialNumberMismatch: boolean;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.ReturnLineNumber = \r\n (odataObject.ReturnLineNumber != null) ? parseFloat(odataObject.ReturnLineNumber) : undefined;\r\n \r\n this.ReturnTransactionId = \r\n odataObject.ReturnTransactionId;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.IgnoreSerialNumberMismatch = \r\n odataObject.IgnoreSerialNumberMismatch;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReturnCartLineClass'] = ReturnCartLineClass;\r\n \r\n /**\r\n * TenderDiscountLine entity class.\r\n */\r\n export class TenderDiscountLineClass implements Entities.TenderDiscountLine {\r\n public DiscountAmount: number;\r\n public PaymentAmount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.PaymentAmount = \r\n (odataObject.PaymentAmount != null) ? parseFloat(odataObject.PaymentAmount) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TenderDiscountLineClass'] = TenderDiscountLineClass;\r\n \r\n /**\r\n * ReceiptRetrievalCriteria entity class.\r\n */\r\n export class ReceiptRetrievalCriteriaClass implements Entities.ReceiptRetrievalCriteria {\r\n public IsCopy: boolean;\r\n public IsRemoteTransaction: boolean;\r\n public IsPreview: boolean;\r\n public QueryBySalesId: boolean;\r\n public ReceiptTypeValue: number;\r\n public ShiftId: number;\r\n public ShiftTerminalId: string;\r\n public HardwareProfileId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsCopy = \r\n odataObject.IsCopy;\r\n \r\n this.IsRemoteTransaction = \r\n odataObject.IsRemoteTransaction;\r\n \r\n this.IsPreview = \r\n odataObject.IsPreview;\r\n \r\n this.QueryBySalesId = \r\n odataObject.QueryBySalesId;\r\n \r\n this.ReceiptTypeValue = \r\n odataObject.ReceiptTypeValue;\r\n \r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.ShiftTerminalId = \r\n odataObject.ShiftTerminalId;\r\n \r\n this.HardwareProfileId = \r\n odataObject.HardwareProfileId;\r\n \r\n }\r\n }\r\n entityDictionary['ReceiptRetrievalCriteriaClass'] = ReceiptRetrievalCriteriaClass;\r\n \r\n /**\r\n * CartSearchCriteria entity class.\r\n */\r\n export class CartSearchCriteriaClass implements Entities.CartSearchCriteria {\r\n public CartId: string;\r\n public ExpectedCartVersion: number;\r\n public CustomerAccountNumber: string;\r\n public IncludeAnonymous: boolean;\r\n public SuspendedOnly: boolean;\r\n public CartTypeValue: number;\r\n public LastModifiedDateTimeFrom: Date;\r\n public LastModifiedDateTimeTo: Date;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CartId = \r\n odataObject.CartId;\r\n \r\n this.ExpectedCartVersion = \r\n (odataObject.ExpectedCartVersion != null) ? parseInt(odataObject.ExpectedCartVersion, 10) : undefined;\r\n \r\n this.CustomerAccountNumber = \r\n odataObject.CustomerAccountNumber;\r\n \r\n this.IncludeAnonymous = \r\n odataObject.IncludeAnonymous;\r\n \r\n this.SuspendedOnly = \r\n odataObject.SuspendedOnly;\r\n \r\n this.CartTypeValue = \r\n odataObject.CartTypeValue;\r\n \r\n this.LastModifiedDateTimeFrom = \r\n (odataObject.LastModifiedDateTimeFrom instanceof Date) ? odataObject.LastModifiedDateTimeFrom\r\n : (odataObject.LastModifiedDateTimeFrom != null) ? jsonLightReadStringPropertyValue(odataObject.LastModifiedDateTimeFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LastModifiedDateTimeTo = \r\n (odataObject.LastModifiedDateTimeTo instanceof Date) ? odataObject.LastModifiedDateTimeTo\r\n : (odataObject.LastModifiedDateTimeTo != null) ? jsonLightReadStringPropertyValue(odataObject.LastModifiedDateTimeTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['CartSearchCriteriaClass'] = CartSearchCriteriaClass;\r\n \r\n /**\r\n * RetrievePaymentResultSettings entity class.\r\n */\r\n export class RetrievePaymentResultSettingsClass implements Entities.RetrievePaymentResultSettings {\r\n public ReturnUrl: string;\r\n public PaymentConnectorId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ReturnUrl = \r\n odataObject.ReturnUrl;\r\n \r\n this.PaymentConnectorId = \r\n odataObject.PaymentConnectorId;\r\n \r\n }\r\n }\r\n entityDictionary['RetrievePaymentResultSettingsClass'] = RetrievePaymentResultSettingsClass;\r\n \r\n /**\r\n * SearchReceiptCriteria entity class.\r\n */\r\n export class SearchReceiptCriteriaClass implements Entities.SearchReceiptCriteria {\r\n public TransactionId: string;\r\n public ReceiptTypeValue: number;\r\n public ReceiptTypesByFormatTypeCollection: Entities.ReceiptTypesByFormatType[];\r\n public IsCopy: boolean;\r\n public GiftReceiptLineNumbers: number[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.ReceiptTypeValue = \r\n odataObject.ReceiptTypeValue;\r\n \r\n this.ReceiptTypesByFormatTypeCollection = undefined;\r\n if (odataObject.ReceiptTypesByFormatTypeCollection) {\r\n this.ReceiptTypesByFormatTypeCollection = [];\r\n for (var i = 0; i < odataObject.ReceiptTypesByFormatTypeCollection.length; i++) {\r\n if (odataObject.ReceiptTypesByFormatTypeCollection[i] != null) {\r\n if (odataObject.ReceiptTypesByFormatTypeCollection[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReceiptTypesByFormatTypeCollection[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReceiptTypesByFormatTypeCollection[i] = new entityDictionary[className](odataObject.ReceiptTypesByFormatTypeCollection[i])\r\n }\r\n } else {\r\n this.ReceiptTypesByFormatTypeCollection[i] = new ReceiptTypesByFormatTypeClass(odataObject.ReceiptTypesByFormatTypeCollection[i]);\r\n }\r\n } else {\r\n this.ReceiptTypesByFormatTypeCollection[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.IsCopy = \r\n odataObject.IsCopy;\r\n \r\n this.GiftReceiptLineNumbers = undefined;\r\n if (odataObject.GiftReceiptLineNumbers) {\r\n this.GiftReceiptLineNumbers = [];\r\n for (var i = 0; i < odataObject.GiftReceiptLineNumbers.length; i++) {\r\n if (odataObject.GiftReceiptLineNumbers[i] != null) {\r\n this.GiftReceiptLineNumbers[i] = \r\n parseFloat(odataObject.GiftReceiptLineNumbers[i]);\r\n } else {\r\n this.GiftReceiptLineNumbers[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SearchReceiptCriteriaClass'] = SearchReceiptCriteriaClass;\r\n \r\n /**\r\n * ElectronicAddress entity class.\r\n */\r\n export class ElectronicAddressClass implements Entities.ElectronicAddress {\r\n public AddressTypeValue: number;\r\n public ExtensibleEAddressType: Entities.ExtensibleElectronicAddressType;\r\n public Address: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AddressTypeValue = \r\n odataObject.AddressTypeValue;\r\n \r\n if (odataObject.ExtensibleEAddressType == null) {\r\n this.ExtensibleEAddressType = undefined;\r\n } else if (odataObject.ExtensibleEAddressType['@odata.type'] == null) {\r\n this.ExtensibleEAddressType = new ExtensibleElectronicAddressTypeClass(odataObject.ExtensibleEAddressType);\r\n } else {\r\n var className: string = odataObject.ExtensibleEAddressType['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensibleEAddressType = new entityDictionary[className](odataObject.ExtensibleEAddressType)\r\n }\r\n }\r\n\r\n \r\n this.Address = \r\n odataObject.Address;\r\n \r\n }\r\n }\r\n entityDictionary['ElectronicAddressClass'] = ElectronicAddressClass;\r\n \r\n /**\r\n * ChannelReferenceLookupCriteria entity class.\r\n */\r\n export class ChannelReferenceLookupCriteriaClass implements Entities.ChannelReferenceLookupCriteria {\r\n public ChannelReferenceId: string;\r\n public SearchLocationValue: number;\r\n public ChannelReferenceAdditionalLookupCriteria: Entities.ChannelReferenceAdditionalLookupCriteria[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelReferenceId = \r\n odataObject.ChannelReferenceId;\r\n \r\n this.SearchLocationValue = \r\n odataObject.SearchLocationValue;\r\n \r\n this.ChannelReferenceAdditionalLookupCriteria = undefined;\r\n if (odataObject.ChannelReferenceAdditionalLookupCriteria) {\r\n this.ChannelReferenceAdditionalLookupCriteria = [];\r\n for (var i = 0; i < odataObject.ChannelReferenceAdditionalLookupCriteria.length; i++) {\r\n if (odataObject.ChannelReferenceAdditionalLookupCriteria[i] != null) {\r\n if (odataObject.ChannelReferenceAdditionalLookupCriteria[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChannelReferenceAdditionalLookupCriteria[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChannelReferenceAdditionalLookupCriteria[i] = new entityDictionary[className](odataObject.ChannelReferenceAdditionalLookupCriteria[i])\r\n }\r\n } else {\r\n this.ChannelReferenceAdditionalLookupCriteria[i] = new ChannelReferenceAdditionalLookupCriteriaClass(odataObject.ChannelReferenceAdditionalLookupCriteria[i]);\r\n }\r\n } else {\r\n this.ChannelReferenceAdditionalLookupCriteria[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelReferenceLookupCriteriaClass'] = ChannelReferenceLookupCriteriaClass;\r\n \r\n /**\r\n * FulfillmentLineParameter entity class.\r\n */\r\n export class FulfillmentLineParameterClass implements Entities.FulfillmentLineParameter {\r\n public SalesId: string;\r\n public SalesLineNumber: number;\r\n public Quantity: number;\r\n public SerialNumber: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesId = \r\n odataObject.SalesId;\r\n \r\n this.SalesLineNumber = \r\n (odataObject.SalesLineNumber != null) ? parseFloat(odataObject.SalesLineNumber) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FulfillmentLineParameterClass'] = FulfillmentLineParameterClass;\r\n \r\n /**\r\n * ShipFulfillmentLine entity class.\r\n */\r\n export class ShipFulfillmentLineClass\r\n extends FulfillmentLineParameterClass\r\n implements Entities.ShipFulfillmentLine {\r\n public ProductId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ShipFulfillmentLine\";\r\n \r\n }\r\n }\r\n entityDictionary['ShipFulfillmentLineClass'] = ShipFulfillmentLineClass;\r\n \r\n /**\r\n * RejectFulfillmentLine entity class.\r\n */\r\n export class RejectFulfillmentLineClass\r\n extends FulfillmentLineParameterClass\r\n implements Entities.RejectFulfillmentLine {\r\n public RejectedQuantity: number;\r\n public InfoCodeId: string;\r\n public SubInfoCodeId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RejectedQuantity = \r\n (odataObject.RejectedQuantity != null) ? parseFloat(odataObject.RejectedQuantity) : undefined;\r\n \r\n this.InfoCodeId = \r\n odataObject.InfoCodeId;\r\n \r\n this.SubInfoCodeId = \r\n odataObject.SubInfoCodeId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.RejectFulfillmentLine\";\r\n \r\n }\r\n }\r\n entityDictionary['RejectFulfillmentLineClass'] = RejectFulfillmentLineClass;\r\n \r\n /**\r\n * ReadChangedProductsSession entity class.\r\n */\r\n export class ReadChangedProductsSessionClass implements Entities.ReadChangedProductsSession {\r\n public Id: string;\r\n public TotalNumberOfProducts: number;\r\n public NumberOfProductsRead: number;\r\n public NumberOfProductsReadInCurrentPage: number;\r\n public NextSynchronizationToken: string;\r\n public IsInitialSync: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n odataObject.Id;\r\n \r\n this.TotalNumberOfProducts = \r\n odataObject.TotalNumberOfProducts;\r\n \r\n this.NumberOfProductsRead = \r\n odataObject.NumberOfProductsRead;\r\n \r\n this.NumberOfProductsReadInCurrentPage = \r\n odataObject.NumberOfProductsReadInCurrentPage;\r\n \r\n this.NextSynchronizationToken = \r\n odataObject.NextSynchronizationToken;\r\n \r\n this.IsInitialSync = \r\n odataObject.IsInitialSync;\r\n \r\n }\r\n }\r\n entityDictionary['ReadChangedProductsSessionClass'] = ReadChangedProductsSessionClass;\r\n \r\n /**\r\n * DeletedListingsResult entity class.\r\n */\r\n export class DeletedListingsResultClass implements Entities.DeletedListingsResult {\r\n public HasMorePublishedListings: boolean;\r\n public DeletedListings: Entities.ListingIdentity[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HasMorePublishedListings = \r\n odataObject.HasMorePublishedListings;\r\n \r\n this.DeletedListings = undefined;\r\n if (odataObject.DeletedListings) {\r\n this.DeletedListings = [];\r\n for (var i = 0; i < odataObject.DeletedListings.length; i++) {\r\n if (odataObject.DeletedListings[i] != null) {\r\n if (odataObject.DeletedListings[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DeletedListings[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeletedListings[i] = new entityDictionary[className](odataObject.DeletedListings[i])\r\n }\r\n } else {\r\n this.DeletedListings[i] = new ListingIdentityClass(odataObject.DeletedListings[i]);\r\n }\r\n } else {\r\n this.DeletedListings[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DeletedListingsResultClass'] = DeletedListingsResultClass;\r\n \r\n /**\r\n * ProductRating entity class.\r\n */\r\n export class ProductRatingClass implements Entities.ProductRating {\r\n public ProductId: number;\r\n public AverageRating: number;\r\n public TotalRatings: number;\r\n public RatingDistribution: Entities.ProductRatingCount[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.AverageRating = \r\n (odataObject.AverageRating != null) ? parseFloat(odataObject.AverageRating) : undefined;\r\n \r\n this.TotalRatings = \r\n odataObject.TotalRatings;\r\n \r\n this.RatingDistribution = undefined;\r\n if (odataObject.RatingDistribution) {\r\n this.RatingDistribution = [];\r\n for (var i = 0; i < odataObject.RatingDistribution.length; i++) {\r\n if (odataObject.RatingDistribution[i] != null) {\r\n if (odataObject.RatingDistribution[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RatingDistribution[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RatingDistribution[i] = new entityDictionary[className](odataObject.RatingDistribution[i])\r\n }\r\n } else {\r\n this.RatingDistribution[i] = new ProductRatingCountClass(odataObject.RatingDistribution[i]);\r\n }\r\n } else {\r\n this.RatingDistribution[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductRatingClass'] = ProductRatingClass;\r\n \r\n /**\r\n * ProductDeliveryOptions entity class.\r\n */\r\n export class ProductDeliveryOptionsClass implements Entities.ProductDeliveryOptions {\r\n public ProductId: number;\r\n public DeliveryOptions: Entities.DeliveryOption[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.DeliveryOptions = undefined;\r\n if (odataObject.DeliveryOptions) {\r\n this.DeliveryOptions = [];\r\n for (var i = 0; i < odataObject.DeliveryOptions.length; i++) {\r\n if (odataObject.DeliveryOptions[i] != null) {\r\n if (odataObject.DeliveryOptions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DeliveryOptions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryOptions[i] = new entityDictionary[className](odataObject.DeliveryOptions[i])\r\n }\r\n } else {\r\n this.DeliveryOptions[i] = new DeliveryOptionClass(odataObject.DeliveryOptions[i]);\r\n }\r\n } else {\r\n this.DeliveryOptions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductDeliveryOptionsClass'] = ProductDeliveryOptionsClass;\r\n \r\n /**\r\n * ListingPublishStatus entity class.\r\n */\r\n export class ListingPublishStatusClass implements Entities.ListingPublishStatus {\r\n public PublishStatusValue: number;\r\n public ListingModifiedDateTime: Date;\r\n public ChannelListingId: string;\r\n public ChannelId: number;\r\n public CatalogId: number;\r\n public ProductId: number;\r\n public LanguageId: string;\r\n public AppliedActionValue: number;\r\n public StatusMessage: string;\r\n public Tag: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PublishStatusValue = \r\n odataObject.PublishStatusValue;\r\n \r\n this.ListingModifiedDateTime = \r\n (odataObject.ListingModifiedDateTime instanceof Date) ? odataObject.ListingModifiedDateTime\r\n : (odataObject.ListingModifiedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.ListingModifiedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ChannelListingId = \r\n odataObject.ChannelListingId;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.AppliedActionValue = \r\n odataObject.AppliedActionValue;\r\n \r\n this.StatusMessage = \r\n odataObject.StatusMessage;\r\n \r\n this.Tag = \r\n odataObject.Tag;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ListingPublishStatusClass'] = ListingPublishStatusClass;\r\n \r\n /**\r\n * OrgUnitLocationSearchCriteria entity class.\r\n */\r\n export class OrgUnitLocationSearchCriteriaClass implements Entities.OrgUnitLocationSearchCriteria {\r\n public OrgUnitNumber: string;\r\n public OrgUnitName: string;\r\n public InventoryLocationIds: string[];\r\n public DeliveryModeTypeFilterValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrgUnitNumber = \r\n odataObject.OrgUnitNumber;\r\n \r\n this.OrgUnitName = \r\n odataObject.OrgUnitName;\r\n \r\n this.InventoryLocationIds = undefined;\r\n if (odataObject.InventoryLocationIds) {\r\n this.InventoryLocationIds = [];\r\n for (var i = 0; i < odataObject.InventoryLocationIds.length; i++) {\r\n if (odataObject.InventoryLocationIds[i] != null) {\r\n this.InventoryLocationIds[i] = \r\n odataObject.InventoryLocationIds[i];\r\n } else {\r\n this.InventoryLocationIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DeliveryModeTypeFilterValue = \r\n odataObject.DeliveryModeTypeFilterValue;\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitLocationSearchCriteriaClass'] = OrgUnitLocationSearchCriteriaClass;\r\n \r\n /**\r\n * StoreHours entity class.\r\n */\r\n export class StoreHoursClass implements Entities.StoreHours {\r\n public RegularStoreHours: Entities.RegularStoreHours;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.RegularStoreHours == null) {\r\n this.RegularStoreHours = undefined;\r\n } else if (odataObject.RegularStoreHours['@odata.type'] == null) {\r\n this.RegularStoreHours = new RegularStoreHoursClass(odataObject.RegularStoreHours);\r\n } else {\r\n var className: string = odataObject.RegularStoreHours['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RegularStoreHours = new entityDictionary[className](odataObject.RegularStoreHours)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['StoreHoursClass'] = StoreHoursClass;\r\n \r\n /**\r\n * CartPromotions entity class.\r\n */\r\n export class CartPromotionsClass implements Entities.CartPromotions {\r\n public HeaderPromotions: string[];\r\n public CartLinePromotions: Entities.CartLinePromotion[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HeaderPromotions = undefined;\r\n if (odataObject.HeaderPromotions) {\r\n this.HeaderPromotions = [];\r\n for (var i = 0; i < odataObject.HeaderPromotions.length; i++) {\r\n if (odataObject.HeaderPromotions[i] != null) {\r\n this.HeaderPromotions[i] = \r\n odataObject.HeaderPromotions[i];\r\n } else {\r\n this.HeaderPromotions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CartLinePromotions = undefined;\r\n if (odataObject.CartLinePromotions) {\r\n this.CartLinePromotions = [];\r\n for (var i = 0; i < odataObject.CartLinePromotions.length; i++) {\r\n if (odataObject.CartLinePromotions[i] != null) {\r\n if (odataObject.CartLinePromotions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CartLinePromotions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CartLinePromotions[i] = new entityDictionary[className](odataObject.CartLinePromotions[i])\r\n }\r\n } else {\r\n this.CartLinePromotions[i] = new CartLinePromotionClass(odataObject.CartLinePromotions[i]);\r\n }\r\n } else {\r\n this.CartLinePromotions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartPromotionsClass'] = CartPromotionsClass;\r\n \r\n /**\r\n * CartPromotionLine entity class.\r\n */\r\n export class CartPromotionLineClass implements Entities.CartPromotionLine {\r\n public LineId: string;\r\n public Promotion: Entities.Promotion;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n if (odataObject.Promotion == null) {\r\n this.Promotion = undefined;\r\n } else if (odataObject.Promotion['@odata.type'] == null) {\r\n this.Promotion = new PromotionClass(odataObject.Promotion);\r\n } else {\r\n var className: string = odataObject.Promotion['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Promotion = new entityDictionary[className](odataObject.Promotion)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartPromotionLineClass'] = CartPromotionLineClass;\r\n \r\n /**\r\n * ItemUnit entity class.\r\n */\r\n export class ItemUnitClass implements Entities.ItemUnit {\r\n public ItemId: string;\r\n public VariantInventoryDimensionId: string;\r\n public Product: number;\r\n public DistinctProductVariant: number;\r\n public UnitOfMeasure: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.VariantInventoryDimensionId = \r\n odataObject.VariantInventoryDimensionId;\r\n \r\n this.Product = \r\n (odataObject.Product != null) ? parseInt(odataObject.Product, 10) : undefined;\r\n \r\n this.DistinctProductVariant = \r\n (odataObject.DistinctProductVariant != null) ? parseInt(odataObject.DistinctProductVariant, 10) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ItemUnitClass'] = ItemUnitClass;\r\n \r\n /**\r\n * ProductAvailableQuantity entity class.\r\n */\r\n export class ProductAvailableQuantityClass implements Entities.ProductAvailableQuantity {\r\n public ProductId: number;\r\n public AvailableQuantity: number;\r\n public UnitOfMeasure: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.AvailableQuantity = \r\n (odataObject.AvailableQuantity != null) ? parseFloat(odataObject.AvailableQuantity) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductAvailableQuantityClass'] = ProductAvailableQuantityClass;\r\n \r\n /**\r\n * OrgUnitAvailabilitySearchCriteria entity class.\r\n */\r\n export class OrgUnitAvailabilitySearchCriteriaClass implements Entities.OrgUnitAvailabilitySearchCriteria {\r\n public OrgUnitName: string;\r\n public OrgUnitNumber: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrgUnitName = \r\n odataObject.OrgUnitName;\r\n \r\n this.OrgUnitNumber = \r\n odataObject.OrgUnitNumber;\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitAvailabilitySearchCriteriaClass'] = OrgUnitAvailabilitySearchCriteriaClass;\r\n \r\n /**\r\n * InvoiceSearchCriteria entity class.\r\n */\r\n export class InvoiceSearchCriteriaClass implements Entities.InvoiceSearchCriteria {\r\n public BusinessPartnerId: string;\r\n public CustomerId: string;\r\n public InvoiceIds: string[];\r\n public InvoiceTypeValues: number[];\r\n public InvoicePaidStatusValues: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.BusinessPartnerId = \r\n odataObject.BusinessPartnerId;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.InvoiceIds = undefined;\r\n if (odataObject.InvoiceIds) {\r\n this.InvoiceIds = [];\r\n for (var i = 0; i < odataObject.InvoiceIds.length; i++) {\r\n if (odataObject.InvoiceIds[i] != null) {\r\n this.InvoiceIds[i] = \r\n odataObject.InvoiceIds[i];\r\n } else {\r\n this.InvoiceIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.InvoiceTypeValues = undefined;\r\n if (odataObject.InvoiceTypeValues) {\r\n this.InvoiceTypeValues = [];\r\n for (var i = 0; i < odataObject.InvoiceTypeValues.length; i++) {\r\n if (odataObject.InvoiceTypeValues[i] != null) {\r\n this.InvoiceTypeValues[i] = \r\n odataObject.InvoiceTypeValues[i];\r\n } else {\r\n this.InvoiceTypeValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.InvoicePaidStatusValues = undefined;\r\n if (odataObject.InvoicePaidStatusValues) {\r\n this.InvoicePaidStatusValues = [];\r\n for (var i = 0; i < odataObject.InvoicePaidStatusValues.length; i++) {\r\n if (odataObject.InvoicePaidStatusValues[i] != null) {\r\n this.InvoicePaidStatusValues[i] = \r\n odataObject.InvoicePaidStatusValues[i];\r\n } else {\r\n this.InvoicePaidStatusValues[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InvoiceSearchCriteriaClass'] = InvoiceSearchCriteriaClass;\r\n \r\n /**\r\n * InvoiceDetailsSearchCriteria entity class.\r\n */\r\n export class InvoiceDetailsSearchCriteriaClass implements Entities.InvoiceDetailsSearchCriteria {\r\n public InvoiceId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InvoiceId = \r\n odataObject.InvoiceId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InvoiceDetailsSearchCriteriaClass'] = InvoiceDetailsSearchCriteriaClass;\r\n \r\n /**\r\n * PickAndPackSalesLineParameter entity class.\r\n */\r\n export class PickAndPackSalesLineParameterClass implements Entities.PickAndPackSalesLineParameter {\r\n public SalesLineNumber: number;\r\n public Quantity: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesLineNumber = \r\n (odataObject.SalesLineNumber != null) ? parseFloat(odataObject.SalesLineNumber) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['PickAndPackSalesLineParameterClass'] = PickAndPackSalesLineParameterClass;\r\n \r\n /**\r\n * ProductListSearchCriteria entity class.\r\n */\r\n export class ProductListSearchCriteriaClass implements Entities.ProductListSearchCriteria {\r\n public CustomerId: string;\r\n public ProductListId: string;\r\n public ProductListType: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.ProductListId = \r\n odataObject.ProductListId;\r\n \r\n this.ProductListType = \r\n odataObject.ProductListType;\r\n \r\n }\r\n }\r\n entityDictionary['ProductListSearchCriteriaClass'] = ProductListSearchCriteriaClass;\r\n \r\n /**\r\n * ProjectionDomain entity class.\r\n */\r\n export class ProjectionDomainClass implements Entities.ProjectionDomain {\r\n public ChannelId: number;\r\n public CatalogId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['ProjectionDomainClass'] = ProjectionDomainClass;\r\n \r\n /**\r\n * AffiliationLoyaltyTier entity class.\r\n */\r\n export class AffiliationLoyaltyTierClass implements Entities.AffiliationLoyaltyTier {\r\n public AffiliationId: number;\r\n public LoyaltyTierId: number;\r\n public AffiliationTypeValue: number;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public CustomerId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AffiliationId = \r\n (odataObject.AffiliationId != null) ? parseInt(odataObject.AffiliationId, 10) : undefined;\r\n \r\n this.LoyaltyTierId = \r\n (odataObject.LoyaltyTierId != null) ? parseInt(odataObject.LoyaltyTierId, 10) : undefined;\r\n \r\n this.AffiliationTypeValue = \r\n odataObject.AffiliationTypeValue;\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AffiliationLoyaltyTierClass'] = AffiliationLoyaltyTierClass;\r\n \r\n /**\r\n * ClientBookCustomerSearchCriteria entity class.\r\n */\r\n export class ClientBookCustomerSearchCriteriaClass implements Entities.ClientBookCustomerSearchCriteria {\r\n public FilterByCurrentEmployee: boolean;\r\n public Refinement: Entities.ClientBookRefinerValue[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FilterByCurrentEmployee = \r\n odataObject.FilterByCurrentEmployee;\r\n \r\n this.Refinement = undefined;\r\n if (odataObject.Refinement) {\r\n this.Refinement = [];\r\n for (var i = 0; i < odataObject.Refinement.length; i++) {\r\n if (odataObject.Refinement[i] != null) {\r\n if (odataObject.Refinement[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Refinement[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Refinement[i] = new entityDictionary[className](odataObject.Refinement[i])\r\n }\r\n } else {\r\n this.Refinement[i] = new ClientBookRefinerValueClass(odataObject.Refinement[i]);\r\n }\r\n } else {\r\n this.Refinement[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ClientBookCustomerSearchCriteriaClass'] = ClientBookCustomerSearchCriteriaClass;\r\n \r\n /**\r\n * ClientBookCustomer entity class.\r\n */\r\n export class ClientBookCustomerClass implements Entities.ClientBookCustomer {\r\n public CustomerId: string;\r\n public Name: string;\r\n public Phone: string;\r\n public Email: string;\r\n public StaffId: string;\r\n public ImageUris: Entities.MediaLocation[];\r\n public Attributes: Entities.CustomerAttribute[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Phone = \r\n odataObject.Phone;\r\n \r\n this.Email = \r\n odataObject.Email;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.ImageUris = undefined;\r\n if (odataObject.ImageUris) {\r\n this.ImageUris = [];\r\n for (var i = 0; i < odataObject.ImageUris.length; i++) {\r\n if (odataObject.ImageUris[i] != null) {\r\n if (odataObject.ImageUris[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ImageUris[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ImageUris[i] = new entityDictionary[className](odataObject.ImageUris[i])\r\n }\r\n } else {\r\n this.ImageUris[i] = new MediaLocationClass(odataObject.ImageUris[i]);\r\n }\r\n } else {\r\n this.ImageUris[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Attributes = undefined;\r\n if (odataObject.Attributes) {\r\n this.Attributes = [];\r\n for (var i = 0; i < odataObject.Attributes.length; i++) {\r\n if (odataObject.Attributes[i] != null) {\r\n if (odataObject.Attributes[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Attributes[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Attributes[i] = new entityDictionary[className](odataObject.Attributes[i])\r\n }\r\n } else {\r\n this.Attributes[i] = new CustomerAttributeClass(odataObject.Attributes[i]);\r\n }\r\n } else {\r\n this.Attributes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ClientBookCustomerClass'] = ClientBookCustomerClass;\r\n \r\n /**\r\n * ClientBookChanges entity class.\r\n */\r\n export class ClientBookChangesClass implements Entities.ClientBookChanges {\r\n public Changes: Entities.ClientBookChange[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Changes = undefined;\r\n if (odataObject.Changes) {\r\n this.Changes = [];\r\n for (var i = 0; i < odataObject.Changes.length; i++) {\r\n if (odataObject.Changes[i] != null) {\r\n if (odataObject.Changes[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Changes[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Changes[i] = new entityDictionary[className](odataObject.Changes[i])\r\n }\r\n } else {\r\n this.Changes[i] = new ClientBookChangeClass(odataObject.Changes[i]);\r\n }\r\n } else {\r\n this.Changes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ClientBookChangesClass'] = ClientBookChangesClass;\r\n \r\n /**\r\n * ChargeCode entity class.\r\n */\r\n export class ChargeCodeClass implements Entities.ChargeCode {\r\n public Code: string;\r\n public ModuleTypeValue: number;\r\n public Description: string;\r\n public ItemTaxGroupId: string;\r\n public IsRefundable: boolean;\r\n public IsShipping: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Code = \r\n odataObject.Code;\r\n \r\n this.ModuleTypeValue = \r\n odataObject.ModuleTypeValue;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ItemTaxGroupId = \r\n odataObject.ItemTaxGroupId;\r\n \r\n this.IsRefundable = \r\n odataObject.IsRefundable;\r\n \r\n this.IsShipping = \r\n odataObject.IsShipping;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChargeCodeClass'] = ChargeCodeClass;\r\n \r\n /**\r\n * PaymentMerchantInformation entity class.\r\n */\r\n export class PaymentMerchantInformationClass implements Entities.PaymentMerchantInformation {\r\n public PaymentConnectorPropertiesXml: string;\r\n public MerchantPropertiesHashValue: string;\r\n public ServiceAccountId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PaymentConnectorPropertiesXml = \r\n odataObject.PaymentConnectorPropertiesXml;\r\n \r\n this.MerchantPropertiesHashValue = \r\n odataObject.MerchantPropertiesHashValue;\r\n \r\n this.ServiceAccountId = \r\n odataObject.ServiceAccountId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PaymentMerchantInformationClass'] = PaymentMerchantInformationClass;\r\n \r\n /**\r\n * StoreSafe entity class.\r\n */\r\n export class StoreSafeClass implements Entities.StoreSafe {\r\n public SafeNumber: string;\r\n public Name: string;\r\n public StoreNumber: string;\r\n public SafeBalance: number;\r\n public LastUpdatedTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SafeNumber = \r\n odataObject.SafeNumber;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.SafeBalance = \r\n (odataObject.SafeBalance != null) ? parseFloat(odataObject.SafeBalance) : undefined;\r\n \r\n this.LastUpdatedTime = \r\n (odataObject.LastUpdatedTime instanceof Date) ? odataObject.LastUpdatedTime\r\n : (odataObject.LastUpdatedTime != null) ? jsonLightReadStringPropertyValue(odataObject.LastUpdatedTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['StoreSafeClass'] = StoreSafeClass;\r\n \r\n /**\r\n * InventoryDocumentReceiptSearchCriteria entity class.\r\n */\r\n export class InventoryDocumentReceiptSearchCriteriaClass implements Entities.InventoryDocumentReceiptSearchCriteria {\r\n public SourceDocumentId: string;\r\n public SourceDocumentTypeValue: number;\r\n public WorkDocumentId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SourceDocumentId = \r\n odataObject.SourceDocumentId;\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.WorkDocumentId = \r\n odataObject.WorkDocumentId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentReceiptSearchCriteriaClass'] = InventoryDocumentReceiptSearchCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentSourceDocumentLineCommitRecordSearchCriteria entity class.\r\n */\r\n export class InventoryDocumentSourceDocumentLineCommitRecordSearchCriteriaClass implements Entities.InventoryDocumentSourceDocumentLineCommitRecordSearchCriteria {\r\n public SourceDocumentRecordId: number;\r\n public SourceDocumentTypeValue: number;\r\n public SourceDocumentLineRecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SourceDocumentRecordId = \r\n (odataObject.SourceDocumentRecordId != null) ? parseInt(odataObject.SourceDocumentRecordId, 10) : undefined;\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.SourceDocumentLineRecordId = \r\n (odataObject.SourceDocumentLineRecordId != null) ? parseInt(odataObject.SourceDocumentLineRecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSourceDocumentLineCommitRecordSearchCriteriaClass'] = InventoryDocumentSourceDocumentLineCommitRecordSearchCriteriaClass;\r\n \r\n /**\r\n * InventoryDocumentSourceDocumentLineCommitRecord entity class.\r\n */\r\n export class InventoryDocumentSourceDocumentLineCommitRecordClass implements Entities.InventoryDocumentSourceDocumentLineCommitRecord {\r\n public WorkDocumentId: string;\r\n public LineId: string;\r\n public SourceDocumentRecordId: number;\r\n public SourceDocumentTypeValue: number;\r\n public SourceDocumentLineRecordId: number;\r\n public StaffId: string;\r\n public UpdateNowQuantity: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.WorkDocumentId = \r\n odataObject.WorkDocumentId;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.SourceDocumentRecordId = \r\n (odataObject.SourceDocumentRecordId != null) ? parseInt(odataObject.SourceDocumentRecordId, 10) : undefined;\r\n \r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.SourceDocumentLineRecordId = \r\n (odataObject.SourceDocumentLineRecordId != null) ? parseInt(odataObject.SourceDocumentLineRecordId, 10) : undefined;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.UpdateNowQuantity = \r\n (odataObject.UpdateNowQuantity != null) ? parseFloat(odataObject.UpdateNowQuantity) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSourceDocumentLineCommitRecordClass'] = InventoryDocumentSourceDocumentLineCommitRecordClass;\r\n \r\n /**\r\n * CreateHardwareStationTokenResult entity class.\r\n */\r\n export class CreateHardwareStationTokenResultClass implements Entities.CreateHardwareStationTokenResult {\r\n public HardwareStationToken: string;\r\n public PairingKey: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.HardwareStationToken = \r\n odataObject.HardwareStationToken;\r\n \r\n this.PairingKey = \r\n odataObject.PairingKey;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CreateHardwareStationTokenResultClass'] = CreateHardwareStationTokenResultClass;\r\n \r\n /**\r\n * ValidateHardwareStationTokenResult entity class.\r\n */\r\n export class ValidateHardwareStationTokenResultClass implements Entities.ValidateHardwareStationTokenResult {\r\n public PairingKey: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PairingKey = \r\n odataObject.PairingKey;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ValidateHardwareStationTokenResultClass'] = ValidateHardwareStationTokenResultClass;\r\n \r\n /**\r\n * MediaBlob entity class.\r\n */\r\n export class MediaBlobClass implements Entities.MediaBlob {\r\n public MediaType: string;\r\n public Content: string;\r\n public IsDefault: boolean;\r\n public AltText: string;\r\n public PictureId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.MediaType = \r\n odataObject.MediaType;\r\n \r\n this.Content = \r\n odataObject.Content;\r\n \r\n this.IsDefault = \r\n odataObject.IsDefault;\r\n \r\n this.AltText = \r\n odataObject.AltText;\r\n \r\n this.PictureId = \r\n odataObject.PictureId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['MediaBlobClass'] = MediaBlobClass;\r\n \r\n /**\r\n * OnlineChannel entity class.\r\n */\r\n export class OnlineChannelClass implements Entities.OnlineChannel {\r\n public OnlineChannelName: string;\r\n public CurrencyCode: string;\r\n public EventNotificationProfileId: string;\r\n public RecordId: number;\r\n public OrgUnitTypeValue: number;\r\n public Name: string;\r\n public DefaultCustomerAccount: string;\r\n public CategoryHierarchyId: number;\r\n public InventoryLocationId: string;\r\n public ChannelProfile: Entities.ChannelProfile;\r\n public ChannelProperties: Entities.ChannelProperty[];\r\n public ChannelLanguages: Entities.ChannelLanguage[];\r\n public Contacts: Entities.OrgUnitContact[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n public CountryRegions: Entities.CountryRegion[];\r\n \r\n // Navigation properties names\r\n public static countryRegionsPropertyName: string = \"CountryRegions\";\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OnlineChannelName = \r\n odataObject.OnlineChannelName;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.EventNotificationProfileId = \r\n odataObject.EventNotificationProfileId;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.OrgUnitTypeValue = \r\n odataObject.OrgUnitTypeValue;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.DefaultCustomerAccount = \r\n odataObject.DefaultCustomerAccount;\r\n \r\n this.CategoryHierarchyId = \r\n (odataObject.CategoryHierarchyId != null) ? parseInt(odataObject.CategoryHierarchyId, 10) : undefined;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n if (odataObject.ChannelProfile == null) {\r\n this.ChannelProfile = undefined;\r\n } else if (odataObject.ChannelProfile['@odata.type'] == null) {\r\n this.ChannelProfile = new ChannelProfileClass(odataObject.ChannelProfile);\r\n } else {\r\n var className: string = odataObject.ChannelProfile['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChannelProfile = new entityDictionary[className](odataObject.ChannelProfile)\r\n }\r\n }\r\n\r\n \r\n this.ChannelProperties = undefined;\r\n if (odataObject.ChannelProperties) {\r\n this.ChannelProperties = [];\r\n for (var i = 0; i < odataObject.ChannelProperties.length; i++) {\r\n if (odataObject.ChannelProperties[i] != null) {\r\n if (odataObject.ChannelProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChannelProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChannelProperties[i] = new entityDictionary[className](odataObject.ChannelProperties[i])\r\n }\r\n } else {\r\n this.ChannelProperties[i] = new ChannelPropertyClass(odataObject.ChannelProperties[i]);\r\n }\r\n } else {\r\n this.ChannelProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ChannelLanguages = undefined;\r\n if (odataObject.ChannelLanguages) {\r\n this.ChannelLanguages = [];\r\n for (var i = 0; i < odataObject.ChannelLanguages.length; i++) {\r\n if (odataObject.ChannelLanguages[i] != null) {\r\n if (odataObject.ChannelLanguages[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ChannelLanguages[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ChannelLanguages[i] = new entityDictionary[className](odataObject.ChannelLanguages[i])\r\n }\r\n } else {\r\n this.ChannelLanguages[i] = new ChannelLanguageClass(odataObject.ChannelLanguages[i]);\r\n }\r\n } else {\r\n this.ChannelLanguages[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Contacts = undefined;\r\n if (odataObject.Contacts) {\r\n this.Contacts = [];\r\n for (var i = 0; i < odataObject.Contacts.length; i++) {\r\n if (odataObject.Contacts[i] != null) {\r\n if (odataObject.Contacts[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Contacts[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Contacts[i] = new entityDictionary[className](odataObject.Contacts[i])\r\n }\r\n } else {\r\n this.Contacts[i] = new OrgUnitContactClass(odataObject.Contacts[i]);\r\n }\r\n } else {\r\n this.Contacts[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.CountryRegions = undefined;\r\n if (odataObject.CountryRegions) {\r\n this.CountryRegions = [];\r\n for (var i = 0; i < odataObject.CountryRegions.length; i++) {\r\n if (odataObject.CountryRegions[i] != null) {\r\n if (odataObject.CountryRegions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CountryRegions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CountryRegions[i] = new entityDictionary[className](odataObject.CountryRegions[i])\r\n }\r\n } else {\r\n this.CountryRegions[i] = new CountryRegionClass(odataObject.CountryRegions[i]);\r\n }\r\n } else {\r\n this.CountryRegions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OnlineChannelClass'] = OnlineChannelClass;\r\n \r\n /**\r\n * TerminalDataDownloadRequestInfo entity class.\r\n */\r\n export class TerminalDataDownloadRequestInfoClass implements Entities.TerminalDataDownloadRequestInfo {\r\n public TerminalId: string;\r\n public RequiresDataInitialization: boolean;\r\n public HasBeenInitializedBefore: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.RequiresDataInitialization = \r\n odataObject.RequiresDataInitialization;\r\n \r\n this.HasBeenInitializedBefore = \r\n odataObject.HasBeenInitializedBefore;\r\n \r\n }\r\n }\r\n entityDictionary['TerminalDataDownloadRequestInfoClass'] = TerminalDataDownloadRequestInfoClass;\r\n \r\n /**\r\n * DataDownloadParameters entity class.\r\n */\r\n export class DataDownloadParametersClass implements Entities.DataDownloadParameters {\r\n public DownloadInterval: number;\r\n public DownloadSessions: Entities.DownloadSession[];\r\n public FeatureControlList: Entities.RetailSharedConfigurationParameter[];\r\n public DataStore: Entities.CDXDataStore;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DownloadInterval = \r\n odataObject.DownloadInterval;\r\n \r\n this.DownloadSessions = undefined;\r\n if (odataObject.DownloadSessions) {\r\n this.DownloadSessions = [];\r\n for (var i = 0; i < odataObject.DownloadSessions.length; i++) {\r\n if (odataObject.DownloadSessions[i] != null) {\r\n if (odataObject.DownloadSessions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DownloadSessions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DownloadSessions[i] = new entityDictionary[className](odataObject.DownloadSessions[i])\r\n }\r\n } else {\r\n this.DownloadSessions[i] = new DownloadSessionClass(odataObject.DownloadSessions[i]);\r\n }\r\n } else {\r\n this.DownloadSessions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FeatureControlList = undefined;\r\n if (odataObject.FeatureControlList) {\r\n this.FeatureControlList = [];\r\n for (var i = 0; i < odataObject.FeatureControlList.length; i++) {\r\n if (odataObject.FeatureControlList[i] != null) {\r\n if (odataObject.FeatureControlList[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FeatureControlList[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FeatureControlList[i] = new entityDictionary[className](odataObject.FeatureControlList[i])\r\n }\r\n } else {\r\n this.FeatureControlList[i] = new RetailSharedConfigurationParameterClass(odataObject.FeatureControlList[i]);\r\n }\r\n } else {\r\n this.FeatureControlList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.DataStore == null) {\r\n this.DataStore = undefined;\r\n } else if (odataObject.DataStore['@odata.type'] == null) {\r\n this.DataStore = new CDXDataStoreClass(odataObject.DataStore);\r\n } else {\r\n var className: string = odataObject.DataStore['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DataStore = new entityDictionary[className](odataObject.DataStore)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['DataDownloadParametersClass'] = DataDownloadParametersClass;\r\n \r\n /**\r\n * TerminalDataUploadRequestInfo entity class.\r\n */\r\n export class TerminalDataUploadRequestInfoClass implements Entities.TerminalDataUploadRequestInfo {\r\n public TerminalId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n }\r\n }\r\n entityDictionary['TerminalDataUploadRequestInfoClass'] = TerminalDataUploadRequestInfoClass;\r\n \r\n /**\r\n * DataUploadParameters entity class.\r\n */\r\n export class DataUploadParametersClass implements Entities.DataUploadParameters {\r\n public UploadInterval: number;\r\n public UploadJobPackageRequests: Entities.UploadJobPackageRequest[];\r\n public FeatureControlList: Entities.RetailSharedConfigurationParameter[];\r\n public DataStore: Entities.CDXDataStore;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.UploadInterval = \r\n odataObject.UploadInterval;\r\n \r\n this.UploadJobPackageRequests = undefined;\r\n if (odataObject.UploadJobPackageRequests) {\r\n this.UploadJobPackageRequests = [];\r\n for (var i = 0; i < odataObject.UploadJobPackageRequests.length; i++) {\r\n if (odataObject.UploadJobPackageRequests[i] != null) {\r\n if (odataObject.UploadJobPackageRequests[i]['@odata.type'] != null) {\r\n var className: string = odataObject.UploadJobPackageRequests[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.UploadJobPackageRequests[i] = new entityDictionary[className](odataObject.UploadJobPackageRequests[i])\r\n }\r\n } else {\r\n this.UploadJobPackageRequests[i] = new UploadJobPackageRequestClass(odataObject.UploadJobPackageRequests[i]);\r\n }\r\n } else {\r\n this.UploadJobPackageRequests[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FeatureControlList = undefined;\r\n if (odataObject.FeatureControlList) {\r\n this.FeatureControlList = [];\r\n for (var i = 0; i < odataObject.FeatureControlList.length; i++) {\r\n if (odataObject.FeatureControlList[i] != null) {\r\n if (odataObject.FeatureControlList[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FeatureControlList[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FeatureControlList[i] = new entityDictionary[className](odataObject.FeatureControlList[i])\r\n }\r\n } else {\r\n this.FeatureControlList[i] = new RetailSharedConfigurationParameterClass(odataObject.FeatureControlList[i]);\r\n }\r\n } else {\r\n this.FeatureControlList[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.DataStore == null) {\r\n this.DataStore = undefined;\r\n } else if (odataObject.DataStore['@odata.type'] == null) {\r\n this.DataStore = new CDXDataStoreClass(odataObject.DataStore);\r\n } else {\r\n var className: string = odataObject.DataStore['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DataStore = new entityDictionary[className](odataObject.DataStore)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['DataUploadParametersClass'] = DataUploadParametersClass;\r\n \r\n /**\r\n * DownloadSession entity class.\r\n */\r\n export class DownloadSessionClass implements Entities.DownloadSession {\r\n public Id: number;\r\n public JobId: string;\r\n public JobDescription: string;\r\n public FileSize: number;\r\n public RowsAffected: number;\r\n public Checksum: string;\r\n public DateDownloaded: string;\r\n public DateRequested: string;\r\n public DataStoreName: string;\r\n public StatusValue: number;\r\n public Message: string;\r\n public DownloadLink: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Id = \r\n (odataObject.Id != null) ? parseInt(odataObject.Id, 10) : undefined;\r\n \r\n this.JobId = \r\n odataObject.JobId;\r\n \r\n this.JobDescription = \r\n odataObject.JobDescription;\r\n \r\n this.FileSize = \r\n (odataObject.FileSize != null) ? parseInt(odataObject.FileSize, 10) : undefined;\r\n \r\n this.RowsAffected = \r\n odataObject.RowsAffected;\r\n \r\n this.Checksum = \r\n odataObject.Checksum;\r\n \r\n this.DateDownloaded = \r\n odataObject.DateDownloaded;\r\n \r\n this.DateRequested = \r\n odataObject.DateRequested;\r\n \r\n this.DataStoreName = \r\n odataObject.DataStoreName;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.DownloadLink = \r\n odataObject.DownloadLink;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DownloadSessionClass'] = DownloadSessionClass;\r\n \r\n /**\r\n * OfflineTerminalState entity class.\r\n */\r\n export class OfflineTerminalStateClass implements Entities.OfflineTerminalState {\r\n public TerminalId: string;\r\n public State: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.State = \r\n odataObject.State;\r\n \r\n }\r\n }\r\n entityDictionary['OfflineTerminalStateClass'] = OfflineTerminalStateClass;\r\n \r\n /**\r\n * LoyaltyRewardPointActivity entity class.\r\n */\r\n export class LoyaltyRewardPointActivityClass implements Entities.LoyaltyRewardPointActivity {\r\n public ActivityDate: Date;\r\n public LoyaltyRewardPointTimelineEntryType: string;\r\n public ExtensibleLoyaltyRewardPointActivityEntryTypeValue: number;\r\n public LoyaltyPoints: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ActivityDate = \r\n (odataObject.ActivityDate instanceof Date) ? odataObject.ActivityDate\r\n : (odataObject.ActivityDate != null) ? jsonLightReadStringPropertyValue(odataObject.ActivityDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LoyaltyRewardPointTimelineEntryType = \r\n odataObject.LoyaltyRewardPointTimelineEntryType;\r\n \r\n this.ExtensibleLoyaltyRewardPointActivityEntryTypeValue = \r\n odataObject.ExtensibleLoyaltyRewardPointActivityEntryTypeValue;\r\n \r\n this.LoyaltyPoints = \r\n (odataObject.LoyaltyPoints != null) ? parseFloat(odataObject.LoyaltyPoints) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyRewardPointActivityClass'] = LoyaltyRewardPointActivityClass;\r\n \r\n /**\r\n * CurrencyRequest entity class.\r\n */\r\n export class CurrencyRequestClass implements Entities.CurrencyRequest {\r\n public AmountToConvert: number;\r\n public CurrencyCode: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AmountToConvert = \r\n (odataObject.AmountToConvert != null) ? parseFloat(odataObject.AmountToConvert) : undefined;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CurrencyRequestClass'] = CurrencyRequestClass;\r\n \r\n /**\r\n * HardwareStationProfile entity class.\r\n */\r\n export class HardwareStationProfileClass implements Entities.HardwareStationProfile {\r\n public RecordId: number;\r\n public HardwareStationId: string;\r\n public HardwareStationTypeValue: number;\r\n public HardwareProfileId: string;\r\n public HardwareStationName: string;\r\n public HardwareStationDescription: string;\r\n public HardwareStationUrl: string;\r\n public HardwareStationHostName: string;\r\n public HardwareStationEftTerminalId: string;\r\n public HardwareConfigurations: Entities.HardwareConfigurations;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.HardwareStationId = \r\n odataObject.HardwareStationId;\r\n \r\n this.HardwareStationTypeValue = \r\n odataObject.HardwareStationTypeValue;\r\n \r\n this.HardwareProfileId = \r\n odataObject.HardwareProfileId;\r\n \r\n this.HardwareStationName = \r\n odataObject.HardwareStationName;\r\n \r\n this.HardwareStationDescription = \r\n odataObject.HardwareStationDescription;\r\n \r\n this.HardwareStationUrl = \r\n odataObject.HardwareStationUrl;\r\n \r\n this.HardwareStationHostName = \r\n odataObject.HardwareStationHostName;\r\n \r\n this.HardwareStationEftTerminalId = \r\n odataObject.HardwareStationEftTerminalId;\r\n \r\n if (odataObject.HardwareConfigurations == null) {\r\n this.HardwareConfigurations = undefined;\r\n } else if (odataObject.HardwareConfigurations['@odata.type'] == null) {\r\n this.HardwareConfigurations = new HardwareConfigurationsClass(odataObject.HardwareConfigurations);\r\n } else {\r\n var className: string = odataObject.HardwareConfigurations['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.HardwareConfigurations = new entityDictionary[className](odataObject.HardwareConfigurations)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareStationProfileClass'] = HardwareStationProfileClass;\r\n \r\n /**\r\n * NameValuePair entity class.\r\n */\r\n export class NameValuePairClass implements Entities.NameValuePair {\r\n public Name: string;\r\n public Value: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n }\r\n }\r\n entityDictionary['NameValuePairClass'] = NameValuePairClass;\r\n \r\n /**\r\n * LinkToExistingCustomerResult entity class.\r\n */\r\n export class LinkToExistingCustomerResultClass implements Entities.LinkToExistingCustomerResult {\r\n public EmailAddress: string;\r\n public ExternalIdentityProvider: string;\r\n public ExternalIdentityLinkRecordId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.EmailAddress = \r\n odataObject.EmailAddress;\r\n \r\n this.ExternalIdentityProvider = \r\n odataObject.ExternalIdentityProvider;\r\n \r\n this.ExternalIdentityLinkRecordId = \r\n (odataObject.ExternalIdentityLinkRecordId != null) ? parseInt(odataObject.ExternalIdentityLinkRecordId, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['LinkToExistingCustomerResultClass'] = LinkToExistingCustomerResultClass;\r\n \r\n /**\r\n * OfflineSyncStatsLine entity class.\r\n */\r\n export class OfflineSyncStatsLineClass implements Entities.OfflineSyncStatsLine {\r\n public IsUploadJob: boolean;\r\n public JobDescription: string;\r\n public LastSyncDateTime: Date;\r\n public Status: string;\r\n public FileSize: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsUploadJob = \r\n odataObject.IsUploadJob;\r\n \r\n this.JobDescription = \r\n odataObject.JobDescription;\r\n \r\n this.LastSyncDateTime = \r\n (odataObject.LastSyncDateTime instanceof Date) ? odataObject.LastSyncDateTime\r\n : (odataObject.LastSyncDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.LastSyncDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.FileSize = \r\n odataObject.FileSize;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['OfflineSyncStatsLineClass'] = OfflineSyncStatsLineClass;\r\n \r\n /**\r\n * StorageAccessToken entity class.\r\n */\r\n export class StorageAccessTokenClass implements Entities.StorageAccessToken {\r\n public Url: string;\r\n public SasKey: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Url = \r\n odataObject.Url;\r\n \r\n this.SasKey = \r\n odataObject.SasKey;\r\n \r\n }\r\n }\r\n entityDictionary['StorageAccessTokenClass'] = StorageAccessTokenClass;\r\n \r\n /**\r\n * TaskGuidesSearchResult entity class.\r\n */\r\n export class TaskGuidesSearchResultClass implements Entities.TaskGuidesSearchResult {\r\n public Lines: Entities.Line[];\r\n public FrameworkPublisherName: string;\r\n public FrameworkName: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Lines = undefined;\r\n if (odataObject.Lines) {\r\n this.Lines = [];\r\n for (var i = 0; i < odataObject.Lines.length; i++) {\r\n if (odataObject.Lines[i] != null) {\r\n if (odataObject.Lines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Lines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Lines[i] = new entityDictionary[className](odataObject.Lines[i])\r\n }\r\n } else {\r\n this.Lines[i] = new LineClass(odataObject.Lines[i]);\r\n }\r\n } else {\r\n this.Lines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FrameworkPublisherName = \r\n odataObject.FrameworkPublisherName;\r\n \r\n this.FrameworkName = \r\n odataObject.FrameworkName;\r\n \r\n }\r\n }\r\n entityDictionary['TaskGuidesSearchResultClass'] = TaskGuidesSearchResultClass;\r\n \r\n /**\r\n * AuditEvent entity class.\r\n */\r\n export class AuditEventClass implements Entities.AuditEvent {\r\n public EventId: number;\r\n public EventIdString: string;\r\n public Channel: number;\r\n public Store: string;\r\n public Terminal: string;\r\n public UploadType: string;\r\n public EventType: string;\r\n public EventDateTime: Date;\r\n public DurationInMilliseconds: number;\r\n public Source: string;\r\n public EventMessage: string;\r\n public LogLevel: string;\r\n public Staff: string;\r\n public ShiftId: number;\r\n public ClosedShiftId: number;\r\n public ReferenceId: number;\r\n public RefChannel: number;\r\n public RefStore: string;\r\n public RefTerminal: string;\r\n public RefTransactionId: string;\r\n public AuditEventTypeValue: number;\r\n public FiscalTransactions: Entities.AuditEventFiscalTransaction[];\r\n public FiscalRegistrationLines: Entities.AuditEventFiscalRegistrationLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.EventId = \r\n (odataObject.EventId != null) ? parseInt(odataObject.EventId, 10) : undefined;\r\n \r\n this.EventIdString = \r\n odataObject.EventIdString;\r\n \r\n this.Channel = \r\n (odataObject.Channel != null) ? parseInt(odataObject.Channel, 10) : undefined;\r\n \r\n this.Store = \r\n odataObject.Store;\r\n \r\n this.Terminal = \r\n odataObject.Terminal;\r\n \r\n this.UploadType = \r\n odataObject.UploadType;\r\n \r\n this.EventType = \r\n odataObject.EventType;\r\n \r\n this.EventDateTime = \r\n (odataObject.EventDateTime instanceof Date) ? odataObject.EventDateTime\r\n : (odataObject.EventDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EventDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.DurationInMilliseconds = \r\n odataObject.DurationInMilliseconds;\r\n \r\n this.Source = \r\n odataObject.Source;\r\n \r\n this.EventMessage = \r\n odataObject.EventMessage;\r\n \r\n this.LogLevel = \r\n odataObject.LogLevel;\r\n \r\n this.Staff = \r\n odataObject.Staff;\r\n \r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.ClosedShiftId = \r\n (odataObject.ClosedShiftId != null) ? parseInt(odataObject.ClosedShiftId, 10) : undefined;\r\n \r\n this.ReferenceId = \r\n (odataObject.ReferenceId != null) ? parseInt(odataObject.ReferenceId, 10) : undefined;\r\n \r\n this.RefChannel = \r\n (odataObject.RefChannel != null) ? parseInt(odataObject.RefChannel, 10) : undefined;\r\n \r\n this.RefStore = \r\n odataObject.RefStore;\r\n \r\n this.RefTerminal = \r\n odataObject.RefTerminal;\r\n \r\n this.RefTransactionId = \r\n odataObject.RefTransactionId;\r\n \r\n this.AuditEventTypeValue = \r\n odataObject.AuditEventTypeValue;\r\n \r\n this.FiscalTransactions = undefined;\r\n if (odataObject.FiscalTransactions) {\r\n this.FiscalTransactions = [];\r\n for (var i = 0; i < odataObject.FiscalTransactions.length; i++) {\r\n if (odataObject.FiscalTransactions[i] != null) {\r\n if (odataObject.FiscalTransactions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FiscalTransactions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FiscalTransactions[i] = new entityDictionary[className](odataObject.FiscalTransactions[i])\r\n }\r\n } else {\r\n this.FiscalTransactions[i] = new AuditEventFiscalTransactionClass(odataObject.FiscalTransactions[i]);\r\n }\r\n } else {\r\n this.FiscalTransactions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.FiscalRegistrationLines = undefined;\r\n if (odataObject.FiscalRegistrationLines) {\r\n this.FiscalRegistrationLines = [];\r\n for (var i = 0; i < odataObject.FiscalRegistrationLines.length; i++) {\r\n if (odataObject.FiscalRegistrationLines[i] != null) {\r\n if (odataObject.FiscalRegistrationLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.FiscalRegistrationLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FiscalRegistrationLines[i] = new entityDictionary[className](odataObject.FiscalRegistrationLines[i])\r\n }\r\n } else {\r\n this.FiscalRegistrationLines[i] = new AuditEventFiscalRegistrationLineClass(odataObject.FiscalRegistrationLines[i]);\r\n }\r\n } else {\r\n this.FiscalRegistrationLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AuditEventClass'] = AuditEventClass;\r\n \r\n /**\r\n * ItemAvailability entity class.\r\n */\r\n export class ItemAvailabilityClass implements Entities.ItemAvailability {\r\n public ItemId: string;\r\n public VariantInventoryDimensionId: string;\r\n public InventoryLocationId: string;\r\n public ProductId: number;\r\n public AvailableQuantity: number;\r\n public OrderedSum: number;\r\n public PhysicalReserved: number;\r\n public UnitOfMeasure: string;\r\n public InventoryUnitOfMeasure: string;\r\n public InventoryUnitOfMeasureDescription: string;\r\n public ProductDimensions: Entities.ProductDimension[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.VariantInventoryDimensionId = \r\n odataObject.VariantInventoryDimensionId;\r\n \r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.AvailableQuantity = \r\n (odataObject.AvailableQuantity != null) ? parseFloat(odataObject.AvailableQuantity) : undefined;\r\n \r\n this.OrderedSum = \r\n (odataObject.OrderedSum != null) ? parseFloat(odataObject.OrderedSum) : undefined;\r\n \r\n this.PhysicalReserved = \r\n (odataObject.PhysicalReserved != null) ? parseFloat(odataObject.PhysicalReserved) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.InventoryUnitOfMeasure = \r\n odataObject.InventoryUnitOfMeasure;\r\n \r\n this.InventoryUnitOfMeasureDescription = \r\n odataObject.InventoryUnitOfMeasureDescription;\r\n \r\n this.ProductDimensions = undefined;\r\n if (odataObject.ProductDimensions) {\r\n this.ProductDimensions = [];\r\n for (var i = 0; i < odataObject.ProductDimensions.length; i++) {\r\n if (odataObject.ProductDimensions[i] != null) {\r\n if (odataObject.ProductDimensions[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductDimensions[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductDimensions[i] = new entityDictionary[className](odataObject.ProductDimensions[i])\r\n }\r\n } else {\r\n this.ProductDimensions[i] = new ProductDimensionClass(odataObject.ProductDimensions[i]);\r\n }\r\n } else {\r\n this.ProductDimensions[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ItemAvailabilityClass'] = ItemAvailabilityClass;\r\n \r\n /**\r\n * InventoryAvailableToPromise entity class.\r\n */\r\n export class InventoryAvailableToPromiseClass\r\n extends ItemAvailabilityClass\r\n implements Entities.InventoryAvailableToPromise {\r\n public Date: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Date = \r\n odataObject.Date;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.InventoryAvailableToPromise\";\r\n \r\n }\r\n }\r\n entityDictionary['InventoryAvailableToPromiseClass'] = InventoryAvailableToPromiseClass;\r\n \r\n /**\r\n * NotificationItem entity class.\r\n */\r\n export class NotificationItemClass implements Entities.NotificationItem {\r\n public Action: number;\r\n public ActionName: string;\r\n public NotificationDetails: Entities.NotificationDetail[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Action = \r\n odataObject.Action;\r\n \r\n this.ActionName = \r\n odataObject.ActionName;\r\n \r\n this.NotificationDetails = undefined;\r\n if (odataObject.NotificationDetails) {\r\n this.NotificationDetails = [];\r\n for (var i = 0; i < odataObject.NotificationDetails.length; i++) {\r\n if (odataObject.NotificationDetails[i] != null) {\r\n if (odataObject.NotificationDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.NotificationDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.NotificationDetails[i] = new entityDictionary[className](odataObject.NotificationDetails[i])\r\n }\r\n } else {\r\n this.NotificationDetails[i] = new NotificationDetailClass(odataObject.NotificationDetails[i]);\r\n }\r\n } else {\r\n this.NotificationDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['NotificationItemClass'] = NotificationItemClass;\r\n \r\n /**\r\n * FiscalIntegrationDocumentRetrievalCriteria entity class.\r\n */\r\n export class FiscalIntegrationDocumentRetrievalCriteriaClass implements Entities.FiscalIntegrationDocumentRetrievalCriteria {\r\n public TransactionId: string;\r\n public IsRemoteTransaction: boolean;\r\n public QueryBySalesId: boolean;\r\n public FiscalRegistrationEventTypeValue: number;\r\n public ShiftId: number;\r\n public ShiftTerminalId: string;\r\n public DocumentContext: Entities.FiscalIntegrationDocumentContext;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.IsRemoteTransaction = \r\n odataObject.IsRemoteTransaction;\r\n \r\n this.QueryBySalesId = \r\n odataObject.QueryBySalesId;\r\n \r\n this.FiscalRegistrationEventTypeValue = \r\n odataObject.FiscalRegistrationEventTypeValue;\r\n \r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.ShiftTerminalId = \r\n odataObject.ShiftTerminalId;\r\n \r\n if (odataObject.DocumentContext == null) {\r\n this.DocumentContext = undefined;\r\n } else if (odataObject.DocumentContext['@odata.type'] == null) {\r\n this.DocumentContext = new FiscalIntegrationDocumentContextClass(odataObject.DocumentContext);\r\n } else {\r\n var className: string = odataObject.DocumentContext['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DocumentContext = new entityDictionary[className](odataObject.DocumentContext)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationDocumentRetrievalCriteriaClass'] = FiscalIntegrationDocumentRetrievalCriteriaClass;\r\n \r\n /**\r\n * FiscalIntegrationDocument entity class.\r\n */\r\n export class FiscalIntegrationDocumentClass implements Entities.FiscalIntegrationDocument {\r\n public Document: string;\r\n public DocumentGenerationResultTypeValue: number;\r\n public FiscalConnectorTechnicalProfile: Entities.FiscalIntegrationTechnicalProfile;\r\n public DocumentAdjustment: Entities.FiscalIntegrationDocumentAdjustment;\r\n public SequentialSignatureDataContext: Entities.FiscalIntegrationSignatureDataContext;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Document = \r\n odataObject.Document;\r\n \r\n this.DocumentGenerationResultTypeValue = \r\n odataObject.DocumentGenerationResultTypeValue;\r\n \r\n if (odataObject.FiscalConnectorTechnicalProfile == null) {\r\n this.FiscalConnectorTechnicalProfile = undefined;\r\n } else if (odataObject.FiscalConnectorTechnicalProfile['@odata.type'] == null) {\r\n this.FiscalConnectorTechnicalProfile = new FiscalIntegrationTechnicalProfileClass(odataObject.FiscalConnectorTechnicalProfile);\r\n } else {\r\n var className: string = odataObject.FiscalConnectorTechnicalProfile['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FiscalConnectorTechnicalProfile = new entityDictionary[className](odataObject.FiscalConnectorTechnicalProfile)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.DocumentAdjustment == null) {\r\n this.DocumentAdjustment = undefined;\r\n } else if (odataObject.DocumentAdjustment['@odata.type'] == null) {\r\n this.DocumentAdjustment = new FiscalIntegrationDocumentAdjustmentClass(odataObject.DocumentAdjustment);\r\n } else {\r\n var className: string = odataObject.DocumentAdjustment['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DocumentAdjustment = new entityDictionary[className](odataObject.DocumentAdjustment)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.SequentialSignatureDataContext == null) {\r\n this.SequentialSignatureDataContext = undefined;\r\n } else if (odataObject.SequentialSignatureDataContext['@odata.type'] == null) {\r\n this.SequentialSignatureDataContext = new FiscalIntegrationSignatureDataContextClass(odataObject.SequentialSignatureDataContext);\r\n } else {\r\n var className: string = odataObject.SequentialSignatureDataContext['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SequentialSignatureDataContext = new entityDictionary[className](odataObject.SequentialSignatureDataContext)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationDocumentClass'] = FiscalIntegrationDocumentClass;\r\n \r\n /**\r\n * FiscalIntegrationRegistrationResult entity class.\r\n */\r\n export class FiscalIntegrationRegistrationResultClass implements Entities.FiscalIntegrationRegistrationResult {\r\n public TransactionID: string;\r\n public AuditEventId: string;\r\n public Response: string;\r\n public SubmittedDocument: string;\r\n public RegisterInfo: string;\r\n public RegistrationStatusValue: number;\r\n public FiscalRegistrationEventTypeValue: number;\r\n public DocumentAdjustment: Entities.FiscalIntegrationDocumentAdjustment;\r\n public ReasonCodeLines: Entities.ReasonCodeLine[];\r\n public SequentialSignatureData: Entities.FiscalIntegrationSequentialSignatureData;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionID = \r\n odataObject.TransactionID;\r\n \r\n this.AuditEventId = \r\n odataObject.AuditEventId;\r\n \r\n this.Response = \r\n odataObject.Response;\r\n \r\n this.SubmittedDocument = \r\n odataObject.SubmittedDocument;\r\n \r\n this.RegisterInfo = \r\n odataObject.RegisterInfo;\r\n \r\n this.RegistrationStatusValue = \r\n odataObject.RegistrationStatusValue;\r\n \r\n this.FiscalRegistrationEventTypeValue = \r\n odataObject.FiscalRegistrationEventTypeValue;\r\n \r\n if (odataObject.DocumentAdjustment == null) {\r\n this.DocumentAdjustment = undefined;\r\n } else if (odataObject.DocumentAdjustment['@odata.type'] == null) {\r\n this.DocumentAdjustment = new FiscalIntegrationDocumentAdjustmentClass(odataObject.DocumentAdjustment);\r\n } else {\r\n var className: string = odataObject.DocumentAdjustment['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DocumentAdjustment = new entityDictionary[className](odataObject.DocumentAdjustment)\r\n }\r\n }\r\n\r\n \r\n this.ReasonCodeLines = undefined;\r\n if (odataObject.ReasonCodeLines) {\r\n this.ReasonCodeLines = [];\r\n for (var i = 0; i < odataObject.ReasonCodeLines.length; i++) {\r\n if (odataObject.ReasonCodeLines[i] != null) {\r\n if (odataObject.ReasonCodeLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeLines[i] = new entityDictionary[className](odataObject.ReasonCodeLines[i])\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = new ReasonCodeLineClass(odataObject.ReasonCodeLines[i]);\r\n }\r\n } else {\r\n this.ReasonCodeLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.SequentialSignatureData == null) {\r\n this.SequentialSignatureData = undefined;\r\n } else if (odataObject.SequentialSignatureData['@odata.type'] == null) {\r\n this.SequentialSignatureData = new FiscalIntegrationSequentialSignatureDataClass(odataObject.SequentialSignatureData);\r\n } else {\r\n var className: string = odataObject.SequentialSignatureData['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SequentialSignatureData = new entityDictionary[className](odataObject.SequentialSignatureData)\r\n }\r\n }\r\n\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationRegistrationResultClass'] = FiscalIntegrationRegistrationResultClass;\r\n \r\n /**\r\n * FiscalIntegrationRegistrationProcess entity class.\r\n */\r\n export class FiscalIntegrationRegistrationProcessClass implements Entities.FiscalIntegrationRegistrationProcess {\r\n public RecordId: number;\r\n public RegistrationProcessId: string;\r\n public Description: string;\r\n public RegistrationProcessLines: Entities.FiscalIntegrationRegistrationProcessLine[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.RegistrationProcessId = \r\n odataObject.RegistrationProcessId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.RegistrationProcessLines = undefined;\r\n if (odataObject.RegistrationProcessLines) {\r\n this.RegistrationProcessLines = [];\r\n for (var i = 0; i < odataObject.RegistrationProcessLines.length; i++) {\r\n if (odataObject.RegistrationProcessLines[i] != null) {\r\n if (odataObject.RegistrationProcessLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RegistrationProcessLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RegistrationProcessLines[i] = new entityDictionary[className](odataObject.RegistrationProcessLines[i])\r\n }\r\n } else {\r\n this.RegistrationProcessLines[i] = new FiscalIntegrationRegistrationProcessLineClass(odataObject.RegistrationProcessLines[i]);\r\n }\r\n } else {\r\n this.RegistrationProcessLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationRegistrationProcessClass'] = FiscalIntegrationRegistrationProcessClass;\r\n \r\n /**\r\n * FiscalIntegrationSupportedEvents entity class.\r\n */\r\n export class FiscalIntegrationSupportedEventsClass implements Entities.FiscalIntegrationSupportedEvents {\r\n public FunctionalityProfileGroupId: string;\r\n public SupportedFiscalEventTypes: number[];\r\n public SupportedNonFiscalEventTypes: number[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FunctionalityProfileGroupId = \r\n odataObject.FunctionalityProfileGroupId;\r\n \r\n this.SupportedFiscalEventTypes = undefined;\r\n if (odataObject.SupportedFiscalEventTypes) {\r\n this.SupportedFiscalEventTypes = [];\r\n for (var i = 0; i < odataObject.SupportedFiscalEventTypes.length; i++) {\r\n if (odataObject.SupportedFiscalEventTypes[i] != null) {\r\n this.SupportedFiscalEventTypes[i] = \r\n odataObject.SupportedFiscalEventTypes[i];\r\n } else {\r\n this.SupportedFiscalEventTypes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SupportedNonFiscalEventTypes = undefined;\r\n if (odataObject.SupportedNonFiscalEventTypes) {\r\n this.SupportedNonFiscalEventTypes = [];\r\n for (var i = 0; i < odataObject.SupportedNonFiscalEventTypes.length; i++) {\r\n if (odataObject.SupportedNonFiscalEventTypes[i] != null) {\r\n this.SupportedNonFiscalEventTypes[i] = \r\n odataObject.SupportedNonFiscalEventTypes[i];\r\n } else {\r\n this.SupportedNonFiscalEventTypes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationSupportedEventsClass'] = FiscalIntegrationSupportedEventsClass;\r\n \r\n /**\r\n * FiscalIntegrationTechnicalProfile entity class.\r\n */\r\n export class FiscalIntegrationTechnicalProfileClass implements Entities.FiscalIntegrationTechnicalProfile {\r\n public ProfileId: string;\r\n public Description: string;\r\n public ConnectorName: string;\r\n public ConnectorTypeValue: number;\r\n public TechnicalProfile: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProfileId = \r\n odataObject.ProfileId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ConnectorName = \r\n odataObject.ConnectorName;\r\n \r\n this.ConnectorTypeValue = \r\n odataObject.ConnectorTypeValue;\r\n \r\n this.TechnicalProfile = \r\n odataObject.TechnicalProfile;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationTechnicalProfileClass'] = FiscalIntegrationTechnicalProfileClass;\r\n \r\n /**\r\n * FiscalIntegrationTechnicalProfileSearchCriteria entity class.\r\n */\r\n export class FiscalIntegrationTechnicalProfileSearchCriteriaClass implements Entities.FiscalIntegrationTechnicalProfileSearchCriteria {\r\n public ExcludeOptionalProcessLines: boolean;\r\n public FunctionalityProfileGroupIds: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ExcludeOptionalProcessLines = \r\n odataObject.ExcludeOptionalProcessLines;\r\n \r\n this.FunctionalityProfileGroupIds = undefined;\r\n if (odataObject.FunctionalityProfileGroupIds) {\r\n this.FunctionalityProfileGroupIds = [];\r\n for (var i = 0; i < odataObject.FunctionalityProfileGroupIds.length; i++) {\r\n if (odataObject.FunctionalityProfileGroupIds[i] != null) {\r\n this.FunctionalityProfileGroupIds[i] = \r\n odataObject.FunctionalityProfileGroupIds[i];\r\n } else {\r\n this.FunctionalityProfileGroupIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationTechnicalProfileSearchCriteriaClass'] = FiscalIntegrationTechnicalProfileSearchCriteriaClass;\r\n \r\n /**\r\n * FiscalIntegrationServiceInfo entity class.\r\n */\r\n export class FiscalIntegrationServiceInfoClass implements Entities.FiscalIntegrationServiceInfo {\r\n public ServiceName: string;\r\n public ServiceProperties: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ServiceName = \r\n odataObject.ServiceName;\r\n \r\n this.ServiceProperties = \r\n odataObject.ServiceProperties;\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationServiceInfoClass'] = FiscalIntegrationServiceInfoClass;\r\n \r\n /**\r\n * FiscalIntegrationServiceStatus entity class.\r\n */\r\n export class FiscalIntegrationServiceStatusClass implements Entities.FiscalIntegrationServiceStatus {\r\n public IsReady: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsReady = \r\n odataObject.IsReady;\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationServiceStatusClass'] = FiscalIntegrationServiceStatusClass;\r\n \r\n /**\r\n * FiscalIntegrationServiceCommunicationResult entity class.\r\n */\r\n export class FiscalIntegrationServiceCommunicationResultClass implements Entities.FiscalIntegrationServiceCommunicationResult {\r\n public Response: string;\r\n public CommunicationResultTypeValue: number;\r\n public FailureDetails: Entities.FiscalIntegrationServiceFailureDetails;\r\n public FiscalIntegrationServiceInfo: string;\r\n public UserNotificationMessage: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Response = \r\n odataObject.Response;\r\n \r\n this.CommunicationResultTypeValue = \r\n odataObject.CommunicationResultTypeValue;\r\n \r\n if (odataObject.FailureDetails == null) {\r\n this.FailureDetails = undefined;\r\n } else if (odataObject.FailureDetails['@odata.type'] == null) {\r\n this.FailureDetails = new FiscalIntegrationServiceFailureDetailsClass(odataObject.FailureDetails);\r\n } else {\r\n var className: string = odataObject.FailureDetails['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FailureDetails = new entityDictionary[className](odataObject.FailureDetails)\r\n }\r\n }\r\n\r\n \r\n this.FiscalIntegrationServiceInfo = \r\n odataObject.FiscalIntegrationServiceInfo;\r\n \r\n this.UserNotificationMessage = \r\n odataObject.UserNotificationMessage;\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationServiceCommunicationResultClass'] = FiscalIntegrationServiceCommunicationResultClass;\r\n \r\n /**\r\n * FiscalIntegrationSequentialSignatureData entity class.\r\n */\r\n export class FiscalIntegrationSequentialSignatureDataClass implements Entities.FiscalIntegrationSequentialSignatureData {\r\n public LastRegisterResponse: string;\r\n public SequenceKey: string;\r\n public IsOffline: boolean;\r\n public SequentialNumber: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LastRegisterResponse = \r\n odataObject.LastRegisterResponse;\r\n \r\n this.SequenceKey = \r\n odataObject.SequenceKey;\r\n \r\n this.IsOffline = \r\n odataObject.IsOffline;\r\n \r\n this.SequentialNumber = \r\n (odataObject.SequentialNumber != null) ? parseInt(odataObject.SequentialNumber, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationSequentialSignatureDataClass'] = FiscalIntegrationSequentialSignatureDataClass;\r\n \r\n /**\r\n * DiscountsSearchCriteria entity class.\r\n */\r\n export class DiscountsSearchCriteriaClass implements Entities.DiscountsSearchCriteria {\r\n public ChannelId: number;\r\n public Keyword: string;\r\n public IsDiscountCodeRequired: boolean;\r\n public StartDate: Date;\r\n public EndDate: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.Keyword = \r\n odataObject.Keyword;\r\n \r\n this.IsDiscountCodeRequired = \r\n odataObject.IsDiscountCodeRequired;\r\n \r\n this.StartDate = \r\n (odataObject.StartDate instanceof Date) ? odataObject.StartDate\r\n : (odataObject.StartDate != null) ? jsonLightReadStringPropertyValue(odataObject.StartDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDate = \r\n (odataObject.EndDate instanceof Date) ? odataObject.EndDate\r\n : (odataObject.EndDate != null) ? jsonLightReadStringPropertyValue(odataObject.EndDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DiscountsSearchCriteriaClass'] = DiscountsSearchCriteriaClass;\r\n \r\n /**\r\n * Promotion entity class.\r\n */\r\n export class PromotionClass implements Entities.Promotion {\r\n public OfferId: string;\r\n public OfferName: string;\r\n public PeriodicDiscountTypeValue: number;\r\n public IsDiscountCodeRequired: boolean;\r\n public ValidationPeriodId: string;\r\n public AdditionalRestrictions: string;\r\n public Description: string;\r\n public ValidFromDate: Date;\r\n public ValidToDate: Date;\r\n public ValidationPeriod: Entities.ValidationPeriod;\r\n public CouponCodes: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OfferId = \r\n odataObject.OfferId;\r\n \r\n this.OfferName = \r\n odataObject.OfferName;\r\n \r\n this.PeriodicDiscountTypeValue = \r\n odataObject.PeriodicDiscountTypeValue;\r\n \r\n this.IsDiscountCodeRequired = \r\n odataObject.IsDiscountCodeRequired;\r\n \r\n this.ValidationPeriodId = \r\n odataObject.ValidationPeriodId;\r\n \r\n this.AdditionalRestrictions = \r\n odataObject.AdditionalRestrictions;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ValidFromDate = \r\n (odataObject.ValidFromDate instanceof Date) ? odataObject.ValidFromDate\r\n : (odataObject.ValidFromDate != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFromDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidToDate = \r\n (odataObject.ValidToDate instanceof Date) ? odataObject.ValidToDate\r\n : (odataObject.ValidToDate != null) ? jsonLightReadStringPropertyValue(odataObject.ValidToDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n if (odataObject.ValidationPeriod == null) {\r\n this.ValidationPeriod = undefined;\r\n } else if (odataObject.ValidationPeriod['@odata.type'] == null) {\r\n this.ValidationPeriod = new ValidationPeriodClass(odataObject.ValidationPeriod);\r\n } else {\r\n var className: string = odataObject.ValidationPeriod['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ValidationPeriod = new entityDictionary[className](odataObject.ValidationPeriod)\r\n }\r\n }\r\n\r\n \r\n this.CouponCodes = undefined;\r\n if (odataObject.CouponCodes) {\r\n this.CouponCodes = [];\r\n for (var i = 0; i < odataObject.CouponCodes.length; i++) {\r\n if (odataObject.CouponCodes[i] != null) {\r\n this.CouponCodes[i] = \r\n odataObject.CouponCodes[i];\r\n } else {\r\n this.CouponCodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PromotionClass'] = PromotionClass;\r\n \r\n /**\r\n * CategoryPathLookup entity class.\r\n */\r\n export class CategoryPathLookupClass implements Entities.CategoryPathLookup {\r\n public ProductId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CategoryPathLookupClass'] = CategoryPathLookupClass;\r\n \r\n /**\r\n * CategoryPathResult entity class.\r\n */\r\n export class CategoryPathResultClass implements Entities.CategoryPathResult {\r\n public ProductId: number;\r\n public CategoryPath: Entities.CategoryPath[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.CategoryPath = undefined;\r\n if (odataObject.CategoryPath) {\r\n this.CategoryPath = [];\r\n for (var i = 0; i < odataObject.CategoryPath.length; i++) {\r\n if (odataObject.CategoryPath[i] != null) {\r\n if (odataObject.CategoryPath[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CategoryPath[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CategoryPath[i] = new entityDictionary[className](odataObject.CategoryPath[i])\r\n }\r\n } else {\r\n this.CategoryPath[i] = new CategoryPathClass(odataObject.CategoryPath[i]);\r\n }\r\n } else {\r\n this.CategoryPath[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CategoryPathResultClass'] = CategoryPathResultClass;\r\n \r\n /**\r\n * PickupTimeslotAvailabilitySearchCriteria entity class.\r\n */\r\n export class PickupTimeslotAvailabilitySearchCriteriaClass implements Entities.PickupTimeslotAvailabilitySearchCriteria {\r\n public DeliveryModeCode: string;\r\n public StoreId: string;\r\n public StartDate: Date;\r\n public EndDate: Date;\r\n public SearchOptionValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DeliveryModeCode = \r\n odataObject.DeliveryModeCode;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.StartDate = \r\n (odataObject.StartDate instanceof Date) ? odataObject.StartDate\r\n : (odataObject.StartDate != null) ? jsonLightReadStringPropertyValue(odataObject.StartDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDate = \r\n (odataObject.EndDate instanceof Date) ? odataObject.EndDate\r\n : (odataObject.EndDate != null) ? jsonLightReadStringPropertyValue(odataObject.EndDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.SearchOptionValue = \r\n odataObject.SearchOptionValue;\r\n \r\n }\r\n }\r\n entityDictionary['PickupTimeslotAvailabilitySearchCriteriaClass'] = PickupTimeslotAvailabilitySearchCriteriaClass;\r\n \r\n /**\r\n * PickupTimeslotAvailability entity class.\r\n */\r\n export class PickupTimeslotAvailabilityClass implements Entities.PickupTimeslotAvailability {\r\n public AvailableCapacity: number;\r\n public StartDateTime: Date;\r\n public EndDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AvailableCapacity = \r\n odataObject.AvailableCapacity;\r\n \r\n this.StartDateTime = \r\n (odataObject.StartDateTime instanceof Date) ? odataObject.StartDateTime\r\n : (odataObject.StartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.StartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EndDateTime = \r\n (odataObject.EndDateTime instanceof Date) ? odataObject.EndDateTime\r\n : (odataObject.EndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.EndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PickupTimeslotAvailabilityClass'] = PickupTimeslotAvailabilityClass;\r\n \r\n /**\r\n * CheckInForOrderPickupConfirmation entity class.\r\n */\r\n export class CheckInForOrderPickupConfirmationClass implements Entities.CheckInForOrderPickupConfirmation {\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CheckInForOrderPickupConfirmationClass'] = CheckInForOrderPickupConfirmationClass;\r\n \r\n /**\r\n * ExtensionProfile entity class.\r\n */\r\n export class ExtensionProfileClass implements Entities.ExtensionProfile {\r\n public ExtensionServiceUrl: string;\r\n public AttachedServices: Entities.AttachedService[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ExtensionServiceUrl = \r\n odataObject.ExtensionServiceUrl;\r\n \r\n this.AttachedServices = undefined;\r\n if (odataObject.AttachedServices) {\r\n this.AttachedServices = [];\r\n for (var i = 0; i < odataObject.AttachedServices.length; i++) {\r\n if (odataObject.AttachedServices[i] != null) {\r\n if (odataObject.AttachedServices[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AttachedServices[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttachedServices[i] = new entityDictionary[className](odataObject.AttachedServices[i])\r\n }\r\n } else {\r\n this.AttachedServices[i] = new AttachedServiceClass(odataObject.AttachedServices[i]);\r\n }\r\n } else {\r\n this.AttachedServices[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ExtensionProfileClass'] = ExtensionProfileClass;\r\n \r\n /**\r\n * ChannelInventoryConfiguration entity class.\r\n */\r\n export class ChannelInventoryConfigurationClass implements Entities.ChannelInventoryConfiguration {\r\n public RecordId: number;\r\n public ChannelId: string;\r\n public AllowTransferOrderOverDelivery: boolean;\r\n public AllowTransferOrderUnderDelivery: boolean;\r\n public UserLocationProfileId: string;\r\n public InventoryProductAttributeRecordId: number;\r\n public InventoryOutOfStockAttributeValueText: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ChannelId = \r\n odataObject.ChannelId;\r\n \r\n this.AllowTransferOrderOverDelivery = \r\n odataObject.AllowTransferOrderOverDelivery;\r\n \r\n this.AllowTransferOrderUnderDelivery = \r\n odataObject.AllowTransferOrderUnderDelivery;\r\n \r\n this.UserLocationProfileId = \r\n odataObject.UserLocationProfileId;\r\n \r\n this.InventoryProductAttributeRecordId = \r\n (odataObject.InventoryProductAttributeRecordId != null) ? parseInt(odataObject.InventoryProductAttributeRecordId, 10) : undefined;\r\n \r\n this.InventoryOutOfStockAttributeValueText = \r\n odataObject.InventoryOutOfStockAttributeValueText;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelInventoryConfigurationClass'] = ChannelInventoryConfigurationClass;\r\n \r\n /**\r\n * ChannelPurchaseConfiguration entity class.\r\n */\r\n export class ChannelPurchaseConfigurationClass implements Entities.ChannelPurchaseConfiguration {\r\n public RecordId: number;\r\n public ChannelId: string;\r\n public AllowOverDelivery: boolean;\r\n public AllowSubDelivery: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ChannelId = \r\n odataObject.ChannelId;\r\n \r\n this.AllowOverDelivery = \r\n odataObject.AllowOverDelivery;\r\n \r\n this.AllowSubDelivery = \r\n odataObject.AllowSubDelivery;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelPurchaseConfigurationClass'] = ChannelPurchaseConfigurationClass;\r\n \r\n /**\r\n * InventoryJournalName entity class.\r\n */\r\n export class InventoryJournalNameClass implements Entities.InventoryJournalName {\r\n public RecordId: number;\r\n public JournalNameId: string;\r\n public InventoryJournalTypeValue: number;\r\n public Description: string;\r\n public DefaultAdjustmentTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.JournalNameId = \r\n odataObject.JournalNameId;\r\n \r\n this.InventoryJournalTypeValue = \r\n odataObject.InventoryJournalTypeValue;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.DefaultAdjustmentTypeValue = \r\n odataObject.DefaultAdjustmentTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryJournalNameClass'] = InventoryJournalNameClass;\r\n \r\n /**\r\n * ShiftRetrievalCriteria entity class.\r\n */\r\n export class ShiftRetrievalCriteriaClass implements Entities.ShiftRetrievalCriteria {\r\n public ShiftStatusValue: number;\r\n public FilterByUserRole: boolean;\r\n public IncludeAllShiftsForStore: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ShiftStatusValue = \r\n odataObject.ShiftStatusValue;\r\n \r\n this.FilterByUserRole = \r\n odataObject.FilterByUserRole;\r\n \r\n this.IncludeAllShiftsForStore = \r\n odataObject.IncludeAllShiftsForStore;\r\n \r\n }\r\n }\r\n entityDictionary['ShiftRetrievalCriteriaClass'] = ShiftRetrievalCriteriaClass;\r\n \r\n /**\r\n * UserDefinedSecretCertificateResult entity class.\r\n */\r\n export class UserDefinedSecretCertificateResultClass implements Entities.UserDefinedSecretCertificateResult {\r\n public CertificateData: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CertificateData = \r\n odataObject.CertificateData;\r\n \r\n }\r\n }\r\n entityDictionary['UserDefinedSecretCertificateResultClass'] = UserDefinedSecretCertificateResultClass;\r\n \r\n /**\r\n * TerminalInfo entity class.\r\n */\r\n export class TerminalInfoClass implements Entities.TerminalInfo {\r\n public TerminalId: string;\r\n public DeviceNumber: string;\r\n public Name: string;\r\n public DeviceType: number;\r\n public ActivationStatusValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.DeviceNumber = \r\n odataObject.DeviceNumber;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.DeviceType = \r\n odataObject.DeviceType;\r\n \r\n this.ActivationStatusValue = \r\n odataObject.ActivationStatusValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TerminalInfoClass'] = TerminalInfoClass;\r\n \r\n /**\r\n * CustomerTimelineItemTypeMap entity class.\r\n */\r\n export class CustomerTimelineItemTypeMapClass implements Entities.CustomerTimelineItemTypeMap {\r\n public EntityType: string;\r\n public Types: Entities.CustomerTimelineItemType[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.EntityType = \r\n odataObject.EntityType;\r\n \r\n this.Types = undefined;\r\n if (odataObject.Types) {\r\n this.Types = [];\r\n for (var i = 0; i < odataObject.Types.length; i++) {\r\n if (odataObject.Types[i] != null) {\r\n if (odataObject.Types[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Types[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Types[i] = new entityDictionary[className](odataObject.Types[i])\r\n }\r\n } else {\r\n this.Types[i] = new CustomerTimelineItemTypeClass(odataObject.Types[i]);\r\n }\r\n } else {\r\n this.Types[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerTimelineItemTypeMapClass'] = CustomerTimelineItemTypeMapClass;\r\n \r\n /**\r\n * CustomerTimelineRefiner entity class.\r\n */\r\n export class CustomerTimelineRefinerClass implements Entities.CustomerTimelineRefiner {\r\n public RefinedResultsCount: number;\r\n public EntityType: string;\r\n public TypeId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RefinedResultsCount = \r\n odataObject.RefinedResultsCount;\r\n \r\n this.EntityType = \r\n odataObject.EntityType;\r\n \r\n this.TypeId = \r\n odataObject.TypeId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerTimelineRefinerClass'] = CustomerTimelineRefinerClass;\r\n \r\n /**\r\n * CustomerTitle entity class.\r\n */\r\n export class CustomerTitleClass implements Entities.CustomerTitle {\r\n public Text: string;\r\n public RecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Text = \r\n odataObject.Text;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerTitleClass'] = CustomerTitleClass;\r\n \r\n /**\r\n * ProductWarehouse entity class.\r\n */\r\n export class ProductWarehouseClass implements Entities.ProductWarehouse {\r\n public ProductId: number;\r\n public InventLocationId: string;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductWarehouseClass'] = ProductWarehouseClass;\r\n \r\n /**\r\n * ProductWarehouseInventoryInformation entity class.\r\n */\r\n export class ProductWarehouseInventoryInformationClass implements Entities.ProductWarehouseInventoryInformation {\r\n public ProductWarehouseInventoryAvailabilities: Entities.ProductWarehouseInventoryAvailability[];\r\n public AggregatedProductInventoryAvailabilities: Entities.ProductInventoryAvailability[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductWarehouseInventoryAvailabilities = undefined;\r\n if (odataObject.ProductWarehouseInventoryAvailabilities) {\r\n this.ProductWarehouseInventoryAvailabilities = [];\r\n for (var i = 0; i < odataObject.ProductWarehouseInventoryAvailabilities.length; i++) {\r\n if (odataObject.ProductWarehouseInventoryAvailabilities[i] != null) {\r\n if (odataObject.ProductWarehouseInventoryAvailabilities[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProductWarehouseInventoryAvailabilities[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProductWarehouseInventoryAvailabilities[i] = new entityDictionary[className](odataObject.ProductWarehouseInventoryAvailabilities[i])\r\n }\r\n } else {\r\n this.ProductWarehouseInventoryAvailabilities[i] = new ProductWarehouseInventoryAvailabilityClass(odataObject.ProductWarehouseInventoryAvailabilities[i]);\r\n }\r\n } else {\r\n this.ProductWarehouseInventoryAvailabilities[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.AggregatedProductInventoryAvailabilities = undefined;\r\n if (odataObject.AggregatedProductInventoryAvailabilities) {\r\n this.AggregatedProductInventoryAvailabilities = [];\r\n for (var i = 0; i < odataObject.AggregatedProductInventoryAvailabilities.length; i++) {\r\n if (odataObject.AggregatedProductInventoryAvailabilities[i] != null) {\r\n if (odataObject.AggregatedProductInventoryAvailabilities[i]['@odata.type'] != null) {\r\n var className: string = odataObject.AggregatedProductInventoryAvailabilities[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AggregatedProductInventoryAvailabilities[i] = new entityDictionary[className](odataObject.AggregatedProductInventoryAvailabilities[i])\r\n }\r\n } else {\r\n this.AggregatedProductInventoryAvailabilities[i] = new ProductInventoryAvailabilityClass(odataObject.AggregatedProductInventoryAvailabilities[i]);\r\n }\r\n } else {\r\n this.AggregatedProductInventoryAvailabilities[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductWarehouseInventoryInformationClass'] = ProductWarehouseInventoryInformationClass;\r\n \r\n /**\r\n * InventoryAvailabilitySearchCriteria entity class.\r\n */\r\n export class InventoryAvailabilitySearchCriteriaClass implements Entities.InventoryAvailabilitySearchCriteria {\r\n public ProductIds: number[];\r\n public DefaultWarehouseOnly: boolean;\r\n public SearchArea: Entities.SearchArea;\r\n public FilterByChannelFulfillmentGroup: boolean;\r\n public DeliveryModeTypeFilterValue: number;\r\n public QuantityUnitTypeValue: number;\r\n public DataLevelValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductIds = undefined;\r\n if (odataObject.ProductIds) {\r\n this.ProductIds = [];\r\n for (var i = 0; i < odataObject.ProductIds.length; i++) {\r\n if (odataObject.ProductIds[i] != null) {\r\n this.ProductIds[i] = \r\n parseInt(odataObject.ProductIds[i], 10);\r\n } else {\r\n this.ProductIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.DefaultWarehouseOnly = \r\n odataObject.DefaultWarehouseOnly;\r\n \r\n if (odataObject.SearchArea == null) {\r\n this.SearchArea = undefined;\r\n } else if (odataObject.SearchArea['@odata.type'] == null) {\r\n this.SearchArea = new SearchAreaClass(odataObject.SearchArea);\r\n } else {\r\n var className: string = odataObject.SearchArea['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SearchArea = new entityDictionary[className](odataObject.SearchArea)\r\n }\r\n }\r\n\r\n \r\n this.FilterByChannelFulfillmentGroup = \r\n odataObject.FilterByChannelFulfillmentGroup;\r\n \r\n this.DeliveryModeTypeFilterValue = \r\n odataObject.DeliveryModeTypeFilterValue;\r\n \r\n this.QuantityUnitTypeValue = \r\n odataObject.QuantityUnitTypeValue;\r\n \r\n this.DataLevelValue = \r\n odataObject.DataLevelValue;\r\n \r\n }\r\n }\r\n entityDictionary['InventoryAvailabilitySearchCriteriaClass'] = InventoryAvailabilitySearchCriteriaClass;\r\n \r\n /**\r\n * ExtensibleEnumerationContainer entity class.\r\n */\r\n export class ExtensibleEnumerationContainerClass implements Entities.ExtensibleEnumerationContainer {\r\n public TypeName: string;\r\n public ExtensibleEnumerations: Entities.ExtensibleEnumeration[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TypeName = \r\n odataObject.TypeName;\r\n \r\n this.ExtensibleEnumerations = undefined;\r\n if (odataObject.ExtensibleEnumerations) {\r\n this.ExtensibleEnumerations = [];\r\n for (var i = 0; i < odataObject.ExtensibleEnumerations.length; i++) {\r\n if (odataObject.ExtensibleEnumerations[i] != null) {\r\n if (odataObject.ExtensibleEnumerations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensibleEnumerations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensibleEnumerations[i] = new entityDictionary[className](odataObject.ExtensibleEnumerations[i])\r\n }\r\n } else {\r\n this.ExtensibleEnumerations[i] = new ExtensibleEnumerationClass(odataObject.ExtensibleEnumerations[i]);\r\n }\r\n } else {\r\n this.ExtensibleEnumerations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleEnumerationContainerClass'] = ExtensibleEnumerationContainerClass;\r\n \r\n /**\r\n * PackingSlipData entity class.\r\n */\r\n export class PackingSlipDataClass implements Entities.PackingSlipData {\r\n public PackingSlipId: string;\r\n public CreatedDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PackingSlipId = \r\n odataObject.PackingSlipId;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PackingSlipDataClass'] = PackingSlipDataClass;\r\n \r\n /**\r\n * EmailReceiptSettings entity class.\r\n */\r\n export class EmailReceiptSettingsClass implements Entities.EmailReceiptSettings {\r\n public ReceiptTypeValue: number;\r\n public EmailBehaviorValue: number;\r\n public ReceiptTitle: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ReceiptTypeValue = \r\n odataObject.ReceiptTypeValue;\r\n \r\n this.EmailBehaviorValue = \r\n odataObject.EmailBehaviorValue;\r\n \r\n this.ReceiptTitle = \r\n odataObject.ReceiptTitle;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['EmailReceiptSettingsClass'] = EmailReceiptSettingsClass;\r\n \r\n /**\r\n * OrgUnitAddress entity class.\r\n */\r\n export class OrgUnitAddressClass\r\n extends AddressClass\r\n implements Entities.OrgUnitAddress {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.OrgUnitAddress\";\r\n \r\n }\r\n }\r\n entityDictionary['OrgUnitAddressClass'] = OrgUnitAddressClass;\r\n \r\n /**\r\n * WarehouseDetails entity class.\r\n */\r\n export class WarehouseDetailsClass\r\n extends AddressClass\r\n implements Entities.WarehouseDetails {\r\n public InventoryLocationId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.InventoryLocationId = \r\n odataObject.InventoryLocationId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.WarehouseDetails\";\r\n \r\n }\r\n }\r\n entityDictionary['WarehouseDetailsClass'] = WarehouseDetailsClass;\r\n \r\n /**\r\n * AttributeSwatch entity class.\r\n */\r\n export class AttributeSwatchClass implements Entities.AttributeSwatch {\r\n public SwatchValue: string;\r\n public SwatchImageUrl: string;\r\n public SwatchColorHexCode: string;\r\n public IsDefault: boolean;\r\n public ProductImageUrls: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SwatchValue = \r\n odataObject.SwatchValue;\r\n \r\n this.SwatchImageUrl = \r\n odataObject.SwatchImageUrl;\r\n \r\n this.SwatchColorHexCode = \r\n odataObject.SwatchColorHexCode;\r\n \r\n this.IsDefault = \r\n odataObject.IsDefault;\r\n \r\n this.ProductImageUrls = undefined;\r\n if (odataObject.ProductImageUrls) {\r\n this.ProductImageUrls = [];\r\n for (var i = 0; i < odataObject.ProductImageUrls.length; i++) {\r\n if (odataObject.ProductImageUrls[i] != null) {\r\n this.ProductImageUrls[i] = \r\n odataObject.ProductImageUrls[i];\r\n } else {\r\n this.ProductImageUrls[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttributeSwatchClass'] = AttributeSwatchClass;\r\n \r\n /**\r\n * AttributeBooleanValue entity class.\r\n */\r\n export class AttributeBooleanValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeBooleanValue {\r\n public Value: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Value = \r\n odataObject.Value;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeBooleanValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeBooleanValueClass'] = AttributeBooleanValueClass;\r\n \r\n /**\r\n * AttributeCurrencyValue entity class.\r\n */\r\n export class AttributeCurrencyValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeCurrencyValue {\r\n public CurrencyValue: number;\r\n public CurrencyCode: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.CurrencyValue = \r\n (odataObject.CurrencyValue != null) ? parseFloat(odataObject.CurrencyValue) : undefined;\r\n \r\n this.CurrencyCode = \r\n odataObject.CurrencyCode;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeCurrencyValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeCurrencyValueClass'] = AttributeCurrencyValueClass;\r\n \r\n /**\r\n * AttributeDateTimeOffsetValue entity class.\r\n */\r\n export class AttributeDateTimeOffsetValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeDateTimeOffsetValue {\r\n public Value: Date;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Value = \r\n (odataObject.Value instanceof Date) ? odataObject.Value\r\n : (odataObject.Value != null) ? jsonLightReadStringPropertyValue(odataObject.Value, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeDateTimeOffsetValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeDateTimeOffsetValueClass'] = AttributeDateTimeOffsetValueClass;\r\n \r\n /**\r\n * AttributeFloatValue entity class.\r\n */\r\n export class AttributeFloatValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeFloatValue {\r\n public Value: number;\r\n public UnitSymbol: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Value = \r\n (odataObject.Value != null) ? parseFloat(odataObject.Value) : undefined;\r\n \r\n this.UnitSymbol = \r\n odataObject.UnitSymbol;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeFloatValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeFloatValueClass'] = AttributeFloatValueClass;\r\n \r\n /**\r\n * AttributeIntValue entity class.\r\n */\r\n export class AttributeIntValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeIntValue {\r\n public Value: number;\r\n public UnitSymbol: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.UnitSymbol = \r\n odataObject.UnitSymbol;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeIntValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeIntValueClass'] = AttributeIntValueClass;\r\n \r\n /**\r\n * AttributeMediaLocationValue entity class.\r\n */\r\n export class AttributeMediaLocationValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeMediaLocationValue {\r\n public Value: Entities.MediaLocation[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Value = undefined;\r\n if (odataObject.Value) {\r\n this.Value = [];\r\n for (var i = 0; i < odataObject.Value.length; i++) {\r\n if (odataObject.Value[i] != null) {\r\n if (odataObject.Value[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Value[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Value[i] = new entityDictionary[className](odataObject.Value[i])\r\n }\r\n } else {\r\n this.Value[i] = new MediaLocationClass(odataObject.Value[i]);\r\n }\r\n } else {\r\n this.Value[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeMediaLocationValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeMediaLocationValueClass'] = AttributeMediaLocationValueClass;\r\n \r\n /**\r\n * AttributeTextValue entity class.\r\n */\r\n export class AttributeTextValueClass\r\n extends AttributeValueBaseClass\r\n implements Entities.AttributeTextValue {\r\n public TextValue: string;\r\n public TextValueTranslations: Entities.TextValueTranslation[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.TextValue = \r\n odataObject.TextValue;\r\n \r\n this.TextValueTranslations = undefined;\r\n if (odataObject.TextValueTranslations) {\r\n this.TextValueTranslations = [];\r\n for (var i = 0; i < odataObject.TextValueTranslations.length; i++) {\r\n if (odataObject.TextValueTranslations[i] != null) {\r\n if (odataObject.TextValueTranslations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TextValueTranslations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TextValueTranslations[i] = new entityDictionary[className](odataObject.TextValueTranslations[i])\r\n }\r\n } else {\r\n this.TextValueTranslations[i] = new TextValueTranslationClass(odataObject.TextValueTranslations[i]);\r\n }\r\n } else {\r\n this.TextValueTranslations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.AttributeTextValue\";\r\n \r\n }\r\n }\r\n entityDictionary['AttributeTextValueClass'] = AttributeTextValueClass;\r\n \r\n /**\r\n * ButtonGridButton entity class.\r\n */\r\n export class ButtonGridButtonClass implements Entities.ButtonGridButton {\r\n public Action: number;\r\n public ActionProperty: string;\r\n public BackColorAsARGB: Entities.ARGBColor;\r\n public BorderColorAsARGB: Entities.ARGBColor;\r\n public Column: number;\r\n public ColumnSpan: number;\r\n public DisplayText: string;\r\n public FontColorAsARGB: Entities.ARGBColor;\r\n public ButtonId: number;\r\n public Row: number;\r\n public RowSpan: number;\r\n public UseCustomLookAndFeel: boolean;\r\n public PictureId: number;\r\n public PictureAsBase64: string;\r\n public FontStyle: number;\r\n public FontSize: number;\r\n public EnableCustomFontForPOS: boolean;\r\n public HideButtonText: boolean;\r\n public Tooltip: string;\r\n public EnableLiveContent: boolean;\r\n public NotificationContentAlignment: number;\r\n public ImageAlignment: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Action = \r\n odataObject.Action;\r\n \r\n this.ActionProperty = \r\n odataObject.ActionProperty;\r\n \r\n if (odataObject.BackColorAsARGB == null) {\r\n this.BackColorAsARGB = undefined;\r\n } else if (odataObject.BackColorAsARGB['@odata.type'] == null) {\r\n this.BackColorAsARGB = new ARGBColorClass(odataObject.BackColorAsARGB);\r\n } else {\r\n var className: string = odataObject.BackColorAsARGB['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.BackColorAsARGB = new entityDictionary[className](odataObject.BackColorAsARGB)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.BorderColorAsARGB == null) {\r\n this.BorderColorAsARGB = undefined;\r\n } else if (odataObject.BorderColorAsARGB['@odata.type'] == null) {\r\n this.BorderColorAsARGB = new ARGBColorClass(odataObject.BorderColorAsARGB);\r\n } else {\r\n var className: string = odataObject.BorderColorAsARGB['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.BorderColorAsARGB = new entityDictionary[className](odataObject.BorderColorAsARGB)\r\n }\r\n }\r\n\r\n \r\n this.Column = \r\n odataObject.Column;\r\n \r\n this.ColumnSpan = \r\n odataObject.ColumnSpan;\r\n \r\n this.DisplayText = \r\n odataObject.DisplayText;\r\n \r\n if (odataObject.FontColorAsARGB == null) {\r\n this.FontColorAsARGB = undefined;\r\n } else if (odataObject.FontColorAsARGB['@odata.type'] == null) {\r\n this.FontColorAsARGB = new ARGBColorClass(odataObject.FontColorAsARGB);\r\n } else {\r\n var className: string = odataObject.FontColorAsARGB['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.FontColorAsARGB = new entityDictionary[className](odataObject.FontColorAsARGB)\r\n }\r\n }\r\n\r\n \r\n this.ButtonId = \r\n odataObject.ButtonId;\r\n \r\n this.Row = \r\n odataObject.Row;\r\n \r\n this.RowSpan = \r\n odataObject.RowSpan;\r\n \r\n this.UseCustomLookAndFeel = \r\n odataObject.UseCustomLookAndFeel;\r\n \r\n this.PictureId = \r\n odataObject.PictureId;\r\n \r\n this.PictureAsBase64 = \r\n odataObject.PictureAsBase64;\r\n \r\n this.FontStyle = \r\n odataObject.FontStyle;\r\n \r\n this.FontSize = \r\n odataObject.FontSize;\r\n \r\n this.EnableCustomFontForPOS = \r\n odataObject.EnableCustomFontForPOS;\r\n \r\n this.HideButtonText = \r\n odataObject.HideButtonText;\r\n \r\n this.Tooltip = \r\n odataObject.Tooltip;\r\n \r\n this.EnableLiveContent = \r\n odataObject.EnableLiveContent;\r\n \r\n this.NotificationContentAlignment = \r\n odataObject.NotificationContentAlignment;\r\n \r\n this.ImageAlignment = \r\n odataObject.ImageAlignment;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ButtonGridButtonClass'] = ButtonGridButtonClass;\r\n \r\n /**\r\n * ARGBColor entity class.\r\n */\r\n export class ARGBColorClass implements Entities.ARGBColor {\r\n public A: number;\r\n public R: number;\r\n public G: number;\r\n public B: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.A = \r\n (odataObject.A != null) ? parseInt(odataObject.A, 10) : undefined;\r\n \r\n this.R = \r\n (odataObject.R != null) ? parseInt(odataObject.R, 10) : undefined;\r\n \r\n this.G = \r\n (odataObject.G != null) ? parseInt(odataObject.G, 10) : undefined;\r\n \r\n this.B = \r\n (odataObject.B != null) ? parseInt(odataObject.B, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['ARGBColorClass'] = ARGBColorClass;\r\n \r\n /**\r\n * ExtensiblePeriodicDiscountOfferType entity class.\r\n */\r\n export class ExtensiblePeriodicDiscountOfferTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensiblePeriodicDiscountOfferType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensiblePeriodicDiscountOfferType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensiblePeriodicDiscountOfferTypeClass'] = ExtensiblePeriodicDiscountOfferTypeClass;\r\n \r\n /**\r\n * ChargeLineOverride entity class.\r\n */\r\n export class ChargeLineOverrideClass implements Entities.ChargeLineOverride {\r\n public OriginalAmount: number;\r\n public OverrideAmount: number;\r\n public OverrideReasonDescription: string;\r\n public OverrideDateTime: Date;\r\n public UserId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OriginalAmount = \r\n (odataObject.OriginalAmount != null) ? parseFloat(odataObject.OriginalAmount) : undefined;\r\n \r\n this.OverrideAmount = \r\n (odataObject.OverrideAmount != null) ? parseFloat(odataObject.OverrideAmount) : undefined;\r\n \r\n this.OverrideReasonDescription = \r\n odataObject.OverrideReasonDescription;\r\n \r\n this.OverrideDateTime = \r\n (odataObject.OverrideDateTime instanceof Date) ? odataObject.OverrideDateTime\r\n : (odataObject.OverrideDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.OverrideDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.UserId = \r\n odataObject.UserId;\r\n \r\n }\r\n }\r\n entityDictionary['ChargeLineOverrideClass'] = ChargeLineOverrideClass;\r\n \r\n /**\r\n * TaxLineGTE entity class.\r\n */\r\n export class TaxLineGTEClass\r\n extends TaxLineClass\r\n implements Entities.TaxLineGTE {\r\n public TaxComponent: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.TaxComponent = \r\n odataObject.TaxComponent;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.TaxLineGTE\";\r\n \r\n }\r\n }\r\n entityDictionary['TaxLineGTEClass'] = TaxLineGTEClass;\r\n \r\n /**\r\n * TaxMeasure entity class.\r\n */\r\n export class TaxMeasureClass implements Entities.TaxMeasure {\r\n public Path: string;\r\n public Value: number;\r\n public DataAreaId: string;\r\n public SaleLineNumber: number;\r\n public StoreId: string;\r\n public TerminalId: string;\r\n public TransactionId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Path = \r\n odataObject.Path;\r\n \r\n this.Value = \r\n (odataObject.Value != null) ? parseFloat(odataObject.Value) : undefined;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.SaleLineNumber = \r\n (odataObject.SaleLineNumber != null) ? parseFloat(odataObject.SaleLineNumber) : undefined;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TaxMeasureClass'] = TaxMeasureClass;\r\n \r\n /**\r\n * DetailedLineStatus entity class.\r\n */\r\n export class DetailedLineStatusClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.DetailedLineStatus {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.DetailedLineStatus\";\r\n \r\n }\r\n }\r\n entityDictionary['DetailedLineStatusClass'] = DetailedLineStatusClass;\r\n \r\n /**\r\n * CardTokenInfo entity class.\r\n */\r\n export class CardTokenInfoClass implements Entities.CardTokenInfo {\r\n public CardToken: string;\r\n public UniqueCardId: string;\r\n public ServiceAccountId: string;\r\n public MaskedCardNumber: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CardToken = \r\n odataObject.CardToken;\r\n \r\n this.UniqueCardId = \r\n odataObject.UniqueCardId;\r\n \r\n this.ServiceAccountId = \r\n odataObject.ServiceAccountId;\r\n \r\n this.MaskedCardNumber = \r\n odataObject.MaskedCardNumber;\r\n \r\n }\r\n }\r\n entityDictionary['CardTokenInfoClass'] = CardTokenInfoClass;\r\n \r\n /**\r\n * DataverseTenderLine entity class.\r\n */\r\n export class DataverseTenderLineClass\r\n extends TenderLineClass\r\n implements Entities.DataverseTenderLine {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.DataverseTenderLine\";\r\n \r\n }\r\n }\r\n entityDictionary['DataverseTenderLineClass'] = DataverseTenderLineClass;\r\n \r\n /**\r\n * PaymentError entity class.\r\n */\r\n export class PaymentErrorClass implements Entities.PaymentError {\r\n public Code: string;\r\n public Message: string;\r\n public IsLocalized: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Code = \r\n odataObject.Code;\r\n \r\n this.Message = \r\n odataObject.Message;\r\n \r\n this.IsLocalized = \r\n odataObject.IsLocalized;\r\n \r\n }\r\n }\r\n entityDictionary['PaymentErrorClass'] = PaymentErrorClass;\r\n \r\n /**\r\n * ProductAttributeMetadataFlags entity class.\r\n */\r\n export class ProductAttributeMetadataFlagsClass implements Entities.ProductAttributeMetadataFlags {\r\n public IsSearchable: boolean;\r\n public IsRetrievable: boolean;\r\n public IsQueryable: boolean;\r\n public IsRefinable: boolean;\r\n public IsSortable: boolean;\r\n public IsMultiValue: boolean;\r\n public IsTokenNormalization: boolean;\r\n public IsCompleteMatch: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.IsSearchable = \r\n odataObject.IsSearchable;\r\n \r\n this.IsRetrievable = \r\n odataObject.IsRetrievable;\r\n \r\n this.IsQueryable = \r\n odataObject.IsQueryable;\r\n \r\n this.IsRefinable = \r\n odataObject.IsRefinable;\r\n \r\n this.IsSortable = \r\n odataObject.IsSortable;\r\n \r\n this.IsMultiValue = \r\n odataObject.IsMultiValue;\r\n \r\n this.IsTokenNormalization = \r\n odataObject.IsTokenNormalization;\r\n \r\n this.IsCompleteMatch = \r\n odataObject.IsCompleteMatch;\r\n \r\n }\r\n }\r\n entityDictionary['ProductAttributeMetadataFlagsClass'] = ProductAttributeMetadataFlagsClass;\r\n \r\n /**\r\n * UnitOfMeasureConversion entity class.\r\n */\r\n export class UnitOfMeasureConversionClass implements Entities.UnitOfMeasureConversion {\r\n public ItemId: string;\r\n public FromUnitOfMeasureId: string;\r\n public ToUnitOfMeasureId: string;\r\n public FromUnitOfMeasureSymbol: string;\r\n public ToUnitOfMeasureSymbol: string;\r\n public IsBackward: boolean;\r\n public RecordId: number;\r\n public ProductRecordId: number;\r\n public Factor: number;\r\n public Numerator: number;\r\n public Denominator: number;\r\n public InnerOffset: number;\r\n public OuterOffset: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.FromUnitOfMeasureId = \r\n odataObject.FromUnitOfMeasureId;\r\n \r\n this.ToUnitOfMeasureId = \r\n odataObject.ToUnitOfMeasureId;\r\n \r\n this.FromUnitOfMeasureSymbol = \r\n odataObject.FromUnitOfMeasureSymbol;\r\n \r\n this.ToUnitOfMeasureSymbol = \r\n odataObject.ToUnitOfMeasureSymbol;\r\n \r\n this.IsBackward = \r\n odataObject.IsBackward;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.Factor = \r\n (odataObject.Factor != null) ? parseFloat(odataObject.Factor) : undefined;\r\n \r\n this.Numerator = \r\n odataObject.Numerator;\r\n \r\n this.Denominator = \r\n odataObject.Denominator;\r\n \r\n this.InnerOffset = \r\n (odataObject.InnerOffset != null) ? parseFloat(odataObject.InnerOffset) : undefined;\r\n \r\n this.OuterOffset = \r\n (odataObject.OuterOffset != null) ? parseFloat(odataObject.OuterOffset) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['UnitOfMeasureConversionClass'] = UnitOfMeasureConversionClass;\r\n \r\n /**\r\n * PriceLine entity class.\r\n */\r\n export class PriceLineClass implements Entities.PriceLine {\r\n public RecordId: number;\r\n public Value: number;\r\n public PriceMethod: string;\r\n public OriginId: string;\r\n public PriceChangedByExtensions: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Value = \r\n (odataObject.Value != null) ? parseFloat(odataObject.Value) : undefined;\r\n \r\n this.PriceMethod = \r\n odataObject.PriceMethod;\r\n \r\n this.OriginId = \r\n odataObject.OriginId;\r\n \r\n this.PriceChangedByExtensions = \r\n odataObject.PriceChangedByExtensions;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PriceLineClass'] = PriceLineClass;\r\n \r\n /**\r\n * TradeAgreementPriceLine entity class.\r\n */\r\n export class TradeAgreementPriceLineClass\r\n extends PriceLineClass\r\n implements Entities.TradeAgreementPriceLine {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.TradeAgreementPriceLine\";\r\n \r\n }\r\n }\r\n entityDictionary['TradeAgreementPriceLineClass'] = TradeAgreementPriceLineClass;\r\n \r\n /**\r\n * PriceAdjustmentPriceLine entity class.\r\n */\r\n export class PriceAdjustmentPriceLineClass\r\n extends PriceLineClass\r\n implements Entities.PriceAdjustmentPriceLine {\r\n public IsCompoundable: boolean;\r\n public Concurrency: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.IsCompoundable = \r\n odataObject.IsCompoundable;\r\n \r\n this.Concurrency = \r\n odataObject.Concurrency;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.PriceAdjustmentPriceLine\";\r\n \r\n }\r\n }\r\n entityDictionary['PriceAdjustmentPriceLineClass'] = PriceAdjustmentPriceLineClass;\r\n \r\n /**\r\n * BasePriceLine entity class.\r\n */\r\n export class BasePriceLineClass\r\n extends PriceLineClass\r\n implements Entities.BasePriceLine {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.BasePriceLine\";\r\n \r\n }\r\n }\r\n entityDictionary['BasePriceLineClass'] = BasePriceLineClass;\r\n \r\n /**\r\n * ReturnLabelContent entity class.\r\n */\r\n export class ReturnLabelContentClass implements Entities.ReturnLabelContent {\r\n public ReturnLocationText: string;\r\n public ReturnWarehouseText: string;\r\n public ReturnReasonText: string;\r\n public ReturnPalleteText: string;\r\n public ItemId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ReturnLocationText = \r\n odataObject.ReturnLocationText;\r\n \r\n this.ReturnWarehouseText = \r\n odataObject.ReturnWarehouseText;\r\n \r\n this.ReturnReasonText = \r\n odataObject.ReturnReasonText;\r\n \r\n this.ReturnPalleteText = \r\n odataObject.ReturnPalleteText;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReturnLabelContentClass'] = ReturnLabelContentClass;\r\n \r\n /**\r\n * LoyaltyRewardPointLine entity class.\r\n */\r\n export class LoyaltyRewardPointLineClass implements Entities.LoyaltyRewardPointLine {\r\n public TransactionId: string;\r\n public SaleLineNumber: number;\r\n public LoyaltyGroupRecordId: number;\r\n public LoyaltyCardNumber: string;\r\n public CustomerAccount: string;\r\n public EntryDate: Date;\r\n public EntryTime: number;\r\n public EntryTypeValue: number;\r\n public ExpirationDate: Date;\r\n public LineNumber: number;\r\n public LoyaltyTierRecordId: number;\r\n public RewardPointRecordId: number;\r\n public RewardPointAmountQuantity: number;\r\n public RewardPointId: string;\r\n public RewardPointIsRedeemable: boolean;\r\n public RewardPointType: string;\r\n public RewardPointCurrency: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.SaleLineNumber = \r\n (odataObject.SaleLineNumber != null) ? parseFloat(odataObject.SaleLineNumber) : undefined;\r\n \r\n this.LoyaltyGroupRecordId = \r\n (odataObject.LoyaltyGroupRecordId != null) ? parseInt(odataObject.LoyaltyGroupRecordId, 10) : undefined;\r\n \r\n this.LoyaltyCardNumber = \r\n odataObject.LoyaltyCardNumber;\r\n \r\n this.CustomerAccount = \r\n odataObject.CustomerAccount;\r\n \r\n this.EntryDate = \r\n (odataObject.EntryDate instanceof Date) ? odataObject.EntryDate\r\n : (odataObject.EntryDate != null) ? jsonLightReadStringPropertyValue(odataObject.EntryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EntryTime = \r\n odataObject.EntryTime;\r\n \r\n this.EntryTypeValue = \r\n odataObject.EntryTypeValue;\r\n \r\n this.ExpirationDate = \r\n (odataObject.ExpirationDate instanceof Date) ? odataObject.ExpirationDate\r\n : (odataObject.ExpirationDate != null) ? jsonLightReadStringPropertyValue(odataObject.ExpirationDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.LoyaltyTierRecordId = \r\n (odataObject.LoyaltyTierRecordId != null) ? parseInt(odataObject.LoyaltyTierRecordId, 10) : undefined;\r\n \r\n this.RewardPointRecordId = \r\n (odataObject.RewardPointRecordId != null) ? parseInt(odataObject.RewardPointRecordId, 10) : undefined;\r\n \r\n this.RewardPointAmountQuantity = \r\n (odataObject.RewardPointAmountQuantity != null) ? parseFloat(odataObject.RewardPointAmountQuantity) : undefined;\r\n \r\n this.RewardPointId = \r\n odataObject.RewardPointId;\r\n \r\n this.RewardPointIsRedeemable = \r\n odataObject.RewardPointIsRedeemable;\r\n \r\n this.RewardPointType = \r\n odataObject.RewardPointType;\r\n \r\n this.RewardPointCurrency = \r\n odataObject.RewardPointCurrency;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LoyaltyRewardPointLineClass'] = LoyaltyRewardPointLineClass;\r\n \r\n /**\r\n * TrackingInfo entity class.\r\n */\r\n export class TrackingInfoClass implements Entities.TrackingInfo {\r\n public TrackingNumber: string;\r\n public ServiceType: string;\r\n public PackageWeight: Entities.Weight;\r\n public ShippedOnDate: Date;\r\n public Status: string;\r\n public DeliveredOnDate: Date;\r\n public EstimatedDeliveryDate: Date;\r\n public TrackingUrl: string;\r\n public PackagingType: string;\r\n public DestinationAddress: Entities.Address;\r\n public OriginAddress: Entities.Address;\r\n public ShipmentProgress: Entities.ShipmentProgress[];\r\n public ShippingCharge: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TrackingNumber = \r\n odataObject.TrackingNumber;\r\n \r\n this.ServiceType = \r\n odataObject.ServiceType;\r\n \r\n if (odataObject.PackageWeight == null) {\r\n this.PackageWeight = undefined;\r\n } else if (odataObject.PackageWeight['@odata.type'] == null) {\r\n this.PackageWeight = new WeightClass(odataObject.PackageWeight);\r\n } else {\r\n var className: string = odataObject.PackageWeight['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PackageWeight = new entityDictionary[className](odataObject.PackageWeight)\r\n }\r\n }\r\n\r\n \r\n this.ShippedOnDate = \r\n (odataObject.ShippedOnDate instanceof Date) ? odataObject.ShippedOnDate\r\n : (odataObject.ShippedOnDate != null) ? jsonLightReadStringPropertyValue(odataObject.ShippedOnDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Status = \r\n odataObject.Status;\r\n \r\n this.DeliveredOnDate = \r\n (odataObject.DeliveredOnDate instanceof Date) ? odataObject.DeliveredOnDate\r\n : (odataObject.DeliveredOnDate != null) ? jsonLightReadStringPropertyValue(odataObject.DeliveredOnDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.EstimatedDeliveryDate = \r\n (odataObject.EstimatedDeliveryDate instanceof Date) ? odataObject.EstimatedDeliveryDate\r\n : (odataObject.EstimatedDeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.EstimatedDeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TrackingUrl = \r\n odataObject.TrackingUrl;\r\n \r\n this.PackagingType = \r\n odataObject.PackagingType;\r\n \r\n if (odataObject.DestinationAddress == null) {\r\n this.DestinationAddress = undefined;\r\n } else if (odataObject.DestinationAddress['@odata.type'] == null) {\r\n this.DestinationAddress = new AddressClass(odataObject.DestinationAddress);\r\n } else {\r\n var className: string = odataObject.DestinationAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DestinationAddress = new entityDictionary[className](odataObject.DestinationAddress)\r\n }\r\n }\r\n\r\n \r\n if (odataObject.OriginAddress == null) {\r\n this.OriginAddress = undefined;\r\n } else if (odataObject.OriginAddress['@odata.type'] == null) {\r\n this.OriginAddress = new AddressClass(odataObject.OriginAddress);\r\n } else {\r\n var className: string = odataObject.OriginAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.OriginAddress = new entityDictionary[className](odataObject.OriginAddress)\r\n }\r\n }\r\n\r\n \r\n this.ShipmentProgress = undefined;\r\n if (odataObject.ShipmentProgress) {\r\n this.ShipmentProgress = [];\r\n for (var i = 0; i < odataObject.ShipmentProgress.length; i++) {\r\n if (odataObject.ShipmentProgress[i] != null) {\r\n if (odataObject.ShipmentProgress[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ShipmentProgress[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ShipmentProgress[i] = new entityDictionary[className](odataObject.ShipmentProgress[i])\r\n }\r\n } else {\r\n this.ShipmentProgress[i] = new ShipmentProgressClass(odataObject.ShipmentProgress[i]);\r\n }\r\n } else {\r\n this.ShipmentProgress[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ShippingCharge = \r\n (odataObject.ShippingCharge != null) ? parseFloat(odataObject.ShippingCharge) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['TrackingInfoClass'] = TrackingInfoClass;\r\n \r\n /**\r\n * Weight entity class.\r\n */\r\n export class WeightClass implements Entities.Weight {\r\n public Value: number;\r\n public Unit: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Value = \r\n (odataObject.Value != null) ? parseFloat(odataObject.Value) : undefined;\r\n \r\n this.Unit = \r\n odataObject.Unit;\r\n \r\n }\r\n }\r\n entityDictionary['WeightClass'] = WeightClass;\r\n \r\n /**\r\n * ShipmentProgress entity class.\r\n */\r\n export class ShipmentProgressClass implements Entities.ShipmentProgress {\r\n public Location: Entities.Address;\r\n public DateTime: Date;\r\n public Activity: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.Location == null) {\r\n this.Location = undefined;\r\n } else if (odataObject.Location['@odata.type'] == null) {\r\n this.Location = new AddressClass(odataObject.Location);\r\n } else {\r\n var className: string = odataObject.Location['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Location = new entityDictionary[className](odataObject.Location)\r\n }\r\n }\r\n\r\n \r\n this.DateTime = \r\n (odataObject.DateTime instanceof Date) ? odataObject.DateTime\r\n : (odataObject.DateTime != null) ? jsonLightReadStringPropertyValue(odataObject.DateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Activity = \r\n odataObject.Activity;\r\n \r\n }\r\n }\r\n entityDictionary['ShipmentProgressClass'] = ShipmentProgressClass;\r\n \r\n /**\r\n * ShiftKey entity class.\r\n */\r\n export class ShiftKeyClass implements Entities.ShiftKey {\r\n public ShiftTerminalId: string;\r\n public ShiftId: number;\r\n public Store: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ShiftTerminalId = \r\n odataObject.ShiftTerminalId;\r\n \r\n this.ShiftId = \r\n (odataObject.ShiftId != null) ? parseInt(odataObject.ShiftId, 10) : undefined;\r\n \r\n this.Store = \r\n odataObject.Store;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShiftKeyClass'] = ShiftKeyClass;\r\n \r\n /**\r\n * LocalizedText entity class.\r\n */\r\n export class LocalizedTextClass implements Entities.LocalizedText {\r\n public RecordId: number;\r\n public LanguageId: string;\r\n public TextId: string;\r\n public Text: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.TextId = \r\n odataObject.TextId;\r\n \r\n this.Text = \r\n odataObject.Text;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LocalizedTextClass'] = LocalizedTextClass;\r\n \r\n /**\r\n * AddressFormattingInfo entity class.\r\n */\r\n export class AddressFormattingInfoClass implements Entities.AddressFormattingInfo {\r\n public AddressComponentNameValue: number;\r\n public LineNumber: number;\r\n public IsDataEntryOnly: boolean;\r\n public NewLine: boolean;\r\n public Expand: boolean;\r\n public Inactive: boolean;\r\n public Special: boolean;\r\n public NumberOfSpaces: number;\r\n public Separator: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AddressComponentNameValue = \r\n odataObject.AddressComponentNameValue;\r\n \r\n this.LineNumber = \r\n odataObject.LineNumber;\r\n \r\n this.IsDataEntryOnly = \r\n odataObject.IsDataEntryOnly;\r\n \r\n this.NewLine = \r\n odataObject.NewLine;\r\n \r\n this.Expand = \r\n odataObject.Expand;\r\n \r\n this.Inactive = \r\n odataObject.Inactive;\r\n \r\n this.Special = \r\n odataObject.Special;\r\n \r\n this.NumberOfSpaces = \r\n odataObject.NumberOfSpaces;\r\n \r\n this.Separator = \r\n odataObject.Separator;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AddressFormattingInfoClass'] = AddressFormattingInfoClass;\r\n \r\n /**\r\n * HardwareConfigurations entity class.\r\n */\r\n export class HardwareConfigurationsClass implements Entities.HardwareConfigurations {\r\n public CashDrawerConfigurations: Entities.HardwareConfiguration[];\r\n public PrinterConfigurations: Entities.HardwareConfiguration[];\r\n public PinPadConfiguration: Entities.HardwareConfiguration;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CashDrawerConfigurations = undefined;\r\n if (odataObject.CashDrawerConfigurations) {\r\n this.CashDrawerConfigurations = [];\r\n for (var i = 0; i < odataObject.CashDrawerConfigurations.length; i++) {\r\n if (odataObject.CashDrawerConfigurations[i] != null) {\r\n if (odataObject.CashDrawerConfigurations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.CashDrawerConfigurations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.CashDrawerConfigurations[i] = new entityDictionary[className](odataObject.CashDrawerConfigurations[i])\r\n }\r\n } else {\r\n this.CashDrawerConfigurations[i] = new HardwareConfigurationClass(odataObject.CashDrawerConfigurations[i]);\r\n }\r\n } else {\r\n this.CashDrawerConfigurations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.PrinterConfigurations = undefined;\r\n if (odataObject.PrinterConfigurations) {\r\n this.PrinterConfigurations = [];\r\n for (var i = 0; i < odataObject.PrinterConfigurations.length; i++) {\r\n if (odataObject.PrinterConfigurations[i] != null) {\r\n if (odataObject.PrinterConfigurations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.PrinterConfigurations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PrinterConfigurations[i] = new entityDictionary[className](odataObject.PrinterConfigurations[i])\r\n }\r\n } else {\r\n this.PrinterConfigurations[i] = new HardwareConfigurationClass(odataObject.PrinterConfigurations[i]);\r\n }\r\n } else {\r\n this.PrinterConfigurations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n if (odataObject.PinPadConfiguration == null) {\r\n this.PinPadConfiguration = undefined;\r\n } else if (odataObject.PinPadConfiguration['@odata.type'] == null) {\r\n this.PinPadConfiguration = new HardwareConfigurationClass(odataObject.PinPadConfiguration);\r\n } else {\r\n var className: string = odataObject.PinPadConfiguration['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PinPadConfiguration = new entityDictionary[className](odataObject.PinPadConfiguration)\r\n }\r\n }\r\n\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareConfigurationsClass'] = HardwareConfigurationsClass;\r\n \r\n /**\r\n * HardwareConfiguration entity class.\r\n */\r\n export class HardwareConfigurationClass implements Entities.HardwareConfiguration {\r\n public RecordId: number;\r\n public HardwareStationRecordId: number;\r\n public TerminalId: string;\r\n public DeviceName: string;\r\n public IPAddress: string;\r\n public Port: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.HardwareStationRecordId = \r\n (odataObject.HardwareStationRecordId != null) ? parseInt(odataObject.HardwareStationRecordId, 10) : undefined;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.DeviceName = \r\n odataObject.DeviceName;\r\n \r\n this.IPAddress = \r\n odataObject.IPAddress;\r\n \r\n this.Port = \r\n odataObject.Port;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['HardwareConfigurationClass'] = HardwareConfigurationClass;\r\n \r\n /**\r\n * Printer entity class.\r\n */\r\n export class PrinterClass implements Entities.Printer {\r\n public Name: string;\r\n public PrinterType: number;\r\n public Terminal: number;\r\n public PrintBehaviorValue: number;\r\n public ReceiptLayoutId: string;\r\n public HardwareProfileId: string;\r\n public ReceiptType: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.PrinterType = \r\n odataObject.PrinterType;\r\n \r\n this.Terminal = \r\n (odataObject.Terminal != null) ? parseInt(odataObject.Terminal, 10) : undefined;\r\n \r\n this.PrintBehaviorValue = \r\n odataObject.PrintBehaviorValue;\r\n \r\n this.ReceiptLayoutId = \r\n odataObject.ReceiptLayoutId;\r\n \r\n this.HardwareProfileId = \r\n odataObject.HardwareProfileId;\r\n \r\n this.ReceiptType = \r\n odataObject.ReceiptType;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['PrinterClass'] = PrinterClass;\r\n \r\n /**\r\n * CustomerRefinerValue entity class.\r\n */\r\n export class CustomerRefinerValueClass\r\n extends SearchRefinerValueClass\r\n implements Entities.CustomerRefinerValue {\r\n public RefinerSourceValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RefinerSourceValue = \r\n odataObject.RefinerSourceValue;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.CustomerRefinerValue\";\r\n \r\n }\r\n }\r\n entityDictionary['CustomerRefinerValueClass'] = CustomerRefinerValueClass;\r\n \r\n /**\r\n * TransferOrderJournalLine entity class.\r\n */\r\n export class TransferOrderJournalLineClass implements Entities.TransferOrderJournalLine {\r\n public ItemId: string;\r\n public ItemName: string;\r\n public InventDimId: string;\r\n public TotalQuantityShipped: number;\r\n public QuantityShipped: number;\r\n public TransferQuantity: number;\r\n public UnitId: string;\r\n public ConfigId: string;\r\n public InventSizeId: string;\r\n public InventColorId: string;\r\n public InventStyleId: string;\r\n public DeliveryMethod: string;\r\n public Barcode: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ItemName = \r\n odataObject.ItemName;\r\n \r\n this.InventDimId = \r\n odataObject.InventDimId;\r\n \r\n this.TotalQuantityShipped = \r\n (odataObject.TotalQuantityShipped != null) ? parseFloat(odataObject.TotalQuantityShipped) : undefined;\r\n \r\n this.QuantityShipped = \r\n (odataObject.QuantityShipped != null) ? parseFloat(odataObject.QuantityShipped) : undefined;\r\n \r\n this.TransferQuantity = \r\n (odataObject.TransferQuantity != null) ? parseFloat(odataObject.TransferQuantity) : undefined;\r\n \r\n this.UnitId = \r\n odataObject.UnitId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.InventSizeId = \r\n odataObject.InventSizeId;\r\n \r\n this.InventColorId = \r\n odataObject.InventColorId;\r\n \r\n this.InventStyleId = \r\n odataObject.InventStyleId;\r\n \r\n this.DeliveryMethod = \r\n odataObject.DeliveryMethod;\r\n \r\n this.Barcode = \r\n odataObject.Barcode;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TransferOrderJournalLineClass'] = TransferOrderJournalLineClass;\r\n \r\n /**\r\n * InventoryDocumentSourceSerialNumberLine entity class.\r\n */\r\n export class InventoryDocumentSourceSerialNumberLineClass implements Entities.InventoryDocumentSourceSerialNumberLine {\r\n public SourceDocumentTypeValue: number;\r\n public SourceDocumentId: string;\r\n public DocumentLineRecordId: number;\r\n public InventTransRecordId: number;\r\n public LineId: string;\r\n public Quantity: number;\r\n public SerialNumber: string;\r\n public StatusValue: number;\r\n public ProductId: number;\r\n public DataAreaId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SourceDocumentTypeValue = \r\n odataObject.SourceDocumentTypeValue;\r\n \r\n this.SourceDocumentId = \r\n odataObject.SourceDocumentId;\r\n \r\n this.DocumentLineRecordId = \r\n (odataObject.DocumentLineRecordId != null) ? parseInt(odataObject.DocumentLineRecordId, 10) : undefined;\r\n \r\n this.InventTransRecordId = \r\n (odataObject.InventTransRecordId != null) ? parseInt(odataObject.InventTransRecordId, 10) : undefined;\r\n \r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.SerialNumber = \r\n odataObject.SerialNumber;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentSourceSerialNumberLineClass'] = InventoryDocumentSourceSerialNumberLineClass;\r\n \r\n /**\r\n * KitTransactionLine entity class.\r\n */\r\n export class KitTransactionLineClass implements Entities.KitTransactionLine {\r\n public ItemId: string;\r\n public Quantity: number;\r\n public InventoryDimensionId: string;\r\n public ProductId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.InventoryDimensionId = \r\n odataObject.InventoryDimensionId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['KitTransactionLineClass'] = KitTransactionLineClass;\r\n \r\n /**\r\n * StoreAddressBook entity class.\r\n */\r\n export class StoreAddressBookClass implements Entities.StoreAddressBook {\r\n public AddressBookId: number;\r\n public StoreId: number;\r\n public AddressBookTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AddressBookId = \r\n (odataObject.AddressBookId != null) ? parseInt(odataObject.AddressBookId, 10) : undefined;\r\n \r\n this.StoreId = \r\n (odataObject.StoreId != null) ? parseInt(odataObject.StoreId, 10) : undefined;\r\n \r\n this.AddressBookTypeValue = \r\n odataObject.AddressBookTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['StoreAddressBookClass'] = StoreAddressBookClass;\r\n \r\n /**\r\n * TenderDetail entity class.\r\n */\r\n export class TenderDetailClass implements Entities.TenderDetail {\r\n public LineNumber: number;\r\n public Amount: number;\r\n public AmountInForeignCurrency: number;\r\n public ForeignCurrencyExchangeRate: number;\r\n public ForeignCurrency: string;\r\n public BankBagNumber: string;\r\n public TenderTypeId: string;\r\n public TenderRecount: number;\r\n public DenominationDetails: Entities.DenominationDetail[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.AmountInForeignCurrency = \r\n (odataObject.AmountInForeignCurrency != null) ? parseFloat(odataObject.AmountInForeignCurrency) : undefined;\r\n \r\n this.ForeignCurrencyExchangeRate = \r\n (odataObject.ForeignCurrencyExchangeRate != null) ? parseFloat(odataObject.ForeignCurrencyExchangeRate) : undefined;\r\n \r\n this.ForeignCurrency = \r\n odataObject.ForeignCurrency;\r\n \r\n this.BankBagNumber = \r\n odataObject.BankBagNumber;\r\n \r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this.TenderRecount = \r\n odataObject.TenderRecount;\r\n \r\n this.DenominationDetails = undefined;\r\n if (odataObject.DenominationDetails) {\r\n this.DenominationDetails = [];\r\n for (var i = 0; i < odataObject.DenominationDetails.length; i++) {\r\n if (odataObject.DenominationDetails[i] != null) {\r\n if (odataObject.DenominationDetails[i]['@odata.type'] != null) {\r\n var className: string = odataObject.DenominationDetails[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DenominationDetails[i] = new entityDictionary[className](odataObject.DenominationDetails[i])\r\n }\r\n } else {\r\n this.DenominationDetails[i] = new DenominationDetailClass(odataObject.DenominationDetails[i]);\r\n }\r\n } else {\r\n this.DenominationDetails[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TenderDetailClass'] = TenderDetailClass;\r\n \r\n /**\r\n * DenominationDetail entity class.\r\n */\r\n export class DenominationDetailClass implements Entities.DenominationDetail {\r\n public Type: number;\r\n public Currency: string;\r\n public DenominationAmount: number;\r\n public QuantityDeclared: number;\r\n public AmountDeclared: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Type = \r\n odataObject.Type;\r\n \r\n this.Currency = \r\n odataObject.Currency;\r\n \r\n this.DenominationAmount = \r\n (odataObject.DenominationAmount != null) ? parseFloat(odataObject.DenominationAmount) : undefined;\r\n \r\n this.QuantityDeclared = \r\n odataObject.QuantityDeclared;\r\n \r\n this.AmountDeclared = \r\n (odataObject.AmountDeclared != null) ? parseFloat(odataObject.AmountDeclared) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DenominationDetailClass'] = DenominationDetailClass;\r\n \r\n /**\r\n * ButtonGridZone entity class.\r\n */\r\n export class ButtonGridZoneClass implements Entities.ButtonGridZone {\r\n public ButtonGridId: string;\r\n public ZoneId: string;\r\n public ZoneName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ButtonGridId = \r\n odataObject.ButtonGridId;\r\n \r\n this.ZoneId = \r\n odataObject.ZoneId;\r\n \r\n this.ZoneName = \r\n odataObject.ZoneName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ButtonGridZoneClass'] = ButtonGridZoneClass;\r\n \r\n /**\r\n * ImageZone entity class.\r\n */\r\n export class ImageZoneClass implements Entities.ImageZone {\r\n public PictureId: number;\r\n public PictureAsBase64: string;\r\n public ZoneId: string;\r\n public ZoneName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PictureId = \r\n odataObject.PictureId;\r\n \r\n this.PictureAsBase64 = \r\n odataObject.PictureAsBase64;\r\n \r\n this.ZoneId = \r\n odataObject.ZoneId;\r\n \r\n this.ZoneName = \r\n odataObject.ZoneName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ImageZoneClass'] = ImageZoneClass;\r\n \r\n /**\r\n * ReportZone entity class.\r\n */\r\n export class ReportZoneClass implements Entities.ReportZone {\r\n public ReportRecordId: number;\r\n public ZoneId: string;\r\n public ZoneName: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ReportRecordId = \r\n (odataObject.ReportRecordId != null) ? parseInt(odataObject.ReportRecordId, 10) : undefined;\r\n \r\n this.ZoneId = \r\n odataObject.ZoneId;\r\n \r\n this.ZoneName = \r\n odataObject.ZoneName;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReportZoneClass'] = ReportZoneClass;\r\n \r\n /**\r\n * SalesInvoiceLine entity class.\r\n */\r\n export class SalesInvoiceLineClass implements Entities.SalesInvoiceLine {\r\n public RecordId: number;\r\n public ItemId: string;\r\n public ProductId: number;\r\n public ProductName: string;\r\n public InventDimensionId: string;\r\n public InventTransactionId: string;\r\n public Quantity: number;\r\n public Price: number;\r\n public DiscountPercent: number;\r\n public DiscountAmount: number;\r\n public BatchId: string;\r\n public NetAmount: number;\r\n public Site: string;\r\n public Warehouse: string;\r\n public SerialId: string;\r\n public ColorId: string;\r\n public SizeId: string;\r\n public StyleId: string;\r\n public ConfigId: string;\r\n public ColorName: string;\r\n public SizeName: string;\r\n public StyleName: string;\r\n public ConfigName: string;\r\n public SalesTaxGroup: string;\r\n public ItemTaxGroup: string;\r\n public SalesMarkup: number;\r\n public TotalDiscount: number;\r\n public TotalPercentageDiscount: number;\r\n public LineDiscount: number;\r\n public PeriodicDiscount: number;\r\n public PeriodicPercentageDiscount: number;\r\n public LineManualDiscountPercentage: number;\r\n public LineManualDiscountAmount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.ProductName = \r\n odataObject.ProductName;\r\n \r\n this.InventDimensionId = \r\n odataObject.InventDimensionId;\r\n \r\n this.InventTransactionId = \r\n odataObject.InventTransactionId;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.Price = \r\n (odataObject.Price != null) ? parseFloat(odataObject.Price) : undefined;\r\n \r\n this.DiscountPercent = \r\n (odataObject.DiscountPercent != null) ? parseFloat(odataObject.DiscountPercent) : undefined;\r\n \r\n this.DiscountAmount = \r\n (odataObject.DiscountAmount != null) ? parseFloat(odataObject.DiscountAmount) : undefined;\r\n \r\n this.BatchId = \r\n odataObject.BatchId;\r\n \r\n this.NetAmount = \r\n (odataObject.NetAmount != null) ? parseFloat(odataObject.NetAmount) : undefined;\r\n \r\n this.Site = \r\n odataObject.Site;\r\n \r\n this.Warehouse = \r\n odataObject.Warehouse;\r\n \r\n this.SerialId = \r\n odataObject.SerialId;\r\n \r\n this.ColorId = \r\n odataObject.ColorId;\r\n \r\n this.SizeId = \r\n odataObject.SizeId;\r\n \r\n this.StyleId = \r\n odataObject.StyleId;\r\n \r\n this.ConfigId = \r\n odataObject.ConfigId;\r\n \r\n this.ColorName = \r\n odataObject.ColorName;\r\n \r\n this.SizeName = \r\n odataObject.SizeName;\r\n \r\n this.StyleName = \r\n odataObject.StyleName;\r\n \r\n this.ConfigName = \r\n odataObject.ConfigName;\r\n \r\n this.SalesTaxGroup = \r\n odataObject.SalesTaxGroup;\r\n \r\n this.ItemTaxGroup = \r\n odataObject.ItemTaxGroup;\r\n \r\n this.SalesMarkup = \r\n (odataObject.SalesMarkup != null) ? parseFloat(odataObject.SalesMarkup) : undefined;\r\n \r\n this.TotalDiscount = \r\n (odataObject.TotalDiscount != null) ? parseFloat(odataObject.TotalDiscount) : undefined;\r\n \r\n this.TotalPercentageDiscount = \r\n (odataObject.TotalPercentageDiscount != null) ? parseFloat(odataObject.TotalPercentageDiscount) : undefined;\r\n \r\n this.LineDiscount = \r\n (odataObject.LineDiscount != null) ? parseFloat(odataObject.LineDiscount) : undefined;\r\n \r\n this.PeriodicDiscount = \r\n (odataObject.PeriodicDiscount != null) ? parseFloat(odataObject.PeriodicDiscount) : undefined;\r\n \r\n this.PeriodicPercentageDiscount = \r\n (odataObject.PeriodicPercentageDiscount != null) ? parseFloat(odataObject.PeriodicPercentageDiscount) : undefined;\r\n \r\n this.LineManualDiscountPercentage = \r\n (odataObject.LineManualDiscountPercentage != null) ? parseFloat(odataObject.LineManualDiscountPercentage) : undefined;\r\n \r\n this.LineManualDiscountAmount = \r\n (odataObject.LineManualDiscountAmount != null) ? parseFloat(odataObject.LineManualDiscountAmount) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['SalesInvoiceLineClass'] = SalesInvoiceLineClass;\r\n \r\n /**\r\n * ReportRow entity class.\r\n */\r\n export class ReportRowClass implements Entities.ReportRow {\r\n public RowData: Entities.CommerceProperty[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RowData = undefined;\r\n if (odataObject.RowData) {\r\n this.RowData = [];\r\n for (var i = 0; i < odataObject.RowData.length; i++) {\r\n if (odataObject.RowData[i] != null) {\r\n if (odataObject.RowData[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RowData[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RowData[i] = new entityDictionary[className](odataObject.RowData[i])\r\n }\r\n } else {\r\n this.RowData[i] = new CommercePropertyClass(odataObject.RowData[i]);\r\n }\r\n } else {\r\n this.RowData[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ReportRowClass'] = ReportRowClass;\r\n \r\n /**\r\n * FormAnnotation entity class.\r\n */\r\n export class FormAnnotationClass\r\n extends AnnotationClass\r\n implements Entities.FormAnnotation {\r\n public MenuItemLabel: string;\r\n public MenuItemName: string;\r\n public MenuItemType: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.MenuItemLabel = \r\n odataObject.MenuItemLabel;\r\n \r\n this.MenuItemName = \r\n odataObject.MenuItemName;\r\n \r\n this.MenuItemType = \r\n odataObject.MenuItemType;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.FormAnnotation\";\r\n \r\n }\r\n }\r\n entityDictionary['FormAnnotationClass'] = FormAnnotationClass;\r\n \r\n /**\r\n * TaskGuideAnnotation entity class.\r\n */\r\n export class TaskGuideAnnotationClass\r\n extends AnnotationClass\r\n implements Entities.TaskGuideAnnotation {\r\n public RecordingValueType: string;\r\n public Title: string;\r\n public ExampleText: string;\r\n public Hidden: boolean;\r\n public GlobalId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RecordingValueType = \r\n odataObject.RecordingValueType;\r\n \r\n this.Title = \r\n odataObject.Title;\r\n \r\n this.ExampleText = \r\n odataObject.ExampleText;\r\n \r\n this.Hidden = \r\n odataObject.Hidden;\r\n \r\n this.GlobalId = \r\n odataObject.GlobalId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.TaskGuideAnnotation\";\r\n \r\n }\r\n }\r\n entityDictionary['TaskGuideAnnotationClass'] = TaskGuideAnnotationClass;\r\n \r\n /**\r\n * CommandArgument entity class.\r\n */\r\n export class CommandArgumentClass implements Entities.CommandArgument {\r\n public Value: string;\r\n public IsReference: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.IsReference = \r\n odataObject.IsReference;\r\n \r\n }\r\n }\r\n entityDictionary['CommandArgumentClass'] = CommandArgumentClass;\r\n \r\n /**\r\n * PropertyUserAction entity class.\r\n */\r\n export class PropertyUserActionClass\r\n extends FormUserActionClass\r\n implements Entities.PropertyUserAction {\r\n public Value: string;\r\n public ValueLabel: string;\r\n public PropertyName: string;\r\n public ControlName: string;\r\n public ControlType: string;\r\n public UserActionType: string;\r\n public IsReference: boolean;\r\n public LabelId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.ValueLabel = \r\n odataObject.ValueLabel;\r\n \r\n this.PropertyName = \r\n odataObject.PropertyName;\r\n \r\n this.ControlName = \r\n odataObject.ControlName;\r\n \r\n this.ControlType = \r\n odataObject.ControlType;\r\n \r\n this.UserActionType = \r\n odataObject.UserActionType;\r\n \r\n this.IsReference = \r\n odataObject.IsReference;\r\n \r\n this.LabelId = \r\n odataObject.LabelId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.PropertyUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['PropertyUserActionClass'] = PropertyUserActionClass;\r\n \r\n /**\r\n * InfoUserAction entity class.\r\n */\r\n export class InfoUserActionClass\r\n extends UserActionClass\r\n implements Entities.InfoUserAction {\r\n public FormId: string;\r\n public ControlLabel: string;\r\n public ControlLabelId: string;\r\n public ControlName: string;\r\n public Text: string;\r\n public Notes: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.FormId = \r\n odataObject.FormId;\r\n \r\n this.ControlLabel = \r\n odataObject.ControlLabel;\r\n \r\n this.ControlLabelId = \r\n odataObject.ControlLabelId;\r\n \r\n this.ControlName = \r\n odataObject.ControlName;\r\n \r\n this.Text = \r\n odataObject.Text;\r\n \r\n this.Notes = \r\n odataObject.Notes;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.InfoUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['InfoUserActionClass'] = InfoUserActionClass;\r\n \r\n /**\r\n * MenuItemUserAction entity class.\r\n */\r\n export class MenuItemUserActionClass\r\n extends UserActionClass\r\n implements Entities.MenuItemUserAction {\r\n public MenuItemName: string;\r\n public MenuItemType: string;\r\n public NavigationPath: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.MenuItemName = \r\n odataObject.MenuItemName;\r\n \r\n this.MenuItemType = \r\n odataObject.MenuItemType;\r\n \r\n this.NavigationPath = undefined;\r\n if (odataObject.NavigationPath) {\r\n this.NavigationPath = [];\r\n for (var i = 0; i < odataObject.NavigationPath.length; i++) {\r\n if (odataObject.NavigationPath[i] != null) {\r\n this.NavigationPath[i] = \r\n odataObject.NavigationPath[i];\r\n } else {\r\n this.NavigationPath[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.MenuItemUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['MenuItemUserActionClass'] = MenuItemUserActionClass;\r\n \r\n /**\r\n * ValidationUserAction entity class.\r\n */\r\n export class ValidationUserActionClass\r\n extends UserActionClass\r\n implements Entities.ValidationUserAction {\r\n public Name: string;\r\n public Comment: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ValidationUserAction\";\r\n \r\n }\r\n }\r\n entityDictionary['ValidationUserActionClass'] = ValidationUserActionClass;\r\n \r\n /**\r\n * ArtifactSummary entity class.\r\n */\r\n export class ArtifactSummaryClass implements Entities.ArtifactSummary {\r\n public ArtifactType: string;\r\n public LanguageTags: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ArtifactType = \r\n odataObject.ArtifactType;\r\n \r\n this.LanguageTags = undefined;\r\n if (odataObject.LanguageTags) {\r\n this.LanguageTags = [];\r\n for (var i = 0; i < odataObject.LanguageTags.length; i++) {\r\n if (odataObject.LanguageTags[i] != null) {\r\n this.LanguageTags[i] = \r\n odataObject.LanguageTags[i];\r\n } else {\r\n this.LanguageTags[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ArtifactSummaryClass'] = ArtifactSummaryClass;\r\n \r\n /**\r\n * MetadataPropertyValue entity class.\r\n */\r\n export class MetadataPropertyValueClass implements Entities.MetadataPropertyValue {\r\n public PropertyId: string;\r\n public SingleValue: string;\r\n public MultiValue: Entities.MetadataText[];\r\n public Tags: string[];\r\n public ComboBox: string;\r\n public MultiSelect: string[];\r\n public Links: Entities.MetadataHypertextLink[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.PropertyId = \r\n odataObject.PropertyId;\r\n \r\n this.SingleValue = \r\n odataObject.SingleValue;\r\n \r\n this.MultiValue = undefined;\r\n if (odataObject.MultiValue) {\r\n this.MultiValue = [];\r\n for (var i = 0; i < odataObject.MultiValue.length; i++) {\r\n if (odataObject.MultiValue[i] != null) {\r\n if (odataObject.MultiValue[i]['@odata.type'] != null) {\r\n var className: string = odataObject.MultiValue[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.MultiValue[i] = new entityDictionary[className](odataObject.MultiValue[i])\r\n }\r\n } else {\r\n this.MultiValue[i] = new MetadataTextClass(odataObject.MultiValue[i]);\r\n }\r\n } else {\r\n this.MultiValue[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Tags = undefined;\r\n if (odataObject.Tags) {\r\n this.Tags = [];\r\n for (var i = 0; i < odataObject.Tags.length; i++) {\r\n if (odataObject.Tags[i] != null) {\r\n this.Tags[i] = \r\n odataObject.Tags[i];\r\n } else {\r\n this.Tags[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ComboBox = \r\n odataObject.ComboBox;\r\n \r\n this.MultiSelect = undefined;\r\n if (odataObject.MultiSelect) {\r\n this.MultiSelect = [];\r\n for (var i = 0; i < odataObject.MultiSelect.length; i++) {\r\n if (odataObject.MultiSelect[i] != null) {\r\n this.MultiSelect[i] = \r\n odataObject.MultiSelect[i];\r\n } else {\r\n this.MultiSelect[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.Links = undefined;\r\n if (odataObject.Links) {\r\n this.Links = [];\r\n for (var i = 0; i < odataObject.Links.length; i++) {\r\n if (odataObject.Links[i] != null) {\r\n if (odataObject.Links[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Links[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Links[i] = new entityDictionary[className](odataObject.Links[i])\r\n }\r\n } else {\r\n this.Links[i] = new MetadataHypertextLinkClass(odataObject.Links[i]);\r\n }\r\n } else {\r\n this.Links[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['MetadataPropertyValueClass'] = MetadataPropertyValueClass;\r\n \r\n /**\r\n * FormContext entity class.\r\n */\r\n export class FormContextClass implements Entities.FormContext {\r\n public FormID: string;\r\n public FormName: string;\r\n public RecordingName: string;\r\n public HasMetadata: boolean;\r\n public Sequence: number;\r\n public Annotations: Entities.Annotation[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FormID = \r\n odataObject.FormID;\r\n \r\n this.FormName = \r\n odataObject.FormName;\r\n \r\n this.RecordingName = \r\n odataObject.RecordingName;\r\n \r\n this.HasMetadata = \r\n odataObject.HasMetadata;\r\n \r\n this.Sequence = \r\n odataObject.Sequence;\r\n \r\n this.Annotations = undefined;\r\n if (odataObject.Annotations) {\r\n this.Annotations = [];\r\n for (var i = 0; i < odataObject.Annotations.length; i++) {\r\n if (odataObject.Annotations[i] != null) {\r\n if (odataObject.Annotations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Annotations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Annotations[i] = new entityDictionary[className](odataObject.Annotations[i])\r\n }\r\n } else {\r\n this.Annotations[i] = new AnnotationClass(odataObject.Annotations[i]);\r\n }\r\n } else {\r\n this.Annotations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FormContextClass'] = FormContextClass;\r\n \r\n /**\r\n * ExtensibleFiscalRegistrationType entity class.\r\n */\r\n export class ExtensibleFiscalRegistrationTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleFiscalRegistrationType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleFiscalRegistrationType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleFiscalRegistrationTypeClass'] = ExtensibleFiscalRegistrationTypeClass;\r\n \r\n /**\r\n * FiscalTransactionTenderLineAdjustment entity class.\r\n */\r\n export class FiscalTransactionTenderLineAdjustmentClass implements Entities.FiscalTransactionTenderLineAdjustment {\r\n public TenderLineNumber: number;\r\n public AdjustmentAmount: number;\r\n public RecordGuid: string;\r\n public TransactionId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TenderLineNumber = \r\n (odataObject.TenderLineNumber != null) ? parseFloat(odataObject.TenderLineNumber) : undefined;\r\n \r\n this.AdjustmentAmount = \r\n (odataObject.AdjustmentAmount != null) ? parseFloat(odataObject.AdjustmentAmount) : undefined;\r\n \r\n this.RecordGuid = \r\n odataObject.RecordGuid;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalTransactionTenderLineAdjustmentClass'] = FiscalTransactionTenderLineAdjustmentClass;\r\n \r\n /**\r\n * FiscalTransactionSalesLineAdjustment entity class.\r\n */\r\n export class FiscalTransactionSalesLineAdjustmentClass implements Entities.FiscalTransactionSalesLineAdjustment {\r\n public SalesLineNumber: number;\r\n public Exclude: boolean;\r\n public RecordGuid: string;\r\n public TransactionId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SalesLineNumber = \r\n (odataObject.SalesLineNumber != null) ? parseFloat(odataObject.SalesLineNumber) : undefined;\r\n \r\n this.Exclude = \r\n odataObject.Exclude;\r\n \r\n this.RecordGuid = \r\n odataObject.RecordGuid;\r\n \r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalTransactionSalesLineAdjustmentClass'] = FiscalTransactionSalesLineAdjustmentClass;\r\n \r\n /**\r\n * DetailedOrderStatus entity class.\r\n */\r\n export class DetailedOrderStatusClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.DetailedOrderStatus {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.DetailedOrderStatus\";\r\n \r\n }\r\n }\r\n entityDictionary['DetailedOrderStatusClass'] = DetailedOrderStatusClass;\r\n \r\n /**\r\n * LineValidationResult entity class.\r\n */\r\n export class LineValidationResultClass implements Entities.LineValidationResult {\r\n public LineId: string;\r\n public ValidationFailures: Entities.DataValidationFailure[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineId = \r\n odataObject.LineId;\r\n \r\n this.ValidationFailures = undefined;\r\n if (odataObject.ValidationFailures) {\r\n this.ValidationFailures = [];\r\n for (var i = 0; i < odataObject.ValidationFailures.length; i++) {\r\n if (odataObject.ValidationFailures[i] != null) {\r\n if (odataObject.ValidationFailures[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ValidationFailures[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ValidationFailures[i] = new entityDictionary[className](odataObject.ValidationFailures[i])\r\n }\r\n } else {\r\n this.ValidationFailures[i] = new DataValidationFailureClass(odataObject.ValidationFailures[i]);\r\n }\r\n } else {\r\n this.ValidationFailures[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LineValidationResultClass'] = LineValidationResultClass;\r\n \r\n /**\r\n * SalesAffiliationLoyaltyTier entity class.\r\n */\r\n export class SalesAffiliationLoyaltyTierClass\r\n extends AffiliationLoyaltyTierClass\r\n implements Entities.SalesAffiliationLoyaltyTier {\r\n public TransactionId: string;\r\n public ChannelId: number;\r\n public TerminalId: string;\r\n public ReceiptId: string;\r\n public StaffId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.TransactionId = \r\n odataObject.TransactionId;\r\n \r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.ReceiptId = \r\n odataObject.ReceiptId;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.SalesAffiliationLoyaltyTier\";\r\n \r\n }\r\n }\r\n entityDictionary['SalesAffiliationLoyaltyTierClass'] = SalesAffiliationLoyaltyTierClass;\r\n \r\n /**\r\n * TaxViewLine entity class.\r\n */\r\n export class TaxViewLineClass implements Entities.TaxViewLine {\r\n public TaxId: string;\r\n public TaxAmount: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TaxId = \r\n odataObject.TaxId;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['TaxViewLineClass'] = TaxViewLineClass;\r\n \r\n /**\r\n * Coupon entity class.\r\n */\r\n export class CouponClass implements Entities.Coupon {\r\n public CodeId: string;\r\n public Code: string;\r\n public DiscountOfferId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CodeId = \r\n odataObject.CodeId;\r\n \r\n this.Code = \r\n odataObject.Code;\r\n \r\n this.DiscountOfferId = \r\n odataObject.DiscountOfferId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CouponClass'] = CouponClass;\r\n \r\n /**\r\n * CustomerAccountDepositLine entity class.\r\n */\r\n export class CustomerAccountDepositLineClass implements Entities.CustomerAccountDepositLine {\r\n public Amount: number;\r\n public CustomerAccount: string;\r\n public Comment: string;\r\n public StoreNumber: string;\r\n public Terminal: string;\r\n public Shift: string;\r\n public TransactionStatusValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Amount = \r\n (odataObject.Amount != null) ? parseFloat(odataObject.Amount) : undefined;\r\n \r\n this.CustomerAccount = \r\n odataObject.CustomerAccount;\r\n \r\n this.Comment = \r\n odataObject.Comment;\r\n \r\n this.StoreNumber = \r\n odataObject.StoreNumber;\r\n \r\n this.Terminal = \r\n odataObject.Terminal;\r\n \r\n this.Shift = \r\n odataObject.Shift;\r\n \r\n this.TransactionStatusValue = \r\n odataObject.TransactionStatusValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerAccountDepositLineClass'] = CustomerAccountDepositLineClass;\r\n \r\n /**\r\n * CustomerAttribute entity class.\r\n */\r\n export class CustomerAttributeClass implements Entities.CustomerAttribute {\r\n public AttributeValue: Entities.CommercePropertyValue;\r\n public Units: string;\r\n public RecordId: number;\r\n public Name: string;\r\n public KeyName: string;\r\n public DataTypeValue: number;\r\n public Attribute: number;\r\n public NameTranslations: Entities.TextValueTranslation[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.AttributeValue == null) {\r\n this.AttributeValue = undefined;\r\n } else if (odataObject.AttributeValue['@odata.type'] == null) {\r\n this.AttributeValue = new CommercePropertyValueClass(odataObject.AttributeValue);\r\n } else {\r\n var className: string = odataObject.AttributeValue['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AttributeValue = new entityDictionary[className](odataObject.AttributeValue)\r\n }\r\n }\r\n\r\n \r\n this.Units = \r\n odataObject.Units;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.KeyName = \r\n odataObject.KeyName;\r\n \r\n this.DataTypeValue = \r\n odataObject.DataTypeValue;\r\n \r\n this.Attribute = \r\n (odataObject.Attribute != null) ? parseInt(odataObject.Attribute, 10) : undefined;\r\n \r\n this.NameTranslations = undefined;\r\n if (odataObject.NameTranslations) {\r\n this.NameTranslations = [];\r\n for (var i = 0; i < odataObject.NameTranslations.length; i++) {\r\n if (odataObject.NameTranslations[i] != null) {\r\n if (odataObject.NameTranslations[i]['@odata.type'] != null) {\r\n var className: string = odataObject.NameTranslations[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.NameTranslations[i] = new entityDictionary[className](odataObject.NameTranslations[i])\r\n }\r\n } else {\r\n this.NameTranslations[i] = new TextValueTranslationClass(odataObject.NameTranslations[i]);\r\n }\r\n } else {\r\n this.NameTranslations[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerAttributeClass'] = CustomerAttributeClass;\r\n \r\n /**\r\n * ContactInfo entity class.\r\n */\r\n export class ContactInfoClass implements Entities.ContactInfo {\r\n public AddressTypeValue: number;\r\n public RecordId: number;\r\n public PartyLocationRecordId: number;\r\n public PartyRecordId: number;\r\n public PartyNumber: string;\r\n public Description: string;\r\n public Value: string;\r\n public ValueExtension: string;\r\n public LogisticsLocationId: string;\r\n public LogisticsLocationRecordId: number;\r\n public ParentLocation: number;\r\n public IsPrimary: boolean;\r\n public IsMobilePhone: boolean;\r\n public IsPrivate: boolean;\r\n public IsOptedInMarketing: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.AddressTypeValue = \r\n odataObject.AddressTypeValue;\r\n \r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.PartyLocationRecordId = \r\n (odataObject.PartyLocationRecordId != null) ? parseInt(odataObject.PartyLocationRecordId, 10) : undefined;\r\n \r\n this.PartyRecordId = \r\n (odataObject.PartyRecordId != null) ? parseInt(odataObject.PartyRecordId, 10) : undefined;\r\n \r\n this.PartyNumber = \r\n odataObject.PartyNumber;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.ValueExtension = \r\n odataObject.ValueExtension;\r\n \r\n this.LogisticsLocationId = \r\n odataObject.LogisticsLocationId;\r\n \r\n this.LogisticsLocationRecordId = \r\n (odataObject.LogisticsLocationRecordId != null) ? parseInt(odataObject.LogisticsLocationRecordId, 10) : undefined;\r\n \r\n this.ParentLocation = \r\n (odataObject.ParentLocation != null) ? parseInt(odataObject.ParentLocation, 10) : undefined;\r\n \r\n this.IsPrimary = \r\n odataObject.IsPrimary;\r\n \r\n this.IsMobilePhone = \r\n odataObject.IsMobilePhone;\r\n \r\n this.IsPrivate = \r\n odataObject.IsPrivate;\r\n \r\n this.IsOptedInMarketing = \r\n odataObject.IsOptedInMarketing;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ContactInfoClass'] = ContactInfoClass;\r\n \r\n /**\r\n * InventoryQuantities entity class.\r\n */\r\n export class InventoryQuantitiesClass implements Entities.InventoryQuantities {\r\n public UnitOfMeasure: string;\r\n public QuantityNotProcessed: number;\r\n public QuantityReserved: number;\r\n public QuantityPicked: number;\r\n public QuantityPacked: number;\r\n public QuantityInvoiced: number;\r\n public QuantityOrdered: number;\r\n public QuantityCanceled: number;\r\n public QuantityReturned: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.QuantityNotProcessed = \r\n (odataObject.QuantityNotProcessed != null) ? parseFloat(odataObject.QuantityNotProcessed) : undefined;\r\n \r\n this.QuantityReserved = \r\n (odataObject.QuantityReserved != null) ? parseFloat(odataObject.QuantityReserved) : undefined;\r\n \r\n this.QuantityPicked = \r\n (odataObject.QuantityPicked != null) ? parseFloat(odataObject.QuantityPicked) : undefined;\r\n \r\n this.QuantityPacked = \r\n (odataObject.QuantityPacked != null) ? parseFloat(odataObject.QuantityPacked) : undefined;\r\n \r\n this.QuantityInvoiced = \r\n (odataObject.QuantityInvoiced != null) ? parseFloat(odataObject.QuantityInvoiced) : undefined;\r\n \r\n this.QuantityOrdered = \r\n (odataObject.QuantityOrdered != null) ? parseFloat(odataObject.QuantityOrdered) : undefined;\r\n \r\n this.QuantityCanceled = \r\n (odataObject.QuantityCanceled != null) ? parseFloat(odataObject.QuantityCanceled) : undefined;\r\n \r\n this.QuantityReturned = \r\n (odataObject.QuantityReturned != null) ? parseFloat(odataObject.QuantityReturned) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['InventoryQuantitiesClass'] = InventoryQuantitiesClass;\r\n \r\n /**\r\n * DeliveryInformation entity class.\r\n */\r\n export class DeliveryInformationClass implements Entities.DeliveryInformation {\r\n public DeliveryMode: string;\r\n public DeliveryAddress: Entities.Address;\r\n public DeliveryDate: Date;\r\n public PickupTimeslotStartDateTime: Date;\r\n public PickupTimeslotEndDateTime: Date;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.DeliveryMode = \r\n odataObject.DeliveryMode;\r\n \r\n if (odataObject.DeliveryAddress == null) {\r\n this.DeliveryAddress = undefined;\r\n } else if (odataObject.DeliveryAddress['@odata.type'] == null) {\r\n this.DeliveryAddress = new AddressClass(odataObject.DeliveryAddress);\r\n } else {\r\n var className: string = odataObject.DeliveryAddress['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DeliveryAddress = new entityDictionary[className](odataObject.DeliveryAddress)\r\n }\r\n }\r\n\r\n \r\n this.DeliveryDate = \r\n (odataObject.DeliveryDate instanceof Date) ? odataObject.DeliveryDate\r\n : (odataObject.DeliveryDate != null) ? jsonLightReadStringPropertyValue(odataObject.DeliveryDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotStartDateTime = \r\n (odataObject.PickupTimeslotStartDateTime instanceof Date) ? odataObject.PickupTimeslotStartDateTime\r\n : (odataObject.PickupTimeslotStartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotStartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.PickupTimeslotEndDateTime = \r\n (odataObject.PickupTimeslotEndDateTime instanceof Date) ? odataObject.PickupTimeslotEndDateTime\r\n : (odataObject.PickupTimeslotEndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.PickupTimeslotEndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['DeliveryInformationClass'] = DeliveryInformationClass;\r\n \r\n /**\r\n * ShiftTaxLine entity class.\r\n */\r\n export class ShiftTaxLineClass implements Entities.ShiftTaxLine {\r\n public TaxCode: string;\r\n public TaxAmount: number;\r\n public TaxRate: number;\r\n public NetAmount: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TaxCode = \r\n odataObject.TaxCode;\r\n \r\n this.TaxAmount = \r\n (odataObject.TaxAmount != null) ? parseFloat(odataObject.TaxAmount) : undefined;\r\n \r\n this.TaxRate = \r\n (odataObject.TaxRate != null) ? parseFloat(odataObject.TaxRate) : undefined;\r\n \r\n this.NetAmount = \r\n (odataObject.NetAmount != null) ? parseFloat(odataObject.NetAmount) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ShiftTaxLineClass'] = ShiftTaxLineClass;\r\n \r\n /**\r\n * TaxRegistration entity class.\r\n */\r\n export class TaxRegistrationClass implements Entities.TaxRegistration {\r\n public RecordId: number;\r\n public Name: string;\r\n public CountryRegionId: string;\r\n public IsRegistrationNumberUnique: boolean;\r\n public IsPrimaryAddressRestricted: boolean;\r\n public TypeApplicabilityRuleRecordId: number;\r\n public TypeValue: number;\r\n public Description: string;\r\n public DirPartyLocationRecordId: number;\r\n public RegistrationNumber: string;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public Issuer: string;\r\n public IssueDate: Date;\r\n public Section: string;\r\n public DirectoryPartyRecordId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.CountryRegionId = \r\n odataObject.CountryRegionId;\r\n \r\n this.IsRegistrationNumberUnique = \r\n odataObject.IsRegistrationNumberUnique;\r\n \r\n this.IsPrimaryAddressRestricted = \r\n odataObject.IsPrimaryAddressRestricted;\r\n \r\n this.TypeApplicabilityRuleRecordId = \r\n (odataObject.TypeApplicabilityRuleRecordId != null) ? parseInt(odataObject.TypeApplicabilityRuleRecordId, 10) : undefined;\r\n \r\n this.TypeValue = \r\n odataObject.TypeValue;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.DirPartyLocationRecordId = \r\n (odataObject.DirPartyLocationRecordId != null) ? parseInt(odataObject.DirPartyLocationRecordId, 10) : undefined;\r\n \r\n this.RegistrationNumber = \r\n odataObject.RegistrationNumber;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Issuer = \r\n odataObject.Issuer;\r\n \r\n this.IssueDate = \r\n (odataObject.IssueDate instanceof Date) ? odataObject.IssueDate\r\n : (odataObject.IssueDate != null) ? jsonLightReadStringPropertyValue(odataObject.IssueDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Section = \r\n odataObject.Section;\r\n \r\n this.DirectoryPartyRecordId = \r\n (odataObject.DirectoryPartyRecordId != null) ? parseInt(odataObject.DirectoryPartyRecordId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TaxRegistrationClass'] = TaxRegistrationClass;\r\n \r\n /**\r\n * ChannelTaxRegistration entity class.\r\n */\r\n export class ChannelTaxRegistrationClass\r\n extends TaxRegistrationClass\r\n implements Entities.ChannelTaxRegistration {\r\n public ChannelId: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ChannelId = \r\n (odataObject.ChannelId != null) ? parseInt(odataObject.ChannelId, 10) : undefined;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ChannelTaxRegistration\";\r\n \r\n }\r\n }\r\n entityDictionary['ChannelTaxRegistrationClass'] = ChannelTaxRegistrationClass;\r\n \r\n /**\r\n * LinkedProduct entity class.\r\n */\r\n export class LinkedProductClass implements Entities.LinkedProduct {\r\n public ProductRecordId: number;\r\n public LinkedProductRecordId: number;\r\n public Quantity: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.LinkedProductRecordId = \r\n (odataObject.LinkedProductRecordId != null) ? parseInt(odataObject.LinkedProductRecordId, 10) : undefined;\r\n \r\n this.Quantity = \r\n (odataObject.Quantity != null) ? parseFloat(odataObject.Quantity) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['LinkedProductClass'] = LinkedProductClass;\r\n \r\n /**\r\n * DisplayOrderInCategory entity class.\r\n */\r\n export class DisplayOrderInCategoryClass implements Entities.DisplayOrderInCategory {\r\n public CategoryRecordId: number;\r\n public DisplayOrder: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CategoryRecordId = \r\n (odataObject.CategoryRecordId != null) ? parseInt(odataObject.CategoryRecordId, 10) : undefined;\r\n \r\n this.DisplayOrder = \r\n (odataObject.DisplayOrder != null) ? parseFloat(odataObject.DisplayOrder) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['DisplayOrderInCategoryClass'] = DisplayOrderInCategoryClass;\r\n \r\n /**\r\n * RelatedProduct entity class.\r\n */\r\n export class RelatedProductClass implements Entities.RelatedProduct {\r\n public ProductRecordId: number;\r\n public RelatedProductRecordId: number;\r\n public CatalogId: number;\r\n public RelationName: string;\r\n public IsExcludedRelation: boolean;\r\n public IsDirectRelation: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductRecordId = \r\n (odataObject.ProductRecordId != null) ? parseInt(odataObject.ProductRecordId, 10) : undefined;\r\n \r\n this.RelatedProductRecordId = \r\n (odataObject.RelatedProductRecordId != null) ? parseInt(odataObject.RelatedProductRecordId, 10) : undefined;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.RelationName = \r\n odataObject.RelationName;\r\n \r\n this.IsExcludedRelation = \r\n odataObject.IsExcludedRelation;\r\n \r\n this.IsDirectRelation = \r\n odataObject.IsDirectRelation;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RelatedProductClass'] = RelatedProductClass;\r\n \r\n /**\r\n * KitComponent entity class.\r\n */\r\n export class KitComponentClass implements Entities.KitComponent {\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['KitComponentClass'] = KitComponentClass;\r\n \r\n /**\r\n * ChannelReferenceAdditionalLookupCriteria entity class.\r\n */\r\n export class ChannelReferenceAdditionalLookupCriteriaClass implements Entities.ChannelReferenceAdditionalLookupCriteria {\r\n public OrderLookupAdditionalCriteriaTypeValue: number;\r\n public OrderLookupAdditionalCriteriaTypeParameterValue: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OrderLookupAdditionalCriteriaTypeValue = \r\n odataObject.OrderLookupAdditionalCriteriaTypeValue;\r\n \r\n this.OrderLookupAdditionalCriteriaTypeParameterValue = \r\n odataObject.OrderLookupAdditionalCriteriaTypeParameterValue;\r\n \r\n }\r\n }\r\n entityDictionary['ChannelReferenceAdditionalLookupCriteriaClass'] = ChannelReferenceAdditionalLookupCriteriaClass;\r\n \r\n /**\r\n * UserAlertFulfillmentLineParameter entity class.\r\n */\r\n export class UserAlertFulfillmentLineParameterClass\r\n extends FulfillmentLineParameterClass\r\n implements Entities.UserAlertFulfillmentLineParameter {\r\n public ItemId: string;\r\n public ProductId: number;\r\n public UnitOfMeasure: string;\r\n public SerialNumberInLatestFulfillmentTransaction: string;\r\n public LatestFulfillmentTransactionOperationTypeValue: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ItemId = \r\n odataObject.ItemId;\r\n \r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.SerialNumberInLatestFulfillmentTransaction = \r\n odataObject.SerialNumberInLatestFulfillmentTransaction;\r\n \r\n this.LatestFulfillmentTransactionOperationTypeValue = \r\n odataObject.LatestFulfillmentTransactionOperationTypeValue;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.UserAlertFulfillmentLineParameter\";\r\n \r\n }\r\n }\r\n entityDictionary['UserAlertFulfillmentLineParameterClass'] = UserAlertFulfillmentLineParameterClass;\r\n \r\n /**\r\n * ListingIdentity entity class.\r\n */\r\n export class ListingIdentityClass implements Entities.ListingIdentity {\r\n public ProductId: number;\r\n public LanguageId: string;\r\n public CatalogId: number;\r\n public Tag: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.LanguageId = \r\n odataObject.LanguageId;\r\n \r\n this.CatalogId = \r\n (odataObject.CatalogId != null) ? parseInt(odataObject.CatalogId, 10) : undefined;\r\n \r\n this.Tag = \r\n odataObject.Tag;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ListingIdentityClass'] = ListingIdentityClass;\r\n \r\n /**\r\n * ProductRatingCount entity class.\r\n */\r\n export class ProductRatingCountClass implements Entities.ProductRatingCount {\r\n public Rating: number;\r\n public Count: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Rating = \r\n (odataObject.Rating != null) ? parseFloat(odataObject.Rating) : undefined;\r\n \r\n this.Count = \r\n odataObject.Count;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductRatingCountClass'] = ProductRatingCountClass;\r\n \r\n /**\r\n * RegularStoreHours entity class.\r\n */\r\n export class RegularStoreHoursClass implements Entities.RegularStoreHours {\r\n public MondayOpenTime: number;\r\n public MondayCloseTime: number;\r\n public IsClosedOnMonday: boolean;\r\n public TuesdayOpenTime: number;\r\n public TuesdayCloseTime: number;\r\n public IsClosedOnTuesday: boolean;\r\n public WednesdayOpenTime: number;\r\n public WednesdayCloseTime: number;\r\n public IsClosedOnWednesday: boolean;\r\n public ThursdayOpenTime: number;\r\n public ThursdayCloseTime: number;\r\n public IsClosedOnThursday: boolean;\r\n public FridayOpenTime: number;\r\n public FridayCloseTime: number;\r\n public IsClosedOnFriday: boolean;\r\n public SaturdayOpenTime: number;\r\n public SaturdayCloseTime: number;\r\n public IsClosedOnSaturday: boolean;\r\n public SundayOpenTime: number;\r\n public SundayCloseTime: number;\r\n public IsClosedOnSunday: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.MondayOpenTime = \r\n odataObject.MondayOpenTime;\r\n \r\n this.MondayCloseTime = \r\n odataObject.MondayCloseTime;\r\n \r\n this.IsClosedOnMonday = \r\n odataObject.IsClosedOnMonday;\r\n \r\n this.TuesdayOpenTime = \r\n odataObject.TuesdayOpenTime;\r\n \r\n this.TuesdayCloseTime = \r\n odataObject.TuesdayCloseTime;\r\n \r\n this.IsClosedOnTuesday = \r\n odataObject.IsClosedOnTuesday;\r\n \r\n this.WednesdayOpenTime = \r\n odataObject.WednesdayOpenTime;\r\n \r\n this.WednesdayCloseTime = \r\n odataObject.WednesdayCloseTime;\r\n \r\n this.IsClosedOnWednesday = \r\n odataObject.IsClosedOnWednesday;\r\n \r\n this.ThursdayOpenTime = \r\n odataObject.ThursdayOpenTime;\r\n \r\n this.ThursdayCloseTime = \r\n odataObject.ThursdayCloseTime;\r\n \r\n this.IsClosedOnThursday = \r\n odataObject.IsClosedOnThursday;\r\n \r\n this.FridayOpenTime = \r\n odataObject.FridayOpenTime;\r\n \r\n this.FridayCloseTime = \r\n odataObject.FridayCloseTime;\r\n \r\n this.IsClosedOnFriday = \r\n odataObject.IsClosedOnFriday;\r\n \r\n this.SaturdayOpenTime = \r\n odataObject.SaturdayOpenTime;\r\n \r\n this.SaturdayCloseTime = \r\n odataObject.SaturdayCloseTime;\r\n \r\n this.IsClosedOnSaturday = \r\n odataObject.IsClosedOnSaturday;\r\n \r\n this.SundayOpenTime = \r\n odataObject.SundayOpenTime;\r\n \r\n this.SundayCloseTime = \r\n odataObject.SundayCloseTime;\r\n \r\n this.IsClosedOnSunday = \r\n odataObject.IsClosedOnSunday;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RegularStoreHoursClass'] = RegularStoreHoursClass;\r\n \r\n /**\r\n * ValidationPeriod entity class.\r\n */\r\n export class ValidationPeriodClass implements Entities.ValidationPeriod {\r\n public RecordId: number;\r\n public PeriodId: string;\r\n public Description: string;\r\n public ValidFrom: Date;\r\n public ValidTo: Date;\r\n public StartingTime: number;\r\n public EndingTime: number;\r\n public IsTimeBounded: number;\r\n public MondayStartingTime: number;\r\n public MondayEndingTime: number;\r\n public IsMondayTimeBounded: number;\r\n public TuesdayStartingTime: number;\r\n public TuesdayEndingTime: number;\r\n public IsTuesdayTimeBounded: number;\r\n public WednesdayStartingTime: number;\r\n public WednesdayEndingTime: number;\r\n public IsWednesdayTimeBounded: number;\r\n public ThursdayStartingTime: number;\r\n public ThursdayEndingTime: number;\r\n public IsThursdayTimeBounded: number;\r\n public FridayStartingTime: number;\r\n public FridayEndingTime: number;\r\n public IsFridayTimeBounded: number;\r\n public SaturdayStartingTime: number;\r\n public SaturdayEndingTime: number;\r\n public IsSaturdayTimeBounded: number;\r\n public SundayStartingTime: number;\r\n public SundayEndingTime: number;\r\n public IsSundayTimeBounded: number;\r\n public IsEndTimeAfterMidnight: number;\r\n public IsMondayEndTimeAfterMidnight: number;\r\n public IsTuesdayEndTimeAfterMidnight: number;\r\n public IsWednesdayEndTimeAfterMidnight: number;\r\n public IsThursdayEndTimeAfterMidnight: number;\r\n public IsFridayEndTimeAfterMidnight: number;\r\n public IsSaturdayEndTimeAfterMidnight: number;\r\n public IsSundayEndTimeAfterMidnight: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.PeriodId = \r\n odataObject.PeriodId;\r\n \r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.ValidFrom = \r\n (odataObject.ValidFrom instanceof Date) ? odataObject.ValidFrom\r\n : (odataObject.ValidFrom != null) ? jsonLightReadStringPropertyValue(odataObject.ValidFrom, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ValidTo = \r\n (odataObject.ValidTo instanceof Date) ? odataObject.ValidTo\r\n : (odataObject.ValidTo != null) ? jsonLightReadStringPropertyValue(odataObject.ValidTo, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.StartingTime = \r\n odataObject.StartingTime;\r\n \r\n this.EndingTime = \r\n odataObject.EndingTime;\r\n \r\n this.IsTimeBounded = \r\n odataObject.IsTimeBounded;\r\n \r\n this.MondayStartingTime = \r\n odataObject.MondayStartingTime;\r\n \r\n this.MondayEndingTime = \r\n odataObject.MondayEndingTime;\r\n \r\n this.IsMondayTimeBounded = \r\n odataObject.IsMondayTimeBounded;\r\n \r\n this.TuesdayStartingTime = \r\n odataObject.TuesdayStartingTime;\r\n \r\n this.TuesdayEndingTime = \r\n odataObject.TuesdayEndingTime;\r\n \r\n this.IsTuesdayTimeBounded = \r\n odataObject.IsTuesdayTimeBounded;\r\n \r\n this.WednesdayStartingTime = \r\n odataObject.WednesdayStartingTime;\r\n \r\n this.WednesdayEndingTime = \r\n odataObject.WednesdayEndingTime;\r\n \r\n this.IsWednesdayTimeBounded = \r\n odataObject.IsWednesdayTimeBounded;\r\n \r\n this.ThursdayStartingTime = \r\n odataObject.ThursdayStartingTime;\r\n \r\n this.ThursdayEndingTime = \r\n odataObject.ThursdayEndingTime;\r\n \r\n this.IsThursdayTimeBounded = \r\n odataObject.IsThursdayTimeBounded;\r\n \r\n this.FridayStartingTime = \r\n odataObject.FridayStartingTime;\r\n \r\n this.FridayEndingTime = \r\n odataObject.FridayEndingTime;\r\n \r\n this.IsFridayTimeBounded = \r\n odataObject.IsFridayTimeBounded;\r\n \r\n this.SaturdayStartingTime = \r\n odataObject.SaturdayStartingTime;\r\n \r\n this.SaturdayEndingTime = \r\n odataObject.SaturdayEndingTime;\r\n \r\n this.IsSaturdayTimeBounded = \r\n odataObject.IsSaturdayTimeBounded;\r\n \r\n this.SundayStartingTime = \r\n odataObject.SundayStartingTime;\r\n \r\n this.SundayEndingTime = \r\n odataObject.SundayEndingTime;\r\n \r\n this.IsSundayTimeBounded = \r\n odataObject.IsSundayTimeBounded;\r\n \r\n this.IsEndTimeAfterMidnight = \r\n odataObject.IsEndTimeAfterMidnight;\r\n \r\n this.IsMondayEndTimeAfterMidnight = \r\n odataObject.IsMondayEndTimeAfterMidnight;\r\n \r\n this.IsTuesdayEndTimeAfterMidnight = \r\n odataObject.IsTuesdayEndTimeAfterMidnight;\r\n \r\n this.IsWednesdayEndTimeAfterMidnight = \r\n odataObject.IsWednesdayEndTimeAfterMidnight;\r\n \r\n this.IsThursdayEndTimeAfterMidnight = \r\n odataObject.IsThursdayEndTimeAfterMidnight;\r\n \r\n this.IsFridayEndTimeAfterMidnight = \r\n odataObject.IsFridayEndTimeAfterMidnight;\r\n \r\n this.IsSaturdayEndTimeAfterMidnight = \r\n odataObject.IsSaturdayEndTimeAfterMidnight;\r\n \r\n this.IsSundayEndTimeAfterMidnight = \r\n odataObject.IsSundayEndTimeAfterMidnight;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ValidationPeriodClass'] = ValidationPeriodClass;\r\n \r\n /**\r\n * ClientBookChange entity class.\r\n */\r\n export class ClientBookChangeClass implements Entities.ClientBookChange {\r\n public FromStaffId: string;\r\n public ToStaffId: string;\r\n public CustomerId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FromStaffId = \r\n odataObject.FromStaffId;\r\n \r\n this.ToStaffId = \r\n odataObject.ToStaffId;\r\n \r\n this.CustomerId = \r\n odataObject.CustomerId;\r\n \r\n }\r\n }\r\n entityDictionary['ClientBookChangeClass'] = ClientBookChangeClass;\r\n \r\n /**\r\n * ChannelProfile entity class.\r\n */\r\n export class ChannelProfileClass implements Entities.ChannelProfile {\r\n public ProfileProperties: Entities.ChannelProfileProperty[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProfileProperties = undefined;\r\n if (odataObject.ProfileProperties) {\r\n this.ProfileProperties = [];\r\n for (var i = 0; i < odataObject.ProfileProperties.length; i++) {\r\n if (odataObject.ProfileProperties[i] != null) {\r\n if (odataObject.ProfileProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ProfileProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ProfileProperties[i] = new entityDictionary[className](odataObject.ProfileProperties[i])\r\n }\r\n } else {\r\n this.ProfileProperties[i] = new ChannelProfilePropertyClass(odataObject.ProfileProperties[i]);\r\n }\r\n } else {\r\n this.ProfileProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ChannelProfileClass'] = ChannelProfileClass;\r\n \r\n /**\r\n * RetailSharedConfigurationParameter entity class.\r\n */\r\n export class RetailSharedConfigurationParameterClass implements Entities.RetailSharedConfigurationParameter {\r\n public RecordId: number;\r\n public Name: string;\r\n public Value: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RecordId = \r\n (odataObject.RecordId != null) ? parseInt(odataObject.RecordId, 10) : undefined;\r\n \r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.Value = \r\n odataObject.Value;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['RetailSharedConfigurationParameterClass'] = RetailSharedConfigurationParameterClass;\r\n \r\n /**\r\n * CDXDataStore entity class.\r\n */\r\n export class CDXDataStoreClass implements Entities.CDXDataStore {\r\n public Name: string;\r\n public RecId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Name = \r\n odataObject.Name;\r\n \r\n this.RecId = \r\n (odataObject.RecId != null) ? parseInt(odataObject.RecId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CDXDataStoreClass'] = CDXDataStoreClass;\r\n \r\n /**\r\n * UploadJobPackageRequest entity class.\r\n */\r\n export class UploadJobPackageRequestClass implements Entities.UploadJobPackageRequest {\r\n public JobId: string;\r\n public RerunUploadSessionId: number;\r\n public TargetStorage: string;\r\n public UploadJobDefintion: string;\r\n public UploadUrl: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.JobId = \r\n odataObject.JobId;\r\n \r\n this.RerunUploadSessionId = \r\n (odataObject.RerunUploadSessionId != null) ? parseInt(odataObject.RerunUploadSessionId, 10) : undefined;\r\n \r\n this.TargetStorage = \r\n odataObject.TargetStorage;\r\n \r\n this.UploadJobDefintion = \r\n odataObject.UploadJobDefintion;\r\n \r\n this.UploadUrl = \r\n odataObject.UploadUrl;\r\n \r\n }\r\n }\r\n entityDictionary['UploadJobPackageRequestClass'] = UploadJobPackageRequestClass;\r\n \r\n /**\r\n * ExtensibleAuditEventType entity class.\r\n */\r\n export class ExtensibleAuditEventTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleAuditEventType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleAuditEventType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleAuditEventTypeClass'] = ExtensibleAuditEventTypeClass;\r\n \r\n /**\r\n * AuditEventFiscalTransaction entity class.\r\n */\r\n export class AuditEventFiscalTransactionClass implements Entities.AuditEventFiscalTransaction {\r\n public EventId: number;\r\n public LineNumber: number;\r\n public RegisterResponse: string;\r\n public Store: string;\r\n public TransDateTime: Date;\r\n public Terminal: string;\r\n public UploadType: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.EventId = \r\n (odataObject.EventId != null) ? parseInt(odataObject.EventId, 10) : undefined;\r\n \r\n this.LineNumber = \r\n (odataObject.LineNumber != null) ? parseFloat(odataObject.LineNumber) : undefined;\r\n \r\n this.RegisterResponse = \r\n odataObject.RegisterResponse;\r\n \r\n this.Store = \r\n odataObject.Store;\r\n \r\n this.TransDateTime = \r\n (odataObject.TransDateTime instanceof Date) ? odataObject.TransDateTime\r\n : (odataObject.TransDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.TransDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.Terminal = \r\n odataObject.Terminal;\r\n \r\n this.UploadType = \r\n odataObject.UploadType;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AuditEventFiscalTransactionClass'] = AuditEventFiscalTransactionClass;\r\n \r\n /**\r\n * AuditEventFiscalRegistrationLine entity class.\r\n */\r\n export class AuditEventFiscalRegistrationLineClass implements Entities.AuditEventFiscalRegistrationLine {\r\n public EventId: number;\r\n public RegisterResponse: string;\r\n public StoreId: string;\r\n public TransactionDateTime: Date;\r\n public TerminalId: string;\r\n public UploadType: string;\r\n public UploadTypeValue: number;\r\n public StaffId: string;\r\n public RecordGuid: string;\r\n public RegistrationStatusValue: number;\r\n public RegistrationProcessId: string;\r\n public ConnectorGroup: string;\r\n public ConnectorName: string;\r\n public ConnectorFunctionalityProfileId: string;\r\n public RegisterInfo: string;\r\n public CreatedDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.EventId = \r\n (odataObject.EventId != null) ? parseInt(odataObject.EventId, 10) : undefined;\r\n \r\n this.RegisterResponse = \r\n odataObject.RegisterResponse;\r\n \r\n this.StoreId = \r\n odataObject.StoreId;\r\n \r\n this.TransactionDateTime = \r\n (odataObject.TransactionDateTime instanceof Date) ? odataObject.TransactionDateTime\r\n : (odataObject.TransactionDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.TransactionDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.TerminalId = \r\n odataObject.TerminalId;\r\n \r\n this.UploadType = \r\n odataObject.UploadType;\r\n \r\n this.UploadTypeValue = \r\n odataObject.UploadTypeValue;\r\n \r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this.RecordGuid = \r\n odataObject.RecordGuid;\r\n \r\n this.RegistrationStatusValue = \r\n odataObject.RegistrationStatusValue;\r\n \r\n this.RegistrationProcessId = \r\n odataObject.RegistrationProcessId;\r\n \r\n this.ConnectorGroup = \r\n odataObject.ConnectorGroup;\r\n \r\n this.ConnectorName = \r\n odataObject.ConnectorName;\r\n \r\n this.ConnectorFunctionalityProfileId = \r\n odataObject.ConnectorFunctionalityProfileId;\r\n \r\n this.RegisterInfo = \r\n odataObject.RegisterInfo;\r\n \r\n this.CreatedDateTime = \r\n (odataObject.CreatedDateTime instanceof Date) ? odataObject.CreatedDateTime\r\n : (odataObject.CreatedDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.CreatedDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AuditEventFiscalRegistrationLineClass'] = AuditEventFiscalRegistrationLineClass;\r\n \r\n /**\r\n * NotificationDetail entity class.\r\n */\r\n export class NotificationDetailClass implements Entities.NotificationDetail {\r\n public ActionProperty: string;\r\n public ItemCount: number;\r\n public DisplayText: string;\r\n public IsNew: boolean;\r\n public LastUpdatedDateTimeStr: string;\r\n public IsSuccess: boolean;\r\n public IsLiveContentOnly: boolean;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ActionProperty = \r\n odataObject.ActionProperty;\r\n \r\n this.ItemCount = \r\n (odataObject.ItemCount != null) ? parseInt(odataObject.ItemCount, 10) : undefined;\r\n \r\n this.DisplayText = \r\n odataObject.DisplayText;\r\n \r\n this.IsNew = \r\n odataObject.IsNew;\r\n \r\n this.LastUpdatedDateTimeStr = \r\n odataObject.LastUpdatedDateTimeStr;\r\n \r\n this.IsSuccess = \r\n odataObject.IsSuccess;\r\n \r\n this.IsLiveContentOnly = \r\n odataObject.IsLiveContentOnly;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['NotificationDetailClass'] = NotificationDetailClass;\r\n \r\n /**\r\n * FiscalIntegrationDocumentContext entity class.\r\n */\r\n export class FiscalIntegrationDocumentContextClass implements Entities.FiscalIntegrationDocumentContext {\r\n public AuditEvent: Entities.AuditEvent;\r\n public SignatureData: Entities.FiscalIntegrationSequentialSignatureData[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.AuditEvent == null) {\r\n this.AuditEvent = undefined;\r\n } else if (odataObject.AuditEvent['@odata.type'] == null) {\r\n this.AuditEvent = new AuditEventClass(odataObject.AuditEvent);\r\n } else {\r\n var className: string = odataObject.AuditEvent['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.AuditEvent = new entityDictionary[className](odataObject.AuditEvent)\r\n }\r\n }\r\n\r\n \r\n this.SignatureData = undefined;\r\n if (odataObject.SignatureData) {\r\n this.SignatureData = [];\r\n for (var i = 0; i < odataObject.SignatureData.length; i++) {\r\n if (odataObject.SignatureData[i] != null) {\r\n if (odataObject.SignatureData[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SignatureData[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SignatureData[i] = new entityDictionary[className](odataObject.SignatureData[i])\r\n }\r\n } else {\r\n this.SignatureData[i] = new FiscalIntegrationSequentialSignatureDataClass(odataObject.SignatureData[i]);\r\n }\r\n } else {\r\n this.SignatureData[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationDocumentContextClass'] = FiscalIntegrationDocumentContextClass;\r\n \r\n /**\r\n * FiscalIntegrationDocumentAdjustment entity class.\r\n */\r\n export class FiscalIntegrationDocumentAdjustmentClass implements Entities.FiscalIntegrationDocumentAdjustment {\r\n public TenderLineAdjustments: Entities.FiscalTransactionTenderLineAdjustment[];\r\n public SalesLineAdjustments: Entities.FiscalTransactionSalesLineAdjustment[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.TenderLineAdjustments = undefined;\r\n if (odataObject.TenderLineAdjustments) {\r\n this.TenderLineAdjustments = [];\r\n for (var i = 0; i < odataObject.TenderLineAdjustments.length; i++) {\r\n if (odataObject.TenderLineAdjustments[i] != null) {\r\n if (odataObject.TenderLineAdjustments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TenderLineAdjustments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TenderLineAdjustments[i] = new entityDictionary[className](odataObject.TenderLineAdjustments[i])\r\n }\r\n } else {\r\n this.TenderLineAdjustments[i] = new FiscalTransactionTenderLineAdjustmentClass(odataObject.TenderLineAdjustments[i]);\r\n }\r\n } else {\r\n this.TenderLineAdjustments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SalesLineAdjustments = undefined;\r\n if (odataObject.SalesLineAdjustments) {\r\n this.SalesLineAdjustments = [];\r\n for (var i = 0; i < odataObject.SalesLineAdjustments.length; i++) {\r\n if (odataObject.SalesLineAdjustments[i] != null) {\r\n if (odataObject.SalesLineAdjustments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.SalesLineAdjustments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.SalesLineAdjustments[i] = new entityDictionary[className](odataObject.SalesLineAdjustments[i])\r\n }\r\n } else {\r\n this.SalesLineAdjustments[i] = new FiscalTransactionSalesLineAdjustmentClass(odataObject.SalesLineAdjustments[i]);\r\n }\r\n } else {\r\n this.SalesLineAdjustments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationDocumentAdjustmentClass'] = FiscalIntegrationDocumentAdjustmentClass;\r\n \r\n /**\r\n * FiscalIntegrationSignatureDataContext entity class.\r\n */\r\n export class FiscalIntegrationSignatureDataContextClass implements Entities.FiscalIntegrationSignatureDataContext {\r\n public SequentialSignatureKey: string;\r\n public SequentialNumber: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SequentialSignatureKey = \r\n odataObject.SequentialSignatureKey;\r\n \r\n this.SequentialNumber = \r\n (odataObject.SequentialNumber != null) ? parseInt(odataObject.SequentialNumber, 10) : undefined;\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationSignatureDataContextClass'] = FiscalIntegrationSignatureDataContextClass;\r\n \r\n /**\r\n * FiscalIntegrationRegistrationProcessLine entity class.\r\n */\r\n export class FiscalIntegrationRegistrationProcessLineClass implements Entities.FiscalIntegrationRegistrationProcessLine {\r\n public RegistrationProcessId: string;\r\n public SequenceNumber: number;\r\n public Priority: number;\r\n public ConnectorTypeValue: number;\r\n public FunctionalityProfileGroupId: string;\r\n public AllowSkip: boolean;\r\n public AllowMarkAsRegistered: boolean;\r\n public AllowPostpone: boolean;\r\n public Optional: boolean;\r\n public RegistrationSettings: Entities.FiscalIntegrationRegistrationSettings;\r\n public SupportedFiscalEventTypes: number[];\r\n public SupportedNonFiscalEventTypes: number[];\r\n public SequentialKeys: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RegistrationProcessId = \r\n odataObject.RegistrationProcessId;\r\n \r\n this.SequenceNumber = \r\n odataObject.SequenceNumber;\r\n \r\n this.Priority = \r\n odataObject.Priority;\r\n \r\n this.ConnectorTypeValue = \r\n odataObject.ConnectorTypeValue;\r\n \r\n this.FunctionalityProfileGroupId = \r\n odataObject.FunctionalityProfileGroupId;\r\n \r\n this.AllowSkip = \r\n odataObject.AllowSkip;\r\n \r\n this.AllowMarkAsRegistered = \r\n odataObject.AllowMarkAsRegistered;\r\n \r\n this.AllowPostpone = \r\n odataObject.AllowPostpone;\r\n \r\n this.Optional = \r\n odataObject.Optional;\r\n \r\n if (odataObject.RegistrationSettings == null) {\r\n this.RegistrationSettings = undefined;\r\n } else if (odataObject.RegistrationSettings['@odata.type'] == null) {\r\n this.RegistrationSettings = new FiscalIntegrationRegistrationSettingsClass(odataObject.RegistrationSettings);\r\n } else {\r\n var className: string = odataObject.RegistrationSettings['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RegistrationSettings = new entityDictionary[className](odataObject.RegistrationSettings)\r\n }\r\n }\r\n\r\n \r\n this.SupportedFiscalEventTypes = undefined;\r\n if (odataObject.SupportedFiscalEventTypes) {\r\n this.SupportedFiscalEventTypes = [];\r\n for (var i = 0; i < odataObject.SupportedFiscalEventTypes.length; i++) {\r\n if (odataObject.SupportedFiscalEventTypes[i] != null) {\r\n this.SupportedFiscalEventTypes[i] = \r\n odataObject.SupportedFiscalEventTypes[i];\r\n } else {\r\n this.SupportedFiscalEventTypes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SupportedNonFiscalEventTypes = undefined;\r\n if (odataObject.SupportedNonFiscalEventTypes) {\r\n this.SupportedNonFiscalEventTypes = [];\r\n for (var i = 0; i < odataObject.SupportedNonFiscalEventTypes.length; i++) {\r\n if (odataObject.SupportedNonFiscalEventTypes[i] != null) {\r\n this.SupportedNonFiscalEventTypes[i] = \r\n odataObject.SupportedNonFiscalEventTypes[i];\r\n } else {\r\n this.SupportedNonFiscalEventTypes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.SequentialKeys = undefined;\r\n if (odataObject.SequentialKeys) {\r\n this.SequentialKeys = [];\r\n for (var i = 0; i < odataObject.SequentialKeys.length; i++) {\r\n if (odataObject.SequentialKeys[i] != null) {\r\n this.SequentialKeys[i] = \r\n odataObject.SequentialKeys[i];\r\n } else {\r\n this.SequentialKeys[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationRegistrationProcessLineClass'] = FiscalIntegrationRegistrationProcessLineClass;\r\n \r\n /**\r\n * FiscalIntegrationRegistrationSettings entity class.\r\n */\r\n export class FiscalIntegrationRegistrationSettingsClass implements Entities.FiscalIntegrationRegistrationSettings {\r\n public SkipReasonCode: string;\r\n public MarkAsRegisteredReasonCode: string;\r\n public PostponeReasonCode: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.SkipReasonCode = \r\n odataObject.SkipReasonCode;\r\n \r\n this.MarkAsRegisteredReasonCode = \r\n odataObject.MarkAsRegisteredReasonCode;\r\n \r\n this.PostponeReasonCode = \r\n odataObject.PostponeReasonCode;\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationRegistrationSettingsClass'] = FiscalIntegrationRegistrationSettingsClass;\r\n \r\n /**\r\n * FiscalIntegrationServiceFailureDetails entity class.\r\n */\r\n export class FiscalIntegrationServiceFailureDetailsClass implements Entities.FiscalIntegrationServiceFailureDetails {\r\n public FailureTypeValue: number;\r\n public IsRetryAllowed: boolean;\r\n public ErrorCode: string;\r\n public ErrorMessage: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.FailureTypeValue = \r\n odataObject.FailureTypeValue;\r\n \r\n this.IsRetryAllowed = \r\n odataObject.IsRetryAllowed;\r\n \r\n this.ErrorCode = \r\n odataObject.ErrorCode;\r\n \r\n this.ErrorMessage = \r\n odataObject.ErrorMessage;\r\n \r\n }\r\n }\r\n entityDictionary['FiscalIntegrationServiceFailureDetailsClass'] = FiscalIntegrationServiceFailureDetailsClass;\r\n \r\n /**\r\n * CategoryPath entity class.\r\n */\r\n export class CategoryPathClass implements Entities.CategoryPath {\r\n public Segments: Entities.CategoryPathSegment[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Segments = undefined;\r\n if (odataObject.Segments) {\r\n this.Segments = [];\r\n for (var i = 0; i < odataObject.Segments.length; i++) {\r\n if (odataObject.Segments[i] != null) {\r\n if (odataObject.Segments[i]['@odata.type'] != null) {\r\n var className: string = odataObject.Segments[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.Segments[i] = new entityDictionary[className](odataObject.Segments[i])\r\n }\r\n } else {\r\n this.Segments[i] = new CategoryPathSegmentClass(odataObject.Segments[i]);\r\n }\r\n } else {\r\n this.Segments[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CategoryPathClass'] = CategoryPathClass;\r\n \r\n /**\r\n * CategoryPathSegment entity class.\r\n */\r\n export class CategoryPathSegmentClass implements Entities.CategoryPathSegment {\r\n public CategoryName: string;\r\n public CategoryId: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.CategoryName = \r\n odataObject.CategoryName;\r\n \r\n this.CategoryId = \r\n (odataObject.CategoryId != null) ? parseInt(odataObject.CategoryId, 10) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CategoryPathSegmentClass'] = CategoryPathSegmentClass;\r\n \r\n /**\r\n * AttachedService entity class.\r\n */\r\n export class AttachedServiceClass implements Entities.AttachedService {\r\n public BaseUrl: string;\r\n public ServiceId: string;\r\n public StatusValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.BaseUrl = \r\n odataObject.BaseUrl;\r\n \r\n this.ServiceId = \r\n odataObject.ServiceId;\r\n \r\n this.StatusValue = \r\n odataObject.StatusValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AttachedServiceClass'] = AttachedServiceClass;\r\n \r\n /**\r\n * ExtensibleInventoryJournalType entity class.\r\n */\r\n export class ExtensibleInventoryJournalTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.ExtensibleInventoryJournalType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.ExtensibleInventoryJournalType\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleInventoryJournalTypeClass'] = ExtensibleInventoryJournalTypeClass;\r\n \r\n /**\r\n * CustomerTimelineItemType entity class.\r\n */\r\n export class CustomerTimelineItemTypeClass implements Entities.CustomerTimelineItemType {\r\n public Description: string;\r\n public TypeId: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.Description = \r\n odataObject.Description;\r\n \r\n this.TypeId = \r\n odataObject.TypeId;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CustomerTimelineItemTypeClass'] = CustomerTimelineItemTypeClass;\r\n \r\n /**\r\n * ProductWarehouseInventoryAvailability entity class.\r\n */\r\n export class ProductWarehouseInventoryAvailabilityClass implements Entities.ProductWarehouseInventoryAvailability {\r\n public ProductId: number;\r\n public InventLocationId: string;\r\n public DataAreaId: string;\r\n public PhysicalInventory: number;\r\n public PhysicalReserved: number;\r\n public TotalAvailable: number;\r\n public TotalAvailableInventoryLevelLabel: string;\r\n public TotalAvailableInventoryLevelCode: string;\r\n public OrderedInTotal: number;\r\n public PhysicalAvailable: number;\r\n public PhysicalAvailableInventoryLevelLabel: string;\r\n public PhysicalAvailableInventoryLevelCode: string;\r\n public LastInventoryTransactionId: number;\r\n public UnpostedOnlineOrderedQuantity: number;\r\n public UnpostedFulfilledQuantity: number;\r\n public IsInventoryAvailabilityQuantityReturned: boolean;\r\n public UnprocessedQuantity: number;\r\n public QuantityUnitTypeValue: number;\r\n public UnitOfMeasure: string;\r\n public SumUncountedTransactions: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.InventLocationId = \r\n odataObject.InventLocationId;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.PhysicalInventory = \r\n (odataObject.PhysicalInventory != null) ? parseFloat(odataObject.PhysicalInventory) : undefined;\r\n \r\n this.PhysicalReserved = \r\n (odataObject.PhysicalReserved != null) ? parseFloat(odataObject.PhysicalReserved) : undefined;\r\n \r\n this.TotalAvailable = \r\n (odataObject.TotalAvailable != null) ? parseFloat(odataObject.TotalAvailable) : undefined;\r\n \r\n this.TotalAvailableInventoryLevelLabel = \r\n odataObject.TotalAvailableInventoryLevelLabel;\r\n \r\n this.TotalAvailableInventoryLevelCode = \r\n odataObject.TotalAvailableInventoryLevelCode;\r\n \r\n this.OrderedInTotal = \r\n (odataObject.OrderedInTotal != null) ? parseFloat(odataObject.OrderedInTotal) : undefined;\r\n \r\n this.PhysicalAvailable = \r\n (odataObject.PhysicalAvailable != null) ? parseFloat(odataObject.PhysicalAvailable) : undefined;\r\n \r\n this.PhysicalAvailableInventoryLevelLabel = \r\n odataObject.PhysicalAvailableInventoryLevelLabel;\r\n \r\n this.PhysicalAvailableInventoryLevelCode = \r\n odataObject.PhysicalAvailableInventoryLevelCode;\r\n \r\n this.LastInventoryTransactionId = \r\n (odataObject.LastInventoryTransactionId != null) ? parseInt(odataObject.LastInventoryTransactionId, 10) : undefined;\r\n \r\n this.UnpostedOnlineOrderedQuantity = \r\n (odataObject.UnpostedOnlineOrderedQuantity != null) ? parseFloat(odataObject.UnpostedOnlineOrderedQuantity) : undefined;\r\n \r\n this.UnpostedFulfilledQuantity = \r\n (odataObject.UnpostedFulfilledQuantity != null) ? parseFloat(odataObject.UnpostedFulfilledQuantity) : undefined;\r\n \r\n this.IsInventoryAvailabilityQuantityReturned = \r\n odataObject.IsInventoryAvailabilityQuantityReturned;\r\n \r\n this.UnprocessedQuantity = \r\n (odataObject.UnprocessedQuantity != null) ? parseFloat(odataObject.UnprocessedQuantity) : undefined;\r\n \r\n this.QuantityUnitTypeValue = \r\n odataObject.QuantityUnitTypeValue;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.SumUncountedTransactions = \r\n (odataObject.SumUncountedTransactions != null) ? parseFloat(odataObject.SumUncountedTransactions) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductWarehouseInventoryAvailabilityClass'] = ProductWarehouseInventoryAvailabilityClass;\r\n \r\n /**\r\n * QuantityUnitType entity class.\r\n */\r\n export class QuantityUnitTypeClass\r\n extends ExtensibleEnumerationClass\r\n implements Entities.QuantityUnitType {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataModel.QuantityUnitType\";\r\n \r\n }\r\n }\r\n entityDictionary['QuantityUnitTypeClass'] = QuantityUnitTypeClass;\r\n \r\n /**\r\n * ProductInventoryAvailability entity class.\r\n */\r\n export class ProductInventoryAvailabilityClass implements Entities.ProductInventoryAvailability {\r\n public ProductId: number;\r\n public DataAreaId: string;\r\n public TotalAvailableQuantity: number;\r\n public TotalAvailableInventoryLevelLabel: string;\r\n public TotalAvailableInventoryLevelCode: string;\r\n public PhysicalAvailableQuantity: number;\r\n public PhysicalAvailableInventoryLevelLabel: string;\r\n public PhysicalAvailableInventoryLevelCode: string;\r\n public QuantityUnitTypeValue: number;\r\n public UnitOfMeasure: string;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ProductId = \r\n (odataObject.ProductId != null) ? parseInt(odataObject.ProductId, 10) : undefined;\r\n \r\n this.DataAreaId = \r\n odataObject.DataAreaId;\r\n \r\n this.TotalAvailableQuantity = \r\n (odataObject.TotalAvailableQuantity != null) ? parseFloat(odataObject.TotalAvailableQuantity) : undefined;\r\n \r\n this.TotalAvailableInventoryLevelLabel = \r\n odataObject.TotalAvailableInventoryLevelLabel;\r\n \r\n this.TotalAvailableInventoryLevelCode = \r\n odataObject.TotalAvailableInventoryLevelCode;\r\n \r\n this.PhysicalAvailableQuantity = \r\n (odataObject.PhysicalAvailableQuantity != null) ? parseFloat(odataObject.PhysicalAvailableQuantity) : undefined;\r\n \r\n this.PhysicalAvailableInventoryLevelLabel = \r\n odataObject.PhysicalAvailableInventoryLevelLabel;\r\n \r\n this.PhysicalAvailableInventoryLevelCode = \r\n odataObject.PhysicalAvailableInventoryLevelCode;\r\n \r\n this.QuantityUnitTypeValue = \r\n odataObject.QuantityUnitTypeValue;\r\n \r\n this.UnitOfMeasure = \r\n odataObject.UnitOfMeasure;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['ProductInventoryAvailabilityClass'] = ProductInventoryAvailabilityClass;\r\n \r\n /**\r\n * ParameterSet entity class.\r\n */\r\n export class ParameterSetClass implements Entities.ParameterSet {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n }\r\n }\r\n entityDictionary['ParameterSetClass'] = ParameterSetClass;\r\n \r\n /**\r\n * CartLineValidationResults entity class.\r\n */\r\n export class CartLineValidationResultsClass implements Entities.CartLineValidationResults {\r\n public ValidationResultsByLineId: Entities.CartLineValidationResultsByLineId;\r\n public ValidationFailuresByCartLines: Entities.LineDataValidationFailure[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.ValidationResultsByLineId == null) {\r\n this.ValidationResultsByLineId = undefined;\r\n } else if (odataObject.ValidationResultsByLineId['@odata.type'] == null) {\r\n this.ValidationResultsByLineId = new CartLineValidationResultsByLineIdClass(odataObject.ValidationResultsByLineId);\r\n } else {\r\n var className: string = odataObject.ValidationResultsByLineId['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ValidationResultsByLineId = new entityDictionary[className](odataObject.ValidationResultsByLineId)\r\n }\r\n }\r\n\r\n \r\n this.ValidationFailuresByCartLines = undefined;\r\n if (odataObject.ValidationFailuresByCartLines) {\r\n this.ValidationFailuresByCartLines = [];\r\n for (var i = 0; i < odataObject.ValidationFailuresByCartLines.length; i++) {\r\n if (odataObject.ValidationFailuresByCartLines[i] != null) {\r\n if (odataObject.ValidationFailuresByCartLines[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ValidationFailuresByCartLines[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ValidationFailuresByCartLines[i] = new entityDictionary[className](odataObject.ValidationFailuresByCartLines[i])\r\n }\r\n } else {\r\n this.ValidationFailuresByCartLines[i] = new LineDataValidationFailureClass(odataObject.ValidationFailuresByCartLines[i]);\r\n }\r\n } else {\r\n this.ValidationFailuresByCartLines[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartLineValidationResultsClass'] = CartLineValidationResultsClass;\r\n \r\n /**\r\n * CommerceException entity class.\r\n */\r\n export class CommerceExceptionClass implements Entities.CommerceException {\r\n public LocalizedMessage: string;\r\n public ErrorResourceId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LocalizedMessage = \r\n odataObject.LocalizedMessage;\r\n \r\n this.ErrorResourceId = \r\n odataObject.ErrorResourceId;\r\n \r\n }\r\n }\r\n entityDictionary['CommerceExceptionClass'] = CommerceExceptionClass;\r\n \r\n /**\r\n * DataValidationException entity class.\r\n */\r\n export class DataValidationExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.DataValidationException {\r\n public ValidationResults: Entities.DataValidationFailure[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ValidationResults = undefined;\r\n if (odataObject.ValidationResults) {\r\n this.ValidationResults = [];\r\n for (var i = 0; i < odataObject.ValidationResults.length; i++) {\r\n if (odataObject.ValidationResults[i] != null) {\r\n if (odataObject.ValidationResults[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ValidationResults[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ValidationResults[i] = new entityDictionary[className](odataObject.ValidationResults[i])\r\n }\r\n } else {\r\n this.ValidationResults[i] = new DataValidationFailureClass(odataObject.ValidationResults[i]);\r\n }\r\n } else {\r\n this.ValidationResults[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DataValidationException\";\r\n \r\n }\r\n }\r\n entityDictionary['DataValidationExceptionClass'] = DataValidationExceptionClass;\r\n \r\n /**\r\n * MissingRequiredReasonCodeException entity class.\r\n */\r\n export class MissingRequiredReasonCodeExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.MissingRequiredReasonCodeException {\r\n public RequiredReasonCodes: Entities.ReasonCode[];\r\n public TransactionRequiredReasonCodeIds: string[];\r\n public ReasonCodeRequirements: Entities.ReasonCodeRequirement[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RequiredReasonCodes = undefined;\r\n if (odataObject.RequiredReasonCodes) {\r\n this.RequiredReasonCodes = [];\r\n for (var i = 0; i < odataObject.RequiredReasonCodes.length; i++) {\r\n if (odataObject.RequiredReasonCodes[i] != null) {\r\n if (odataObject.RequiredReasonCodes[i]['@odata.type'] != null) {\r\n var className: string = odataObject.RequiredReasonCodes[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.RequiredReasonCodes[i] = new entityDictionary[className](odataObject.RequiredReasonCodes[i])\r\n }\r\n } else {\r\n this.RequiredReasonCodes[i] = new ReasonCodeClass(odataObject.RequiredReasonCodes[i]);\r\n }\r\n } else {\r\n this.RequiredReasonCodes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.TransactionRequiredReasonCodeIds = undefined;\r\n if (odataObject.TransactionRequiredReasonCodeIds) {\r\n this.TransactionRequiredReasonCodeIds = [];\r\n for (var i = 0; i < odataObject.TransactionRequiredReasonCodeIds.length; i++) {\r\n if (odataObject.TransactionRequiredReasonCodeIds[i] != null) {\r\n this.TransactionRequiredReasonCodeIds[i] = \r\n odataObject.TransactionRequiredReasonCodeIds[i];\r\n } else {\r\n this.TransactionRequiredReasonCodeIds[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ReasonCodeRequirements = undefined;\r\n if (odataObject.ReasonCodeRequirements) {\r\n this.ReasonCodeRequirements = [];\r\n for (var i = 0; i < odataObject.ReasonCodeRequirements.length; i++) {\r\n if (odataObject.ReasonCodeRequirements[i] != null) {\r\n if (odataObject.ReasonCodeRequirements[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ReasonCodeRequirements[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ReasonCodeRequirements[i] = new entityDictionary[className](odataObject.ReasonCodeRequirements[i])\r\n }\r\n } else {\r\n this.ReasonCodeRequirements[i] = new ReasonCodeRequirementClass(odataObject.ReasonCodeRequirements[i]);\r\n }\r\n } else {\r\n this.ReasonCodeRequirements[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.MissingRequiredReasonCodeException\";\r\n \r\n }\r\n }\r\n entityDictionary['MissingRequiredReasonCodeExceptionClass'] = MissingRequiredReasonCodeExceptionClass;\r\n \r\n /**\r\n * SecurityException entity class.\r\n */\r\n export class SecurityExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.SecurityException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.SecurityException\";\r\n \r\n }\r\n }\r\n entityDictionary['SecurityExceptionClass'] = SecurityExceptionClass;\r\n \r\n /**\r\n * DeviceAuthenticationException entity class.\r\n */\r\n export class DeviceAuthenticationExceptionClass\r\n extends SecurityExceptionClass\r\n implements Entities.DeviceAuthenticationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.DeviceAuthenticationException\";\r\n \r\n }\r\n }\r\n entityDictionary['DeviceAuthenticationExceptionClass'] = DeviceAuthenticationExceptionClass;\r\n \r\n /**\r\n * HeadquarterTransactionServiceException entity class.\r\n */\r\n export class HeadquarterTransactionServiceExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.HeadquarterTransactionServiceException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.HeadquarterTransactionServiceException\";\r\n \r\n }\r\n }\r\n entityDictionary['HeadquarterTransactionServiceExceptionClass'] = HeadquarterTransactionServiceExceptionClass;\r\n \r\n /**\r\n * UserAuthenticationException entity class.\r\n */\r\n export class UserAuthenticationExceptionClass\r\n extends SecurityExceptionClass\r\n implements Entities.UserAuthenticationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.UserAuthenticationException\";\r\n \r\n }\r\n }\r\n entityDictionary['UserAuthenticationExceptionClass'] = UserAuthenticationExceptionClass;\r\n \r\n /**\r\n * UserAuthorizationException entity class.\r\n */\r\n export class UserAuthorizationExceptionClass\r\n extends SecurityExceptionClass\r\n implements Entities.UserAuthorizationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.UserAuthorizationException\";\r\n \r\n }\r\n }\r\n entityDictionary['UserAuthorizationExceptionClass'] = UserAuthorizationExceptionClass;\r\n \r\n /**\r\n * FeatureNotSupportedException entity class.\r\n */\r\n export class FeatureNotSupportedExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.FeatureNotSupportedException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.FeatureNotSupportedException\";\r\n \r\n }\r\n }\r\n entityDictionary['FeatureNotSupportedExceptionClass'] = FeatureNotSupportedExceptionClass;\r\n \r\n /**\r\n * CartValidationException entity class.\r\n */\r\n export class CartValidationExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.CartValidationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.CartValidationException\";\r\n \r\n }\r\n }\r\n entityDictionary['CartValidationExceptionClass'] = CartValidationExceptionClass;\r\n \r\n /**\r\n * TenderValidationException entity class.\r\n */\r\n export class TenderValidationExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.TenderValidationException {\r\n public TenderTypeId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.TenderTypeId = \r\n odataObject.TenderTypeId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.TenderValidationException\";\r\n \r\n }\r\n }\r\n entityDictionary['TenderValidationExceptionClass'] = TenderValidationExceptionClass;\r\n \r\n /**\r\n * CommerceDataExchangeException entity class.\r\n */\r\n export class CommerceDataExchangeExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.CommerceDataExchangeException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.CommerceDataExchangeException\";\r\n \r\n }\r\n }\r\n entityDictionary['CommerceDataExchangeExceptionClass'] = CommerceDataExchangeExceptionClass;\r\n \r\n /**\r\n * ExtensibleEnumerationException entity class.\r\n */\r\n export class ExtensibleEnumerationExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.ExtensibleEnumerationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.ExtensibleEnumerationException\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleEnumerationExceptionClass'] = ExtensibleEnumerationExceptionClass;\r\n \r\n /**\r\n * TaskManagementException entity class.\r\n */\r\n export class TaskManagementExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.TaskManagementException {\r\n public TaskManagementErrors: Entities.TaskManagementError[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.TaskManagementErrors = undefined;\r\n if (odataObject.TaskManagementErrors) {\r\n this.TaskManagementErrors = [];\r\n for (var i = 0; i < odataObject.TaskManagementErrors.length; i++) {\r\n if (odataObject.TaskManagementErrors[i] != null) {\r\n if (odataObject.TaskManagementErrors[i]['@odata.type'] != null) {\r\n var className: string = odataObject.TaskManagementErrors[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.TaskManagementErrors[i] = new entityDictionary[className](odataObject.TaskManagementErrors[i])\r\n }\r\n } else {\r\n this.TaskManagementErrors[i] = new TaskManagementErrorClass(odataObject.TaskManagementErrors[i]);\r\n }\r\n } else {\r\n this.TaskManagementErrors[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.TaskManagementException\";\r\n \r\n }\r\n }\r\n entityDictionary['TaskManagementExceptionClass'] = TaskManagementExceptionClass;\r\n \r\n /**\r\n * TaskManagementServerException entity class.\r\n */\r\n export class TaskManagementServerExceptionClass\r\n extends TaskManagementExceptionClass\r\n implements Entities.TaskManagementServerException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.TaskManagementServerException\";\r\n \r\n }\r\n }\r\n entityDictionary['TaskManagementServerExceptionClass'] = TaskManagementServerExceptionClass;\r\n \r\n /**\r\n * TaskManagementClientException entity class.\r\n */\r\n export class TaskManagementClientExceptionClass\r\n extends TaskManagementExceptionClass\r\n implements Entities.TaskManagementClientException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.TaskManagementClientException\";\r\n \r\n }\r\n }\r\n entityDictionary['TaskManagementClientExceptionClass'] = TaskManagementClientExceptionClass;\r\n \r\n /**\r\n * PaymentException entity class.\r\n */\r\n export class PaymentExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.PaymentException {\r\n public AdditionalContext: string;\r\n public PaymentSdkErrors: Entities.PaymentError[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.AdditionalContext = \r\n odataObject.AdditionalContext;\r\n \r\n this.PaymentSdkErrors = undefined;\r\n if (odataObject.PaymentSdkErrors) {\r\n this.PaymentSdkErrors = [];\r\n for (var i = 0; i < odataObject.PaymentSdkErrors.length; i++) {\r\n if (odataObject.PaymentSdkErrors[i] != null) {\r\n if (odataObject.PaymentSdkErrors[i]['@odata.type'] != null) {\r\n var className: string = odataObject.PaymentSdkErrors[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.PaymentSdkErrors[i] = new entityDictionary[className](odataObject.PaymentSdkErrors[i])\r\n }\r\n } else {\r\n this.PaymentSdkErrors[i] = new PaymentErrorClass(odataObject.PaymentSdkErrors[i]);\r\n }\r\n } else {\r\n this.PaymentSdkErrors[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.PaymentException\";\r\n \r\n }\r\n }\r\n entityDictionary['PaymentExceptionClass'] = PaymentExceptionClass;\r\n \r\n /**\r\n * DataValidationFailure entity class.\r\n */\r\n export class DataValidationFailureClass implements Entities.DataValidationFailure {\r\n public ErrorContext: string;\r\n public ErrorResourceId: string;\r\n public MemberNames: string[];\r\n public LocalizedMessage: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ErrorContext = \r\n odataObject.ErrorContext;\r\n \r\n this.ErrorResourceId = \r\n odataObject.ErrorResourceId;\r\n \r\n this.MemberNames = undefined;\r\n if (odataObject.MemberNames) {\r\n this.MemberNames = [];\r\n for (var i = 0; i < odataObject.MemberNames.length; i++) {\r\n if (odataObject.MemberNames[i] != null) {\r\n this.MemberNames[i] = \r\n odataObject.MemberNames[i];\r\n } else {\r\n this.MemberNames[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.LocalizedMessage = \r\n odataObject.LocalizedMessage;\r\n \r\n }\r\n }\r\n entityDictionary['DataValidationFailureClass'] = DataValidationFailureClass;\r\n \r\n /**\r\n * ItemDiscontinuedException entity class.\r\n */\r\n export class ItemDiscontinuedExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.ItemDiscontinuedException {\r\n public RemovedUnavailableItemIds: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RemovedUnavailableItemIds = \r\n odataObject.RemovedUnavailableItemIds;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.ItemDiscontinuedException\";\r\n \r\n }\r\n }\r\n entityDictionary['ItemDiscontinuedExceptionClass'] = ItemDiscontinuedExceptionClass;\r\n \r\n /**\r\n * InventoryDocumentLockedByOtherTerminalException entity class.\r\n */\r\n export class InventoryDocumentLockedByOtherTerminalExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.InventoryDocumentLockedByOtherTerminalException {\r\n public WorkingTerminalId: string;\r\n public CurrentTerminalId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.WorkingTerminalId = \r\n odataObject.WorkingTerminalId;\r\n \r\n this.CurrentTerminalId = \r\n odataObject.CurrentTerminalId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.InventoryDocumentLockedByOtherTerminalException\";\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentLockedByOtherTerminalExceptionClass'] = InventoryDocumentLockedByOtherTerminalExceptionClass;\r\n \r\n /**\r\n * InventoryDocumentExceedMaximumQuantityException entity class.\r\n */\r\n export class InventoryDocumentExceedMaximumQuantityExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.InventoryDocumentExceedMaximumQuantityException {\r\n public MaximumQuantity: number;\r\n public AllowOverDelivery: boolean;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.MaximumQuantity = \r\n (odataObject.MaximumQuantity != null) ? parseFloat(odataObject.MaximumQuantity) : undefined;\r\n \r\n this.AllowOverDelivery = \r\n odataObject.AllowOverDelivery;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.InventoryDocumentExceedMaximumQuantityException\";\r\n \r\n }\r\n }\r\n entityDictionary['InventoryDocumentExceedMaximumQuantityExceptionClass'] = InventoryDocumentExceedMaximumQuantityExceptionClass;\r\n \r\n /**\r\n * CartLineValidationResultsByLineId entity class.\r\n */\r\n export class CartLineValidationResultsByLineIdClass implements Entities.CartLineValidationResultsByLineId {\r\n public LineIdToProductBehaviorMap: Entities.KeyValuePair_2OfString_ProductBehavior[];\r\n public ValidationResultsPairs: Entities.LineValidationResult[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.LineIdToProductBehaviorMap = undefined;\r\n if (odataObject.LineIdToProductBehaviorMap) {\r\n this.LineIdToProductBehaviorMap = [];\r\n for (var i = 0; i < odataObject.LineIdToProductBehaviorMap.length; i++) {\r\n if (odataObject.LineIdToProductBehaviorMap[i] != null) {\r\n if (odataObject.LineIdToProductBehaviorMap[i]['@odata.type'] != null) {\r\n var className: string = odataObject.LineIdToProductBehaviorMap[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.LineIdToProductBehaviorMap[i] = new entityDictionary[className](odataObject.LineIdToProductBehaviorMap[i])\r\n }\r\n } else {\r\n this.LineIdToProductBehaviorMap[i] = new KeyValuePair_2OfString_ProductBehaviorClass(odataObject.LineIdToProductBehaviorMap[i]);\r\n }\r\n } else {\r\n this.LineIdToProductBehaviorMap[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ValidationResultsPairs = undefined;\r\n if (odataObject.ValidationResultsPairs) {\r\n this.ValidationResultsPairs = [];\r\n for (var i = 0; i < odataObject.ValidationResultsPairs.length; i++) {\r\n if (odataObject.ValidationResultsPairs[i] != null) {\r\n if (odataObject.ValidationResultsPairs[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ValidationResultsPairs[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ValidationResultsPairs[i] = new entityDictionary[className](odataObject.ValidationResultsPairs[i])\r\n }\r\n } else {\r\n this.ValidationResultsPairs[i] = new LineValidationResultClass(odataObject.ValidationResultsPairs[i]);\r\n }\r\n } else {\r\n this.ValidationResultsPairs[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['CartLineValidationResultsByLineIdClass'] = CartLineValidationResultsByLineIdClass;\r\n \r\n /**\r\n * CommerceRuntimeCompositionException entity class.\r\n */\r\n export class CommerceRuntimeCompositionExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.CommerceRuntimeCompositionException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.CommerceRuntimeCompositionException\";\r\n \r\n }\r\n }\r\n entityDictionary['CommerceRuntimeCompositionExceptionClass'] = CommerceRuntimeCompositionExceptionClass;\r\n \r\n /**\r\n * ChecklistTaskValidationException entity class.\r\n */\r\n export class ChecklistTaskValidationExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.ChecklistTaskValidationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.ChecklistTaskValidationException\";\r\n \r\n }\r\n }\r\n entityDictionary['ChecklistTaskValidationExceptionClass'] = ChecklistTaskValidationExceptionClass;\r\n \r\n /**\r\n * InsufficientCredentialLengthException entity class.\r\n */\r\n export class InsufficientCredentialLengthExceptionClass\r\n extends DataValidationExceptionClass\r\n implements Entities.InsufficientCredentialLengthException {\r\n public ActualLength: number;\r\n public MinLength: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.ActualLength = \r\n odataObject.ActualLength;\r\n \r\n this.MinLength = \r\n odataObject.MinLength;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.InsufficientCredentialLengthException\";\r\n \r\n }\r\n }\r\n entityDictionary['InsufficientCredentialLengthExceptionClass'] = InsufficientCredentialLengthExceptionClass;\r\n \r\n /**\r\n * ExtensibleEnumerationCacheException entity class.\r\n */\r\n export class ExtensibleEnumerationCacheExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.ExtensibleEnumerationCacheException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.ExtensibleEnumerationCacheException\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensibleEnumerationCacheExceptionClass'] = ExtensibleEnumerationCacheExceptionClass;\r\n \r\n /**\r\n * ExtensionConfigurationException entity class.\r\n */\r\n export class ExtensionConfigurationExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.ExtensionConfigurationException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.ExtensionConfigurationException\";\r\n \r\n }\r\n }\r\n entityDictionary['ExtensionConfigurationExceptionClass'] = ExtensionConfigurationExceptionClass;\r\n \r\n /**\r\n * StaffPasswordExpiredException entity class.\r\n */\r\n export class StaffPasswordExpiredExceptionClass\r\n extends UserAuthenticationExceptionClass\r\n implements Entities.StaffPasswordExpiredException {\r\n public StaffId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.StaffId = \r\n odataObject.StaffId;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.StaffPasswordExpiredException\";\r\n \r\n }\r\n }\r\n entityDictionary['StaffPasswordExpiredExceptionClass'] = StaffPasswordExpiredExceptionClass;\r\n \r\n /**\r\n * ChannelConfigurationNotFoundException entity class.\r\n */\r\n export class ChannelConfigurationNotFoundExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.ChannelConfigurationNotFoundException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.ChannelConfigurationNotFoundException\";\r\n \r\n }\r\n }\r\n entityDictionary['ChannelConfigurationNotFoundExceptionClass'] = ChannelConfigurationNotFoundExceptionClass;\r\n \r\n /**\r\n * PaymentConfigurationException entity class.\r\n */\r\n export class PaymentConfigurationExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.PaymentConfigurationException {\r\n public PaymentConfigurationSdkErrors: string[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.PaymentConfigurationSdkErrors = undefined;\r\n if (odataObject.PaymentConfigurationSdkErrors) {\r\n this.PaymentConfigurationSdkErrors = [];\r\n for (var i = 0; i < odataObject.PaymentConfigurationSdkErrors.length; i++) {\r\n if (odataObject.PaymentConfigurationSdkErrors[i] != null) {\r\n this.PaymentConfigurationSdkErrors[i] = \r\n odataObject.PaymentConfigurationSdkErrors[i];\r\n } else {\r\n this.PaymentConfigurationSdkErrors[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.PaymentConfigurationException\";\r\n \r\n }\r\n }\r\n entityDictionary['PaymentConfigurationExceptionClass'] = PaymentConfigurationExceptionClass;\r\n \r\n /**\r\n * SecretConfigurationNotFoundException entity class.\r\n */\r\n export class SecretConfigurationNotFoundExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.SecretConfigurationNotFoundException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Commerce.Runtime.SecretConfigurationNotFoundException\";\r\n \r\n }\r\n }\r\n entityDictionary['SecretConfigurationNotFoundExceptionClass'] = SecretConfigurationNotFoundExceptionClass;\r\n \r\n /**\r\n * TenderTypePolicy entity class.\r\n */\r\n export class TenderTypePolicyClass implements Entities.TenderTypePolicy {\r\n public OriginalTenderType: string;\r\n public AllowedReturnTenderTypes: string[];\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.OriginalTenderType = \r\n odataObject.OriginalTenderType;\r\n \r\n this.AllowedReturnTenderTypes = undefined;\r\n if (odataObject.AllowedReturnTenderTypes) {\r\n this.AllowedReturnTenderTypes = [];\r\n for (var i = 0; i < odataObject.AllowedReturnTenderTypes.length; i++) {\r\n if (odataObject.AllowedReturnTenderTypes[i] != null) {\r\n this.AllowedReturnTenderTypes[i] = \r\n odataObject.AllowedReturnTenderTypes[i];\r\n } else {\r\n this.AllowedReturnTenderTypes[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['TenderTypePolicyClass'] = TenderTypePolicyClass;\r\n \r\n /**\r\n * AccountStatementRequest entity class.\r\n */\r\n export class AccountStatementRequestClass implements Entities.AccountStatementRequest {\r\n public RequestedUserId: string;\r\n public IsForFullOrganization: boolean;\r\n public FromDate: Date;\r\n public ToDate: Date;\r\n public RequestingUserEmail: string;\r\n public DeliveryTypeValue: number;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.RequestedUserId = \r\n odataObject.RequestedUserId;\r\n \r\n this.IsForFullOrganization = \r\n odataObject.IsForFullOrganization;\r\n \r\n this.FromDate = \r\n (odataObject.FromDate instanceof Date) ? odataObject.FromDate\r\n : (odataObject.FromDate != null) ? jsonLightReadStringPropertyValue(odataObject.FromDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ToDate = \r\n (odataObject.ToDate instanceof Date) ? odataObject.ToDate\r\n : (odataObject.ToDate != null) ? jsonLightReadStringPropertyValue(odataObject.ToDate, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.RequestingUserEmail = \r\n odataObject.RequestingUserEmail;\r\n \r\n this.DeliveryTypeValue = \r\n odataObject.DeliveryTypeValue;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['AccountStatementRequestClass'] = AccountStatementRequestClass;\r\n \r\n /**\r\n * BusinessPartnerOperationRequestDetails entity class.\r\n */\r\n export class BusinessPartnerOperationRequestDetailsClass implements Entities.BusinessPartnerOperationRequestDetails {\r\n public InvoiceId: string;\r\n public AccountStatementStartDateTime: Date;\r\n public AccountStatementEndDateTime: Date;\r\n public ExtensionProperties: Entities.CommerceProperty[];\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.InvoiceId = \r\n odataObject.InvoiceId;\r\n \r\n this.AccountStatementStartDateTime = \r\n (odataObject.AccountStatementStartDateTime instanceof Date) ? odataObject.AccountStatementStartDateTime\r\n : (odataObject.AccountStatementStartDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.AccountStatementStartDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.AccountStatementEndDateTime = \r\n (odataObject.AccountStatementEndDateTime instanceof Date) ? odataObject.AccountStatementEndDateTime\r\n : (odataObject.AccountStatementEndDateTime != null) ? jsonLightReadStringPropertyValue(odataObject.AccountStatementEndDateTime, \"Edm.DateTimeOffset\", false) : undefined;\r\n \r\n this.ExtensionProperties = undefined;\r\n if (odataObject.ExtensionProperties) {\r\n this.ExtensionProperties = [];\r\n for (var i = 0; i < odataObject.ExtensionProperties.length; i++) {\r\n if (odataObject.ExtensionProperties[i] != null) {\r\n if (odataObject.ExtensionProperties[i]['@odata.type'] != null) {\r\n var className: string = odataObject.ExtensionProperties[i]['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.ExtensionProperties[i] = new entityDictionary[className](odataObject.ExtensionProperties[i])\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = new CommercePropertyClass(odataObject.ExtensionProperties[i]);\r\n }\r\n } else {\r\n this.ExtensionProperties[i] = undefined;\r\n }\r\n }\r\n }\r\n \r\n }\r\n }\r\n entityDictionary['BusinessPartnerOperationRequestDetailsClass'] = BusinessPartnerOperationRequestDetailsClass;\r\n \r\n /**\r\n * TaskManagementError entity class.\r\n */\r\n export class TaskManagementErrorClass implements Entities.TaskManagementError {\r\n public ErrorResourceId: string;\r\n public LocalizedMessage: string;\r\n public TaskId: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n this.ErrorResourceId = \r\n odataObject.ErrorResourceId;\r\n \r\n this.LocalizedMessage = \r\n odataObject.LocalizedMessage;\r\n \r\n this.TaskId = \r\n odataObject.TaskId;\r\n \r\n }\r\n }\r\n entityDictionary['TaskManagementErrorClass'] = TaskManagementErrorClass;\r\n \r\n /**\r\n * LineDataValidationFailure entity class.\r\n */\r\n export class LineDataValidationFailureClass implements Entities.LineDataValidationFailure {\r\n public DataValidationFailure: Entities.DataValidationFailure;\r\n public LineIndex: number;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n if (odataObject.DataValidationFailure == null) {\r\n this.DataValidationFailure = undefined;\r\n } else if (odataObject.DataValidationFailure['@odata.type'] == null) {\r\n this.DataValidationFailure = new DataValidationFailureClass(odataObject.DataValidationFailure);\r\n } else {\r\n var className: string = odataObject.DataValidationFailure['@odata.type'];\r\n className = className.substr(className.lastIndexOf('.') + 1).concat(\"Class\");\r\n if (entityDictionary[className]) {\r\n this.DataValidationFailure = new entityDictionary[className](odataObject.DataValidationFailure)\r\n }\r\n }\r\n\r\n \r\n this.LineIndex = \r\n odataObject.LineIndex;\r\n \r\n }\r\n }\r\n entityDictionary['LineDataValidationFailureClass'] = LineDataValidationFailureClass;\r\n \r\n /**\r\n * WrongEndpointException entity class.\r\n */\r\n export class WrongEndpointExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.WrongEndpointException {\r\n public RedirectUri: string;\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this.RedirectUri = \r\n odataObject.RedirectUri;\r\n \r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Retail.RetailServerLibrary.WrongEndpointException\";\r\n \r\n }\r\n }\r\n entityDictionary['WrongEndpointExceptionClass'] = WrongEndpointExceptionClass;\r\n \r\n /**\r\n * BadRequestException entity class.\r\n */\r\n export class BadRequestExceptionClass\r\n extends CommerceExceptionClass\r\n implements Entities.BadRequestException {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n super(odataObject);odataObject = odataObject || {};\r\n this[\"@odata.type\"] = \"#Microsoft.Dynamics.Retail.RetailServerLibrary.BadRequestException\";\r\n \r\n }\r\n }\r\n entityDictionary['BadRequestExceptionClass'] = BadRequestExceptionClass;\r\n \r\n /**\r\n * KeyValuePair_2OfString_ProductBehavior entity class.\r\n */\r\n export class KeyValuePair_2OfString_ProductBehaviorClass implements Entities.KeyValuePair_2OfString_ProductBehavior {\r\n \r\n // Navigation properties names\r\n \r\n /**\r\n * Construct an object from odata response.\r\n *\r\n * @param {any} odataObject The odata result object.\r\n */\r\n constructor(odataObject?: any) {\r\n odataObject = odataObject || {};\r\n }\r\n }\r\n entityDictionary['KeyValuePair_2OfString_ProductBehaviorClass'] = KeyValuePair_2OfString_ProductBehaviorClass;\r\n ","\r\n \r\n /**\r\n * The matched retail server api version.\r\n */\r\n export const ApiVersion: string = \"7.3\";\r\n \r\n export const EntityIdentifier = {\r\n \r\n 'Category' : {\r\n 'Key': \r\n 'RecordId'\r\n },\r\n 'Cart' : {\r\n 'Key': \r\n 'Id'\r\n },\r\n 'Customer' : {\r\n 'Key': \r\n 'AccountNumber'\r\n },\r\n 'Employee' : {\r\n 'Key': \r\n 'StaffId'\r\n },\r\n 'Checklist' : {\r\n 'Key': \r\n 'RecordId'\r\n },\r\n 'SalesOrder' : {\r\n 'Key': \r\n 'Id'\r\n },\r\n 'Shift' : {\r\n 'Key': [ \r\n 'ShiftId',\r\n 'TerminalId' ] \r\n },\r\n 'StockCountJournal' : {\r\n 'Key': \r\n 'JournalId'\r\n },\r\n 'OrgUnit' : {\r\n 'Key': \r\n 'OrgUnitNumber'\r\n },\r\n 'Product' : {\r\n 'Key': \r\n 'RecordId'\r\n },\r\n 'ProductCatalog' : {\r\n 'Key': \r\n 'RecordId'\r\n },\r\n 'CommerceList' : {\r\n 'Key': \r\n 'Id'\r\n },\r\n 'ProductList' : {\r\n 'Key': \r\n 'Id'\r\n },\r\n 'Recommendation' : {\r\n 'Key': \r\n 'Id'\r\n },\r\n 'TransferOrder' : {\r\n 'Key': \r\n 'OrderId'\r\n },\r\n 'PurchaseOrder' : {\r\n 'Key': \r\n 'OrderId'\r\n },\r\n 'PickingList' : {\r\n 'Key': \r\n 'OrderId'\r\n },\r\n 'Warehouse' : {\r\n 'Key': \r\n 'InventLocation'\r\n },\r\n 'ScanResult' : {\r\n 'Key': \r\n 'ScannedText'\r\n },\r\n 'SalesOrderContextualOperationsMap' : {\r\n 'Key': \r\n 'Id'\r\n },\r\n 'InventoryInboundOutboundDocument' : {\r\n 'Key': \r\n 'WorkDocumentId'\r\n },\r\n 'BusinessPartner' : {\r\n 'Key': \r\n 'BusinessPartnerId'\r\n },\r\n 'BusinessPartnerUser' : {\r\n 'Key': \r\n 'B2BUserId'\r\n },\r\n 'SuspendedCart' : {\r\n 'Key': \r\n 'Id'\r\n } \r\n };\r\n \r\n \r\n /**\r\n * AutoExitMethodType enum type.\r\n */\r\n export enum AutoExitMethodType {\r\n \r\n /**\r\n * The Logoff member.\r\n */\r\n Logoff = 0,\r\n \r\n /**\r\n * The Lock member.\r\n */\r\n Lock = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * CardType enum type.\r\n */\r\n export enum CardType {\r\n \r\n /**\r\n * The InternationalCreditCard member.\r\n */\r\n InternationalCreditCard = 0,\r\n \r\n /**\r\n * The InternationalDebitCard member.\r\n */\r\n InternationalDebitCard = 1,\r\n \r\n /**\r\n * The LoyaltyCard member.\r\n */\r\n LoyaltyCard = 2,\r\n \r\n /**\r\n * The CorporateCard member.\r\n */\r\n CorporateCard = 3,\r\n \r\n /**\r\n * The CustomerCard member.\r\n */\r\n CustomerCard = 4,\r\n \r\n /**\r\n * The EmployeeCard member.\r\n */\r\n EmployeeCard = 5,\r\n \r\n /**\r\n * The SalespersonCard member.\r\n */\r\n SalespersonCard = 6,\r\n \r\n /**\r\n * The GiftCard member.\r\n */\r\n GiftCard = 7,\r\n \r\n /**\r\n * The Check member.\r\n */\r\n Check = 8,\r\n \r\n /**\r\n * The Wallet member.\r\n */\r\n Wallet = 9,\r\n \r\n /**\r\n * The FoodCard member.\r\n */\r\n FoodCard = 21,\r\n \r\n /**\r\n * The MealCard member.\r\n */\r\n MealCard = 22,\r\n \r\n /**\r\n * The FuelCard member.\r\n */\r\n FuelCard = 23,\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = -1\r\n }\r\n \r\n /**\r\n * PublishingAction enum type.\r\n */\r\n export enum PublishingAction {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Publish member.\r\n */\r\n Publish = 1,\r\n \r\n /**\r\n * The Delete member.\r\n */\r\n Delete = 2,\r\n \r\n /**\r\n * The Expire member.\r\n */\r\n Expire = 3\r\n }\r\n \r\n /**\r\n * ListingPublishingActionStatus enum type.\r\n */\r\n export enum ListingPublishingActionStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Ready member.\r\n */\r\n Ready = 1,\r\n \r\n /**\r\n * The InProgress member.\r\n */\r\n InProgress = 2,\r\n \r\n /**\r\n * The Done member.\r\n */\r\n Done = 3,\r\n \r\n /**\r\n * The Failed member.\r\n */\r\n Failed = 4\r\n }\r\n \r\n /**\r\n * OnlineChannelPublishStatusType enum type.\r\n */\r\n export enum OnlineChannelPublishStatusType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Draft member.\r\n */\r\n Draft = 1,\r\n \r\n /**\r\n * The InProgress member.\r\n */\r\n InProgress = 2,\r\n \r\n /**\r\n * The Published member.\r\n */\r\n Published = 3,\r\n \r\n /**\r\n * The Failed member.\r\n */\r\n Failed = 4\r\n }\r\n \r\n /**\r\n * ReceiptTransactionType enum type.\r\n */\r\n export enum ReceiptTransactionType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Sale member.\r\n */\r\n Sale = 1,\r\n \r\n /**\r\n * The Return member.\r\n */\r\n Return = 2,\r\n \r\n /**\r\n * The Payment member.\r\n */\r\n Payment = 5,\r\n \r\n /**\r\n * The SalesOrder member.\r\n */\r\n SalesOrder = 6,\r\n \r\n /**\r\n * The Quote member.\r\n */\r\n Quote = 7,\r\n \r\n /**\r\n * The SuspendedTransaction member.\r\n */\r\n SuspendedTransaction = 9\r\n }\r\n \r\n /**\r\n * EmployeePriceOverrideType enum type.\r\n */\r\n export enum EmployeePriceOverrideType {\r\n \r\n /**\r\n * The HigherAndLower member.\r\n */\r\n HigherAndLower = 0,\r\n \r\n /**\r\n * The HigherOnly member.\r\n */\r\n HigherOnly = 1,\r\n \r\n /**\r\n * The LowerOnly member.\r\n */\r\n LowerOnly = 2,\r\n \r\n /**\r\n * The NotAllowed member.\r\n */\r\n NotAllowed = 3\r\n }\r\n \r\n /**\r\n * KeyInPriceRestriction enum type.\r\n */\r\n export enum KeyInPriceRestriction {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NewPrice member.\r\n */\r\n NewPrice = 1,\r\n \r\n /**\r\n * The HigherOrEqualPrice member.\r\n */\r\n HigherOrEqualPrice = 2,\r\n \r\n /**\r\n * The LowerOrEqualPrice member.\r\n */\r\n LowerOrEqualPrice = 3,\r\n \r\n /**\r\n * The NotAllowed member.\r\n */\r\n NotAllowed = 4\r\n }\r\n \r\n /**\r\n * KeyInQuantityRestriction enum type.\r\n */\r\n export enum KeyInQuantityRestriction {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Required member.\r\n */\r\n Required = 1,\r\n \r\n /**\r\n * The NotAllowed member.\r\n */\r\n NotAllowed = 2\r\n }\r\n \r\n /**\r\n * ProductDimensionType enum type.\r\n */\r\n export enum ProductDimensionType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Color member.\r\n */\r\n Color = 1,\r\n \r\n /**\r\n * The Configuration member.\r\n */\r\n Configuration = 2,\r\n \r\n /**\r\n * The Size member.\r\n */\r\n Size = 3,\r\n \r\n /**\r\n * The Style member.\r\n */\r\n Style = 4\r\n }\r\n \r\n /**\r\n * ProductType enum type.\r\n */\r\n export enum ProductType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The KitMaster member.\r\n */\r\n KitMaster = 1,\r\n \r\n /**\r\n * The KitVariant member.\r\n */\r\n KitVariant = 2,\r\n \r\n /**\r\n * The Master member.\r\n */\r\n Master = 3,\r\n \r\n /**\r\n * The Standalone member.\r\n */\r\n Standalone = 4,\r\n \r\n /**\r\n * The Variant member.\r\n */\r\n Variant = 5\r\n }\r\n \r\n /**\r\n * NumberSequenceSeedType enum type.\r\n */\r\n export enum NumberSequenceSeedType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ReceiptDefault member.\r\n */\r\n ReceiptDefault = 1,\r\n \r\n /**\r\n * The ReceiptSale member.\r\n */\r\n ReceiptSale = 2,\r\n \r\n /**\r\n * The ReceiptReturn member.\r\n */\r\n ReceiptReturn = 3,\r\n \r\n /**\r\n * The ReceiptSalesOrder member.\r\n */\r\n ReceiptSalesOrder = 4,\r\n \r\n /**\r\n * The ReceiptSalesInvoice member.\r\n */\r\n ReceiptSalesInvoice = 5,\r\n \r\n /**\r\n * The ReceiptPayment member.\r\n */\r\n ReceiptPayment = 6,\r\n \r\n /**\r\n * The BatchId member.\r\n */\r\n BatchId = 7,\r\n \r\n /**\r\n * The TransactionId member.\r\n */\r\n TransactionId = 8,\r\n \r\n /**\r\n * The ReceiptCustomerSalesOrder member.\r\n */\r\n ReceiptCustomerSalesOrder = 10,\r\n \r\n /**\r\n * The ReceiptCustomerQuote member.\r\n */\r\n ReceiptCustomerQuote = 11,\r\n \r\n /**\r\n * The ReceiptSuspendedTransaction member.\r\n */\r\n ReceiptSuspendedTransaction = 22\r\n }\r\n \r\n /**\r\n * ReasonCodeSourceType enum type.\r\n */\r\n export enum ReasonCodeSourceType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The AddSalesperson member.\r\n */\r\n AddSalesperson = 1,\r\n \r\n /**\r\n * The EndOfTransaction member.\r\n */\r\n EndOfTransaction = 2,\r\n \r\n /**\r\n * The ItemDiscount member.\r\n */\r\n ItemDiscount = 3,\r\n \r\n /**\r\n * The ItemNotOnFile member.\r\n */\r\n ItemNotOnFile = 4,\r\n \r\n /**\r\n * The LineItemTaxChange member.\r\n */\r\n LineItemTaxChange = 5,\r\n \r\n /**\r\n * The Markup member.\r\n */\r\n Markup = 6,\r\n \r\n /**\r\n * The NegativeAdjustment member.\r\n */\r\n NegativeAdjustment = 7,\r\n \r\n /**\r\n * The NfcEContingencyModeEnabled member.\r\n */\r\n NfcEContingencyModeEnabled = 8,\r\n \r\n /**\r\n * The NfcEVoided member.\r\n */\r\n NfcEVoided = 9,\r\n \r\n /**\r\n * The OpenDrawer member.\r\n */\r\n OpenDrawer = 10,\r\n \r\n /**\r\n * The OverridePrice member.\r\n */\r\n OverridePrice = 11,\r\n \r\n /**\r\n * The ReturnItem member.\r\n */\r\n ReturnItem = 12,\r\n \r\n /**\r\n * The ReturnTransaction member.\r\n */\r\n ReturnTransaction = 13,\r\n \r\n /**\r\n * The SerialNumber member.\r\n */\r\n SerialNumber = 14,\r\n \r\n /**\r\n * The StartOfTransaction member.\r\n */\r\n StartOfTransaction = 15,\r\n \r\n /**\r\n * The TenderDeclaration member.\r\n */\r\n TenderDeclaration = 16,\r\n \r\n /**\r\n * The TotalDiscount member.\r\n */\r\n TotalDiscount = 17,\r\n \r\n /**\r\n * The TransactionTaxChange member.\r\n */\r\n TransactionTaxChange = 18,\r\n \r\n /**\r\n * The VoidItem member.\r\n */\r\n VoidItem = 19,\r\n \r\n /**\r\n * The VoidPayment member.\r\n */\r\n VoidPayment = 20,\r\n \r\n /**\r\n * The VoidTransaction member.\r\n */\r\n VoidTransaction = 21,\r\n \r\n /**\r\n * The OrderFulfillment member.\r\n */\r\n OrderFulfillment = 22,\r\n \r\n /**\r\n * The ManualCharge member.\r\n */\r\n ManualCharge = 23\r\n }\r\n \r\n /**\r\n * TriggerFunctionType enum type.\r\n */\r\n export enum TriggerFunctionType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Item member.\r\n */\r\n Item = 1,\r\n \r\n /**\r\n * The InfoCode member.\r\n */\r\n InfoCode = 2\r\n }\r\n \r\n /**\r\n * QueryType enum type.\r\n */\r\n export enum QueryType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NameAndDescription member.\r\n */\r\n NameAndDescription = 1,\r\n \r\n /**\r\n * The AotObject member.\r\n */\r\n AotObject = 2\r\n }\r\n \r\n /**\r\n * ChangeAction enum type.\r\n */\r\n export enum ChangeAction {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Insert member.\r\n */\r\n Insert = 1,\r\n \r\n /**\r\n * The Update member.\r\n */\r\n Update = 2,\r\n \r\n /**\r\n * The Delete member.\r\n */\r\n Delete = 3\r\n }\r\n \r\n /**\r\n * PeriodicDiscountOfferType enum type.\r\n */\r\n export enum PeriodicDiscountOfferType {\r\n \r\n /**\r\n * The MultipleBuy member.\r\n */\r\n MultipleBuy = 0,\r\n \r\n /**\r\n * The MixAndMatch member.\r\n */\r\n MixAndMatch = 1,\r\n \r\n /**\r\n * The Offer member.\r\n */\r\n Offer = 2,\r\n \r\n /**\r\n * The Promotion member.\r\n */\r\n Promotion = 3,\r\n \r\n /**\r\n * The Threshold member.\r\n */\r\n Threshold = 4,\r\n \r\n /**\r\n * The LeastExpensiveFavorRetailer member.\r\n */\r\n LeastExpensiveFavorRetailer = 5,\r\n \r\n /**\r\n * The OfferLineQuantityLimit member.\r\n */\r\n OfferLineQuantityLimit = 6,\r\n \r\n /**\r\n * The ShippingThreshold member.\r\n */\r\n ShippingThreshold = 7\r\n }\r\n \r\n /**\r\n * SearchFilterType enum type.\r\n */\r\n export enum SearchFilterType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Text member.\r\n */\r\n Text = 1\r\n }\r\n \r\n /**\r\n * InfoCodeActivity enum type.\r\n */\r\n export enum InfoCodeActivity {\r\n \r\n /**\r\n * The Transaction member.\r\n */\r\n Transaction = 0,\r\n \r\n /**\r\n * The OrderFulfillment member.\r\n */\r\n OrderFulfillment = 1\r\n }\r\n \r\n /**\r\n * SrsReportFileFormat enum type.\r\n */\r\n export enum SrsReportFileFormat {\r\n \r\n /**\r\n * The CSV member.\r\n */\r\n CSV = 0,\r\n \r\n /**\r\n * The Excel member.\r\n */\r\n Excel = 1,\r\n \r\n /**\r\n * The HTML4_0 member.\r\n */\r\n HTML4_0 = 2,\r\n \r\n /**\r\n * The Image member.\r\n */\r\n Image = 3,\r\n \r\n /**\r\n * The MHTML member.\r\n */\r\n MHTML = 4,\r\n \r\n /**\r\n * The PDF member.\r\n */\r\n PDF = 5,\r\n \r\n /**\r\n * The XML member.\r\n */\r\n XML = 6\r\n }\r\n \r\n /**\r\n * ShiftReconciliationLineStatus enum type.\r\n */\r\n export enum ShiftReconciliationLineStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Pending member.\r\n */\r\n Pending = 1,\r\n \r\n /**\r\n * The Reconciled member.\r\n */\r\n Reconciled = 2,\r\n \r\n /**\r\n * The Closed member.\r\n */\r\n Closed = 3\r\n }\r\n \r\n /**\r\n * ProductSearchServiceType enum type.\r\n */\r\n export enum ProductSearchServiceType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ChannelDatabase member.\r\n */\r\n ChannelDatabase = 1,\r\n \r\n /**\r\n * The CommerceAzureSearchService member.\r\n */\r\n CommerceAzureSearchService = 2,\r\n \r\n /**\r\n * The CommerceBingSearchService member.\r\n */\r\n CommerceBingSearchService = 3\r\n }\r\n \r\n /**\r\n * SearchSuggestionType enum type.\r\n */\r\n export enum SearchSuggestionType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Keyword member.\r\n */\r\n Keyword = 1,\r\n \r\n /**\r\n * The Product member.\r\n */\r\n Product = 2,\r\n \r\n /**\r\n * The ScopedCategory member.\r\n */\r\n ScopedCategory = 4,\r\n \r\n /**\r\n * The Category member.\r\n */\r\n Category = 8,\r\n \r\n /**\r\n * The Customer member.\r\n */\r\n Customer = 16\r\n }\r\n \r\n /**\r\n * SalesStatus enum type.\r\n */\r\n export enum SalesStatus {\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = 0,\r\n \r\n /**\r\n * The Created member.\r\n */\r\n Created = 1,\r\n \r\n /**\r\n * The Processing member.\r\n */\r\n Processing = 2,\r\n \r\n /**\r\n * The Delivered member.\r\n */\r\n Delivered = 3,\r\n \r\n /**\r\n * The Invoiced member.\r\n */\r\n Invoiced = 4,\r\n \r\n /**\r\n * The Confirmed member.\r\n */\r\n Confirmed = 5,\r\n \r\n /**\r\n * The Sent member.\r\n */\r\n Sent = 6,\r\n \r\n /**\r\n * The Canceled member.\r\n */\r\n Canceled = 7,\r\n \r\n /**\r\n * The Lost member.\r\n */\r\n Lost = 8\r\n }\r\n \r\n /**\r\n * EFTType enum type.\r\n */\r\n export enum EFTType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The External member.\r\n */\r\n External = 1,\r\n \r\n /**\r\n * The PaymentSDK member.\r\n */\r\n PaymentSDK = 2,\r\n \r\n /**\r\n * The DynamicsOnline member.\r\n */\r\n DynamicsOnline = 3\r\n }\r\n \r\n /**\r\n * FilterDeliveryModeOption enum type.\r\n */\r\n export enum FilterDeliveryModeOption {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The FilterOutNonCarrierDeliveryMode member.\r\n */\r\n FilterOutNonCarrierDeliveryMode = 1,\r\n \r\n /**\r\n * The DoNotFilterByChannel member.\r\n */\r\n DoNotFilterByChannel = 2,\r\n \r\n /**\r\n * The FilterOutNonPickupDeliveryMode member.\r\n */\r\n FilterOutNonPickupDeliveryMode = 4\r\n }\r\n \r\n /**\r\n * InventoryDocumentLineOperationResultMode enum type.\r\n */\r\n export enum InventoryDocumentLineOperationResultMode {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NoLines member.\r\n */\r\n NoLines = 1,\r\n \r\n /**\r\n * The AllLines member.\r\n */\r\n AllLines = 2\r\n }\r\n \r\n /**\r\n * InventoryDocumentStatus enum type.\r\n */\r\n export enum InventoryDocumentStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Paused member.\r\n */\r\n Paused = 1,\r\n \r\n /**\r\n * The InProgress member.\r\n */\r\n InProgress = 2,\r\n \r\n /**\r\n * The Committed member.\r\n */\r\n Committed = 3,\r\n \r\n /**\r\n * The ProcessSucceeded member.\r\n */\r\n ProcessSucceeded = 4,\r\n \r\n /**\r\n * The ProcessFailed member.\r\n */\r\n ProcessFailed = 5\r\n }\r\n \r\n /**\r\n * InventoryDocumentUpdateLinesActionType enum type.\r\n */\r\n export enum InventoryDocumentUpdateLinesActionType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ApplyQuantity member.\r\n */\r\n ApplyQuantity = 1,\r\n \r\n /**\r\n * The ApplyMaximumQuantity member.\r\n */\r\n ApplyMaximumQuantity = 2\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentOperationType enum type.\r\n */\r\n export enum InventoryInboundOutboundDocumentOperationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ReceivePurchaseOrder member.\r\n */\r\n ReceivePurchaseOrder = 1,\r\n \r\n /**\r\n * The ReceiveTransferOrder member.\r\n */\r\n ReceiveTransferOrder = 2,\r\n \r\n /**\r\n * The ShipTransferOrder member.\r\n */\r\n ShipTransferOrder = 3,\r\n \r\n /**\r\n * The CreateTransferOrder member.\r\n */\r\n CreateTransferOrder = 4,\r\n \r\n /**\r\n * The SaveInventoryAdjustment member.\r\n */\r\n SaveInventoryAdjustment = 5,\r\n \r\n /**\r\n * The PostInventoryAdjustment member.\r\n */\r\n PostInventoryAdjustment = 6,\r\n \r\n /**\r\n * The PostInventoryTransfer member.\r\n */\r\n PostInventoryTransfer = 7,\r\n \r\n /**\r\n * The SaveStockCounting member.\r\n */\r\n SaveStockCounting = 8,\r\n \r\n /**\r\n * The PostStockCounting member.\r\n */\r\n PostStockCounting = 9,\r\n \r\n /**\r\n * The CreateStockCounting member.\r\n */\r\n CreateStockCounting = 10\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundSourceDocumentStatus enum type.\r\n */\r\n export enum InventoryInboundOutboundSourceDocumentStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Requested member.\r\n */\r\n Requested = 1,\r\n \r\n /**\r\n * The Shipped member.\r\n */\r\n Shipped = 2,\r\n \r\n /**\r\n * The PartiallyShipped member.\r\n */\r\n PartiallyShipped = 3,\r\n \r\n /**\r\n * The Received member.\r\n */\r\n Received = 4,\r\n \r\n /**\r\n * The PartiallyReceived member.\r\n */\r\n PartiallyReceived = 5,\r\n \r\n /**\r\n * The Cancelled member.\r\n */\r\n Cancelled = 6,\r\n \r\n /**\r\n * The Posted member.\r\n */\r\n Posted = 8,\r\n \r\n /**\r\n * The Committed member.\r\n */\r\n Committed = 9\r\n }\r\n \r\n /**\r\n * InventorySourceDocumentType enum type.\r\n */\r\n export enum InventorySourceDocumentType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The PurchaseOrder member.\r\n */\r\n PurchaseOrder = 1,\r\n \r\n /**\r\n * The TransferOrder member.\r\n */\r\n TransferOrder = 2,\r\n \r\n /**\r\n * The InventoryAdjustment member.\r\n */\r\n InventoryAdjustment = 3,\r\n \r\n /**\r\n * The InventoryTransfer member.\r\n */\r\n InventoryTransfer = 4,\r\n \r\n /**\r\n * The StockCounting member.\r\n */\r\n StockCounting = 5\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentState enum type.\r\n */\r\n export enum InventoryInboundOutboundDocumentState {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Active member.\r\n */\r\n Active = 1,\r\n \r\n /**\r\n * The Complete member.\r\n */\r\n Complete = 2,\r\n \r\n /**\r\n * The Draft member.\r\n */\r\n Draft = 3\r\n }\r\n \r\n /**\r\n * ReceiptNumberResetType enum type.\r\n */\r\n export enum ReceiptNumberResetType {\r\n \r\n /**\r\n * The SingleTime member.\r\n */\r\n SingleTime = 0,\r\n \r\n /**\r\n * The YearlyRecurrence member.\r\n */\r\n YearlyRecurrence = 1\r\n }\r\n \r\n /**\r\n * PeriodUnit enum type.\r\n */\r\n export enum PeriodUnit {\r\n \r\n /**\r\n * The Day member.\r\n */\r\n Day = 0,\r\n \r\n /**\r\n * The Week member.\r\n */\r\n Week = 1,\r\n \r\n /**\r\n * The Month member.\r\n */\r\n Month = 2,\r\n \r\n /**\r\n * The Year member.\r\n */\r\n Year = 3,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * WarrantyPriceRangeBaseType enum type.\r\n */\r\n export enum WarrantyPriceRangeBaseType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The BasePrice member.\r\n */\r\n BasePrice = 1,\r\n \r\n /**\r\n * The SellingPrice member.\r\n */\r\n SellingPrice = 2\r\n }\r\n \r\n /**\r\n * LogOnKeyboardType enum type.\r\n */\r\n export enum LogOnKeyboardType {\r\n \r\n /**\r\n * The OSKeyboard member.\r\n */\r\n OSKeyboard = 0,\r\n \r\n /**\r\n * The Numpad member.\r\n */\r\n Numpad = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * LogOnLayoutType enum type.\r\n */\r\n export enum LogOnLayoutType {\r\n \r\n /**\r\n * The Centered member.\r\n */\r\n Centered = 0,\r\n \r\n /**\r\n * The Right member.\r\n */\r\n Right = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * DeliveryModeTypeFilter enum type.\r\n */\r\n export enum DeliveryModeTypeFilter {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Shipping member.\r\n */\r\n Shipping = 1,\r\n \r\n /**\r\n * The Pickup member.\r\n */\r\n Pickup = 2\r\n }\r\n \r\n /**\r\n * InventoryDocumentValidationResultSeverity enum type.\r\n */\r\n export enum InventoryDocumentValidationResultSeverity {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Informational member.\r\n */\r\n Informational = 1,\r\n \r\n /**\r\n * The Warning member.\r\n */\r\n Warning = 2,\r\n \r\n /**\r\n * The Error member.\r\n */\r\n Error = 3\r\n }\r\n \r\n /**\r\n * InventoryDocumentOverreceivingErrors enum type.\r\n */\r\n export enum InventoryDocumentOverreceivingErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The QuantityExceededAllowed member.\r\n */\r\n QuantityExceededAllowed,\r\n \r\n /**\r\n * The QuantityExceededAllowedWithinOverreceivingTolerance member.\r\n */\r\n QuantityExceededAllowedWithinOverreceivingTolerance,\r\n \r\n /**\r\n * The QuantityExceededOverreceivingTolerance member.\r\n */\r\n QuantityExceededOverreceivingTolerance\r\n }\r\n \r\n /**\r\n * InventoryDocumentSerialNumberErrors enum type.\r\n */\r\n export enum InventoryDocumentSerialNumberErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The RequiredSerialNumberNotProvided member.\r\n */\r\n RequiredSerialNumberNotProvided,\r\n \r\n /**\r\n * The DuplicateSerialNumberIsNotAllowed member.\r\n */\r\n DuplicateSerialNumberIsNotAllowed,\r\n \r\n /**\r\n * The RequiredSerialNumberValidationNotProvided member.\r\n */\r\n RequiredSerialNumberValidationNotProvided,\r\n \r\n /**\r\n * The SerialNumberNotAvailable member.\r\n */\r\n SerialNumberNotAvailable\r\n }\r\n \r\n /**\r\n * EmployeeIdentityType enum type.\r\n */\r\n export enum EmployeeIdentityType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The CommerceIdentity member.\r\n */\r\n CommerceIdentity = 1,\r\n \r\n /**\r\n * The AadIdentity member.\r\n */\r\n AadIdentity = 2\r\n }\r\n \r\n /**\r\n * FulfillmentOperationType enum type.\r\n */\r\n export enum FulfillmentOperationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Pick member.\r\n */\r\n Pick = 1,\r\n \r\n /**\r\n * The Pack member.\r\n */\r\n Pack = 2,\r\n \r\n /**\r\n * The Ship member.\r\n */\r\n Ship = 3,\r\n \r\n /**\r\n * The Pickup member.\r\n */\r\n Pickup = 4\r\n }\r\n \r\n /**\r\n * PaymentStatus enum type.\r\n */\r\n export enum PaymentStatus {\r\n \r\n /**\r\n * The NotSubmitted member.\r\n */\r\n NotSubmitted = 0,\r\n \r\n /**\r\n * The Authorized member.\r\n */\r\n Authorized = 1,\r\n \r\n /**\r\n * The Declined member.\r\n */\r\n Declined = 2,\r\n \r\n /**\r\n * The Posted member.\r\n */\r\n Posted = 3,\r\n \r\n /**\r\n * The Paid member.\r\n */\r\n Paid = 4\r\n }\r\n \r\n /**\r\n * UserAlertSourceType enum type.\r\n */\r\n export enum UserAlertSourceType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Inventory_SerialNumberMissing member.\r\n */\r\n Inventory_SerialNumberMissing = 1,\r\n \r\n /**\r\n * The Inventory_SerialNumberInsufficientStock member.\r\n */\r\n Inventory_SerialNumberInsufficientStock = 2\r\n }\r\n \r\n /**\r\n * CustomerOrderMode enum type.\r\n */\r\n export enum CustomerOrderMode {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The CustomerOrderCreateOrEdit member.\r\n */\r\n CustomerOrderCreateOrEdit = 1,\r\n \r\n /**\r\n * The OrderRecalled member.\r\n */\r\n OrderRecalled = 2,\r\n \r\n /**\r\n * The Pickup member.\r\n */\r\n Pickup = 3,\r\n \r\n /**\r\n * The Return member.\r\n */\r\n Return = 4,\r\n \r\n /**\r\n * The Cancellation member.\r\n */\r\n Cancellation = 5,\r\n \r\n /**\r\n * The QuoteCreateOrEdit member.\r\n */\r\n QuoteCreateOrEdit = 6\r\n }\r\n \r\n /**\r\n * InventoryValidationErrors enum type.\r\n */\r\n export enum InventoryValidationErrors {\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryAvailableQuantitiesRecordsExceedLimit member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryAvailableQuantitiesRecordsExceedLimit,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ShipAllNotAllowedForAdvancedWarehouse member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ShipAllNotAllowedForAdvancedWarehouse,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_PurchaseOrderUnderDeliveryNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_PurchaseOrderUnderDeliveryNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ClosePurchaseLineNotAllowedWhenReceiveNowQuantityIsZero member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ClosePurchaseLineNotAllowedWhenReceiveNowQuantityIsZero,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ClosePurchaseOrderLineNotAllowWhenReceiveQuantityUnderTolerance member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ClosePurchaseOrderLineNotAllowWhenReceiveQuantityUnderTolerance,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_LineNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_LineNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_CloseTransferLineNotAllowedWhenShipNowQuantityIsZero member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_CloseTransferLineNotAllowedWhenShipNowQuantityIsZero,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ShipAllForAdvancedWarehouseWithoutIssueLocation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ShipAllForAdvancedWarehouseWithoutIssueLocation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ProductBehaviorMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_ProductBehaviorMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_StockCountJournal_JournalNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_StockCountJournal_JournalNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_NoLineToCommit member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_NoLineToCommit,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_Journal_Name_Search_Criteria_Not_Valid member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_Journal_Name_Search_Criteria_Not_Valid,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_Movement_Journal_Location_Dimension_Missing_For_Product member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_Movement_Journal_Location_Dimension_Missing_For_Product,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_UpdateEmptyLinesNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_UpdateEmptyLinesNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_SearchCriteriaContainsWarehouseLocationId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_SearchCriteriaContainsWarehouseLocationId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_DefaultIssueLocationNotFoundForWarehouse member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_DefaultIssueLocationNotFoundForWarehouse,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_DefaultReceiptLocationNotFoundForWarehouse member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_DefaultReceiptLocationNotFoundForWarehouse,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventorySourceDocumentMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventorySourceDocumentMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_CommitDocumentFailToDeserialize member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_CommitDocumentFailToDeserialize,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_LineCannotBeDeleted member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocument_LineCannotBeDeleted\r\n }\r\n \r\n /**\r\n * InventoryJournalPosAdjustmentType enum type.\r\n */\r\n export enum InventoryJournalPosAdjustmentType {\r\n \r\n /**\r\n * The In member.\r\n */\r\n In = 0,\r\n \r\n /**\r\n * The Out member.\r\n */\r\n Out = 1\r\n }\r\n \r\n /**\r\n * ProductDataValidationErrors enum type.\r\n */\r\n export enum ProductDataValidationErrors {\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HavingMultipleCategoriesNotSupportedInRemoteSearch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HavingMultipleCategoriesNotSupportedInRemoteSearch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HavingMultipleSearchTypesIsNotSupportedInRemoteSearch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HavingMultipleSearchTypesIsNotSupportedInRemoteSearch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductSerialNumberIsTooLong member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductSerialNumberIsTooLong,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NullItemIdNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NullItemIdNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MoreThanOneProductsForSearchVariantPriceRange member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MoreThanOneProductsForSearchVariantPriceRange,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductIsNotMasterForSearchVariantPriceRange member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductIsNotMasterForSearchVariantPriceRange,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidProductSearchCriteria member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidProductSearchCriteria\r\n }\r\n \r\n /**\r\n * AddressOperationType enum type.\r\n */\r\n export enum AddressOperationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Create member.\r\n */\r\n Create = 1,\r\n \r\n /**\r\n * The Update member.\r\n */\r\n Update = 2,\r\n \r\n /**\r\n * The Deactivate member.\r\n */\r\n Deactivate = 3\r\n }\r\n \r\n /**\r\n * AddressType enum type.\r\n */\r\n export enum AddressType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Invoice member.\r\n */\r\n Invoice = 1,\r\n \r\n /**\r\n * The Delivery member.\r\n */\r\n Delivery = 2,\r\n \r\n /**\r\n * The AltDlv member.\r\n */\r\n AltDlv = 3,\r\n \r\n /**\r\n * The SWIFT member.\r\n */\r\n SWIFT = 4,\r\n \r\n /**\r\n * The Payment member.\r\n */\r\n Payment = 5,\r\n \r\n /**\r\n * The Service member.\r\n */\r\n Service = 6,\r\n \r\n /**\r\n * The Home member.\r\n */\r\n Home = 7,\r\n \r\n /**\r\n * The Other member.\r\n */\r\n Other = 8,\r\n \r\n /**\r\n * The Business member.\r\n */\r\n Business = 9,\r\n \r\n /**\r\n * The RemitTo member.\r\n */\r\n RemitTo = 10,\r\n \r\n /**\r\n * The ShipCarrierThirdPartyShipping member.\r\n */\r\n ShipCarrierThirdPartyShipping = 11,\r\n \r\n /**\r\n * The Statement member.\r\n */\r\n Statement = 12,\r\n \r\n /**\r\n * The FixedAsset member.\r\n */\r\n FixedAsset = 15,\r\n \r\n /**\r\n * The Onetime member.\r\n */\r\n Onetime = 16,\r\n \r\n /**\r\n * The Recruit member.\r\n */\r\n Recruit = 17,\r\n \r\n /**\r\n * The SMS member.\r\n */\r\n SMS = 18,\r\n \r\n /**\r\n * The Lading_W member.\r\n */\r\n Lading_W = 101,\r\n \r\n /**\r\n * The Unlading_W member.\r\n */\r\n Unlading_W = 102,\r\n \r\n /**\r\n * The Consignment_IN member.\r\n */\r\n Consignment_IN = 103\r\n }\r\n \r\n /**\r\n * AttributeDataType enum type.\r\n */\r\n export enum AttributeDataType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Currency member.\r\n */\r\n Currency = 1,\r\n \r\n /**\r\n * The DateTime member.\r\n */\r\n DateTime = 2,\r\n \r\n /**\r\n * The Decimal member.\r\n */\r\n Decimal = 3,\r\n \r\n /**\r\n * The Integer member.\r\n */\r\n Integer = 4,\r\n \r\n /**\r\n * The Text member.\r\n */\r\n Text = 5,\r\n \r\n /**\r\n * The TrueFalse member.\r\n */\r\n TrueFalse = 6,\r\n \r\n /**\r\n * The Video member.\r\n */\r\n Video = 40,\r\n \r\n /**\r\n * The Image member.\r\n */\r\n Image = 41\r\n }\r\n \r\n /**\r\n * BarcodeEntryMethodType enum type.\r\n */\r\n export enum BarcodeEntryMethodType {\r\n \r\n /**\r\n * The SingleScanned member.\r\n */\r\n SingleScanned = 0,\r\n \r\n /**\r\n * The MultipleScanned member.\r\n */\r\n MultipleScanned = 1,\r\n \r\n /**\r\n * The ManuallyEntered member.\r\n */\r\n ManuallyEntered = 2,\r\n \r\n /**\r\n * The Selected member.\r\n */\r\n Selected = 3\r\n }\r\n \r\n /**\r\n * BarcodeMaskType enum type.\r\n */\r\n export enum BarcodeMaskType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Item member.\r\n */\r\n Item = 1,\r\n \r\n /**\r\n * The Customer member.\r\n */\r\n Customer = 2,\r\n \r\n /**\r\n * The Employee member.\r\n */\r\n Employee = 3,\r\n \r\n /**\r\n * The Coupon member.\r\n */\r\n Coupon = 4,\r\n \r\n /**\r\n * The DataEntry member.\r\n */\r\n DataEntry = 5,\r\n \r\n /**\r\n * The Salesperson member.\r\n */\r\n Salesperson = 6,\r\n \r\n /**\r\n * The Pharmacy member.\r\n */\r\n Pharmacy = 7,\r\n \r\n /**\r\n * The DiscountCode member.\r\n */\r\n DiscountCode = 8,\r\n \r\n /**\r\n * The GiftCard member.\r\n */\r\n GiftCard = 9,\r\n \r\n /**\r\n * The LoyaltyCard member.\r\n */\r\n LoyaltyCard = 10\r\n }\r\n \r\n /**\r\n * TransactionStatus enum type.\r\n */\r\n export enum TransactionStatus {\r\n \r\n /**\r\n * The Normal member.\r\n */\r\n Normal = 0,\r\n \r\n /**\r\n * The Voided member.\r\n */\r\n Voided = 1,\r\n \r\n /**\r\n * The Posted member.\r\n */\r\n Posted = 2,\r\n \r\n /**\r\n * The Concluded member.\r\n */\r\n Concluded = 3,\r\n \r\n /**\r\n * The Canceled member.\r\n */\r\n Canceled = 4,\r\n \r\n /**\r\n * The OnHold member.\r\n */\r\n OnHold = 5,\r\n \r\n /**\r\n * The Training member.\r\n */\r\n Training = 6,\r\n \r\n /**\r\n * The Aborted member.\r\n */\r\n Aborted = 7\r\n }\r\n \r\n /**\r\n * GiftCardOperationType enum type.\r\n */\r\n export enum GiftCardOperationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Issue member.\r\n */\r\n Issue = 1,\r\n \r\n /**\r\n * The AddTo member.\r\n */\r\n AddTo = 2,\r\n \r\n /**\r\n * The CashOut member.\r\n */\r\n CashOut = 3\r\n }\r\n \r\n /**\r\n * RetailGiftCardType enum type.\r\n */\r\n export enum RetailGiftCardType {\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = 0,\r\n \r\n /**\r\n * The InternalGiftCard member.\r\n */\r\n InternalGiftCard = 1,\r\n \r\n /**\r\n * The ExternalGiftCard member.\r\n */\r\n ExternalGiftCard = 2\r\n }\r\n \r\n /**\r\n * DiscountLineType enum type.\r\n */\r\n export enum DiscountLineType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The CustomerDiscount member.\r\n */\r\n CustomerDiscount = 1,\r\n \r\n /**\r\n * The PeriodicDiscount member.\r\n */\r\n PeriodicDiscount = 2,\r\n \r\n /**\r\n * The ManualDiscount member.\r\n */\r\n ManualDiscount = 3,\r\n \r\n /**\r\n * The LoyaltyDiscount member.\r\n */\r\n LoyaltyDiscount = 4,\r\n \r\n /**\r\n * The TenderTypeDiscount member.\r\n */\r\n TenderTypeDiscount = 5\r\n }\r\n \r\n /**\r\n * ManualDiscountType enum type.\r\n */\r\n export enum ManualDiscountType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The LineDiscountAmount member.\r\n */\r\n LineDiscountAmount = 1,\r\n \r\n /**\r\n * The LineDiscountPercent member.\r\n */\r\n LineDiscountPercent = 2,\r\n \r\n /**\r\n * The TotalDiscountAmount member.\r\n */\r\n TotalDiscountAmount = 3,\r\n \r\n /**\r\n * The TotalDiscountPercent member.\r\n */\r\n TotalDiscountPercent = 4\r\n }\r\n \r\n /**\r\n * CustomerDiscountType enum type.\r\n */\r\n export enum CustomerDiscountType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The LineDiscount member.\r\n */\r\n LineDiscount = 1,\r\n \r\n /**\r\n * The MultilineDiscount member.\r\n */\r\n MultilineDiscount = 2,\r\n \r\n /**\r\n * The TotalDiscount member.\r\n */\r\n TotalDiscount = 3\r\n }\r\n \r\n /**\r\n * ConcurrencyMode enum type.\r\n */\r\n export enum ConcurrencyMode {\r\n \r\n /**\r\n * The Exclusive member.\r\n */\r\n Exclusive = 0,\r\n \r\n /**\r\n * The BestPrice member.\r\n */\r\n BestPrice = 1,\r\n \r\n /**\r\n * The Compounded member.\r\n */\r\n Compounded = 2,\r\n \r\n /**\r\n * The AlwaysApply member.\r\n */\r\n AlwaysApply = 3\r\n }\r\n \r\n /**\r\n * ReasonCodeInputType enum type.\r\n */\r\n export enum ReasonCodeInputType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The SubCode member.\r\n */\r\n SubCode = 1,\r\n \r\n /**\r\n * The Date member.\r\n */\r\n Date = 2,\r\n \r\n /**\r\n * The Numeric member.\r\n */\r\n Numeric = 3,\r\n \r\n /**\r\n * The Item member.\r\n */\r\n Item = 4,\r\n \r\n /**\r\n * The Customer member.\r\n */\r\n Customer = 5,\r\n \r\n /**\r\n * The Staff member.\r\n */\r\n Staff = 6,\r\n \r\n /**\r\n * The Text member.\r\n */\r\n Text = 9,\r\n \r\n /**\r\n * The SubCodeButtons member.\r\n */\r\n SubCodeButtons = 10,\r\n \r\n /**\r\n * The AgeLimit member.\r\n */\r\n AgeLimit = 11,\r\n \r\n /**\r\n * The CompositeSubCodes member.\r\n */\r\n CompositeSubCodes = 12\r\n }\r\n \r\n /**\r\n * ReasonCodeLineType enum type.\r\n */\r\n export enum ReasonCodeLineType {\r\n \r\n /**\r\n * The Header member.\r\n */\r\n Header = 0,\r\n \r\n /**\r\n * The Sales member.\r\n */\r\n Sales = 1,\r\n \r\n /**\r\n * The Payment member.\r\n */\r\n Payment = 2,\r\n \r\n /**\r\n * The IncomeExpense member.\r\n */\r\n IncomeExpense = 3,\r\n \r\n /**\r\n * The NoSale member.\r\n */\r\n NoSale = 4,\r\n \r\n /**\r\n * The Affiliation member.\r\n */\r\n Affiliation = 5,\r\n \r\n /**\r\n * The Fiscal member.\r\n */\r\n Fiscal = 6\r\n }\r\n \r\n /**\r\n * ChargeModule enum type.\r\n */\r\n export enum ChargeModule {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Sales member.\r\n */\r\n Sales = 1,\r\n \r\n /**\r\n * The Retail member.\r\n */\r\n Retail = 3\r\n }\r\n \r\n /**\r\n * ChargeType enum type.\r\n */\r\n export enum ChargeType {\r\n \r\n /**\r\n * The ManualCharge member.\r\n */\r\n ManualCharge = 0,\r\n \r\n /**\r\n * The PriceCharge member.\r\n */\r\n PriceCharge = 1,\r\n \r\n /**\r\n * The AutoCharge member.\r\n */\r\n AutoCharge = 2\r\n }\r\n \r\n /**\r\n * ChargeMethod enum type.\r\n */\r\n export enum ChargeMethod {\r\n \r\n /**\r\n * The Fixed member.\r\n */\r\n Fixed = 0,\r\n \r\n /**\r\n * The Pieces member.\r\n */\r\n Pieces = 1,\r\n \r\n /**\r\n * The Percent member.\r\n */\r\n Percent = 2,\r\n \r\n /**\r\n * The InterCompanyPercent member.\r\n */\r\n InterCompanyPercent = 3,\r\n \r\n /**\r\n * The External member.\r\n */\r\n External = 4,\r\n \r\n /**\r\n * The Proportional member.\r\n */\r\n Proportional = 5\r\n }\r\n \r\n /**\r\n * CashType enum type.\r\n */\r\n export enum CashType {\r\n \r\n /**\r\n * The Coin member.\r\n */\r\n Coin = 0,\r\n \r\n /**\r\n * The Note member.\r\n */\r\n Note = 1\r\n }\r\n \r\n /**\r\n * IncomeExpenseAccountType enum type.\r\n */\r\n export enum IncomeExpenseAccountType {\r\n \r\n /**\r\n * The Income member.\r\n */\r\n Income = 0,\r\n \r\n /**\r\n * The Expense member.\r\n */\r\n Expense = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * TenderLineStatus enum type.\r\n */\r\n export enum TenderLineStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NotProcessed member.\r\n */\r\n NotProcessed = 1,\r\n \r\n /**\r\n * The PendingCommit member.\r\n */\r\n PendingCommit = 2,\r\n \r\n /**\r\n * The Voided member.\r\n */\r\n Voided = 3,\r\n \r\n /**\r\n * The Committed member.\r\n */\r\n Committed = 4,\r\n \r\n /**\r\n * The Historical member.\r\n */\r\n Historical = 5\r\n }\r\n \r\n /**\r\n * TenderLineVoidStatus enum type.\r\n */\r\n export enum TenderLineVoidStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NormalVoid member.\r\n */\r\n NormalVoid = 1,\r\n \r\n /**\r\n * The ForceVoided member.\r\n */\r\n ForceVoided = 2,\r\n \r\n /**\r\n * The ForceVoidReconciled member.\r\n */\r\n ForceVoidReconciled = 3\r\n }\r\n \r\n /**\r\n * PaymentProcessingType enum type.\r\n */\r\n export enum PaymentProcessingType {\r\n \r\n /**\r\n * The Immediate member.\r\n */\r\n Immediate = 0,\r\n \r\n /**\r\n * The Deferred member.\r\n */\r\n Deferred = 1,\r\n \r\n /**\r\n * The LinkedRefund member.\r\n */\r\n LinkedRefund = 2,\r\n \r\n /**\r\n * The Recalled member.\r\n */\r\n Recalled = 3\r\n }\r\n \r\n /**\r\n * CreditCardProcessorStatus enum type.\r\n */\r\n export enum CreditCardProcessorStatus {\r\n \r\n /**\r\n * The NA member.\r\n */\r\n NA = 0,\r\n \r\n /**\r\n * The Approved member.\r\n */\r\n Approved = 1,\r\n \r\n /**\r\n * The Declined member.\r\n */\r\n Declined = 2,\r\n \r\n /**\r\n * The Error member.\r\n */\r\n Error = 3\r\n }\r\n \r\n /**\r\n * ContactInformationType enum type.\r\n */\r\n export enum ContactInformationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Phone member.\r\n */\r\n Phone = 1,\r\n \r\n /**\r\n * The Email member.\r\n */\r\n Email = 2,\r\n \r\n /**\r\n * The Url member.\r\n */\r\n Url = 3,\r\n \r\n /**\r\n * The Telex member.\r\n */\r\n Telex = 4,\r\n \r\n /**\r\n * The Fax member.\r\n */\r\n Fax = 5,\r\n \r\n /**\r\n * The CellularPhone member.\r\n */\r\n CellularPhone = 6\r\n }\r\n \r\n /**\r\n * CommerceEntityDataLevel enum type.\r\n */\r\n export enum CommerceEntityDataLevel {\r\n \r\n /**\r\n * The Identity member.\r\n */\r\n Identity = 0,\r\n \r\n /**\r\n * The Minimal member.\r\n */\r\n Minimal = 1,\r\n \r\n /**\r\n * The Standard member.\r\n */\r\n Standard = 2,\r\n \r\n /**\r\n * The Extended member.\r\n */\r\n Extended = 3,\r\n \r\n /**\r\n * The Complete member.\r\n */\r\n Complete = 4\r\n }\r\n \r\n /**\r\n * ProductPropertyType enum type.\r\n */\r\n export enum ProductPropertyType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Currency member.\r\n */\r\n Currency = 1,\r\n \r\n /**\r\n * The DateTime member.\r\n */\r\n DateTime = 2,\r\n \r\n /**\r\n * The Decimal member.\r\n */\r\n Decimal = 3,\r\n \r\n /**\r\n * The Integer member.\r\n */\r\n Integer = 4,\r\n \r\n /**\r\n * The Text member.\r\n */\r\n Text = 5,\r\n \r\n /**\r\n * The Boolean member.\r\n */\r\n Boolean = 6,\r\n \r\n /**\r\n * The Video member.\r\n */\r\n Video = 40,\r\n \r\n /**\r\n * The Image member.\r\n */\r\n Image = 41\r\n }\r\n \r\n /**\r\n * AttributeGroupType enum type.\r\n */\r\n export enum AttributeGroupType {\r\n \r\n /**\r\n * The Default member.\r\n */\r\n Default = 0,\r\n \r\n /**\r\n * The Specification member.\r\n */\r\n Specification = 1\r\n }\r\n \r\n /**\r\n * ProductSource enum type.\r\n */\r\n export enum ProductSource {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Local member.\r\n */\r\n Local = 1,\r\n \r\n /**\r\n * The Remote member.\r\n */\r\n Remote = 2\r\n }\r\n \r\n /**\r\n * RoundingMethod enum type.\r\n */\r\n export enum RoundingMethod {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Nearest member.\r\n */\r\n Nearest = 1,\r\n \r\n /**\r\n * The Up member.\r\n */\r\n Up = 2,\r\n \r\n /**\r\n * The Down member.\r\n */\r\n Down = 3\r\n }\r\n \r\n /**\r\n * PriceMethod enum type.\r\n */\r\n export enum PriceMethod {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Fixed member.\r\n */\r\n Fixed = 1,\r\n \r\n /**\r\n * The AmountOff member.\r\n */\r\n AmountOff = 2,\r\n \r\n /**\r\n * The PercentOff member.\r\n */\r\n PercentOff = 3\r\n }\r\n \r\n /**\r\n * LineMultilineDiscountOnItem enum type.\r\n */\r\n export enum LineMultilineDiscountOnItem {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Line member.\r\n */\r\n Line = 1,\r\n \r\n /**\r\n * The Multiline member.\r\n */\r\n Multiline = 2,\r\n \r\n /**\r\n * The Both member.\r\n */\r\n Both = 3\r\n }\r\n \r\n /**\r\n * LoyaltyRewardPointEntryType enum type.\r\n */\r\n export enum LoyaltyRewardPointEntryType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Earn member.\r\n */\r\n Earn = 1,\r\n \r\n /**\r\n * The Redeem member.\r\n */\r\n Redeem = 2,\r\n \r\n /**\r\n * The ReturnEarned member.\r\n */\r\n ReturnEarned = 3,\r\n \r\n /**\r\n * The Adjust member.\r\n */\r\n Adjust = 4,\r\n \r\n /**\r\n * The Refund member.\r\n */\r\n Refund = 5\r\n }\r\n \r\n /**\r\n * LoyaltyRewardPointType enum type.\r\n */\r\n export enum LoyaltyRewardPointType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Quantity member.\r\n */\r\n Quantity = 1,\r\n \r\n /**\r\n * The Amount member.\r\n */\r\n Amount = 2\r\n }\r\n \r\n /**\r\n * TransactionType enum type.\r\n */\r\n export enum TransactionType {\r\n \r\n /**\r\n * The LogOff member.\r\n */\r\n LogOff = 0,\r\n \r\n /**\r\n * The LogOn member.\r\n */\r\n LogOn = 1,\r\n \r\n /**\r\n * The Sales member.\r\n */\r\n Sales = 2,\r\n \r\n /**\r\n * The Payment member.\r\n */\r\n Payment = 3,\r\n \r\n /**\r\n * The RemoveTender member.\r\n */\r\n RemoveTender = 4,\r\n \r\n /**\r\n * The FloatEntry member.\r\n */\r\n FloatEntry = 5,\r\n \r\n /**\r\n * The ChangeTender member.\r\n */\r\n ChangeTender = 6,\r\n \r\n /**\r\n * The TenderDeclaration member.\r\n */\r\n TenderDeclaration = 7,\r\n \r\n /**\r\n * The OpenDrawer member.\r\n */\r\n OpenDrawer = 9,\r\n \r\n /**\r\n * The SalesOrder member.\r\n */\r\n SalesOrder = 14,\r\n \r\n /**\r\n * The SalesInvoice member.\r\n */\r\n SalesInvoice = 15,\r\n \r\n /**\r\n * The BankDrop member.\r\n */\r\n BankDrop = 16,\r\n \r\n /**\r\n * The SafeDrop member.\r\n */\r\n SafeDrop = 17,\r\n \r\n /**\r\n * The IncomeExpense member.\r\n */\r\n IncomeExpense = 18,\r\n \r\n /**\r\n * The CustomerOrder member.\r\n */\r\n CustomerOrder = 19,\r\n \r\n /**\r\n * The StartingAmount member.\r\n */\r\n StartingAmount = 20,\r\n \r\n /**\r\n * The SuspendShift member.\r\n */\r\n SuspendShift = 21,\r\n \r\n /**\r\n * The BlindCloseShift member.\r\n */\r\n BlindCloseShift = 22,\r\n \r\n /**\r\n * The CloseShift member.\r\n */\r\n CloseShift = 23,\r\n \r\n /**\r\n * The PrintX member.\r\n */\r\n PrintX = 24,\r\n \r\n /**\r\n * The PrintZ member.\r\n */\r\n PrintZ = 25,\r\n \r\n /**\r\n * The PendingSalesOrder member.\r\n */\r\n PendingSalesOrder = 27,\r\n \r\n /**\r\n * The KitDisassembly member.\r\n */\r\n KitDisassembly = 28,\r\n \r\n /**\r\n * The AsyncCustomerQuote member.\r\n */\r\n AsyncCustomerQuote = 31,\r\n \r\n /**\r\n * The AsyncCustomerOrder member.\r\n */\r\n AsyncCustomerOrder = 33,\r\n \r\n /**\r\n * The ForceDeleteShift member.\r\n */\r\n ForceDeleteShift = 34,\r\n \r\n /**\r\n * The GiftCardInquiry member.\r\n */\r\n GiftCardInquiry = 35,\r\n \r\n /**\r\n * The SuspendedTransaction member.\r\n */\r\n SuspendedTransaction = 36,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * CashManagementTransactionContext enum type.\r\n */\r\n export enum CashManagementTransactionContext {\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = 0,\r\n \r\n /**\r\n * The Shift member.\r\n */\r\n Shift = 1,\r\n \r\n /**\r\n * The Safe member.\r\n */\r\n Safe = 2,\r\n \r\n /**\r\n * The Bank member.\r\n */\r\n Bank = 3\r\n }\r\n \r\n /**\r\n * CustomerTimelineItemEntityType enum type.\r\n */\r\n export enum CustomerTimelineItemEntityType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Activity member.\r\n */\r\n Activity = 1,\r\n \r\n /**\r\n * The Note member.\r\n */\r\n Note = 2,\r\n \r\n /**\r\n * The UnifiedActivity member.\r\n */\r\n UnifiedActivity = 3\r\n }\r\n \r\n /**\r\n * EmployeePermissionsAllowPrintingReceiptCopy enum type.\r\n */\r\n export enum EmployeePermissionsAllowPrintingReceiptCopy {\r\n \r\n /**\r\n * The Always member.\r\n */\r\n Always = 0,\r\n \r\n /**\r\n * The OnlyOnce member.\r\n */\r\n OnlyOnce = 1,\r\n \r\n /**\r\n * The OnlyOnceHqAvailable member.\r\n */\r\n OnlyOnceHqAvailable = 2,\r\n \r\n /**\r\n * The Never member.\r\n */\r\n Never = 3\r\n }\r\n \r\n /**\r\n * AddressFormatLineType enum type.\r\n */\r\n export enum AddressFormatLineType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ZipCode member.\r\n */\r\n ZipCode = 1,\r\n \r\n /**\r\n * The City member.\r\n */\r\n City = 2,\r\n \r\n /**\r\n * The County member.\r\n */\r\n County = 3,\r\n \r\n /**\r\n * The State member.\r\n */\r\n State = 4,\r\n \r\n /**\r\n * The CountryRegion member.\r\n */\r\n CountryRegion = 5,\r\n \r\n /**\r\n * The StreetName member.\r\n */\r\n StreetName = 6,\r\n \r\n /**\r\n * The District member.\r\n */\r\n District = 7,\r\n \r\n /**\r\n * The StreetNumber member.\r\n */\r\n StreetNumber = 8,\r\n \r\n /**\r\n * The BuildingCompliment member.\r\n */\r\n BuildingCompliment = 9,\r\n \r\n /**\r\n * The Postbox member.\r\n */\r\n Postbox = 10,\r\n \r\n /**\r\n * The House_RU member.\r\n */\r\n House_RU = 21,\r\n \r\n /**\r\n * The Flat_RU member.\r\n */\r\n Flat_RU = 22,\r\n \r\n /**\r\n * The CountryOKSMCode_RU member.\r\n */\r\n CountryOKSMCode_RU = 23\r\n }\r\n \r\n /**\r\n * StatementMethod enum type.\r\n */\r\n export enum StatementMethod {\r\n \r\n /**\r\n * The Staff member.\r\n */\r\n Staff = 0,\r\n \r\n /**\r\n * The PosTerminal member.\r\n */\r\n PosTerminal = 1,\r\n \r\n /**\r\n * The Total member.\r\n */\r\n Total = 2,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * SalesRepPromptType enum type.\r\n */\r\n export enum SalesRepPromptType {\r\n \r\n /**\r\n * The NoPrompt member.\r\n */\r\n NoPrompt = 0,\r\n \r\n /**\r\n * The PromptOnCartCreation member.\r\n */\r\n PromptOnCartCreation = 1,\r\n \r\n /**\r\n * The PromptOnCartLineCreation member.\r\n */\r\n PromptOnCartLineCreation = 2,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * RetailProductSearchType enum type.\r\n */\r\n export enum RetailProductSearchType {\r\n \r\n /**\r\n * The MatchAnySearchTerms member.\r\n */\r\n MatchAnySearchTerms = 0,\r\n \r\n /**\r\n * The MatchAllSearchTerms member.\r\n */\r\n MatchAllSearchTerms = 1\r\n }\r\n \r\n /**\r\n * RetailDenominationsToDisplay enum type.\r\n */\r\n export enum RetailDenominationsToDisplay {\r\n \r\n /**\r\n * The GreaterOrEqualToAmountDue member.\r\n */\r\n GreaterOrEqualToAmountDue = 0,\r\n \r\n /**\r\n * The AllDenominations member.\r\n */\r\n AllDenominations = 1\r\n }\r\n \r\n /**\r\n * EmployeeLogonType enum type.\r\n */\r\n export enum EmployeeLogonType {\r\n \r\n /**\r\n * The RetailIdentityProvider member.\r\n */\r\n RetailIdentityProvider = 0,\r\n \r\n /**\r\n * The AzureActiveDirectory member.\r\n */\r\n AzureActiveDirectory = 1,\r\n \r\n /**\r\n * The AzureActiveDirectorySingleSignOn member.\r\n */\r\n AzureActiveDirectorySingleSignOn = 2\r\n }\r\n \r\n /**\r\n * RetailCustomerSearchMode enum type.\r\n */\r\n export enum RetailCustomerSearchMode {\r\n \r\n /**\r\n * The Local member.\r\n */\r\n Local = 0,\r\n \r\n /**\r\n * The Remote member.\r\n */\r\n Remote = 1\r\n }\r\n \r\n /**\r\n * RequirePaymentForFulfillment enum type.\r\n */\r\n export enum RequirePaymentForFulfillment {\r\n \r\n /**\r\n * The AllowPayLater member.\r\n */\r\n AllowPayLater = 0,\r\n \r\n /**\r\n * The CardRequired member.\r\n */\r\n CardRequired = 1\r\n }\r\n \r\n /**\r\n * CardNotPresentProcessingConfiguration enum type.\r\n */\r\n export enum CardNotPresentProcessingConfiguration {\r\n \r\n /**\r\n * The UseHardwareStation member.\r\n */\r\n UseHardwareStation = 0,\r\n \r\n /**\r\n * The UseCommerceEngine member.\r\n */\r\n UseCommerceEngine = 1\r\n }\r\n \r\n /**\r\n * ChangeDueBehavior enum type.\r\n */\r\n export enum ChangeDueBehavior {\r\n \r\n /**\r\n * The ShowAlways member.\r\n */\r\n ShowAlways = 0,\r\n \r\n /**\r\n * The SkipWhenZero member.\r\n */\r\n SkipWhenZero = 1\r\n }\r\n \r\n /**\r\n * FontSchemeType enum type.\r\n */\r\n export enum FontSchemeType {\r\n \r\n /**\r\n * The Standard member.\r\n */\r\n Standard = 0,\r\n \r\n /**\r\n * The Large member.\r\n */\r\n Large = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * DeviceActivationStatus enum type.\r\n */\r\n export enum DeviceActivationStatus {\r\n \r\n /**\r\n * The Pending member.\r\n */\r\n Pending = 0,\r\n \r\n /**\r\n * The Activated member.\r\n */\r\n Activated = 1,\r\n \r\n /**\r\n * The Deactivated member.\r\n */\r\n Deactivated = 2,\r\n \r\n /**\r\n * The Disabled member.\r\n */\r\n Disabled = 3,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * DeviceType enum type.\r\n */\r\n export enum DeviceType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The OPOS member.\r\n */\r\n OPOS = 1,\r\n \r\n /**\r\n * The WindowsPrinter member.\r\n */\r\n WindowsPrinter = 2,\r\n \r\n /**\r\n * The Network member.\r\n */\r\n Network = 3\r\n }\r\n \r\n /**\r\n * DualDisplayType enum type.\r\n */\r\n export enum DualDisplayType {\r\n \r\n /**\r\n * The Logo member.\r\n */\r\n Logo = 0,\r\n \r\n /**\r\n * The ImageRotator member.\r\n */\r\n ImageRotator = 1,\r\n \r\n /**\r\n * The WebBrowser member.\r\n */\r\n WebBrowser = 2,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * FiscalRegisterType enum type.\r\n */\r\n export enum FiscalRegisterType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Manufacturer member.\r\n */\r\n Manufacturer = 1\r\n }\r\n \r\n /**\r\n * PrinterLogotype enum type.\r\n */\r\n export enum PrinterLogotype {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Download member.\r\n */\r\n Download = 1,\r\n \r\n /**\r\n * The EpsonFlash member.\r\n */\r\n EpsonFlash = 2\r\n }\r\n \r\n /**\r\n * PrinterLogoAlignmentType enum type.\r\n */\r\n export enum PrinterLogoAlignmentType {\r\n \r\n /**\r\n * The Left member.\r\n */\r\n Left = 0,\r\n \r\n /**\r\n * The Center member.\r\n */\r\n Center = 1,\r\n \r\n /**\r\n * The Right member.\r\n */\r\n Right = 2,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * FiscalIntegrationConnectorType enum type.\r\n */\r\n export enum FiscalIntegrationConnectorType {\r\n \r\n /**\r\n * The Local member.\r\n */\r\n Local = 0,\r\n \r\n /**\r\n * The External member.\r\n */\r\n External = 1,\r\n \r\n /**\r\n * The Internal member.\r\n */\r\n Internal = 2\r\n }\r\n \r\n /**\r\n * ReceiptType enum type.\r\n */\r\n export enum ReceiptType {\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = 0,\r\n \r\n /**\r\n * The SalesReceipt member.\r\n */\r\n SalesReceipt = 1,\r\n \r\n /**\r\n * The CardReceiptForShop member.\r\n */\r\n CardReceiptForShop = 2,\r\n \r\n /**\r\n * The CardReceiptForCustomer member.\r\n */\r\n CardReceiptForCustomer = 3,\r\n \r\n /**\r\n * The CardReceiptForShopReturn member.\r\n */\r\n CardReceiptForShopReturn = 4,\r\n \r\n /**\r\n * The CardReceiptForCustomerReturn member.\r\n */\r\n CardReceiptForCustomerReturn = 5,\r\n \r\n /**\r\n * The CustomerAccountReceiptForShop member.\r\n */\r\n CustomerAccountReceiptForShop = 7,\r\n \r\n /**\r\n * The CustomerAccountReceiptForCustomer member.\r\n */\r\n CustomerAccountReceiptForCustomer = 8,\r\n \r\n /**\r\n * The CustomerAccountReceiptForShopReturn member.\r\n */\r\n CustomerAccountReceiptForShopReturn = 9,\r\n \r\n /**\r\n * The CustomerAccountReceiptForCustomerReturn member.\r\n */\r\n CustomerAccountReceiptForCustomerReturn = 10,\r\n \r\n /**\r\n * The CustomerAccountDeposit member.\r\n */\r\n CustomerAccountDeposit = 14,\r\n \r\n /**\r\n * The CreditMemo member.\r\n */\r\n CreditMemo = 15,\r\n \r\n /**\r\n * The SalesOrderReceipt member.\r\n */\r\n SalesOrderReceipt = 18,\r\n \r\n /**\r\n * The GiftCertificate member.\r\n */\r\n GiftCertificate = 20,\r\n \r\n /**\r\n * The QuotationReceipt member.\r\n */\r\n QuotationReceipt = 21,\r\n \r\n /**\r\n * The PackingSlip member.\r\n */\r\n PackingSlip = 22,\r\n \r\n /**\r\n * The PickupReceipt member.\r\n */\r\n PickupReceipt = 23,\r\n \r\n /**\r\n * The XReport member.\r\n */\r\n XReport = 24,\r\n \r\n /**\r\n * The ZReport member.\r\n */\r\n ZReport = 25,\r\n \r\n /**\r\n * The SafeDrop member.\r\n */\r\n SafeDrop = 26,\r\n \r\n /**\r\n * The BankDrop member.\r\n */\r\n BankDrop = 27,\r\n \r\n /**\r\n * The TenderDeclaration member.\r\n */\r\n TenderDeclaration = 28,\r\n \r\n /**\r\n * The RemoveTender member.\r\n */\r\n RemoveTender = 29,\r\n \r\n /**\r\n * The FloatEntry member.\r\n */\r\n FloatEntry = 30,\r\n \r\n /**\r\n * The StartingAmount member.\r\n */\r\n StartingAmount = 31,\r\n \r\n /**\r\n * The OrderSummaryReceipt member.\r\n */\r\n OrderSummaryReceipt = 32,\r\n \r\n /**\r\n * The GiftReceipt member.\r\n */\r\n GiftReceipt = 33,\r\n \r\n /**\r\n * The ReturnLabel member.\r\n */\r\n ReturnLabel = 34,\r\n \r\n /**\r\n * The EFDocDANFESimplified member.\r\n */\r\n EFDocDANFESimplified = 35,\r\n \r\n /**\r\n * The EFDocDANFEDetailed member.\r\n */\r\n EFDocDANFEDetailed = 36,\r\n \r\n /**\r\n * The PickingList member.\r\n */\r\n PickingList = 37,\r\n \r\n /**\r\n * The OpenDrawer member.\r\n */\r\n OpenDrawer = 38,\r\n \r\n /**\r\n * The SuspendedTransaction member.\r\n */\r\n SuspendedTransaction = 39,\r\n \r\n /**\r\n * The GiftCardInquiry member.\r\n */\r\n GiftCardInquiry = 40,\r\n \r\n /**\r\n * The CardTerminationReceiptForShop member.\r\n */\r\n CardTerminationReceiptForShop = 41,\r\n \r\n /**\r\n * The CardTerminationReceiptForCustomer member.\r\n */\r\n CardTerminationReceiptForCustomer = 42,\r\n \r\n /**\r\n * The TransferPackingSlip member.\r\n */\r\n TransferPackingSlip = 43,\r\n \r\n /**\r\n * The EFDocDanfeModel55 member.\r\n */\r\n EFDocDanfeModel55 = 44,\r\n \r\n /**\r\n * The InventoryAdjustment member.\r\n */\r\n InventoryAdjustment = 45,\r\n \r\n /**\r\n * The InventoryTransfer member.\r\n */\r\n InventoryTransfer = 46,\r\n \r\n /**\r\n * The CfeDetailed member.\r\n */\r\n CfeDetailed = 47,\r\n \r\n /**\r\n * The CfeSimplified member.\r\n */\r\n CfeSimplified = 48,\r\n \r\n /**\r\n * The CfeCancelled member.\r\n */\r\n CfeCancelled = 49,\r\n \r\n /**\r\n * The CustomReceipt1 member.\r\n */\r\n CustomReceipt1 = 101,\r\n \r\n /**\r\n * The CustomReceipt2 member.\r\n */\r\n CustomReceipt2 = 102,\r\n \r\n /**\r\n * The CustomReceipt3 member.\r\n */\r\n CustomReceipt3 = 103,\r\n \r\n /**\r\n * The CustomReceipt4 member.\r\n */\r\n CustomReceipt4 = 104,\r\n \r\n /**\r\n * The CustomReceipt5 member.\r\n */\r\n CustomReceipt5 = 105,\r\n \r\n /**\r\n * The CustomReceipt6 member.\r\n */\r\n CustomReceipt6 = 106,\r\n \r\n /**\r\n * The CustomReceipt7 member.\r\n */\r\n CustomReceipt7 = 107,\r\n \r\n /**\r\n * The CustomReceipt8 member.\r\n */\r\n CustomReceipt8 = 108,\r\n \r\n /**\r\n * The CustomReceipt9 member.\r\n */\r\n CustomReceipt9 = 109,\r\n \r\n /**\r\n * The CustomReceipt10 member.\r\n */\r\n CustomReceipt10 = 110,\r\n \r\n /**\r\n * The CustomReceipt11 member.\r\n */\r\n CustomReceipt11 = 111,\r\n \r\n /**\r\n * The CustomReceipt12 member.\r\n */\r\n CustomReceipt12 = 112,\r\n \r\n /**\r\n * The CustomReceipt13 member.\r\n */\r\n CustomReceipt13 = 113,\r\n \r\n /**\r\n * The CustomReceipt14 member.\r\n */\r\n CustomReceipt14 = 114,\r\n \r\n /**\r\n * The CustomReceipt15 member.\r\n */\r\n CustomReceipt15 = 115,\r\n \r\n /**\r\n * The CustomReceipt16 member.\r\n */\r\n CustomReceipt16 = 116,\r\n \r\n /**\r\n * The CustomReceipt17 member.\r\n */\r\n CustomReceipt17 = 117,\r\n \r\n /**\r\n * The CustomReceipt18 member.\r\n */\r\n CustomReceipt18 = 118,\r\n \r\n /**\r\n * The CustomReceipt19 member.\r\n */\r\n CustomReceipt19 = 119,\r\n \r\n /**\r\n * The CustomReceipt20 member.\r\n */\r\n CustomReceipt20 = 120\r\n }\r\n \r\n /**\r\n * PrintBehavior enum type.\r\n */\r\n export enum PrintBehavior {\r\n \r\n /**\r\n * The Always member.\r\n */\r\n Always = 0,\r\n \r\n /**\r\n * The Never member.\r\n */\r\n Never = 1,\r\n \r\n /**\r\n * The Prompt member.\r\n */\r\n Prompt = 2,\r\n \r\n /**\r\n * The AsRequired member.\r\n */\r\n AsRequired = 3\r\n }\r\n \r\n /**\r\n * DistanceUnit enum type.\r\n */\r\n export enum DistanceUnit {\r\n \r\n /**\r\n * The Miles member.\r\n */\r\n Miles = 0,\r\n \r\n /**\r\n * The Kilometers member.\r\n */\r\n Kilometers = 1\r\n }\r\n \r\n /**\r\n * StockCountStatus enum type.\r\n */\r\n export enum StockCountStatus {\r\n \r\n /**\r\n * The Unchanged member.\r\n */\r\n Unchanged = 0,\r\n \r\n /**\r\n * The PendingUpdate member.\r\n */\r\n PendingUpdate = 1\r\n }\r\n \r\n /**\r\n * RecommendedElementType enum type.\r\n */\r\n export enum RecommendedElementType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Product member.\r\n */\r\n Product = 1,\r\n \r\n /**\r\n * The Content member.\r\n */\r\n Content = 2\r\n }\r\n \r\n /**\r\n * CommerceListInvitationStatus enum type.\r\n */\r\n export enum CommerceListInvitationStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Pending member.\r\n */\r\n Pending = 1,\r\n \r\n /**\r\n * The Accepted member.\r\n */\r\n Accepted = 2\r\n }\r\n \r\n /**\r\n * CommerceListInvitationType enum type.\r\n */\r\n export enum CommerceListInvitationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Public member.\r\n */\r\n Public = 1,\r\n \r\n /**\r\n * The Email member.\r\n */\r\n Email = 2\r\n }\r\n \r\n /**\r\n * SearchLocation enum type.\r\n */\r\n export enum SearchLocation {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Local member.\r\n */\r\n Local = 1,\r\n \r\n /**\r\n * The Remote member.\r\n */\r\n Remote = 2,\r\n \r\n /**\r\n * The All member.\r\n */\r\n All = 3\r\n }\r\n \r\n /**\r\n * OrderSearchType enum type.\r\n */\r\n export enum OrderSearchType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The SalesOrder member.\r\n */\r\n SalesOrder = 1,\r\n \r\n /**\r\n * The SalesTransaction member.\r\n */\r\n SalesTransaction = 2,\r\n \r\n /**\r\n * The ConsolidateOrder member.\r\n */\r\n ConsolidateOrder = 3\r\n }\r\n \r\n /**\r\n * SalesTransactionType enum type.\r\n */\r\n export enum SalesTransactionType {\r\n \r\n /**\r\n * The Sales member.\r\n */\r\n Sales = 2,\r\n \r\n /**\r\n * The CustomerAccountDeposit member.\r\n */\r\n CustomerAccountDeposit = 3,\r\n \r\n /**\r\n * The SalesInvoice member.\r\n */\r\n SalesInvoice = 15,\r\n \r\n /**\r\n * The IncomeExpense member.\r\n */\r\n IncomeExpense = 18,\r\n \r\n /**\r\n * The CustomerOrder member.\r\n */\r\n CustomerOrder = 19,\r\n \r\n /**\r\n * The PendingSalesOrder member.\r\n */\r\n PendingSalesOrder = 27,\r\n \r\n /**\r\n * The AsyncCustomerQuote member.\r\n */\r\n AsyncCustomerQuote = 31,\r\n \r\n /**\r\n * The AsyncCustomerOrder member.\r\n */\r\n AsyncCustomerOrder = 33,\r\n \r\n /**\r\n * The SuspendedTransaction member.\r\n */\r\n SuspendedTransaction = 36,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * CustomerRefinerSource enum type.\r\n */\r\n export enum CustomerRefinerSource {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Attribute member.\r\n */\r\n Attribute = 1,\r\n \r\n /**\r\n * The CustomerSearchField member.\r\n */\r\n CustomerSearchField = 2\r\n }\r\n \r\n /**\r\n * RetailAffiliationType enum type.\r\n */\r\n export enum RetailAffiliationType {\r\n \r\n /**\r\n * The General member.\r\n */\r\n General = 0,\r\n \r\n /**\r\n * The Loyalty member.\r\n */\r\n Loyalty = 1,\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = -1\r\n }\r\n \r\n /**\r\n * InventoryDocumentLineOriginType enum type.\r\n */\r\n export enum InventoryDocumentLineOriginType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Headquarters member.\r\n */\r\n Headquarters = 1,\r\n \r\n /**\r\n * The Channel member.\r\n */\r\n Channel = 2\r\n }\r\n \r\n /**\r\n * InventorySerialNumberLineStatus enum type.\r\n */\r\n export enum InventorySerialNumberLineStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NotRegistered member.\r\n */\r\n NotRegistered = 1,\r\n \r\n /**\r\n * The Registering member.\r\n */\r\n Registering = 2,\r\n \r\n /**\r\n * The Registered member.\r\n */\r\n Registered = 3\r\n }\r\n \r\n /**\r\n * InventorySourceDocumentLineStatus enum type.\r\n */\r\n export enum InventorySourceDocumentLineStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Deleted member.\r\n */\r\n Deleted = 1,\r\n \r\n /**\r\n * The ReadOnly member.\r\n */\r\n ReadOnly = 2\r\n }\r\n \r\n /**\r\n * RefinerType enum type.\r\n */\r\n export enum RefinerType {\r\n \r\n /**\r\n * The SingleSelect member.\r\n */\r\n SingleSelect = 0,\r\n \r\n /**\r\n * The MultiSelect member.\r\n */\r\n MultiSelect = 1,\r\n \r\n /**\r\n * The FreeText member.\r\n */\r\n FreeText = 2\r\n }\r\n \r\n /**\r\n * DisplayTemplate enum type.\r\n */\r\n export enum DisplayTemplate {\r\n \r\n /**\r\n * The List member.\r\n */\r\n List = 0,\r\n \r\n /**\r\n * The Slider member.\r\n */\r\n Slider = 1,\r\n \r\n /**\r\n * The SliderWithBars member.\r\n */\r\n SliderWithBars = 2,\r\n \r\n /**\r\n * The Range member.\r\n */\r\n Range = 3,\r\n \r\n /**\r\n * The TextBox member.\r\n */\r\n TextBox = 4\r\n }\r\n \r\n /**\r\n * ClientBookRefinerSource enum type.\r\n */\r\n export enum ClientBookRefinerSource {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Attribute member.\r\n */\r\n Attribute = 1,\r\n \r\n /**\r\n * The CustomerSearchKeyword member.\r\n */\r\n CustomerSearchKeyword = 2,\r\n \r\n /**\r\n * The StaffId member.\r\n */\r\n StaffId = 3\r\n }\r\n \r\n /**\r\n * ProductRefinerSource enum type.\r\n */\r\n export enum ProductRefinerSource {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Attribute member.\r\n */\r\n Attribute = 1,\r\n \r\n /**\r\n * The Category member.\r\n */\r\n Category = 2,\r\n \r\n /**\r\n * The Price member.\r\n */\r\n Price = 3,\r\n \r\n /**\r\n * The Rating member.\r\n */\r\n Rating = 4\r\n }\r\n \r\n /**\r\n * LoyaltyCardTenderType enum type.\r\n */\r\n export enum LoyaltyCardTenderType {\r\n \r\n /**\r\n * The AsCardTender member.\r\n */\r\n AsCardTender = 0,\r\n \r\n /**\r\n * The AsContactTender member.\r\n */\r\n AsContactTender = 1,\r\n \r\n /**\r\n * The NoTender member.\r\n */\r\n NoTender = 2,\r\n \r\n /**\r\n * The Blocked member.\r\n */\r\n Blocked = 3\r\n }\r\n \r\n /**\r\n * ReleasedProductType enum type.\r\n */\r\n export enum ReleasedProductType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Item member.\r\n */\r\n Item = 1,\r\n \r\n /**\r\n * The Service member.\r\n */\r\n Service = 2\r\n }\r\n \r\n /**\r\n * RetailChannelType enum type.\r\n */\r\n export enum RetailChannelType {\r\n \r\n /**\r\n * The RetailStore member.\r\n */\r\n RetailStore = 0,\r\n \r\n /**\r\n * The OnlineStore member.\r\n */\r\n OnlineStore = 1,\r\n \r\n /**\r\n * The OnlineMarketplace member.\r\n */\r\n OnlineMarketplace = 2,\r\n \r\n /**\r\n * The SharePointOnlineStore member.\r\n */\r\n SharePointOnlineStore = 3,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * LogOnConfiguration enum type.\r\n */\r\n export enum LogOnConfiguration {\r\n \r\n /**\r\n * The LocalDatabase member.\r\n */\r\n LocalDatabase = 0,\r\n \r\n /**\r\n * The RealTimeService member.\r\n */\r\n RealTimeService = 1\r\n }\r\n \r\n /**\r\n * TransactionServiceAuthenticationType enum type.\r\n */\r\n export enum TransactionServiceAuthenticationType {\r\n \r\n /**\r\n * The CertificateAuthentication member.\r\n */\r\n CertificateAuthentication = 0,\r\n \r\n /**\r\n * The ServiceToServiceAuthentication member.\r\n */\r\n ServiceToServiceAuthentication = 1,\r\n \r\n /**\r\n * The AdfsServiceToServiceClientSecretAuthentication member.\r\n */\r\n AdfsServiceToServiceClientSecretAuthentication = 2,\r\n \r\n /**\r\n * The ServiceToServiceClientCertificateAuthentication member.\r\n */\r\n ServiceToServiceClientCertificateAuthentication = 3,\r\n \r\n /**\r\n * The AdfsServiceToServiceClientCertificateAuthentication member.\r\n */\r\n AdfsServiceToServiceClientCertificateAuthentication = 4\r\n }\r\n \r\n /**\r\n * IncludePersonalDataInGuestOrderLookupPolicy enum type.\r\n */\r\n export enum IncludePersonalDataInGuestOrderLookupPolicy {\r\n \r\n /**\r\n * The Never member.\r\n */\r\n Never = 0,\r\n \r\n /**\r\n * The GuestOrdersOnly member.\r\n */\r\n GuestOrdersOnly = 1,\r\n \r\n /**\r\n * The AllOrders member.\r\n */\r\n AllOrders = 2\r\n }\r\n \r\n /**\r\n * RetailAddressBookType enum type.\r\n */\r\n export enum RetailAddressBookType {\r\n \r\n /**\r\n * The Customer member.\r\n */\r\n Customer = 0,\r\n \r\n /**\r\n * The Employee member.\r\n */\r\n Employee = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * InventAvailabilityCalculationMode enum type.\r\n */\r\n export enum InventAvailabilityCalculationMode {\r\n \r\n /**\r\n * The RealTimeService member.\r\n */\r\n RealTimeService = 0,\r\n \r\n /**\r\n * The Channel member.\r\n */\r\n Channel = 1\r\n }\r\n \r\n /**\r\n * InventoryAvailabilityClientDisplayMode enum type.\r\n */\r\n export enum InventoryAvailabilityClientDisplayMode {\r\n \r\n /**\r\n * The Raw member.\r\n */\r\n Raw = 0,\r\n \r\n /**\r\n * The Buffered member.\r\n */\r\n Buffered = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 2,\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = -1\r\n }\r\n \r\n /**\r\n * EmployeeActivityType enum type.\r\n */\r\n export enum EmployeeActivityType {\r\n \r\n /**\r\n * The ClockIn member.\r\n */\r\n ClockIn = 0,\r\n \r\n /**\r\n * The JobStop member.\r\n */\r\n JobStop = 1,\r\n \r\n /**\r\n * The JobStart member.\r\n */\r\n JobStart = 2,\r\n \r\n /**\r\n * The TeamStop member.\r\n */\r\n TeamStop = 3,\r\n \r\n /**\r\n * The TeamStart member.\r\n */\r\n TeamStart = 4,\r\n \r\n /**\r\n * The BreakFlowStart member.\r\n */\r\n BreakFlowStart = 5,\r\n \r\n /**\r\n * The BreakCancelOne member.\r\n */\r\n BreakCancelOne = 6,\r\n \r\n /**\r\n * The BreakCancelAll member.\r\n */\r\n BreakCancelAll = 7,\r\n \r\n /**\r\n * The BreakFlowStop member.\r\n */\r\n BreakFlowStop = 8,\r\n \r\n /**\r\n * The FinishQuantity member.\r\n */\r\n FinishQuantity = 9,\r\n \r\n /**\r\n * The ClockOut member.\r\n */\r\n ClockOut = 10,\r\n \r\n /**\r\n * The EventCode member.\r\n */\r\n EventCode = 11,\r\n \r\n /**\r\n * The BreakFromWork member.\r\n */\r\n BreakFromWork = 12,\r\n \r\n /**\r\n * The BreakForLunch member.\r\n */\r\n BreakForLunch = 13,\r\n \r\n /**\r\n * The Logbook member.\r\n */\r\n Logbook = 14,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * DeliveryPreferenceType enum type.\r\n */\r\n export enum DeliveryPreferenceType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ShipToAddress member.\r\n */\r\n ShipToAddress = 1,\r\n \r\n /**\r\n * The PickupFromStore member.\r\n */\r\n PickupFromStore = 2,\r\n \r\n /**\r\n * The ElectronicDelivery member.\r\n */\r\n ElectronicDelivery = 3,\r\n \r\n /**\r\n * The DeliverItemsIndividually member.\r\n */\r\n DeliverItemsIndividually = 4\r\n }\r\n \r\n /**\r\n * LayoutType enum type.\r\n */\r\n export enum LayoutType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ModernPosCompact member.\r\n */\r\n ModernPosCompact = 1,\r\n \r\n /**\r\n * The ModernPosFull member.\r\n */\r\n ModernPosFull = 2,\r\n \r\n /**\r\n * The Epos member.\r\n */\r\n Epos = 3\r\n }\r\n \r\n /**\r\n * SalesInvoiceType enum type.\r\n */\r\n export enum SalesInvoiceType {\r\n \r\n /**\r\n * The Journal member.\r\n */\r\n Journal = 0,\r\n \r\n /**\r\n * The DEL_Quotation member.\r\n */\r\n DEL_Quotation = 1,\r\n \r\n /**\r\n * The Subscription member.\r\n */\r\n Subscription = 2,\r\n \r\n /**\r\n * The Sales member.\r\n */\r\n Sales = 3,\r\n \r\n /**\r\n * The ReturnItem member.\r\n */\r\n ReturnItem = 4,\r\n \r\n /**\r\n * The DEL_Blanket member.\r\n */\r\n DEL_Blanket = 5,\r\n \r\n /**\r\n * The ItemReq member.\r\n */\r\n ItemReq = 6\r\n }\r\n \r\n /**\r\n * InvoiceType enum type.\r\n */\r\n export enum InvoiceType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The SalesOrderInvoice member.\r\n */\r\n SalesOrderInvoice = 1,\r\n \r\n /**\r\n * The FreeTextInvoice member.\r\n */\r\n FreeTextInvoice = 2,\r\n \r\n /**\r\n * The ProjectInvoice member.\r\n */\r\n ProjectInvoice = 3,\r\n \r\n /**\r\n * The CreditNoteInvoice member.\r\n */\r\n CreditNoteInvoice = 4,\r\n \r\n /**\r\n * The FreeTextCreditNoteInvoice member.\r\n */\r\n FreeTextCreditNoteInvoice = 5,\r\n \r\n /**\r\n * The ProjectCreditNoteInvoice member.\r\n */\r\n ProjectCreditNoteInvoice = 6\r\n }\r\n \r\n /**\r\n * InvoicePaidStatus enum type.\r\n */\r\n export enum InvoicePaidStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Unpaid member.\r\n */\r\n Unpaid = 1,\r\n \r\n /**\r\n * The PartiallyPaid member.\r\n */\r\n PartiallyPaid = 2,\r\n \r\n /**\r\n * The Paid member.\r\n */\r\n Paid = 3\r\n }\r\n \r\n /**\r\n * TaxOverrideType enum type.\r\n */\r\n export enum TaxOverrideType {\r\n \r\n /**\r\n * The ItemSalesTaxGroup member.\r\n */\r\n ItemSalesTaxGroup = 0,\r\n \r\n /**\r\n * The SalesTaxGroup member.\r\n */\r\n SalesTaxGroup = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * TaxOverrideBy enum type.\r\n */\r\n export enum TaxOverrideBy {\r\n \r\n /**\r\n * The Line member.\r\n */\r\n Line = 0,\r\n \r\n /**\r\n * The Cart member.\r\n */\r\n Cart = 1,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = -1\r\n }\r\n \r\n /**\r\n * RetailOperation enum type.\r\n */\r\n export enum RetailOperation {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The ItemSale member.\r\n */\r\n ItemSale = 100,\r\n \r\n /**\r\n * The PriceCheck member.\r\n */\r\n PriceCheck = 101,\r\n \r\n /**\r\n * The VoidItem member.\r\n */\r\n VoidItem = 102,\r\n \r\n /**\r\n * The ItemComment member.\r\n */\r\n ItemComment = 103,\r\n \r\n /**\r\n * The PriceOverride member.\r\n */\r\n PriceOverride = 104,\r\n \r\n /**\r\n * The SetQuantity member.\r\n */\r\n SetQuantity = 105,\r\n \r\n /**\r\n * The ClearQuantity member.\r\n */\r\n ClearQuantity = 106,\r\n \r\n /**\r\n * The ItemSearch member.\r\n */\r\n ItemSearch = 108,\r\n \r\n /**\r\n * The ReturnItem member.\r\n */\r\n ReturnItem = 109,\r\n \r\n /**\r\n * The WeighItem member.\r\n */\r\n WeighItem = 110,\r\n \r\n /**\r\n * The LinkedItemsAdd member.\r\n */\r\n LinkedItemsAdd = 112,\r\n \r\n /**\r\n * The SetDimensions member.\r\n */\r\n SetDimensions = 113,\r\n \r\n /**\r\n * The ReturnTransaction member.\r\n */\r\n ReturnTransaction = 114,\r\n \r\n /**\r\n * The ShowJournal member.\r\n */\r\n ShowJournal = 115,\r\n \r\n /**\r\n * The SetCostPrice member.\r\n */\r\n SetCostPrice = 116,\r\n \r\n /**\r\n * The LoyaltyRequest member.\r\n */\r\n LoyaltyRequest = 117,\r\n \r\n /**\r\n * The ProcessInput member.\r\n */\r\n ProcessInput = 118,\r\n \r\n /**\r\n * The SalespersonBarcode member.\r\n */\r\n SalespersonBarcode = 119,\r\n \r\n /**\r\n * The SalespersonCard member.\r\n */\r\n SalespersonCard = 120,\r\n \r\n /**\r\n * The SalespersonClear member.\r\n */\r\n SalespersonClear = 121,\r\n \r\n /**\r\n * The InvoiceComment member.\r\n */\r\n InvoiceComment = 122,\r\n \r\n /**\r\n * The ChangeUnitOfMeasure member.\r\n */\r\n ChangeUnitOfMeasure = 123,\r\n \r\n /**\r\n * The ItemSaleMultiple member.\r\n */\r\n ItemSaleMultiple = 124,\r\n \r\n /**\r\n * The RFIDSale member.\r\n */\r\n RFIDSale = 125,\r\n \r\n /**\r\n * The SalesHistory member.\r\n */\r\n SalesHistory = 126,\r\n \r\n /**\r\n * The OverrideTaxTransaction member.\r\n */\r\n OverrideTaxTransaction = 127,\r\n \r\n /**\r\n * The OverrideTaxTransactionList member.\r\n */\r\n OverrideTaxTransactionList = 128,\r\n \r\n /**\r\n * The OverrideTaxLine member.\r\n */\r\n OverrideTaxLine = 129,\r\n \r\n /**\r\n * The OverrideTaxLineList member.\r\n */\r\n OverrideTaxLineList = 130,\r\n \r\n /**\r\n * The PackSlip member.\r\n */\r\n PackSlip = 131,\r\n \r\n /**\r\n * The DepositOverride member.\r\n */\r\n DepositOverride = 132,\r\n \r\n /**\r\n * The BuyWarranty member.\r\n */\r\n BuyWarranty = 133,\r\n \r\n /**\r\n * The AddAffiliation member.\r\n */\r\n AddAffiliation = 134,\r\n \r\n /**\r\n * The AddAffiliationFromList member.\r\n */\r\n AddAffiliationFromList = 135,\r\n \r\n /**\r\n * The AddSerialNumber member.\r\n */\r\n AddSerialNumber = 136,\r\n \r\n /**\r\n * The AddAffiliationToCustomer member.\r\n */\r\n AddAffiliationToCustomer = 137,\r\n \r\n /**\r\n * The RemoveAffiliationFromCustomer member.\r\n */\r\n RemoveAffiliationFromCustomer = 138,\r\n \r\n /**\r\n * The ConcludeTransaction member.\r\n */\r\n ConcludeTransaction = 139,\r\n \r\n /**\r\n * The AddLineCharge member.\r\n */\r\n AddLineCharge = 140,\r\n \r\n /**\r\n * The AddHeaderCharge member.\r\n */\r\n AddHeaderCharge = 141,\r\n \r\n /**\r\n * The ManageCharges member.\r\n */\r\n ManageCharges = 142,\r\n \r\n /**\r\n * The RecalculateCharges member.\r\n */\r\n RecalculateCharges = 143,\r\n \r\n /**\r\n * The AddWarrantyToAnExistingTransaction member.\r\n */\r\n AddWarrantyToAnExistingTransaction = 144,\r\n \r\n /**\r\n * The PayCash member.\r\n */\r\n PayCash = 200,\r\n \r\n /**\r\n * The PayCard member.\r\n */\r\n PayCard = 201,\r\n \r\n /**\r\n * The PayCustomerAccount member.\r\n */\r\n PayCustomerAccount = 202,\r\n \r\n /**\r\n * The PayCurrency member.\r\n */\r\n PayCurrency = 203,\r\n \r\n /**\r\n * The PayCheck member.\r\n */\r\n PayCheck = 204,\r\n \r\n /**\r\n * The PayCashQuick member.\r\n */\r\n PayCashQuick = 206,\r\n \r\n /**\r\n * The PayLoyalty member.\r\n */\r\n PayLoyalty = 207,\r\n \r\n /**\r\n * The PayCorporateCard member.\r\n */\r\n PayCorporateCard = 208,\r\n \r\n /**\r\n * The ChangeBack member.\r\n */\r\n ChangeBack = 210,\r\n \r\n /**\r\n * The VoidPayment member.\r\n */\r\n VoidPayment = 211,\r\n \r\n /**\r\n * The FleetCardInfo member.\r\n */\r\n FleetCardInfo = 212,\r\n \r\n /**\r\n * The PayCreditMemo member.\r\n */\r\n PayCreditMemo = 213,\r\n \r\n /**\r\n * The PayGiftCertificate member.\r\n */\r\n PayGiftCertificate = 214,\r\n \r\n /**\r\n * The CashOutGiftCard member.\r\n */\r\n CashOutGiftCard = 215,\r\n \r\n /**\r\n * The PayCardExact member.\r\n */\r\n PayCardExact = 216,\r\n \r\n /**\r\n * The PayCheckExact member.\r\n */\r\n PayCheckExact = 217,\r\n \r\n /**\r\n * The PayCustomerAccountExact member.\r\n */\r\n PayCustomerAccountExact = 218,\r\n \r\n /**\r\n * The PayGiftCardExact member.\r\n */\r\n PayGiftCardExact = 219,\r\n \r\n /**\r\n * The PayLoyaltyCardExact member.\r\n */\r\n PayLoyaltyCardExact = 220,\r\n \r\n /**\r\n * The LineDiscountAmount member.\r\n */\r\n LineDiscountAmount = 300,\r\n \r\n /**\r\n * The LineDiscountPercent member.\r\n */\r\n LineDiscountPercent = 301,\r\n \r\n /**\r\n * The TotalDiscountAmount member.\r\n */\r\n TotalDiscountAmount = 302,\r\n \r\n /**\r\n * The TotalDiscountPercent member.\r\n */\r\n TotalDiscountPercent = 303,\r\n \r\n /**\r\n * The DiscountCodeBarcode member.\r\n */\r\n DiscountCodeBarcode = 304,\r\n \r\n /**\r\n * The CalculateFullDiscounts member.\r\n */\r\n CalculateFullDiscounts = 310,\r\n \r\n /**\r\n * The RemovePeriodicDiscountsFromTransaction member.\r\n */\r\n RemovePeriodicDiscountsFromTransaction = 311,\r\n \r\n /**\r\n * The RecalculatePeriodicDiscounts member.\r\n */\r\n RecalculatePeriodicDiscounts = 312,\r\n \r\n /**\r\n * The PopupMenu member.\r\n */\r\n PopupMenu = 400,\r\n \r\n /**\r\n * The Submenu member.\r\n */\r\n Submenu = 401,\r\n \r\n /**\r\n * The VoidTransaction member.\r\n */\r\n VoidTransaction = 500,\r\n \r\n /**\r\n * The TransactionComment member.\r\n */\r\n TransactionComment = 501,\r\n \r\n /**\r\n * The SalesPerson member.\r\n */\r\n SalesPerson = 502,\r\n \r\n /**\r\n * The SuspendTransaction member.\r\n */\r\n SuspendTransaction = 503,\r\n \r\n /**\r\n * The RecallTransaction member.\r\n */\r\n RecallTransaction = 504,\r\n \r\n /**\r\n * The RecallUnconcludedTransaction member.\r\n */\r\n RecallUnconcludedTransaction = 505,\r\n \r\n /**\r\n * The CardSwipe member.\r\n */\r\n CardSwipe = 506,\r\n \r\n /**\r\n * The PharmacyPrescriptionAdd member.\r\n */\r\n PharmacyPrescriptionAdd = 507,\r\n \r\n /**\r\n * The PharmacyPrescriptionCancel member.\r\n */\r\n PharmacyPrescriptionCancel = 508,\r\n \r\n /**\r\n * The PharmacyPrescriptionPaid member.\r\n */\r\n PharmacyPrescriptionPaid = 509,\r\n \r\n /**\r\n * The PharmacyPrescriptions member.\r\n */\r\n PharmacyPrescriptions = 510,\r\n \r\n /**\r\n * The IssueCreditMemo member.\r\n */\r\n IssueCreditMemo = 511,\r\n \r\n /**\r\n * The IssueGiftCertificate member.\r\n */\r\n IssueGiftCertificate = 512,\r\n \r\n /**\r\n * The DisplayTotal member.\r\n */\r\n DisplayTotal = 513,\r\n \r\n /**\r\n * The RecallSalesOrder member.\r\n */\r\n RecallSalesOrder = 515,\r\n \r\n /**\r\n * The SalesInvoice member.\r\n */\r\n SalesInvoice = 516,\r\n \r\n /**\r\n * The IncomeAccounts member.\r\n */\r\n IncomeAccounts = 517,\r\n \r\n /**\r\n * The ExpenseAccounts member.\r\n */\r\n ExpenseAccounts = 518,\r\n \r\n /**\r\n * The AddToGiftCard member.\r\n */\r\n AddToGiftCard = 519,\r\n \r\n /**\r\n * The GiftCardBalance member.\r\n */\r\n GiftCardBalance = 520,\r\n \r\n /**\r\n * The LoyaltyCardPointsBalance member.\r\n */\r\n LoyaltyCardPointsBalance = 521,\r\n \r\n /**\r\n * The CashChangerRegisterAmount member.\r\n */\r\n CashChangerRegisterAmount = 550,\r\n \r\n /**\r\n * The CashChangerReset member.\r\n */\r\n CashChangerReset = 551,\r\n \r\n /**\r\n * The CashChangerRegret member.\r\n */\r\n CashChangerRegret = 552,\r\n \r\n /**\r\n * The CashChangerExit member.\r\n */\r\n CashChangerExit = 553,\r\n \r\n /**\r\n * The CashChangerChange member.\r\n */\r\n CashChangerChange = 554,\r\n \r\n /**\r\n * The CashChangerLogOn member.\r\n */\r\n CashChangerLogOn = 555,\r\n \r\n /**\r\n * The CashChangerInit member.\r\n */\r\n CashChangerInit = 556,\r\n \r\n /**\r\n * The SetCustomer member.\r\n */\r\n SetCustomer = 600,\r\n \r\n /**\r\n * The CustomerSearch member.\r\n */\r\n CustomerSearch = 602,\r\n \r\n /**\r\n * The CustomerClear member.\r\n */\r\n CustomerClear = 603,\r\n \r\n /**\r\n * The CustomerCard member.\r\n */\r\n CustomerCard = 604,\r\n \r\n /**\r\n * The CustomerTransactions member.\r\n */\r\n CustomerTransactions = 609,\r\n \r\n /**\r\n * The CustomerTransactionsReport member.\r\n */\r\n CustomerTransactionsReport = 610,\r\n \r\n /**\r\n * The CustomerBalanceReport member.\r\n */\r\n CustomerBalanceReport = 611,\r\n \r\n /**\r\n * The CustomerAdd member.\r\n */\r\n CustomerAdd = 612,\r\n \r\n /**\r\n * The CustomerBarcode member.\r\n */\r\n CustomerBarcode = 613,\r\n \r\n /**\r\n * The EditCustomerOrder member.\r\n */\r\n EditCustomerOrder = 614,\r\n \r\n /**\r\n * The EditQuotation member.\r\n */\r\n EditQuotation = 615,\r\n \r\n /**\r\n * The CreateCustomerOrder member.\r\n */\r\n CreateCustomerOrder = 620,\r\n \r\n /**\r\n * The CreateQuotation member.\r\n */\r\n CreateQuotation = 621,\r\n \r\n /**\r\n * The Search member.\r\n */\r\n Search = 622,\r\n \r\n /**\r\n * The CustomerEdit member.\r\n */\r\n CustomerEdit = 623,\r\n \r\n /**\r\n * The LoyaltyIssueCard member.\r\n */\r\n LoyaltyIssueCard = 625,\r\n \r\n /**\r\n * The RecalculateCustomerOrder member.\r\n */\r\n RecalculateCustomerOrder = 627,\r\n \r\n /**\r\n * The ShipSelectedProducts member.\r\n */\r\n ShipSelectedProducts = 629,\r\n \r\n /**\r\n * The ShipAllProducts member.\r\n */\r\n ShipAllProducts = 630,\r\n \r\n /**\r\n * The PickupSelectedProducts member.\r\n */\r\n PickupSelectedProducts = 631,\r\n \r\n /**\r\n * The PickupAllProducts member.\r\n */\r\n PickupAllProducts = 632,\r\n \r\n /**\r\n * The SetQuotationExpirationDate member.\r\n */\r\n SetQuotationExpirationDate = 633,\r\n \r\n /**\r\n * The PaymentsHistory member.\r\n */\r\n PaymentsHistory = 634,\r\n \r\n /**\r\n * The ReturnChargesOverride member.\r\n */\r\n ReturnChargesOverride = 635,\r\n \r\n /**\r\n * The CreateRetailTransaction member.\r\n */\r\n CreateRetailTransaction = 636,\r\n \r\n /**\r\n * The SetCommissionSalesGroupOnTransaction member.\r\n */\r\n SetCommissionSalesGroupOnTransaction = 637,\r\n \r\n /**\r\n * The SetCommissionSalesGroupOnLine member.\r\n */\r\n SetCommissionSalesGroupOnLine = 638,\r\n \r\n /**\r\n * The ClearCommissionSalesGroupOnTransaction member.\r\n */\r\n ClearCommissionSalesGroupOnTransaction = 639,\r\n \r\n /**\r\n * The ClearCommissionSalesGroupOnLine member.\r\n */\r\n ClearCommissionSalesGroupOnLine = 640,\r\n \r\n /**\r\n * The CarryoutSelectedProducts member.\r\n */\r\n CarryoutSelectedProducts = 641,\r\n \r\n /**\r\n * The CarryoutAllProducts member.\r\n */\r\n CarryoutAllProducts = 642,\r\n \r\n /**\r\n * The AddCoupons member.\r\n */\r\n AddCoupons = 643,\r\n \r\n /**\r\n * The RemoveCoupons member.\r\n */\r\n RemoveCoupons = 644,\r\n \r\n /**\r\n * The ViewAllDiscounts member.\r\n */\r\n ViewAllDiscounts = 645,\r\n \r\n /**\r\n * The ViewAvailableDiscounts member.\r\n */\r\n ViewAvailableDiscounts = 646,\r\n \r\n /**\r\n * The ChangeDeliveryMode member.\r\n */\r\n ChangeDeliveryMode = 647,\r\n \r\n /**\r\n * The CancelOrder member.\r\n */\r\n CancelOrder = 648,\r\n \r\n /**\r\n * The CreatePickingList member.\r\n */\r\n CreatePickingList = 649,\r\n \r\n /**\r\n * The PrintPackingSlip member.\r\n */\r\n PrintPackingSlip = 650,\r\n \r\n /**\r\n * The EditFulfillmentLine member.\r\n */\r\n EditFulfillmentLine = 651,\r\n \r\n /**\r\n * The AcceptFulfillmentLine member.\r\n */\r\n AcceptFulfillmentLine = 652,\r\n \r\n /**\r\n * The RejectFulfillmentLine member.\r\n */\r\n RejectFulfillmentLine = 653,\r\n \r\n /**\r\n * The PickFulfillmentLine member.\r\n */\r\n PickFulfillmentLine = 654,\r\n \r\n /**\r\n * The PackFulfillmentLine member.\r\n */\r\n PackFulfillmentLine = 655,\r\n \r\n /**\r\n * The ShipFulfillmentLine member.\r\n */\r\n ShipFulfillmentLine = 656,\r\n \r\n /**\r\n * The PickupFulfillmentLine member.\r\n */\r\n PickupFulfillmentLine = 657,\r\n \r\n /**\r\n * The ChangePickupLines member.\r\n */\r\n ChangePickupLines = 658,\r\n \r\n /**\r\n * The LogOn member.\r\n */\r\n LogOn = 700,\r\n \r\n /**\r\n * The LogOff member.\r\n */\r\n LogOff = 701,\r\n \r\n /**\r\n * The ChangeUser member.\r\n */\r\n ChangeUser = 702,\r\n \r\n /**\r\n * The LockTerminal member.\r\n */\r\n LockTerminal = 703,\r\n \r\n /**\r\n * The LogOffForce member.\r\n */\r\n LogOffForce = 704,\r\n \r\n /**\r\n * The EmployeeCard member.\r\n */\r\n EmployeeCard = 705,\r\n \r\n /**\r\n * The EmployeeBarcode member.\r\n */\r\n EmployeeBarcode = 706,\r\n \r\n /**\r\n * The ActivateDevice member.\r\n */\r\n ActivateDevice = 707,\r\n \r\n /**\r\n * The DeactivateDevice member.\r\n */\r\n DeactivateDevice = 708,\r\n \r\n /**\r\n * The ChangeHardwareStation member.\r\n */\r\n ChangeHardwareStation = 709,\r\n \r\n /**\r\n * The PairHardwareStation member.\r\n */\r\n PairHardwareStation = 710,\r\n \r\n /**\r\n * The MassActivateDevice member.\r\n */\r\n MassActivateDevice = 711,\r\n \r\n /**\r\n * The ViewMyClientBook member.\r\n */\r\n ViewMyClientBook = 712,\r\n \r\n /**\r\n * The ViewStoreClientBooks member.\r\n */\r\n ViewStoreClientBooks = 713,\r\n \r\n /**\r\n * The AddCustomerToClientBook member.\r\n */\r\n AddCustomerToClientBook = 714,\r\n \r\n /**\r\n * The RemoveCustomersFromClientBook member.\r\n */\r\n RemoveCustomersFromClientBook = 715,\r\n \r\n /**\r\n * The ReassignClientBookCustomers member.\r\n */\r\n ReassignClientBookCustomers = 716,\r\n \r\n /**\r\n * The HealthCheck member.\r\n */\r\n HealthCheck = 717,\r\n \r\n /**\r\n * The NegativeAdjustment member.\r\n */\r\n NegativeAdjustment = 800,\r\n \r\n /**\r\n * The InventoryLookup member.\r\n */\r\n InventoryLookup = 801,\r\n \r\n /**\r\n * The StockCount member.\r\n */\r\n StockCount = 802,\r\n \r\n /**\r\n * The PickingAndReceiving member.\r\n */\r\n PickingAndReceiving = 803,\r\n \r\n /**\r\n * The InboundInventory member.\r\n */\r\n InboundInventory = 804,\r\n \r\n /**\r\n * The OutboundInventory member.\r\n */\r\n OutboundInventory = 805,\r\n \r\n /**\r\n * The InventoryAdjustment member.\r\n */\r\n InventoryAdjustment = 806,\r\n \r\n /**\r\n * The InventoryMovement member.\r\n */\r\n InventoryMovement = 807,\r\n \r\n /**\r\n * The PostStockCounting member.\r\n */\r\n PostStockCounting = 808,\r\n \r\n /**\r\n * The ApplicationExit member.\r\n */\r\n ApplicationExit = 900,\r\n \r\n /**\r\n * The PrintTaxFree member.\r\n */\r\n PrintTaxFree = 906,\r\n \r\n /**\r\n * The PrintPreviousSlip member.\r\n */\r\n PrintPreviousSlip = 907,\r\n \r\n /**\r\n * The PrintPreviousInvoice member.\r\n */\r\n PrintPreviousInvoice = 908,\r\n \r\n /**\r\n * The UploadPrinterLogo member.\r\n */\r\n UploadPrinterLogo = 909,\r\n \r\n /**\r\n * The RestartComputer member.\r\n */\r\n RestartComputer = 910,\r\n \r\n /**\r\n * The ShutdownComputer member.\r\n */\r\n ShutdownComputer = 911,\r\n \r\n /**\r\n * The DesignModeEnable member.\r\n */\r\n DesignModeEnable = 912,\r\n \r\n /**\r\n * The DesignModeDisable member.\r\n */\r\n DesignModeDisable = 913,\r\n \r\n /**\r\n * The MinimizePOSWindow member.\r\n */\r\n MinimizePOSWindow = 914,\r\n \r\n /**\r\n * The BlankOperation member.\r\n */\r\n BlankOperation = 915,\r\n \r\n /**\r\n * The WindowsWorkflowOperation member.\r\n */\r\n WindowsWorkflowOperation = 916,\r\n \r\n /**\r\n * The DatabaseConnectionStatus member.\r\n */\r\n DatabaseConnectionStatus = 917,\r\n \r\n /**\r\n * The ShowBlindClosedShifts member.\r\n */\r\n ShowBlindClosedShifts = 918,\r\n \r\n /**\r\n * The ExtendedLogOn member.\r\n */\r\n ExtendedLogOn = 919,\r\n \r\n /**\r\n * The TimeRegistration member.\r\n */\r\n TimeRegistration = 920,\r\n \r\n /**\r\n * The ViewTimeClockEntries member.\r\n */\r\n ViewTimeClockEntries = 921,\r\n \r\n /**\r\n * The ViewProductDetails member.\r\n */\r\n ViewProductDetails = 922,\r\n \r\n /**\r\n * The ViewOrderFulfillmentLines member.\r\n */\r\n ViewOrderFulfillmentLines = 928,\r\n \r\n /**\r\n * The OpenDrawer member.\r\n */\r\n OpenDrawer = 1000,\r\n \r\n /**\r\n * The ViewReport member.\r\n */\r\n ViewReport = 1003,\r\n \r\n /**\r\n * The TenderDeclaration member.\r\n */\r\n TenderDeclaration = 1052,\r\n \r\n /**\r\n * The BlindCloseShift member.\r\n */\r\n BlindCloseShift = 1053,\r\n \r\n /**\r\n * The SuspendShift member.\r\n */\r\n SuspendShift = 1054,\r\n \r\n /**\r\n * The CloseShift member.\r\n */\r\n CloseShift = 1055,\r\n \r\n /**\r\n * The PrintX member.\r\n */\r\n PrintX = 1056,\r\n \r\n /**\r\n * The PrintZ member.\r\n */\r\n PrintZ = 1057,\r\n \r\n /**\r\n * The PrintFiscalX member.\r\n */\r\n PrintFiscalX = 1058,\r\n \r\n /**\r\n * The PrintFiscalZ member.\r\n */\r\n PrintFiscalZ = 1059,\r\n \r\n /**\r\n * The CustomerAccountDeposit member.\r\n */\r\n CustomerAccountDeposit = 1100,\r\n \r\n /**\r\n * The DeclareStartAmount member.\r\n */\r\n DeclareStartAmount = 1200,\r\n \r\n /**\r\n * The FloatEntry member.\r\n */\r\n FloatEntry = 1201,\r\n \r\n /**\r\n * The TenderRemoval member.\r\n */\r\n TenderRemoval = 1210,\r\n \r\n /**\r\n * The SafeDrop member.\r\n */\r\n SafeDrop = 1211,\r\n \r\n /**\r\n * The BankDrop member.\r\n */\r\n BankDrop = 1212,\r\n \r\n /**\r\n * The ShippingAddressSearch member.\r\n */\r\n ShippingAddressSearch = 1213,\r\n \r\n /**\r\n * The ShippingAddressAdd member.\r\n */\r\n ShippingAddressAdd = 1214,\r\n \r\n /**\r\n * The ChangePassword member.\r\n */\r\n ChangePassword = 1215,\r\n \r\n /**\r\n * The ResetPassword member.\r\n */\r\n ResetPassword = 1216,\r\n \r\n /**\r\n * The KitDisassembly member.\r\n */\r\n KitDisassembly = 1217,\r\n \r\n /**\r\n * The ForceUnlockPeripheral member.\r\n */\r\n ForceUnlockPeripheral = 1218,\r\n \r\n /**\r\n * The OpenURL member.\r\n */\r\n OpenURL = 1219,\r\n \r\n /**\r\n * The ManageSafe member.\r\n */\r\n ManageSafe = 1220,\r\n \r\n /**\r\n * The VoidSuspendedTransactions member.\r\n */\r\n VoidSuspendedTransactions = 1221,\r\n \r\n /**\r\n * The SkipFiscalRegistration member.\r\n */\r\n SkipFiscalRegistration = 1300,\r\n \r\n /**\r\n * The MarkFiscalEventRegistered member.\r\n */\r\n MarkFiscalEventRegistered = 1301,\r\n \r\n /**\r\n * The CompleteFiscalRegistrationProcess member.\r\n */\r\n CompleteFiscalRegistrationProcess = 1302,\r\n \r\n /**\r\n * The SkipHealthCheckError member.\r\n */\r\n SkipHealthCheckError = 1303,\r\n \r\n /**\r\n * The PostponeFiscalRegistration member.\r\n */\r\n PostponeFiscalRegistration = 1304,\r\n \r\n /**\r\n * The ManageChecklistsAndTasks member.\r\n */\r\n ManageChecklistsAndTasks = 1400,\r\n \r\n /**\r\n * The Invalid member.\r\n */\r\n Invalid = 65535\r\n }\r\n \r\n /**\r\n * ReasonCodeInputRequiredType enum type.\r\n */\r\n export enum ReasonCodeInputRequiredType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Always member.\r\n */\r\n Always = 1,\r\n \r\n /**\r\n * The Positive member.\r\n */\r\n Positive = 2,\r\n \r\n /**\r\n * The Negative member.\r\n */\r\n Negative = 3\r\n }\r\n \r\n /**\r\n * RecordingValueType enum type.\r\n */\r\n export enum RecordingValueType {\r\n \r\n /**\r\n * The Preferred member.\r\n */\r\n Preferred = 0,\r\n \r\n /**\r\n * The Example member.\r\n */\r\n Example = 1\r\n }\r\n \r\n /**\r\n * UserActionType enum type.\r\n */\r\n export enum UserActionType {\r\n \r\n /**\r\n * The Input member.\r\n */\r\n Input = 1,\r\n \r\n /**\r\n * The Output member.\r\n */\r\n Output = 16,\r\n \r\n /**\r\n * The Validation member.\r\n */\r\n Validation = 256\r\n }\r\n \r\n /**\r\n * ArtifactType enum type.\r\n */\r\n export enum ArtifactType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Ax7Bpm member.\r\n */\r\n Ax7Bpm = 1,\r\n \r\n /**\r\n * The Visio member.\r\n */\r\n Visio = 2,\r\n \r\n /**\r\n * The TaskGuide member.\r\n */\r\n TaskGuide = 3,\r\n \r\n /**\r\n * The Ax6Bpm member.\r\n */\r\n Ax6Bpm = 4,\r\n \r\n /**\r\n * The TaskGuideResources member.\r\n */\r\n TaskGuideResources = 5,\r\n \r\n /**\r\n * The TaskXml member.\r\n */\r\n TaskXml = 6,\r\n \r\n /**\r\n * The VideoWma member.\r\n */\r\n VideoWma = 7,\r\n \r\n /**\r\n * The ProcessXml member.\r\n */\r\n ProcessXml = 8,\r\n \r\n /**\r\n * The Trace member.\r\n */\r\n Trace = 9,\r\n \r\n /**\r\n * The RapidStartXml member.\r\n */\r\n RapidStartXml = 10,\r\n \r\n /**\r\n * The UserDrawing member.\r\n */\r\n UserDrawing = 100\r\n }\r\n \r\n /**\r\n * FrameworkAccess enum type.\r\n */\r\n export enum FrameworkAccess {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Global member.\r\n */\r\n Global = 1,\r\n \r\n /**\r\n * The Corporate member.\r\n */\r\n Corporate = 2,\r\n \r\n /**\r\n * The Private member.\r\n */\r\n Private = 3,\r\n \r\n /**\r\n * The BoxPackage member.\r\n */\r\n BoxPackage = 4\r\n }\r\n \r\n /**\r\n * MetadataControl enum type.\r\n */\r\n export enum MetadataControl {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The SingleValue member.\r\n */\r\n SingleValue = 1,\r\n \r\n /**\r\n * The MultiValue member.\r\n */\r\n MultiValue = 2,\r\n \r\n /**\r\n * The Tags member.\r\n */\r\n Tags = 3,\r\n \r\n /**\r\n * The Links member.\r\n */\r\n Links = 4,\r\n \r\n /**\r\n * The ComboBox member.\r\n */\r\n ComboBox = 5,\r\n \r\n /**\r\n * The MultiSelect member.\r\n */\r\n MultiSelect = 6\r\n }\r\n \r\n /**\r\n * FiscalIntegrationRegistrationStatus enum type.\r\n */\r\n export enum FiscalIntegrationRegistrationStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Completed member.\r\n */\r\n Completed = 1,\r\n \r\n /**\r\n * The Skipped member.\r\n */\r\n Skipped = 2,\r\n \r\n /**\r\n * The MarkedAsRegistered member.\r\n */\r\n MarkedAsRegistered = 3,\r\n \r\n /**\r\n * The AutoSkipped member.\r\n */\r\n AutoSkipped = 4,\r\n \r\n /**\r\n * The Postponed member.\r\n */\r\n Postponed = 5\r\n }\r\n \r\n /**\r\n * CustomerOrderOperation enum type.\r\n */\r\n export enum CustomerOrderOperation {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Edit member.\r\n */\r\n Edit = 1,\r\n \r\n /**\r\n * The Cancel member.\r\n */\r\n Cancel = 2,\r\n \r\n /**\r\n * The PickUpFromStore member.\r\n */\r\n PickUpFromStore = 3,\r\n \r\n /**\r\n * The CreatePickingList member.\r\n */\r\n CreatePickingList = 4,\r\n \r\n /**\r\n * The CreatePackingSlip member.\r\n */\r\n CreatePackingSlip = 5,\r\n \r\n /**\r\n * The PrintPackingSlip member.\r\n */\r\n PrintPackingSlip = 6,\r\n \r\n /**\r\n * The Return member.\r\n */\r\n Return = 7,\r\n \r\n /**\r\n * The RejectFulfillmentLine member.\r\n */\r\n RejectFulfillmentLine = 8,\r\n \r\n /**\r\n * The AcceptFulfillmentLine member.\r\n */\r\n AcceptFulfillmentLine = 9,\r\n \r\n /**\r\n * The PackFulfillmentLine member.\r\n */\r\n PackFulfillmentLine = 10,\r\n \r\n /**\r\n * The ShipFulfillmentLine member.\r\n */\r\n ShipFulfillmentLine = 11,\r\n \r\n /**\r\n * The PickFulfillmentLine member.\r\n */\r\n PickFulfillmentLine = 12\r\n }\r\n \r\n /**\r\n * BusinessPartnerOperationType enum type.\r\n */\r\n export enum BusinessPartnerOperationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The CreateProspect member.\r\n */\r\n CreateProspect = 1,\r\n \r\n /**\r\n * The AddUser member.\r\n */\r\n AddUser = 2,\r\n \r\n /**\r\n * The DeleteUser member.\r\n */\r\n DeleteUser = 3,\r\n \r\n /**\r\n * The EditUser member.\r\n */\r\n EditUser = 4,\r\n \r\n /**\r\n * The AccountStatement member.\r\n */\r\n AccountStatement = 5,\r\n \r\n /**\r\n * The InvoiceRequest member.\r\n */\r\n InvoiceRequest = 6\r\n }\r\n \r\n /**\r\n * BusinessPartnerOperationStatus enum type.\r\n */\r\n export enum BusinessPartnerOperationStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Processed member.\r\n */\r\n Processed = 1,\r\n \r\n /**\r\n * The Error member.\r\n */\r\n Error = 2\r\n }\r\n \r\n /**\r\n * CartType enum type.\r\n */\r\n export enum CartType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Shopping member.\r\n */\r\n Shopping = 1,\r\n \r\n /**\r\n * The Checkout member.\r\n */\r\n Checkout = 2,\r\n \r\n /**\r\n * The CustomerOrder member.\r\n */\r\n CustomerOrder = 3,\r\n \r\n /**\r\n * The IncomeExpense member.\r\n */\r\n IncomeExpense = 4,\r\n \r\n /**\r\n * The AccountDeposit member.\r\n */\r\n AccountDeposit = 5\r\n }\r\n \r\n /**\r\n * CartStatus enum type.\r\n */\r\n export enum CartStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Created member.\r\n */\r\n Created = 1,\r\n \r\n /**\r\n * The Suspended member.\r\n */\r\n Suspended = 2,\r\n \r\n /**\r\n * The Voided member.\r\n */\r\n Voided = 3\r\n }\r\n \r\n /**\r\n * PeriodicDiscountsCalculateScope enum type.\r\n */\r\n export enum PeriodicDiscountsCalculateScope {\r\n \r\n /**\r\n * The All member.\r\n */\r\n All = 0,\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 1,\r\n \r\n /**\r\n * The CouponDiscountsOnly member.\r\n */\r\n CouponDiscountsOnly = 2\r\n }\r\n \r\n /**\r\n * CustomerType enum type.\r\n */\r\n export enum CustomerType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Person member.\r\n */\r\n Person = 1,\r\n \r\n /**\r\n * The Organization member.\r\n */\r\n Organization = 2\r\n }\r\n \r\n /**\r\n * ContactInfoType enum type.\r\n */\r\n export enum ContactInfoType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Phone member.\r\n */\r\n Phone = 1,\r\n \r\n /**\r\n * The Email member.\r\n */\r\n Email = 2,\r\n \r\n /**\r\n * The Url member.\r\n */\r\n Url = 3,\r\n \r\n /**\r\n * The Telex member.\r\n */\r\n Telex = 4,\r\n \r\n /**\r\n * The Fax member.\r\n */\r\n Fax = 5\r\n }\r\n \r\n /**\r\n * ChecklistStatus enum type.\r\n */\r\n export enum ChecklistStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NotStarted member.\r\n */\r\n NotStarted = 1,\r\n \r\n /**\r\n * The InProgress member.\r\n */\r\n InProgress = 2,\r\n \r\n /**\r\n * The Completed member.\r\n */\r\n Completed = 3\r\n }\r\n \r\n /**\r\n * ChecklistTaskDeepLinkType enum type.\r\n */\r\n export enum ChecklistTaskDeepLinkType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Display member.\r\n */\r\n Display = 1,\r\n \r\n /**\r\n * The Output member.\r\n */\r\n Output = 2,\r\n \r\n /**\r\n * The Action member.\r\n */\r\n Action = 3,\r\n \r\n /**\r\n * The Url member.\r\n */\r\n Url = 4,\r\n \r\n /**\r\n * The PosOperation member.\r\n */\r\n PosOperation = 5,\r\n \r\n /**\r\n * The CustomerAccount member.\r\n */\r\n CustomerAccount = 6,\r\n \r\n /**\r\n * The PosOperationWithParameters member.\r\n */\r\n PosOperationWithParameters = 7\r\n }\r\n \r\n /**\r\n * ChecklistTaskStatus enum type.\r\n */\r\n export enum ChecklistTaskStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The NotStarted member.\r\n */\r\n NotStarted = 1,\r\n \r\n /**\r\n * The InProgress member.\r\n */\r\n InProgress = 2,\r\n \r\n /**\r\n * The Completed member.\r\n */\r\n Completed = 3\r\n }\r\n \r\n /**\r\n * DocumentStatus enum type.\r\n */\r\n export enum DocumentStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Quotation member.\r\n */\r\n Quotation = 1,\r\n \r\n /**\r\n * The PurchaseOrder member.\r\n */\r\n PurchaseOrder = 2,\r\n \r\n /**\r\n * The Confirmation member.\r\n */\r\n Confirmation = 3,\r\n \r\n /**\r\n * The PickingList member.\r\n */\r\n PickingList = 4,\r\n \r\n /**\r\n * The PackingSlip member.\r\n */\r\n PackingSlip = 5,\r\n \r\n /**\r\n * The ReceiptsList member.\r\n */\r\n ReceiptsList = 6,\r\n \r\n /**\r\n * The Invoice member.\r\n */\r\n Invoice = 7,\r\n \r\n /**\r\n * The ApproveJournal member.\r\n */\r\n ApproveJournal = 8,\r\n \r\n /**\r\n * The ProjectInvoice member.\r\n */\r\n ProjectInvoice = 9,\r\n \r\n /**\r\n * The ProjectPackingSlip member.\r\n */\r\n ProjectPackingSlip = 10,\r\n \r\n /**\r\n * The CRMQuotation member.\r\n */\r\n CRMQuotation = 11,\r\n \r\n /**\r\n * The Lost member.\r\n */\r\n Lost = 12,\r\n \r\n /**\r\n * The Canceled member.\r\n */\r\n Canceled = 13,\r\n \r\n /**\r\n * The FreeTextInvoice member.\r\n */\r\n FreeTextInvoice = 14,\r\n \r\n /**\r\n * The RFQ member.\r\n */\r\n RFQ = 15,\r\n \r\n /**\r\n * The RFQAccept member.\r\n */\r\n RFQAccept = 16,\r\n \r\n /**\r\n * The RFQReject member.\r\n */\r\n RFQReject = 17,\r\n \r\n /**\r\n * The PurchaseRequest member.\r\n */\r\n PurchaseRequest = 18,\r\n \r\n /**\r\n * The RFQResend member.\r\n */\r\n RFQResend = 19\r\n }\r\n \r\n /**\r\n * CustomerOrderType enum type.\r\n */\r\n export enum CustomerOrderType {\r\n \r\n /**\r\n * The SalesOrder member.\r\n */\r\n SalesOrder = 0,\r\n \r\n /**\r\n * The Quote member.\r\n */\r\n Quote = 1\r\n }\r\n \r\n /**\r\n * LineDiscountCalculationType enum type.\r\n */\r\n export enum LineDiscountCalculationType {\r\n \r\n /**\r\n * The Line member.\r\n */\r\n Line = 0,\r\n \r\n /**\r\n * The Multiline member.\r\n */\r\n Multiline = 1,\r\n \r\n /**\r\n * The MaxLineMultiline member.\r\n */\r\n MaxLineMultiline = 2,\r\n \r\n /**\r\n * The MinLineMultiline member.\r\n */\r\n MinLineMultiline = 3,\r\n \r\n /**\r\n * The LinePlusMultiline member.\r\n */\r\n LinePlusMultiline = 4,\r\n \r\n /**\r\n * The LineMultiplyMultiline member.\r\n */\r\n LineMultiplyMultiline = 5\r\n }\r\n \r\n /**\r\n * TaxCalculationType enum type.\r\n */\r\n export enum TaxCalculationType {\r\n \r\n /**\r\n * The Regular member.\r\n */\r\n Regular = 0,\r\n \r\n /**\r\n * The GTE member.\r\n */\r\n GTE = 1\r\n }\r\n \r\n /**\r\n * ShiftStatus enum type.\r\n */\r\n export enum ShiftStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Open member.\r\n */\r\n Open = 1,\r\n \r\n /**\r\n * The Closed member.\r\n */\r\n Closed = 2,\r\n \r\n /**\r\n * The BlindClosed member.\r\n */\r\n BlindClosed = 3,\r\n \r\n /**\r\n * The Suspended member.\r\n */\r\n Suspended = 4,\r\n \r\n /**\r\n * The Invalid member.\r\n */\r\n Invalid = 5\r\n }\r\n \r\n /**\r\n * TaxRegistrationType enum type.\r\n */\r\n export enum TaxRegistrationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The INN member.\r\n */\r\n INN = 1,\r\n \r\n /**\r\n * The KPP member.\r\n */\r\n KPP = 2,\r\n \r\n /**\r\n * The OKPO member.\r\n */\r\n OKPO = 3,\r\n \r\n /**\r\n * The OKDP member.\r\n */\r\n OKDP = 4,\r\n \r\n /**\r\n * The OKATO member.\r\n */\r\n OKATO = 5,\r\n \r\n /**\r\n * The OGRN member.\r\n */\r\n OGRN = 6,\r\n \r\n /**\r\n * The SNILS member.\r\n */\r\n SNILS = 7,\r\n \r\n /**\r\n * The CIFTS member.\r\n */\r\n CIFTS = 8,\r\n \r\n /**\r\n * The UID member.\r\n */\r\n UID = 9,\r\n \r\n /**\r\n * The TaxId member.\r\n */\r\n TaxId = 10,\r\n \r\n /**\r\n * The BranchId member.\r\n */\r\n BranchId = 11,\r\n \r\n /**\r\n * The CommercialRegisterCZ member.\r\n */\r\n CommercialRegisterCZ = 12,\r\n \r\n /**\r\n * The CustomsCustomerId member.\r\n */\r\n CustomsCustomerId = 14,\r\n \r\n /**\r\n * The Passport member.\r\n */\r\n Passport = 15,\r\n \r\n /**\r\n * The OfficialIdDoc member.\r\n */\r\n OfficialIdDoc = 16,\r\n \r\n /**\r\n * The ResidenceCertificate member.\r\n */\r\n ResidenceCertificate = 17,\r\n \r\n /**\r\n * The OtherIdDoc member.\r\n */\r\n OtherIdDoc = 18,\r\n \r\n /**\r\n * The NotCensused member.\r\n */\r\n NotCensused = 19,\r\n \r\n /**\r\n * The BusinessPremiseId member.\r\n */\r\n BusinessPremiseId = 20,\r\n \r\n /**\r\n * The LotteryCode member.\r\n */\r\n LotteryCode = 21\r\n }\r\n \r\n /**\r\n * CommerceListType enum type.\r\n */\r\n export enum CommerceListType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The WishList member.\r\n */\r\n WishList = 1\r\n }\r\n \r\n /**\r\n * ProductListType enum type.\r\n */\r\n export enum ProductListType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The OrderTemplate member.\r\n */\r\n OrderTemplate = 1,\r\n \r\n /**\r\n * The QuickOrder member.\r\n */\r\n QuickOrder = 2,\r\n \r\n /**\r\n * The WishList member.\r\n */\r\n WishList = 3\r\n }\r\n \r\n /**\r\n * RecommendationType enum type.\r\n */\r\n export enum RecommendationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Editorial member.\r\n */\r\n Editorial = 1,\r\n \r\n /**\r\n * The New member.\r\n */\r\n New = 2,\r\n \r\n /**\r\n * The Trending member.\r\n */\r\n Trending = 3,\r\n \r\n /**\r\n * The Bestselling member.\r\n */\r\n Bestselling = 4,\r\n \r\n /**\r\n * The Cart member.\r\n */\r\n Cart = 5,\r\n \r\n /**\r\n * The PeopleAlsoBuy member.\r\n */\r\n PeopleAlsoBuy = 6,\r\n \r\n /**\r\n * The Picks member.\r\n */\r\n Picks = 7,\r\n \r\n /**\r\n * The ShopSimilarLooks member.\r\n */\r\n ShopSimilarLooks = 8,\r\n \r\n /**\r\n * The ShopSimilarDescriptions member.\r\n */\r\n ShopSimilarDescriptions = 9\r\n }\r\n \r\n /**\r\n * PurchaseTransferOrderType enum type.\r\n */\r\n export enum PurchaseTransferOrderType {\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = 0,\r\n \r\n /**\r\n * The PurchaseOrder member.\r\n */\r\n PurchaseOrder = 1,\r\n \r\n /**\r\n * The TransferIn member.\r\n */\r\n TransferIn = 2,\r\n \r\n /**\r\n * The TransferOut member.\r\n */\r\n TransferOut = 3,\r\n \r\n /**\r\n * The TransferOrder member.\r\n */\r\n TransferOrder = 4,\r\n \r\n /**\r\n * The PickingList member.\r\n */\r\n PickingList = 5\r\n }\r\n \r\n /**\r\n * BusinessPartnerUserStatus enum type.\r\n */\r\n export enum BusinessPartnerUserStatus {\r\n \r\n /**\r\n * The Pending member.\r\n */\r\n Pending = 0,\r\n \r\n /**\r\n * The Active member.\r\n */\r\n Active = 1,\r\n \r\n /**\r\n * The Removed member.\r\n */\r\n Removed = 2\r\n }\r\n \r\n /**\r\n * ElectronicAddressType enum type.\r\n */\r\n export enum ElectronicAddressType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Email member.\r\n */\r\n Email = 1\r\n }\r\n \r\n /**\r\n * DownloadSessionStatus enum type.\r\n */\r\n export enum DownloadSessionStatus {\r\n \r\n /**\r\n * The Started member.\r\n */\r\n Started = 0,\r\n \r\n /**\r\n * The Available member.\r\n */\r\n Available = 1,\r\n \r\n /**\r\n * The Requested member.\r\n */\r\n Requested = 2,\r\n \r\n /**\r\n * The Downloaded member.\r\n */\r\n Downloaded = 3,\r\n \r\n /**\r\n * The Applied member.\r\n */\r\n Applied = 4,\r\n \r\n /**\r\n * The Canceled member.\r\n */\r\n Canceled = 5,\r\n \r\n /**\r\n * The CreateFailed member.\r\n */\r\n CreateFailed = 6,\r\n \r\n /**\r\n * The DownloadFailed member.\r\n */\r\n DownloadFailed = 7,\r\n \r\n /**\r\n * The ApplyFailed member.\r\n */\r\n ApplyFailed = 8\r\n }\r\n \r\n /**\r\n * HardwareStationType enum type.\r\n */\r\n export enum HardwareStationType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Shared member.\r\n */\r\n Shared = 1,\r\n \r\n /**\r\n * The Dedicated member.\r\n */\r\n Dedicated = 2\r\n }\r\n \r\n /**\r\n * AuditEventUploadType enum type.\r\n */\r\n export enum AuditEventUploadType {\r\n \r\n /**\r\n * The Async member.\r\n */\r\n Async = 0,\r\n \r\n /**\r\n * The RealTime member.\r\n */\r\n RealTime = 1\r\n }\r\n \r\n /**\r\n * AuditEventType enum type.\r\n */\r\n export enum AuditEventType {\r\n \r\n /**\r\n * The Unknown member.\r\n */\r\n Unknown = 0,\r\n \r\n /**\r\n * The UserLogOn member.\r\n */\r\n UserLogOn = 1,\r\n \r\n /**\r\n * The UserLogOff member.\r\n */\r\n UserLogOff = 2,\r\n \r\n /**\r\n * The ManagerOverride member.\r\n */\r\n ManagerOverride = 3,\r\n \r\n /**\r\n * The ItemVoid member.\r\n */\r\n ItemVoid = 4,\r\n \r\n /**\r\n * The TransactionVoid member.\r\n */\r\n TransactionVoid = 5,\r\n \r\n /**\r\n * The PrintReceiptCopy member.\r\n */\r\n PrintReceiptCopy = 6,\r\n \r\n /**\r\n * The PriceCheck member.\r\n */\r\n PriceCheck = 7,\r\n \r\n /**\r\n * The TaxOverride member.\r\n */\r\n TaxOverride = 8,\r\n \r\n /**\r\n * The QuantityCorrection member.\r\n */\r\n QuantityCorrection = 9,\r\n \r\n /**\r\n * The PurgeTransactionsData member.\r\n */\r\n PurgeTransactionsData = 10\r\n }\r\n \r\n /**\r\n * AuditLogTraceLevel enum type.\r\n */\r\n export enum AuditLogTraceLevel {\r\n \r\n /**\r\n * The Trace member.\r\n */\r\n Trace = 0,\r\n \r\n /**\r\n * The Debug member.\r\n */\r\n Debug = 1,\r\n \r\n /**\r\n * The Error member.\r\n */\r\n Error = 2\r\n }\r\n \r\n /**\r\n * FiscalIntegrationEventType enum type.\r\n */\r\n export enum FiscalIntegrationEventType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Sale member.\r\n */\r\n Sale = 1,\r\n \r\n /**\r\n * The PrintReceiptCopy member.\r\n */\r\n PrintReceiptCopy = 2,\r\n \r\n /**\r\n * The ZReport member.\r\n */\r\n ZReport = 3,\r\n \r\n /**\r\n * The XReport member.\r\n */\r\n XReport = 4,\r\n \r\n /**\r\n * The CloseShift member.\r\n */\r\n CloseShift = 5,\r\n \r\n /**\r\n * The BankDrop member.\r\n */\r\n BankDrop = 6,\r\n \r\n /**\r\n * The TenderDeclaration member.\r\n */\r\n TenderDeclaration = 7,\r\n \r\n /**\r\n * The RemoveTender member.\r\n */\r\n RemoveTender = 8,\r\n \r\n /**\r\n * The FloatEntry member.\r\n */\r\n FloatEntry = 9,\r\n \r\n /**\r\n * The SafeDrop member.\r\n */\r\n SafeDrop = 10,\r\n \r\n /**\r\n * The StartingAmount member.\r\n */\r\n StartingAmount = 11,\r\n \r\n /**\r\n * The PackingSlip member.\r\n */\r\n PackingSlip = 12,\r\n \r\n /**\r\n * The GiftReceipt member.\r\n */\r\n GiftReceipt = 13,\r\n \r\n /**\r\n * The CustomerAccountDeposit member.\r\n */\r\n CustomerAccountDeposit = 14,\r\n \r\n /**\r\n * The CreditMemo member.\r\n */\r\n CreditMemo = 15,\r\n \r\n /**\r\n * The EditCustomerOrder member.\r\n */\r\n EditCustomerOrder = 16,\r\n \r\n /**\r\n * The CreateCustomerOrder member.\r\n */\r\n CreateCustomerOrder = 17,\r\n \r\n /**\r\n * The DepositOverride member.\r\n */\r\n DepositOverride = 18,\r\n \r\n /**\r\n * The FiscalXReport member.\r\n */\r\n FiscalXReport = 19,\r\n \r\n /**\r\n * The FiscalZReport member.\r\n */\r\n FiscalZReport = 20,\r\n \r\n /**\r\n * The AuditEvent member.\r\n */\r\n AuditEvent = 21,\r\n \r\n /**\r\n * The OpenDrawer member.\r\n */\r\n OpenDrawer = 22,\r\n \r\n /**\r\n * The CancelCustomerOrder member.\r\n */\r\n CancelCustomerOrder = 23,\r\n \r\n /**\r\n * The BeginSale member.\r\n */\r\n BeginSale = 24,\r\n \r\n /**\r\n * The PreSale member.\r\n */\r\n PreSale = 25,\r\n \r\n /**\r\n * The IncomeAccounts member.\r\n */\r\n IncomeAccounts = 26,\r\n \r\n /**\r\n * The ExpenseAccounts member.\r\n */\r\n ExpenseAccounts = 27,\r\n \r\n /**\r\n * The VoidTransaction member.\r\n */\r\n VoidTransaction = 28,\r\n \r\n /**\r\n * The SuspendTransaction member.\r\n */\r\n SuspendTransaction = 29,\r\n \r\n /**\r\n * The RecallTransaction member.\r\n */\r\n RecallTransaction = 30\r\n }\r\n \r\n /**\r\n * FiscalIntegrationDocumentGenerationResultType enum type.\r\n */\r\n export enum FiscalIntegrationDocumentGenerationResultType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Succeeded member.\r\n */\r\n Succeeded = 1,\r\n \r\n /**\r\n * The NotSupported member.\r\n */\r\n NotSupported = 2,\r\n \r\n /**\r\n * The NotRequired member.\r\n */\r\n NotRequired = 3,\r\n \r\n /**\r\n * The Failed member.\r\n */\r\n Failed = 4\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceCommunicationResultType enum type.\r\n */\r\n export enum FiscalIntegrationServiceCommunicationResultType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Succeeded member.\r\n */\r\n Succeeded = 1,\r\n \r\n /**\r\n * The Failed member.\r\n */\r\n Failed = 2\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceFailureType enum type.\r\n */\r\n export enum FiscalIntegrationServiceFailureType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Busy member.\r\n */\r\n Busy = 1,\r\n \r\n /**\r\n * The NotAvailable member.\r\n */\r\n NotAvailable = 2,\r\n \r\n /**\r\n * The SubmissionFailed member.\r\n */\r\n SubmissionFailed = 3,\r\n \r\n /**\r\n * The Other member.\r\n */\r\n Other = 4,\r\n \r\n /**\r\n * The BadResponse member.\r\n */\r\n BadResponse = 5,\r\n \r\n /**\r\n * The Timeout member.\r\n */\r\n Timeout = 6\r\n }\r\n \r\n /**\r\n * PickupTimeslotAvailabilitySearchOption enum type.\r\n */\r\n export enum PickupTimeslotAvailabilitySearchOption {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The DailyGroupingTimeslotOnly member.\r\n */\r\n DailyGroupingTimeslotOnly = 1,\r\n \r\n /**\r\n * The All member.\r\n */\r\n All = 2\r\n }\r\n \r\n /**\r\n * AttachedServiceStatus enum type.\r\n */\r\n export enum AttachedServiceStatus {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Disabled member.\r\n */\r\n Disabled = 1,\r\n \r\n /**\r\n * The InProgress member.\r\n */\r\n InProgress = 2,\r\n \r\n /**\r\n * The Enabled member.\r\n */\r\n Enabled = 3,\r\n \r\n /**\r\n * The Submitted member.\r\n */\r\n Submitted = 4\r\n }\r\n \r\n /**\r\n * ReceiptEmailBehavior enum type.\r\n */\r\n export enum ReceiptEmailBehavior {\r\n \r\n /**\r\n * The DoNotEmail member.\r\n */\r\n DoNotEmail = 0,\r\n \r\n /**\r\n * The PromptUser member.\r\n */\r\n PromptUser = 1,\r\n \r\n /**\r\n * The AlwaysEmail member.\r\n */\r\n AlwaysEmail = 2\r\n }\r\n \r\n /**\r\n * CartLineQuantityLimitsErrors enum type.\r\n */\r\n export enum CartLineQuantityLimitsErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AddingItem_ExceedsMaximumQuantity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AddingItem_ExceedsMaximumQuantity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdatingItem_ExceedsMaximumQuantity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdatingItem_ExceedsMaximumQuantity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemQuantityExceedsMaximum member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemQuantityExceedsMaximum,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemQuantityLessThanMinimum member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemQuantityLessThanMinimum,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemQuantityViolatesMultiplicityOfConfiguredNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemQuantityViolatesMultiplicityOfConfiguredNumber,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemQuantityExceedsMaximumAndViolatesMultiplicityOfConfiguredNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemQuantityExceedsMaximumAndViolatesMultiplicityOfConfiguredNumber,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemQuantityLessThanMinimumAndViolatesMultiplicityOfConfiguredNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemQuantityLessThanMinimumAndViolatesMultiplicityOfConfiguredNumber\r\n }\r\n \r\n /**\r\n * CommunicationErrors enum type.\r\n */\r\n export enum CommunicationErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HeadquarterCommunicationFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HeadquarterCommunicationFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HeadquarterResponseParsingError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HeadquarterResponseParsingError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AggregateCommunicationError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AggregateCommunicationError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExternalProviderError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExternalProviderError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HeadquarterTransactionServiceMethodCallFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HeadquarterTransactionServiceMethodCallFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransactionServiceTimeOut member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransactionServiceTimeOut,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransactionServiceException member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransactionServiceException,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransactionServiceAuthenticationFailedFault member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransactionServiceAuthenticationFailedFault,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransactionServiceForbiddenFault member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransactionServiceForbiddenFault,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransactionServiceSenderFault member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransactionServiceSenderFault,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidS2SClientId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidS2SClientId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidS2SSecret member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidS2SSecret,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidS2STenant member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidS2STenant,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidS2SApplicationName member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidS2SApplicationName,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransactionServiceLoyaltySenderFault member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransactionServiceLoyaltySenderFault\r\n }\r\n \r\n /**\r\n * ConfigurationErrors enum type.\r\n */\r\n export enum ConfigurationErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConfigurationSettingNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConfigurationSettingNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidConfigurationKeyFormat member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidConfigurationKeyFormat,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ApplicationCompositionFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ApplicationCompositionFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidChannelConfiguration member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidChannelConfiguration,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidPipelineConfiguration member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidPipelineConfiguration,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidProviderConfiguration member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidProviderConfiguration,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindDeliveryOptions member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindDeliveryOptions,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindDeliveryPreferences member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindDeliveryPreferences,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindConfigForTenderType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindConfigForTenderType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConnectionIsNotOverridden member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConnectionIsNotOverridden,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConnectionStringNotProvided member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConnectionStringNotProvided,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentConnectorNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentConnectorNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeviceConfigurationNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeviceConfigurationNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HardwareProfileNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HardwareProfileNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LayoutNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LayoutNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_VersionedEdmResourceFileNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_VersionedEdmResourceFileNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RetailServerConfigurationNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RetailServerConfigurationNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RetailServerCertificateNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RetailServerCertificateNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RealtimeServiceCertificateNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RealtimeServiceCertificateNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RealtimeServiceInvalidConfiguration member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RealtimeServiceInvalidConfiguration,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ActivatedDeviceMissingTokenIssueDatetime member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ActivatedDeviceMissingTokenIssueDatetime,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LCSLibrariesNotConfigured member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LCSLibrariesNotConfigured,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnknownRequestResponsePair member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnknownRequestResponsePair,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductRecommendationsDisabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductRecommendationsDisabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToRetrieveRecommendationServiceCredentials member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToRetrieveRecommendationServiceCredentials,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CommerceIssuerNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CommerceIssuerNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SecretProviderNotAvailable member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SecretProviderNotAvailable,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SecretNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SecretNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SecretProviderRetrievalFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SecretProviderRetrievalFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidProfilesConfiguration member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidProfilesConfiguration,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExtensionSettingsMustStartWithExtPrefix member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExtensionSettingsMustStartWithExtPrefix,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConfigurationSettingValueIncorrectFormat member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConfigurationSettingValueIncorrectFormat,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequestWasNotHandled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequestWasNotHandled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_FiscalService_NotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_FiscalService_NotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidConfigurationExtensionsSection member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidConfigurationExtensionsSection,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CompositionComponentExportingError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CompositionComponentExportingError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_VisualProfileNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_VisualProfileNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DuplicatedExtensionConfigurationKey member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DuplicatedExtensionConfigurationKey,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NextRequestHandlerNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NextRequestHandlerNotFound\r\n }\r\n \r\n /**\r\n * DataValidationErrors enum type.\r\n */\r\n export enum DataValidationErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The RegexAttribute_ValidationError member.\r\n */\r\n RegexAttribute_ValidationError,\r\n \r\n /**\r\n * The RequiredAttribute_ValidationError member.\r\n */\r\n RequiredAttribute_ValidationError,\r\n \r\n /**\r\n * The StringLengthAttribute_ValidationError member.\r\n */\r\n StringLengthAttribute_ValidationError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AuthenticationGrantTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AuthenticationGrantTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_BlockedLoyaltyCard member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_BlockedLoyaltyCard,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidLoyaltyCardNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidLoyaltyCardNumber,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LoyaltyCardNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LoyaltyCardNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductMasterPageRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductMasterPageRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequiredValueNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequiredValueNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesLineNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesLineNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RemoteProductsNotSupportedWithCurrentTransactionType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RemoteProductsNotSupportedWithCurrentTransactionType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountIsBlocked member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountIsBlocked,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerInvoiceAccountIsBlocked member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerInvoiceAccountIsBlocked,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductIsNotActive member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductIsNotActive,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductIsBlocked member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductIsBlocked,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ValueOutOfRange member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ValueOutOfRange,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ObjectNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ObjectNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DuplicateObject member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DuplicateObject,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidFormat member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidFormat,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MissingStockCountTransactions member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MissingStockCountTransactions,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MissingParameter member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MissingParameter,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidProductDimensionCombinations member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidProductDimensionCombinations,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_EmployeeDiscountExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_EmployeeDiscountExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_EmployeeDetailsNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_EmployeeDetailsNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_BarcodeNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_BarcodeNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExistingCustomerAlreadyMappedToExternalIdentity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExistingCustomerAlreadyMappedToExternalIdentity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnsupportedLanguage member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnsupportedLanguage,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnknownRequest member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnknownRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnSupportedType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnSupportedType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AggregateValidationError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AggregateValidationError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IdMismatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IdMismatch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidRequest member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleEmployeeLineDiscountsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleEmployeeLineDiscountsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleEmployeeTotalDiscountsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleEmployeeTotalDiscountsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TotalDiscountsNotAllowedForMixSalesAndReturn member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TotalDiscountsNotAllowedForMixSalesAndReturn,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseAccountsInSameCart member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseAccountsInSameCart,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowDiscounts member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowDiscounts,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowSalesLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowSalesLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowCustomer member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowCustomer,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowGiftCardLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowGiftCardLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseLineDoesNotAllowSettingTransactionStatus member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseLineDoesNotAllowSettingTransactionStatus,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowAffiliation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncomeExpenseCartDoesNotAllowAffiliation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InsufficientQuantityAvailable member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InsufficientQuantityAvailable,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidUnitOfMeasure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidUnitOfMeasure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnitOfMeasureConversionNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnitOfMeasureConversionNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidDeliveryMode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidDeliveryMode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeliveryModeMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeliveryModeMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindDeliveryOptions member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindDeliveryOptions,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidEmailAddress member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidEmailAddress,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidDeliveryPreferenceType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidDeliveryPreferenceType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidShippingAddress member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidShippingAddress,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCountryRegion member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCountryRegion,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidStateProvince member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidStateProvince,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCounty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCounty,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidDistrict member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidDistrict,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidZipPostalCode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidZipPostalCode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidAddress member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidAddress,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidShippingDate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidShippingDate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DiscountAmountInvalidated member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DiscountAmountInvalidated,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidPriceEncountered member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidPriceEncountered,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemDiscontinuedFromChannel member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemDiscontinuedFromChannel,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DiscontinuedProductsRemovedFromCart member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DiscontinuedProductsRemovedFromCart,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GrossWeightForItemNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GrossWeightForItemNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ListingIdNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ListingIdNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequiredReasonCodesMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequiredReasonCodesMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReasonCodeLinesReasonCodeIdDuplicated member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReasonCodeLinesReasonCodeIdDuplicated,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CartNotActive member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CartNotActive,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidStatus member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidStatus,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_VoidTransactionContainsTenderedLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_VoidTransactionContainsTenderedLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeForVoidProducts member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeForVoidProducts,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CartContainsProductsForReturn member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CartContainsProductsForReturn,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidReceiptTemplate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidReceiptTemplate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidReceiptItem member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidReceiptItem,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemIdBarcodeMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemIdBarcodeMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleItemsForItemId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleItemsForItemId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeChange member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeChange,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeForReturnTransaction member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeForReturnTransaction,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeForAddCartLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCustomerOrderModeForAddCartLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotAddProductHavingRefundChargeAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotAddProductHavingRefundChargeAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotChangeCustomerIdWhenEditingCustomerOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotChangeCustomerIdWhenEditingCustomerOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_QuoteMustNotHaveAnyPayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_QuoteMustNotHaveAnyPayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_QuoteMustHaveValidQuotationExpiryDate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_QuoteMustHaveValidQuotationExpiryDate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_QuoteMustNotHaveDepositOverride member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_QuoteMustNotHaveDepositOverride,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DepositMustBeGreaterThanZero member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DepositMustBeGreaterThanZero,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMustNotBeGreaterThanTotalAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMustNotBeGreaterThanTotalAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMustNotBeGreaterThanMaximumOverrideAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMustNotBeGreaterThanMaximumOverrideAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidPickupDepositOverrideAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidPickupDepositOverrideAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OrderWasNotCreatedWithDepositOverride member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OrderWasNotCreatedWithDepositOverride,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMayNotBeChanged member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMayNotBeChanged,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMayNotBeCleared member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DepositOverrideMayNotBeCleared,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AmountDueMustBePaidBeforeCheckout member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AmountDueMustBePaidBeforeCheckout,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DiscountMustBeCalculatedBeforeCheckout member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DiscountMustBeCalculatedBeforeCheckout,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TotalsMustBeCalculatedBeforeCheckout member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TotalsMustBeCalculatedBeforeCheckout,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncorrectPaymentAmountSign member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncorrectPaymentAmountSign,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMaximumAmountPerLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMaximumAmountPerLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMinimumAmountPerLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMinimumAmountPerLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMaximumAmountPerTransaction member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMaximumAmountPerTransaction,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMinimumAmountPerTransaction member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentExceedsMinimumAmountPerTransaction,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChangebackIsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChangebackIsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OvertenderAmountExceedsMaximumAllowedValue member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OvertenderAmountExceedsMaximumAllowedValue,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_BalanceAmountExceedsMaximumAllowedValue member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_BalanceAmountExceedsMaximumAllowedValue,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentMustBeUsedToFinalizeTransaction member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentMustBeUsedToFinalizeTransaction,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindListing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindListing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindEmployeeActivityBreakCategory member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindEmployeeActivityBreakCategory,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToFindVariant member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToFindVariant,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidStoreNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidStoreNumber,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesLineMustHavePickupDeliveryMode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesLineMustHavePickupDeliveryMode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToPickupMoreThanQtyRemaining member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToPickupMoreThanQtyRemaining,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidDeliveryCharge member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidDeliveryCharge,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CurrencyConversionFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CurrencyConversionFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CurrencyChannelOrderMismatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CurrencyChannelOrderMismatch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CurrencyNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CurrencyNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCancellationCharge member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCancellationCharge,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChargeNotConfiguredOnHeadquarters member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChargeNotConfiguredOnHeadquarters,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShippingChargeRefundCannotBePositive member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShippingChargeRefundCannotBePositive,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShippingChargeRefundIsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShippingChargeRefundIsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesGroupItemGroupIntersectionInvalid member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesGroupItemGroupIntersectionInvalid,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotApplyHeaderChargesWhenShippingRefundAppliedOnCartLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotApplyHeaderChargesWhenShippingRefundAppliedOnCartLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotApplyRefundChargeOnProductForSale member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotApplyRefundChargeOnProductForSale,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PickupModeOfDeliveryNotConfiguredOnHeadquarters member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PickupModeOfDeliveryNotConfiguredOnHeadquarters,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SerialNumberMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SerialNumberMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SerialNumberCannotBeChanged member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SerialNumberCannotBeChanged,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SerialNumberMissingInCustomerOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SerialNumberMissingInCustomerOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SerializedQuantityGreaterThanOne member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SerializedQuantityGreaterThanOne,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleCreditCardPaymentNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleCreditCardPaymentNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCardExpirationDate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCardExpirationDate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PurchaseTransferOrderMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PurchaseTransferOrderMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotAllLinesSaved member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotAllLinesSaved,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PurchaseTransferOrderRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PurchaseTransferOrderRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesMustHaveQuantityGreaterThanZero member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesMustHaveQuantityGreaterThanZero,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReturnsMustHaveQuantityLesserThanZero member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReturnsMustHaveQuantityLesserThanZero,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotReturnMoreThanPurchased member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotReturnMoreThanPurchased,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotReturnMoreThanInvoicedMinusReturned member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotReturnMoreThanInvoicedMinusReturned,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotReturnMultipleTransactions member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotReturnMultipleTransactions,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PropertyUpdateNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PropertyUpdateNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardDiscountNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardDiscountNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LoadingActiveCartFromAnotherTerminalNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LoadingActiveCartFromAnotherTerminalNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShiftAlreadyOpenOnDifferentTerminal member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShiftAlreadyOpenOnDifferentTerminal,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TerminalHasAnOpenShift member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TerminalHasAnOpenShift,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CashDrawerHasAnOpenShift member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CashDrawerHasAnOpenShift,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShiftStartingAmountNotEntered member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShiftStartingAmountNotEntered,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShiftTenderDeclarationAmountNotEntered member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShiftTenderDeclarationAmountNotEntered,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShiftHasUnreconciledLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShiftHasUnreconciledLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReconciliationLineStatusMustBePending member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReconciliationLineStatusMustBePending,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReceiptTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReceiptTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReceiptTypeNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReceiptTypeNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MoreThanOneTenderTypeForTenderTypeId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MoreThanOneTenderTypeForTenderTypeId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TimeClockNotEnabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TimeClockNotEnabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ViewTimeClockNotEnabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ViewTimeClockNotEnabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoMoreThanOneOperationWithAGiftCard member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoMoreThanOneOperationWithAGiftCard,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardUnlockFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardUnlockFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardLineVoidReversalNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardLineVoidReversalNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesInvoiceLineVoidReversalNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesInvoiceLineVoidReversalNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotSuspendCartWithActiveTenderLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotSuspendCartWithActiveTenderLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotSuspendCartWithActiveGiftCardSalesLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotSuspendCartWithActiveGiftCardSalesLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotUpdateUnitOfMeasureOnPriceOverriddenLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotUpdateUnitOfMeasureOnPriceOverriddenLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SettleInvoiceFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SettleInvoiceFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TerminalNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TerminalNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidQuantity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidQuantity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemQuantityExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemQuantityExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoPriceOverrideForReturns member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoPriceOverrideForReturns,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoPriceOverrideForGiftCards member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoPriceOverrideForGiftCards,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoPriceOverrideForInvoiceLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoPriceOverrideForInvoiceLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotAddNonProductItemToCustomerOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotAddNonProductItemToCustomerOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReturnItemPriceExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReturnItemPriceExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReturnTransactionTotalExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReturnTransactionTotalExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShiftNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShiftNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShiftValidationError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShiftValidationError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CredentialIdentifierAlreadyInUse member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CredentialIdentifierAlreadyInUse,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CreditVoucherNull member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CreditVoucherNull,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CartNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CartNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositMultipleCartLinesNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositMultipleCartLinesNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountNumberIsNotSet member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountNumberIsNotSet,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotPayForCustomerAccountDepositWithCustomerAccountPaymentMethod member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotPayForCustomerAccountDepositWithCustomerAccountPaymentMethod,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositCannotBeNegative member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositCannotBeNegative,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositCannotBeVoided member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositCannotBeVoided,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OfflineDatabaseChunkFileNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OfflineDatabaseChunkFileNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChannelIsNotPublished member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChannelIsNotPublished,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidOperation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidOperation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MaxCountingDifferenceExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MaxCountingDifferenceExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_EmployeeNotAllowedManageSharedShift member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_EmployeeNotAllowedManageSharedShift,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidBagNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidBagNumber,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoPrintersReturned member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoPrintersReturned,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_EnteringPriceNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_EnteringPriceNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MustKeyInEqualHigherPrice member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MustKeyInEqualHigherPrice,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MustKeyInEqualLowerPrice member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MustKeyInEqualLowerPrice,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MustKeyInNewPrice member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MustKeyInNewPrice,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConflictingClaimsPresentOnUserContext member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConflictingClaimsPresentOnUserContext,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCartSalesLineAdd member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCartSalesLineAdd,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCartSalesLineUpdate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCartSalesLineUpdate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCartState member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCartState,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidProduct member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidProduct,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConflictingCartLineOperation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConflictingCartLineOperation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCartLinesAggregateError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCartLinesAggregateError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCartInventoryLocationId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCartInventoryLocationId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCartVersion member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCartVersion,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateOfReadOnlyCart member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateOfReadOnlyCart,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerOrDirectoryPartyNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerOrDirectoryPartyNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotUpdateCustomerAndLoyaltyCardAtTheSameTime member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotUpdateCustomerAndLoyaltyCardAtTheSameTime,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ConflictLoyaltyCardCustomerAndTransactionCustomer member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ConflictLoyaltyCardCustomerAndTransactionCustomer,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCashBackAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCashBackAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToRetrieveCardPaymentAcceptResult member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToRetrieveCardPaymentAcceptResult,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PreValidationForAsyncAddressFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PreValidationForAsyncAddressFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ZeroPriceIsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ZeroPriceIsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OperationNotAllowedOnLinkedProduct member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OperationNotAllowedOnLinkedProduct,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountMismatchBetweenTransactionAndDepositLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountMismatchBetweenTransactionAndDepositLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositLineDoesNotAllowSettingTransactionStatus member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositLineDoesNotAllowSettingTransactionStatus,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositLinesNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountDepositLinesNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReturnLineNumberNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReturnLineNumberNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerNameExceedsMaximumLength member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerNameExceedsMaximumLength,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerPhoneNumberExceedsMaximumLength member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerPhoneNumberExceedsMaximumLength,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerEmailExceedsMaximumLength member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerEmailExceedsMaximumLength,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidShiftStatusChange member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidShiftStatusChange,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AmountExceedsMaximumAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AmountExceedsMaximumAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PrintXZReportNotConfigured member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PrintXZReportNotConfigured,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ColumnsNameBadFormat member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ColumnsNameBadFormat,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SelectedValuesDidNotMatchExactlyOneProduct member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SelectedValuesDidNotMatchExactlyOneProduct,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DiscountNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DiscountNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_FailedToRecallTransaction member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_FailedToRecallTransaction,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultiplePrimaryAddresses member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultiplePrimaryAddresses,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SortingColumnsNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SortingColumnsNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WorkerDoesNotHaveAllowSaleOutsideAssortmentPermission member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WorkerDoesNotHaveAllowSaleOutsideAssortmentPermission,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidOrderInvoiceData member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidOrderInvoiceData,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoSalesInvoiceReturned member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoSalesInvoiceReturned,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardLineNotAllowedWithInvoiceLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardLineNotAllowedWithInvoiceLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedInCustomerOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedInCustomerOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerOrderNotAllowedToContainInvoiceLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerOrderNotAllowedToContainInvoiceLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesLineNotAllowedDuringInvoicePayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesLineNotAllowedDuringInvoicePayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedWithItemLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedWithItemLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ItemLinesNotAllowedWithInvoiceLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ItemLinesNotAllowedWithInvoiceLine,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleInvoiceLinesNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleInvoiceLinesNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountRemovalNotAllowedForInvoiceSales member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountRemovalNotAllowedForInvoiceSales,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedInCartWithoutCustomerAccount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedInCartWithoutCustomerAccount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedInCartWithDifferentCustomerAccount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvoiceLineNotAllowedInCartWithDifferentCustomerAccount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvoiceDiscountNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvoiceDiscountNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidAttributeValue member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidAttributeValue,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeValueOutOfBounds member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeValueOutOfBounds,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeValueCannotBeNull member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeValueCannotBeNull,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeTypeMismatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeTypeMismatch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeDefinitionNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeDefinitionNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeValidationFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeValidationFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MixingSalesAndReturnsProhibited member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MixingSalesAndReturnsProhibited,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCouponCode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCouponCode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CouponRequiresCustomerOnCart member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CouponRequiresCustomerOnCart,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExclusiveCouponCannotBeAppliedWithOtherCoupons member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExclusiveCouponCannotBeAppliedWithOtherCoupons,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CouponExceedsDefinedUsageLimits member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CouponExceedsDefinedUsageLimits,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserCannotAcceptFulfillmentLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserCannotAcceptFulfillmentLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserCannotRejectFulfillmentLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserCannotRejectFulfillmentLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RestrictPrintingReceiptCopy_AlreadyRegistered member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RestrictPrintingReceiptCopy_AlreadyRegistered,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RestrictPrintingReceiptCopy_HQisNotAvailable member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RestrictPrintingReceiptCopy_HQisNotAvailable,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RestrictPrintingReceiptCopy member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RestrictPrintingReceiptCopy,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RemoveAddPaymentMethodConfigurationNotDefined member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RemoveAddPaymentMethodConfigurationNotDefined,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OverrideDepostAmountShouldBeLargerThanCarriedOutAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OverrideDepostAmountShouldBeLargerThanCarriedOutAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MixingItemIdsAndProductIdsProhibited member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MixingItemIdsAndProductIdsProhibited,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PackingLinesFromDifferentOrdersNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PackingLinesFromDifferentOrdersNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidFulfillmentLineKey member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidFulfillmentLineKey,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Missing_LocationId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Missing_LocationId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Missing_ShipDate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Missing_ShipDate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Missing_ReceiveDate member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Missing_ReceiveDate,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidOrderType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidOrderType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShippingSerializedProductsNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShippingSerializedProductsNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ShippingMultipleOrdersNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ShippingMultipleOrdersNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToOpenShift member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToOpenShift,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CartAlreadyCheckedOut member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CartAlreadyCheckedOut,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CashDrawerLimitExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CashDrawerLimitExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_InvalidShift member.\r\n */\r\n Microsoft_Dynamics_Commerce_InvalidShift,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SuspendedTransactionNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SuspendedTransactionNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CartContainsProductsForReturnOnly member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CartContainsProductsForReturnOnly,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerBlockedForLoyaltyEnrollment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerBlockedForLoyaltyEnrollment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InactiveCouponCode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InactiveCouponCode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExpiredCouponCode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExpiredCouponCode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotStartedCouponCode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotStartedCouponCode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExceededUsageLimitCouponCode member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExceededUsageLimitCouponCode,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidResumeCartRequest member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidResumeCartRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChargeCodeNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChargeCodeNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentException_ReturnWithoutReceiptPayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentException_ReturnWithoutReceiptPayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AddressLengthExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AddressLengthExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CountyLengthExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CountyLengthExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_StreetLengthExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_StreetLengthExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidLinkedPayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidLinkedPayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttributeMustBeUnique member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttributeMustBeUnique,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotesLengthExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotesLengthExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToLocateTenderTypeWithGivenId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToLocateTenderTypeWithGivenId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TenderTypeDoesNotSupportGiftCardOperations member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TenderTypeDoesNotSupportGiftCardOperations,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ExtensibleTransactionTypeNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ExtensibleTransactionTypeNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidLastModifiedDateTimeFromValue member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidLastModifiedDateTimeFromValue,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MissingRequiredCartTenderLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MissingRequiredCartTenderLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidRefinerRecordIdForCustomerSearchKeywordRefiner member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidRefinerRecordIdForCustomerSearchKeywordRefiner,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidCustomerOrderModeForCheckout member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidCustomerOrderModeForCheckout,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidCartTypeForCheckout member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidCartTypeForCheckout,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MissingSequentialSignature member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MissingSequentialSignature,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MissingRecordIdForStorePickUpAddress member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MissingRecordIdForStorePickUpAddress,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidChecklistTasksUpdateRequest member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidChecklistTasksUpdateRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChecklistTasksCreateNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChecklistTasksCreateNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidTransferOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidTransferOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidTransferOrderLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidTransferOrderLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DefaultLocationNotFoundForWarehouse member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DefaultLocationNotFoundForWarehouse,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ApplyMaxQuantitiesNotSupportedForOperationType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ApplyMaxQuantitiesNotSupportedForOperationType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransactionServiceDeserializationError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransactionServiceDeserializationError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotValidStatus member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotValidStatus,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentUpdateLinesCriteriaNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentUpdateLinesCriteriaNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventorySourceDocumentLineMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventorySourceDocumentLineMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateInventoryDocumentStatusUnsupportedTransition member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateInventoryDocumentStatusUnsupportedTransition,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AddingLinesToOrderIsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AddingLinesToOrderIsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverreceivingToTransferOrderIsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverreceivingToTransferOrderIsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverdeliveringToTransferOrderIsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverdeliveringToTransferOrderIsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverreceivingNotEnabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverreceivingNotEnabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOvershippingNotEnabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOvershippingNotEnabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverReceivedExceedsThreshold member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverReceivedExceedsThreshold,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverShippedExceedsThreshold member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOverShippedExceedsThreshold,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOperationCommitFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentOperationCommitFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentReceiptIdNotValid member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentReceiptIdNotValid,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentReceiptIdNotSupportedForGivenDocumentType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentReceiptIdNotSupportedForGivenDocumentType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentLockedByOtherTerminal member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentLockedByOtherTerminal,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentVersionNull member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentVersionNull,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotValidVersion member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotValidVersion,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotEnoughApplicableLinesForUpdateLinesByProduct member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotEnoughApplicableLinesForUpdateLinesByProduct,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentExceedMaximumQuantity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentExceedMaximumQuantity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentLineProductIdMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentLineProductIdMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_StoreOrgUnitNameMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_StoreOrgUnitNameMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_BadRequest member.\r\n */\r\n Microsoft_Dynamics_RetailServer_BadRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidItemTaxGroup member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidItemTaxGroup,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MixingGiftCardsAndDepositLinesNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MixingGiftCardsAndDepositLinesNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentRowVersionMismatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentRowVersionMismatch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AssociatedWarrantableIsVoided member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AssociatedWarrantableIsVoided,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidWarrantyLineQuantity member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidWarrantyLineQuantity,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DuplicatedWarranty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DuplicatedWarranty,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesOrderNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesOrderNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SalesOrderVoided member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SalesOrderVoided,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyAlreadyAdded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyAlreadyAdded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyAlreadyBought member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyAlreadyBought,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyNotApplicableByPrice member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyNotApplicableByPrice,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidWarranty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidWarranty,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyOperationalLineNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyOperationalLineNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyForReturnedItemNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyForReturnedItemNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IsNotWarranty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IsNotWarranty,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotChangeWarrantableProductWhenItAssociatesWarranty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotChangeWarrantableProductWhenItAssociatesWarranty,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyNotEmptyForReturn member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyNotEmptyForReturn,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotSpecifyBothWarrantableLineNumberAndWarrantiedId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotSpecifyBothWarrantableLineNumberAndWarrantiedId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CannotHaveMultipleWarrantablesOrWarrantiesWithSameWarrantiedId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CannotHaveMultipleWarrantablesOrWarrantiesWithSameWarrantiedId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OnlySerializedProductCanHaveWarranty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OnlySerializedProductCanHaveWarranty,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CrossCustomerWarrantyNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CrossCustomerWarrantyNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CrossCustomerWarrantyReturnNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CrossCustomerWarrantyReturnNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerChangeNotAllowedWithWarrantyLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerChangeNotAllowedWithWarrantyLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerChangeNotAllowedWithWarrantyReturn member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerChangeNotAllowedWithWarrantyReturn,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CartTypeChangeNotAllowedWhenWarrantableInDifferentOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CartTypeChangeNotAllowedWhenWarrantableInDifferentOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyInconsistentCartType member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyInconsistentCartType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyRelationCombiningCashAndCarryAndCustomerOrderNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyRelationCombiningCashAndCarryAndCustomerOrderNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentViolatesReturnPolicy member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentViolatesReturnPolicy,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CardTypeNotValid member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CardTypeNotValid,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationFormatNotValid member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationFormatNotValid,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationInvalidCategorySetup member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationInvalidCategorySetup,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationIsPrimaryAddressRestricted member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationIsPrimaryAddressRestricted,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationNumberMustBeUnique member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaxRegistrationNumberMustBeUnique,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ElectronicAddressTypeNotValid member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ElectronicAddressTypeNotValid,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RecipientAddressCountExceededMaximumAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RecipientAddressCountExceededMaximumAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SearchingWarehouseLocationsInMultipleWarehousesNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SearchingWarehouseLocationsInMultipleWarehousesNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SearchingWarehouseLocationsWithoutWarehouseNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SearchingWarehouseLocationsWithoutWarehouseNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryNoAvailableReceiveQtyTransferOrder member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryNoAvailableReceiveQtyTransferOrder,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberNotMatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberNotMatch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberLinesFulfilled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberLinesFulfilled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberDuplicated member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberDuplicated,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotBlankSerialNumberRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotBlankSerialNumberRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberLineNonIntegerQuantityEntered member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentSerialNumberLineNonIntegerQuantityEntered,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotAllowToUpdatePostedSerialNumbers member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotAllowToUpdatePostedSerialNumbers,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultiplePrimaryCustomerContactsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultiplePrimaryCustomerContactsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotSupportedHeadquarterVersion member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentNotSupportedHeadquarterVersion,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransferOrderUnderDeliveryNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransferOrderUnderDeliveryNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransferOrderLineNotAllowToClose member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransferOrderLineNotAllowToClose,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransferOrderUnderDeliveryBelowTolerance member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentTransferOrderUnderDeliveryBelowTolerance,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentValidationResultCategoryMustBeSpecified member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentValidationResultCategoryMustBeSpecified,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentValidationResultCategoryCanOnlyBeSpecifiedOnce member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentValidationResultCategoryCanOnlyBeSpecifiedOnce,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentDoesNotExist member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentDoesNotExist,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentPurchaseOrderChangeRequestRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentPurchaseOrderChangeRequestRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentPurchaseOrderChangeRequestRequirementUnknown member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentPurchaseOrderChangeRequestRequirementUnknown,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentLineMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryDocumentLineMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventorySerialNumberNotAvailable member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventorySerialNumberNotAvailable,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidEntityProperty member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidEntityProperty\r\n }\r\n \r\n /**\r\n * FeatureNotSupportedErrors enum type.\r\n */\r\n export enum FeatureNotSupportedErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequestTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequestTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequestParametersNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequestParametersNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequestParameterValueNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequestParameterValueNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChangeTenderTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChangeTenderTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DemoModeOperationNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DemoModeOperationNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RealtimeServiceNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RealtimeServiceNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReceiptTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReceiptTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OnlineChannelRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OnlineChannelRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CouponsNotSupportedOnSalesQuotations member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CouponsNotSupportedOnSalesQuotations,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_FeatureNotSupportedInHeadquarters member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_FeatureNotSupportedInHeadquarters,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdatingCouponsNotSupportedOnPickup member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdatingCouponsNotSupportedOnPickup,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateAsyncCustomerNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateAsyncCustomerNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardPaymentNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardPaymentNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardOperationNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardOperationNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CurrentVersionSupportsOnlyOneInvoicePayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CurrentVersionSupportsOnlyOneInvoicePayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleCategoryIdsNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleCategoryIdsNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CrossStoreProductSearchNotSupportedInOnlineChannel member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CrossStoreProductSearchNotSupportedInOnlineChannel,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CrossStoreGetActivePriceNotSupportedInOnlineChannel member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CrossStoreGetActivePriceNotSupportedInOnlineChannel,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateClientBookNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateClientBookNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequestCustomerTimelineItemsNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequestCustomerTimelineItemsNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RequestCustomerTimelineItemTypesNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RequestCustomerTimelineItemTypesNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CreateCustomerTimelineItemNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CreateCustomerTimelineItemNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateCustomerTimelineItemNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateCustomerTimelineItemNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_SearchByIdsNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_SearchByIdsNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DocumentOperationNotSupportedInHeadquarters member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DocumentOperationNotSupportedInHeadquarters,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaskManagementNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaskManagementNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryInboundOutboundDocumentsWithoutASourceDocumentNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryInboundOutboundDocumentsWithoutASourceDocumentNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_WarrantyForCustomerOrderNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_WarrantyForCustomerOrderNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OptimizedProductAvailabilityJobNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OptimizedProductAvailabilityJobNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryInboundOutboundDocumentsValidationNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryInboundOutboundDocumentsValidationNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InventoryAddingItemToPurchaseOrderNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InventoryAddingItemToPurchaseOrderNotSupported\r\n }\r\n \r\n /**\r\n * SecurityErrors enum type.\r\n */\r\n export enum SecurityErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AuthenticationFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AuthenticationFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AuthorizationFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AuthorizationFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AuthenticationMethodDisabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AuthenticationMethodDisabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CommerceIdentityNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CommerceIdentityNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_EmployeePermissionContextNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_EmployeePermissionContextNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserNotActivated member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserNotActivated,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PrincipalMissing member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PrincipalMissing,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PasswordRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PasswordRequired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChangePasswordFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChangePasswordFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidPassword member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidPassword,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IdentityProviderNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IdentityProviderNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidAuthenticationCredentials member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidAuthenticationCredentials,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdatePasswordFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdatePasswordFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ResetPasswordFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ResetPasswordFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NonDrawerOperationsOnly member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NonDrawerOperationsOnly,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UseExistingShiftPermissionDenied member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UseExistingShiftPermissionDenied,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CreateTransferOrderNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CreateTransferOrderNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserCannotMassActivation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserCannotMassActivation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_OpenMultipleShiftsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OpenMultipleShiftsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserSessionNotOpened member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserSessionNotOpened,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HeadquarterTransactionServiceMethodCallFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HeadquarterTransactionServiceMethodCallFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HeadquarterCommunicationFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HeadquarterCommunicationFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeviceTokenExpired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeviceTokenExpired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeviceTokenNotPresent member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeviceTokenNotPresent,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidChannel member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidChannel,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ElevatedUserSameAsLoggedOnUser member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ElevatedUserSameAsLoggedOnUser,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GrantTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GrantTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeviceDeactivationFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeviceDeactivationFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_HardwareStationTokenCreationFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_HardwareStationTokenCreationFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidHardwareStationToken member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidHardwareStationToken,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserLogonAnotherTerminal member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserLogonAnotherTerminal,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnlockRegisterFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnlockRegisterFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ChannelDatabaseConnectionFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ChannelDatabaseConnectionFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidUserToken member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidUserToken,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountAuthorizationFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountAuthorizationFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LocalLogonFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LocalLogonFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LocalDeviceAuthenticationFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LocalDeviceAuthenticationFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeviceTokenValidationFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeviceTokenValidationFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoDeviceManagementPermission member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoDeviceManagementPermission,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_IncorrectLogonTypeUserAccountOrPassword member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_IncorrectLogonTypeUserAccountOrPassword,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidAudience member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidAudience,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidIssuer member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidIssuer,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TenantIdNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TenantIdNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AADTokenIssuedForDifferentEnvironment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AADTokenIssuedForDifferentEnvironment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidAADTenantId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidAADTenantId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserBlockedDueToTooManyFailedLogonAttempts member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserBlockedDueToTooManyFailedLogonAttempts,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UserPasswordExpired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UserPasswordExpired,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CheckOutNotOverHTTPS member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CheckOutNotOverHTTPS,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_AttemptToActivateFromDifferentPhysicalDevice member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_AttemptToActivateFromDifferentPhysicalDevice,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InternalServerError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InternalServerError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeviceActivationNotAllowedWithUserTokenIssuer member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeviceActivationNotAllowedWithUserTokenIssuer,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PasswordComplexityRequirementsNotMet member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PasswordComplexityRequirementsNotMet,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PasswordHistoryRequirementsNotMet member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PasswordHistoryRequirementsNotMet,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReturnItemPriceExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReturnItemPriceExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ReturnTransactionTotalExceeded member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ReturnTransactionTotalExceeded,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CredentialsNotConfigured member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CredentialsNotConfigured,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PolicyBypassNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PolicyBypassNotAllowed\r\n }\r\n \r\n /**\r\n * StorageErrors enum type.\r\n */\r\n export enum StorageErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CriticalStorageError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CriticalStorageError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnexpectedNumberOfRowsError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnexpectedNumberOfRowsError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ObjectVersionMismatchError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ObjectVersionMismatchError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_StorageRequestTimeout member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_StorageRequestTimeout,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateOfReadOnlyRowError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateOfReadOnlyRowError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TransientStorageError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TransientStorageError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ValueTooLong member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ValueTooLong\r\n }\r\n \r\n /**\r\n * VersionNotSupportedErrors enum type.\r\n */\r\n export enum VersionNotSupportedErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RetailServerApiVersionNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RetailServerApiVersionNotSupported\r\n }\r\n \r\n /**\r\n * PaymentErrors enum type.\r\n */\r\n export enum PaymentErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToCapturePayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToCapturePayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToAuthorizePayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToAuthorizePayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToRefundPayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToRefundPayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToCancelPayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToCancelPayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToGetCardPaymentAcceptPoint member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToGetCardPaymentAcceptPoint,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToRetrieveCardPaymentAcceptResult member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToRetrieveCardPaymentAcceptResult,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidCashBackAmount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidCashBackAmount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ManualCardNumberNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ManualCardNumberNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TenderLineCannotBeVoided member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TenderLineCannotBeVoided,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidPaymentRequest member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidPaymentRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentAlreadyVoided member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentAlreadyVoided,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidLoyaltyCardNumber member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidLoyaltyCardNumber,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardCurrencyMismatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardCurrencyMismatch,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GiftCardBalanceInquiryFailed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GiftCardBalanceInquiryFailed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoResponseFromGatewayForGiftCardBalanceInquiry member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoResponseFromGatewayForGiftCardBalanceInquiry,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentAmountExceedsGiftBalance member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentAmountExceedsGiftBalance,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_BlockedLoyaltyCard member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_BlockedLoyaltyCard,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoTenderLoyaltyCard member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoTenderLoyaltyCard,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotEnoughRewardPoints member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotEnoughRewardPoints,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_RefundAmountMoreThanAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_RefundAmountMoreThanAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NoMoreThanOneLoyaltyTender member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NoMoreThanOneLoyaltyTender,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentUsingUnauthorizedAccount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentUsingUnauthorizedAccount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentIsNotAllowedForCustomerOrderDepositAndCancellation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentIsNotAllowedForCustomerOrderDepositAndCancellation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentRequiresMerchantProperties member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentRequiresMerchantProperties,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsTotalAmountForCarryOutItems member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsTotalAmountForCarryOutItems,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsTotalAmountForCarryOutAndReturnItems member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsTotalAmountForCarryOutAndReturnItems,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountLimitSignDifferentFromAmountDue member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountLimitSignDifferentFromAmountDue,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountLimitSignDifferentFromTotalCustomerAccountPayment member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountLimitSignDifferentFromTotalCustomerAccountPayment,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsCustomerAccountFloorLimit member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsCustomerAccountFloorLimit,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToAuthorizePaymentCardTypeMissingOrNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToAuthorizePaymentCardTypeMissingOrNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_FraudRisk member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_FraudRisk,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TokenizedPaymentCardNotExpected member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TokenizedPaymentCardNotExpected,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountPaymentsNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultipleCustomerAccountPaymentsNotAllowed,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentForCustomerWithoutAllowOnAccount member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentForCustomerWithoutAllowOnAccount,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentNotAllowedForOpenInvoices member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentNotAllowedForOpenInvoices,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToAuthorizePaymentCardAdditionalContextRequired member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToAuthorizePaymentCardAdditionalContextRequired\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceErrors enum type.\r\n */\r\n export enum FiscalIntegrationServiceErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidProfilesConfiguration member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidProfilesConfiguration,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_FiscalService_NotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_FiscalService_NotFound\r\n }\r\n \r\n /**\r\n * CommerceDataExchangeErrors enum type.\r\n */\r\n export enum CommerceDataExchangeErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CdxDataPackageApplicationFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CdxDataPackageApplicationFailure,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CdxSyncLibraryHealthCheckFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CdxSyncLibraryHealthCheckFailure\r\n }\r\n \r\n /**\r\n * TaskManagementErrorCode enum type.\r\n */\r\n export enum TaskManagementErrorCode {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CreateTaskFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CreateTaskFailure = 1,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GetTaskFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GetTaskFailure = 2,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UpdateTaskFailure member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UpdateTaskFailure = 3,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphCallTimeOut member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphCallTimeOut = 4,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceUnauthorized member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceUnauthorized = 5,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceNotFound = 6,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceConflict member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceConflict = 7,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceVersionMismatch member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceVersionMismatch = 8,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceGeneralError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceGeneralError = 9,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumActiveTasksInProject member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumActiveTasksInProject = 10,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumAssigneesInTasks member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumAssigneesInTasks = 11,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumTasksAssignedToUser member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumTasksAssignedToUser = 12,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumTasksCreatedByUser member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumTasksCreatedByUser = 13,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumTasksInProject member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumTasksInProject = 14,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumBucketsInProject member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumBucketsInProject = 15,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumChecklistItemsOnTask member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumChecklistItemsOnTask = 16,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumPlannerPlans member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumPlannerPlans = 17,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumProjectsOwnedByUser member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumProjectsOwnedByUser = 18,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumProjectsSharedWithUser member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumProjectsSharedWithUser = 19,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumReferencesOnTask member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumReferencesOnTask = 20,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumUsersSharedWithProject member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_MaximumUsersSharedWithProject = 21,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_General member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphService_Forbidden_General = 22,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceNotValidData member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceNotValidData = 23,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceInternalServerError member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceInternalServerError = 24,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_GraphServiceUnavailable member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_GraphServiceUnavailable = 25,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaskService_FailedToGetPlanId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaskService_FailedToGetPlanId = 26,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaskService_FailedToFindExternalSubId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaskService_FailedToFindExternalSubId = 27,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TaskService_EmptyGraphToken member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TaskService_EmptyGraphToken = 28\r\n }\r\n \r\n /**\r\n * PaymentConfigurationErrors enum type.\r\n */\r\n export enum PaymentConfigurationErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentConnectorNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentConnectorNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_LoyaltyCardPaymentNotConfigured member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_LoyaltyCardPaymentNotConfigured,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidCardTypeInformation member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidCardTypeInformation,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidPaymentRequest member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidPaymentRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_InvalidDataInTokenizedCard member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidDataInTokenizedCard,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PaymentConnectorFilesNotFoundWhileLoadingAssemblies member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PaymentConnectorFilesNotFoundWhileLoadingAssemblies\r\n }\r\n \r\n /**\r\n * BusinessPartnerOperationDeliveryType enum type.\r\n */\r\n export enum BusinessPartnerOperationDeliveryType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Email member.\r\n */\r\n Email = 1\r\n }\r\n \r\n /**\r\n * OnlineStoreCustomerType enum type.\r\n */\r\n export enum OnlineStoreCustomerType {\r\n \r\n /**\r\n * The B2C member.\r\n */\r\n B2C = 0,\r\n \r\n /**\r\n * The B2B member.\r\n */\r\n B2B = 1\r\n }\r\n \r\n /**\r\n * WrongEndpointErrors enum type.\r\n */\r\n export enum WrongEndpointErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_WrongEndpoint member.\r\n */\r\n Microsoft_Dynamics_Commerce_WrongEndpoint\r\n }\r\n \r\n /**\r\n * RetailServerApiErrors enum type.\r\n */\r\n export enum RetailServerApiErrors {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Internal_Server_Error member.\r\n */\r\n Microsoft_Dynamics_Internal_Server_Error,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_BadRequest member.\r\n */\r\n Microsoft_Dynamics_RetailServer_BadRequest,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_RequestTooLarge member.\r\n */\r\n Microsoft_Dynamics_RetailServer_RequestTooLarge,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_ODataModelError member.\r\n */\r\n Microsoft_Dynamics_RetailServer_ODataModelError,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_MissingRequiredArgument member.\r\n */\r\n Microsoft_Dynamics_RetailServer_MissingRequiredArgument,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_InvalidArgumentType member.\r\n */\r\n Microsoft_Dynamics_RetailServer_InvalidArgumentType,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_ParameterHasNullValue member.\r\n */\r\n Microsoft_Dynamics_RetailServer_ParameterHasNullValue\r\n }\r\n \r\n /**\r\n * ExceptionSeverity enum type.\r\n */\r\n export enum ExceptionSeverity {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Error member.\r\n */\r\n Error = 1,\r\n \r\n /**\r\n * The Warning member.\r\n */\r\n Warning = 2,\r\n \r\n /**\r\n * The Critical member.\r\n */\r\n Critical = 3,\r\n \r\n /**\r\n * The Informational member.\r\n */\r\n Informational = 4\r\n }\r\n \r\n /**\r\n * Category entity interface.\r\n */\r\n export interface Category {\r\n RecordId: number;\r\n OfflineImage?: string;\r\n Name?: string;\r\n ParentCategory?: number;\r\n DisplayOrder?: number;\r\n Images?: MediaLocation[];\r\n NameTranslations?: TextValueTranslation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Cart entity interface.\r\n */\r\n export interface Cart {\r\n AffiliationLines?: AffiliationLoyaltyTier[];\r\n IsRequiredAmountPaid?: boolean;\r\n IsDiscountFullyCalculated?: boolean;\r\n IgnoreDiscountCalculation?: boolean;\r\n AmountDue?: number;\r\n AmountPaid?: number;\r\n AttributeValues?: AttributeValueBase[];\r\n BeginDateTime?: Date;\r\n BusinessDate?: Date;\r\n CancellationChargeAmount?: number;\r\n EstimatedShippingAmount?: number;\r\n CartLines?: CartLine[];\r\n CartTypeValue?: number;\r\n ChannelId?: number;\r\n ChargeAmount?: number;\r\n CustomerOrderRemainingBalance?: number;\r\n ChargeLines?: ChargeLine[];\r\n TaxViewLines?: TaxViewLine[];\r\n Comment?: string;\r\n InvoiceComment?: string;\r\n Coupons?: Coupon[];\r\n CustomerId?: string;\r\n CustomerOrderModeValue?: number;\r\n DeliveryMode?: string;\r\n DeliveryModeChargeAmount?: number;\r\n DiscountAmount?: number;\r\n DiscountAmountWithoutTax?: number;\r\n DiscountCodes?: string[];\r\n Id: string;\r\n SuspendedCartId?: string;\r\n TransactionTypeValue?: number;\r\n CustomerAccountDepositLines?: CustomerAccountDepositLine[];\r\n IncomeExpenseLines?: IncomeExpenseLine[];\r\n IncomeExpenseTotalAmount?: number;\r\n IsReturnByReceipt?: boolean;\r\n ReturnTransactionHasLoyaltyPayment?: boolean;\r\n IsFavorite?: boolean;\r\n IsRecurring?: boolean;\r\n IsSuspended?: boolean;\r\n LoyaltyCardId?: string;\r\n ModifiedDateTime?: Date;\r\n Name?: string;\r\n OrderNumber?: string;\r\n AvailableDepositAmount?: number;\r\n OverriddenDepositAmount?: number;\r\n OverriddenDepositWithoutCarryoutAmount?: number;\r\n PrepaymentAmountPaid?: number;\r\n PrepaymentAppliedOnPickup?: number;\r\n PrepaymentAmountInvoiced?: number;\r\n PromotionLines?: string[];\r\n QuotationExpiryDate?: Date;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ReceiptEmail?: string;\r\n RequestedDeliveryDate?: Date;\r\n RequiredDepositAmount?: number;\r\n RequiredDepositWithoutCarryoutAmount?: number;\r\n SalesId?: string;\r\n ShippingAddress?: Address;\r\n StaffId?: string;\r\n SubtotalAmount?: number;\r\n SubtotalAmountWithoutTax?: number;\r\n NetPrice?: number;\r\n SubtotalSalesAmount?: number;\r\n TaxAmount?: number;\r\n TaxOnCancellationCharge?: number;\r\n TaxOnShippingCharge?: number;\r\n TaxOnNonShippingCharges?: number;\r\n TaxOverrideCode?: string;\r\n TenderLines?: TenderLine[];\r\n RefundableTenderLines?: TenderLine[];\r\n TerminalId?: string;\r\n TotalAmount?: number;\r\n TotalSalesAmount?: number;\r\n TotalReturnAmount?: number;\r\n TotalCarryoutSalesAmount?: number;\r\n TotalCustomerOrderSalesAmount?: number;\r\n TotalManualDiscountAmount?: number;\r\n TotalManualDiscountPercentage?: number;\r\n WarehouseId?: string;\r\n IsCreatedOffline?: boolean;\r\n CartStatusValue?: number;\r\n ReceiptTransactionTypeValue?: number;\r\n CommissionSalesGroup?: string;\r\n Version?: number;\r\n TotalItems?: number;\r\n HasTaxCalculationTriggered?: boolean;\r\n MerchantProperties?: PaymentMerchantInformation[];\r\n HasChargeCalculationTriggered?: boolean;\r\n FiscalTransactions?: FiscalTransaction[];\r\n ShippingChargeAmount?: number;\r\n OtherChargeAmount?: number;\r\n PeriodicDiscountsCalculateScopeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Customer entity interface.\r\n */\r\n export interface Customer {\r\n AccountNumber: string;\r\n RecordId?: number;\r\n CreatedDateTime?: Date;\r\n ChargeGroup?: string;\r\n PriceGroup?: string;\r\n IsCustomerTaxInclusive?: boolean;\r\n Phone?: string;\r\n PhoneRecordId?: number;\r\n PhoneExt?: string;\r\n Cellphone?: string;\r\n Email?: string;\r\n EmailRecordId?: number;\r\n Url?: string;\r\n UrlRecordId?: number;\r\n Name?: string;\r\n PersonNameId?: number;\r\n FirstName?: string;\r\n MiddleName?: string;\r\n LastName?: string;\r\n DirectoryPartyRecordId?: number;\r\n PartyNumber?: string;\r\n CustomerTypeValue?: number;\r\n Language?: string;\r\n CustomerGroup?: string;\r\n CurrencyCode?: string;\r\n CNPJCPFNumber?: string;\r\n IdentificationNumber?: string;\r\n InvoiceAccount?: string;\r\n MandatoryCreditLimit?: boolean;\r\n CreditRating?: string;\r\n CreditLimit?: number;\r\n Balance?: number;\r\n Blocked?: boolean;\r\n BlockedType?: number;\r\n UseOrderNumberReference?: boolean;\r\n OrganizationId?: string;\r\n UsePurchaseRequest?: boolean;\r\n MultilineDiscountGroup?: string;\r\n TotalDiscountGroup?: string;\r\n LineDiscountGroup?: string;\r\n TaxGroup?: string;\r\n SalesTaxGroup?: string;\r\n CommissionSalesGroupId?: string;\r\n TaxExemptNumber?: string;\r\n VatNumber?: string;\r\n TaxOffice?: string;\r\n NonChargeableAccount?: boolean;\r\n Tag?: string;\r\n ReceiptSettings?: number;\r\n ReceiptEmail?: string;\r\n OptOutPersonalization?: boolean;\r\n OptOutWebActivityTracking?: boolean;\r\n RetailCustomerTableRecordId?: number;\r\n OfflineImage?: string;\r\n IsAsyncCustomer?: boolean;\r\n NewCustomerPartyNumber?: string;\r\n CustomerAffiliations?: CustomerAffiliation[];\r\n Addresses?: Address[];\r\n Attributes?: CustomerAttribute[];\r\n Images?: MediaLocation[];\r\n TitleRecordId?: number;\r\n IsFloorLimitBlocked?: boolean;\r\n IsB2b?: boolean;\r\n IsB2bAdmin?: boolean;\r\n BusinessPartnerId?: string;\r\n Contacts?: ContactInfo[];\r\n AllowOnAccountPayment?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Employee entity interface.\r\n */\r\n export interface Employee {\r\n StaffId: string;\r\n NameOnReceipt?: string;\r\n Name?: string;\r\n CultureName?: string;\r\n NumberOfDaysToPasswordExpiry?: number;\r\n Permissions?: EmployeePermissions;\r\n Images?: MediaLocation[];\r\n DefaultImage?: string;\r\n DefaultCommissionSalesGroup?: string;\r\n IdentifierTypeValue?: number;\r\n RecordId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Checklist entity interface.\r\n */\r\n export interface Checklist {\r\n RecordId: number;\r\n Tasks?: ChecklistTask[];\r\n Version?: string;\r\n ProcessId?: string;\r\n Name?: string;\r\n Description?: string;\r\n AssignedToChannelId?: number;\r\n AssignedToWorkerPersonnelNumber?: string;\r\n StatusValue?: number;\r\n StartDateTime?: Date;\r\n EndDateTime?: Date;\r\n TargetDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SalesOrder entity interface.\r\n */\r\n export interface SalesOrder {\r\n DocumentStatusValue?: number;\r\n RecordId?: number;\r\n StatusValue?: number;\r\n McrOrderStopped?: boolean;\r\n Shipments?: Shipment[];\r\n AggregateInventoryQuantities?: InventoryQuantities;\r\n UnifiedDeliveryInformation?: DeliveryInformation;\r\n PaymentStatusValue?: number;\r\n DetailedOrderStatusValue?: number;\r\n AffiliationLoyaltyTierLines?: SalesAffiliationLoyaltyTier[];\r\n IsRequiredAmountPaid?: boolean;\r\n IsDiscountFullyCalculated?: boolean;\r\n IgnoreDiscountCalculation?: boolean;\r\n AmountDue?: number;\r\n EstimatedShippingAmount?: number;\r\n AmountPaid?: number;\r\n CustomerOrderRemainingBalance?: number;\r\n AttributeValues?: AttributeValueBase[];\r\n AvailableDepositAmount?: number;\r\n BeginDateTime?: Date;\r\n CreatedDateTime?: Date;\r\n BusinessDate?: Date;\r\n CalculatedDepositAmount?: number;\r\n CancellationCharge?: number;\r\n ChannelId?: number;\r\n ChannelReferenceId?: string;\r\n ChargeAmount?: number;\r\n ChargeLines?: ChargeLine[];\r\n Comment?: string;\r\n Coupons?: Coupon[];\r\n InvoiceComment?: string;\r\n ContactInformationCollection?: ContactInformation[];\r\n CurrencyCode?: string;\r\n CustomerAccountDepositLines?: CustomerAccountDepositLine[];\r\n CustomerId?: string;\r\n CustomerOrderModeValue?: number;\r\n CustomerOrderTypeValue?: number;\r\n DeliveryMode?: string;\r\n DeliveryModeChargeAmount?: number;\r\n DiscountAmount?: number;\r\n DiscountAmountWithoutTax?: number;\r\n NetPrice?: number;\r\n DiscountCodes?: string[];\r\n EntryStatusValue?: number;\r\n GrossAmount?: number;\r\n HasLoyaltyPayment?: boolean;\r\n Id: string;\r\n InternalTransactionId?: string;\r\n SuspendedTransactionId?: string;\r\n IncomeExpenseLines?: IncomeExpenseLine[];\r\n IncomeExpenseTotalAmount?: number;\r\n InventoryLocationId?: string;\r\n IsCreatedOffline?: boolean;\r\n IsReturnByReceipt?: boolean;\r\n IsSuspended?: boolean;\r\n IsTaxIncludedInPrice?: boolean;\r\n IsTaxExemptedForPriceInclusive?: boolean;\r\n LineDiscount?: number;\r\n LineDiscountCalculationTypeValue?: number;\r\n LoyaltyCardId?: string;\r\n LoyaltyDiscountAmount?: number;\r\n LoyaltyManualDiscountAmount?: number;\r\n LoyaltyRewardPointLines?: LoyaltyRewardPointLine[];\r\n ModifiedDateTime?: Date;\r\n Name?: string;\r\n NetAmount?: number;\r\n NetAmountWithoutTax?: number;\r\n NetAmountWithNoTax?: number;\r\n NetAmountWithTax?: number;\r\n NumberOfItems?: number;\r\n OverriddenDepositAmount?: number;\r\n OverriddenDepositWithoutCarryoutAmount?: number;\r\n PeriodicDiscountAmount?: number;\r\n TenderDiscountAmount?: number;\r\n PrepaymentAmountAppliedOnPickup?: number;\r\n PrepaymentAmountInvoiced?: number;\r\n PrepaymentAmountPaid?: number;\r\n QuotationExpiryDate?: Date;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ReceiptEmail?: string;\r\n ReceiptId?: string;\r\n RequestedDeliveryDate?: Date;\r\n RequiredDepositAmount?: number;\r\n RequiredDepositWithoutCarryoutAmount?: number;\r\n ReturnTransactionHasLoyaltyPayment?: boolean;\r\n SalesId?: string;\r\n SalesPaymentDifference?: number;\r\n SalesLines?: SalesLine[];\r\n ShiftId?: number;\r\n ShiftTerminalId?: string;\r\n ShippingAddress?: Address;\r\n StaffId?: string;\r\n StatementCode?: string;\r\n StoreId?: string;\r\n SubtotalAmount?: number;\r\n SubtotalAmountWithoutTax?: number;\r\n SubtotalSalesAmount?: number;\r\n TaxAmount?: number;\r\n TaxAmountExclusive?: number;\r\n TaxAmountInclusive?: number;\r\n TaxLines?: TaxLine[];\r\n TaxOnCancellationCharge?: number;\r\n TaxOnShippingCharge?: number;\r\n TaxOnNonShippingCharges?: number;\r\n TaxOverrideCode?: string;\r\n TenderLines?: TenderLine[];\r\n RefundableTenderLines?: TenderLine[];\r\n TerminalId?: string;\r\n TotalAmount?: number;\r\n TotalSalesAmount?: number;\r\n TotalReturnAmount?: number;\r\n TotalCarryoutSalesAmount?: number;\r\n TotalCustomerOrderSalesAmount?: number;\r\n TotalDiscount?: number;\r\n TotalManualDiscountAmount?: number;\r\n TotalManualDiscountPercentage?: number;\r\n TransactionTypeValue?: number;\r\n TaxCalculationTypeValue?: number;\r\n SalesInvoiceAmount?: number;\r\n GiftCardActiveFrom?: Date;\r\n GiftCardBalance?: number;\r\n GiftCardExpireDate?: Date;\r\n GiftCardHistoryDetails?: string;\r\n GiftCardIssueAmount?: number;\r\n GiftCardIdMasked?: string;\r\n CommissionSalesGroup?: string;\r\n IsCommissionSalesGroupOverriddenByCustomer?: boolean;\r\n CommissionSalesGroupSetByCashier?: string;\r\n HasTaxCalculationTriggered?: boolean;\r\n HasChargeCalculationTriggered?: boolean;\r\n ShippingChargeAmount?: number;\r\n OtherChargeAmount?: number;\r\n PeriodicDiscountsCalculateScopeValue?: number;\r\n CustomerName?: string;\r\n FiscalTransactions?: FiscalTransaction[];\r\n LanguageId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Shift entity interface.\r\n */\r\n export interface Shift {\r\n ShiftId: number;\r\n TerminalId: string;\r\n StartingAmountTotal: number;\r\n FloatingEntryAmountTotal: number;\r\n AddToTenderAmountTotal: number;\r\n SafeDropTotal: number;\r\n BankDropTotal: number;\r\n RemoveTenderAmountTotal: number;\r\n DeclareTenderAmountTotal: number;\r\n OverShortTotal: number;\r\n TenderedTotal: number;\r\n ChangeTotal: number;\r\n IncomeAccountTotal: number;\r\n ExpenseAccountTotal: number;\r\n CashDrawer?: string;\r\n StoreRecordId?: number;\r\n StoreId?: string;\r\n StaffId?: string;\r\n CurrentStaffId?: string;\r\n StatusValue?: number;\r\n StartDateTime?: Date;\r\n CloseDateTime?: Date;\r\n ClosedAtTerminalId?: string;\r\n ClosedAtShiftId?: number;\r\n CurrentTerminalId?: string;\r\n SalesTotal?: number;\r\n StatusDateTime?: Date;\r\n ReturnsTotal?: number;\r\n PaidToAccountTotal?: number;\r\n TaxTotal?: number;\r\n ChargeTotal?: number;\r\n DiscountTotal?: number;\r\n RoundedAmountTotal?: number;\r\n CustomerCount?: number;\r\n SaleTransactionCount?: number;\r\n NoSaleTransactionCount?: number;\r\n VoidTransactionCount?: number;\r\n LogOnTransactionCount?: number;\r\n SuspendedTransactionCount?: number;\r\n TransactionCount?: number;\r\n ReceiptsCount?: number;\r\n ReturnsCount?: number;\r\n GoodsSoldQty?: number;\r\n ServicesSoldQty?: number;\r\n ReceiptCopiesCount?: number;\r\n ReceiptCopiesTotal?: number;\r\n PriceOverrideTotal?: number;\r\n SuspendedTotal?: number;\r\n SalesTotalIncludingTax?: number;\r\n SalesTotalExcludingTax?: number;\r\n SalesGrandTotal?: number;\r\n ReturnsGrandTotal?: number;\r\n TaxLines?: ShiftTaxLine[];\r\n TenderLines?: ShiftTenderLine[];\r\n AccountLines?: ShiftAccountLine[];\r\n IsShared?: boolean;\r\n StartingAmountRunningTotal?: number;\r\n GiftCardsTotal?: number;\r\n GiftCardCashOutTotal?: number;\r\n VoidedSalesTotal?: number;\r\n ShiftSalesTotal?: number;\r\n ShiftReturnsTotal?: number;\r\n HasPendingOfflineTransactions?: number;\r\n NumberOfUnreconciledLines?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * StockCountJournal entity interface.\r\n */\r\n export interface StockCountJournal {\r\n JournalId: string;\r\n RecordId?: string;\r\n Description?: string;\r\n InventLocationId?: string;\r\n DataAreaId?: string;\r\n StockCountTransactionLines?: StockCountJournalTransaction[];\r\n Worker?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnit entity interface.\r\n */\r\n export interface OrgUnit {\r\n OrgUnitNumber: string;\r\n RecordId: number;\r\n InventoryLocationId?: string;\r\n OMOperatingUnitNumber?: string;\r\n TaxGroup?: string;\r\n FunctionalityProfileId?: string;\r\n UseCustomerBasedTax?: boolean;\r\n UseCustomerBasedTaxExemption?: boolean;\r\n UseDestinationBasedTax?: boolean;\r\n Currency?: string;\r\n TimeZoneCode?: number;\r\n OrgUnitAddress?: Address;\r\n OrgUnitFullAddress?: string;\r\n OrgUnitName?: string;\r\n Latitude?: number;\r\n Longitude?: number;\r\n EmailReceiptProfileId?: string;\r\n ShippingWarehouseAddress?: Address;\r\n TaxRegistrations?: TaxRegistration[];\r\n EventNotificationProfileId?: string;\r\n Name?: string;\r\n DefaultCustomerAccount?: string;\r\n CategoryHierarchyId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Product entity interface.\r\n */\r\n export interface Product {\r\n RecordId: number;\r\n ProductName?: string;\r\n ProductNumber?: string;\r\n Description?: string;\r\n IsMasterProduct: boolean;\r\n IsKit: boolean;\r\n ItemId?: string;\r\n HasLinkedProducts: boolean;\r\n Rules: ProductRules;\r\n DefaultUnitOfMeasure?: string;\r\n Name?: string;\r\n Locale?: string;\r\n OfflineImage?: string;\r\n IsRemote?: boolean;\r\n ChangeTrackingInformation?: ProductChangeTrackingInformation;\r\n Image?: RichMediaLocations;\r\n UnitsOfMeasureSymbol?: string[];\r\n LinkedProducts?: LinkedProduct[];\r\n BasePrice?: number;\r\n Price?: number;\r\n AdjustedPrice?: number;\r\n RetailContext?: ProjectionDomain;\r\n PrimaryCategoryId?: number;\r\n CategoryIds?: number[];\r\n DisplayOrderInCategories?: DisplayOrderInCategory[];\r\n RelatedProducts?: RelatedProduct[];\r\n ProductsRelatedToThis?: RelatedProduct[];\r\n ProductSchema?: string[];\r\n ProductProperties?: ProductPropertyTranslation[];\r\n CompositionInformation?: ProductCompositionInformation;\r\n ParentKits?: KitComponent[];\r\n SearchName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductCatalog entity interface.\r\n */\r\n export interface ProductCatalog {\r\n RecordId: number;\r\n Name?: string;\r\n Description?: string;\r\n Language?: string;\r\n IsSnapshotEnabled: boolean;\r\n ValidFrom: Date;\r\n ValidTo: Date;\r\n CreatedOn: Date;\r\n ModifiedOn: Date;\r\n PublishedOn: Date;\r\n Images?: MediaLocation[];\r\n ChannelId?: number;\r\n DefaultImage?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CommerceList entity interface.\r\n */\r\n export interface CommerceList {\r\n Id: number;\r\n Name?: string;\r\n CustomerId?: string;\r\n CustomerName?: string;\r\n IsFavorite?: boolean;\r\n IsRecurring?: boolean;\r\n IsPrivate?: boolean;\r\n IsCollaborative?: boolean;\r\n CreatedDateTime?: Date;\r\n DueDateTime?: Date;\r\n CommerceListTypeValue?: number;\r\n CommerceListLines?: CommerceListLine[];\r\n CommerceListContributors?: CommerceListContributor[];\r\n CommerceListInvitations?: CommerceListInvitation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductList entity interface.\r\n */\r\n export interface ProductList {\r\n Id: string;\r\n Name?: string;\r\n CustomerId?: string;\r\n CreatedDateTime?: Date;\r\n LastUpdated?: Date;\r\n DeletedDateTime?: Date;\r\n ProductListTypeValue?: number;\r\n DataAreaId?: string;\r\n ProductListLines?: ProductListLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Recommendation entity interface.\r\n */\r\n export interface Recommendation {\r\n Id: string;\r\n RecommendationTypeValue?: number;\r\n Title?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TransferOrder entity interface.\r\n */\r\n export interface TransferOrder {\r\n OrderId: string;\r\n RecordId?: string;\r\n Status?: string;\r\n Lines?: number;\r\n TotalItems?: number;\r\n OrderTypeValue?: number;\r\n InventLocationIdFrom?: string;\r\n InventLocationIdTo?: string;\r\n QuantityShipped?: number;\r\n QuantityReceived?: number;\r\n QuantityShipNow?: number;\r\n QuantityReceiveNow?: number;\r\n QuantityShipRemaining?: number;\r\n QuantityReceiveRemaining?: number;\r\n ShipDate?: Date;\r\n ReceiveDate?: Date;\r\n DeliveryModeId?: string;\r\n OrderLines?: TransferOrderLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PurchaseOrder entity interface.\r\n */\r\n export interface PurchaseOrder {\r\n OrderId: string;\r\n RecordId?: string;\r\n Status?: string;\r\n Lines?: number;\r\n TotalItems?: number;\r\n OrderTypeValue?: number;\r\n TotalReceived?: number;\r\n OrderLines?: PurchaseOrderLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PickingList entity interface.\r\n */\r\n export interface PickingList {\r\n OrderId: string;\r\n RecordId?: string;\r\n Status?: string;\r\n Lines?: number;\r\n TotalItems?: number;\r\n OrderTypeValue?: number;\r\n InventLocationId?: string;\r\n DeliveryDate?: Date;\r\n DeliveryMode?: string;\r\n TotalReceived?: number;\r\n OrderLines?: PickingListLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Warehouse entity interface.\r\n */\r\n export interface Warehouse {\r\n InventLocation: string;\r\n Name?: string;\r\n IsWMSEnabled: boolean;\r\n DefaultInventoryStatus?: string;\r\n DefaultReceiptLocation?: string;\r\n DefaultLocationId?: string;\r\n DefaultIssueLocation?: string;\r\n Address?: Address;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ScanResult entity interface.\r\n */\r\n export interface ScanResult {\r\n ScannedText: string;\r\n MaskTypeValue?: number;\r\n Barcode?: Barcode;\r\n Product?: SimpleProduct;\r\n LoyaltyCard?: LoyaltyCard;\r\n GiftCard?: GiftCard;\r\n ExtensionProperties?: CommerceProperty[];\r\n Customer?: Customer;\r\n }\r\n \r\n /**\r\n * SalesOrderContextualOperationsMap entity interface.\r\n */\r\n export interface SalesOrderContextualOperationsMap {\r\n Id: string;\r\n ApplicableOperationsValues?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n SalesOrder: SalesOrder;\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundDocument entity interface.\r\n */\r\n export interface InventoryInboundOutboundDocument {\r\n WorkDocumentId: string;\r\n TerminalId?: string;\r\n CommitRequestId?: string;\r\n ReceiveDate?: Date;\r\n ShipDate?: Date;\r\n Sender?: string;\r\n Receiver?: string;\r\n SenderDetails?: string;\r\n ReceiverDetails?: string;\r\n DeliveryMode?: string;\r\n OperationTypeValue?: number;\r\n StatusValue?: number;\r\n ReceiptId?: string;\r\n Note?: string;\r\n OperationResultMessage?: string;\r\n DocumentId?: string;\r\n LongVersion?: number;\r\n SourceDocument?: InventoryInboundOutboundSourceDocument;\r\n SourceDocumentTypeValue?: number;\r\n CreatedDateTime?: Date;\r\n NoteModifiedByStaffId?: string;\r\n NoteModifiedDateTime?: Date;\r\n DocumentTypeId?: string;\r\n Description?: string;\r\n StaffId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * BusinessPartner entity interface.\r\n */\r\n export interface BusinessPartner {\r\n BusinessPartnerId: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * BusinessPartnerUser entity interface.\r\n */\r\n export interface BusinessPartnerUser {\r\n B2BUserId: string;\r\n BusinessPartnerId?: string;\r\n FirstName?: string;\r\n LastName?: string;\r\n Email?: string;\r\n SpendingLimit?: number;\r\n LastOperationId?: string;\r\n StatusValue?: number;\r\n IsAdmin?: boolean;\r\n AccountNumber?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SuspendedCart entity interface.\r\n */\r\n export interface SuspendedCart {\r\n Id: string;\r\n ReceiptId?: string;\r\n ShiftId?: number;\r\n ShiftTerminalId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n Cart?: Cart;\r\n }\r\n \r\n /**\r\n * CountryRegion entity interface.\r\n */\r\n export interface CountryRegion {\r\n CountryRegionId: string;\r\n IsoCode?: string;\r\n ShortName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ExtensibleEnumeration entity interface.\r\n */\r\n export interface ExtensibleEnumeration {\r\n Name: string;\r\n Value: number;\r\n }\r\n \r\n /**\r\n * ExtensibleEnumeration_1OfT entity interface.\r\n */\r\n export interface ExtensibleEnumeration_1OfT extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ExtensibleTransactionType entity interface.\r\n */\r\n export interface ExtensibleTransactionType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ExtensibleSalesTransactionType entity interface.\r\n */\r\n export interface ExtensibleSalesTransactionType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * FulfillmentLineStatus entity interface.\r\n */\r\n export interface FulfillmentLineStatus extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * FulfillmentLineDeliveryType entity interface.\r\n */\r\n export interface FulfillmentLineDeliveryType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ExtensibleAddressType entity interface.\r\n */\r\n export interface ExtensibleAddressType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ExtensibleLoyaltyRewardPointActivityEntryType entity interface.\r\n */\r\n export interface ExtensibleLoyaltyRewardPointActivityEntryType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ExtensibleAttributeDataType entity interface.\r\n */\r\n export interface ExtensibleAttributeDataType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ReleasedProductServiceType entity interface.\r\n */\r\n export interface ReleasedProductServiceType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ExtensibleElectronicAddressType entity interface.\r\n */\r\n export interface ExtensibleElectronicAddressType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ReceiptOutputFormatType entity interface.\r\n */\r\n export interface ReceiptOutputFormatType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * OrderLookupAdditionalCriteriaType entity interface.\r\n */\r\n export interface OrderLookupAdditionalCriteriaType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * Address entity interface.\r\n */\r\n export interface Address {\r\n Name?: string;\r\n Id?: string;\r\n FullAddress?: string;\r\n RecordId?: number;\r\n Street?: string;\r\n StreetNumber?: string;\r\n County?: string;\r\n CountyName?: string;\r\n City?: string;\r\n DistrictName?: string;\r\n State?: string;\r\n StateName?: string;\r\n ZipCode?: string;\r\n ThreeLetterISORegionName?: string;\r\n Phone?: string;\r\n PhoneRecordId?: number;\r\n PhoneExt?: string;\r\n Email?: string;\r\n EmailContent?: string;\r\n EmailRecordId?: number;\r\n Url?: string;\r\n UrlRecordId?: number;\r\n TwoLetterISORegionName?: string;\r\n Deactivate?: boolean;\r\n AttentionTo?: string;\r\n BuildingCompliment?: string;\r\n Postbox?: string;\r\n TaxGroup?: string;\r\n AddressTypeValue?: number;\r\n IsPrimary?: boolean;\r\n IsPrivate?: boolean;\r\n PartyNumber?: string;\r\n IsAsyncAddress?: boolean;\r\n DirectoryPartyTableRecordId?: number;\r\n DirectoryPartyLocationRecordId?: number;\r\n DirectoryPartyLocationRoleRecordId?: number;\r\n LogisticsLocationId?: string;\r\n LogisticsLocationRecordId?: number;\r\n LogisticsLocationExtRecordId?: number;\r\n LogisticsLocationRoleRecordId?: number;\r\n PhoneLogisticsLocationRecordId?: number;\r\n PhoneLogisticsLocationId?: string;\r\n EmailLogisticsLocationRecordId?: number;\r\n EmailLogisticsLocationId?: string;\r\n UrlLogisticsLocationRecordId?: number;\r\n UrlLogisticsLocationId?: string;\r\n ExpireRecordId?: number;\r\n SortOrder?: number;\r\n RoleCount?: number;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerAffiliation entity interface.\r\n */\r\n export interface CustomerAffiliation {\r\n RecordId?: number;\r\n RetailAffiliationId?: number;\r\n Name?: string;\r\n Description?: string;\r\n HideInChannels?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerBalances entity interface.\r\n */\r\n export interface CustomerBalances {\r\n Balance: number;\r\n PendingBalance: number;\r\n CreditLimit: number;\r\n InvoiceAccountBalance: number;\r\n InvoiceAccountPendingBalance: number;\r\n InvoiceAccountCreditLimit: number;\r\n OpenInvoiceBalance?: number;\r\n OpenInvoiceCount?: number;\r\n }\r\n \r\n /**\r\n * GlobalCustomer entity interface.\r\n */\r\n export interface GlobalCustomer {\r\n PartyNumber?: string;\r\n RecordId?: number;\r\n IsAsyncCustomer?: boolean;\r\n AccountNumber?: string;\r\n FullName?: string;\r\n FullAddress?: string;\r\n Phone?: string;\r\n Email?: string;\r\n CustomerTypeValue?: number;\r\n Images?: MediaLocation[];\r\n OfflineImage?: string;\r\n IsB2b?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeValue entity interface.\r\n */\r\n export interface AttributeValue {\r\n Name?: string;\r\n KeyName?: string;\r\n UnitOfMeasureSymbol?: string;\r\n DataTypeValue?: number;\r\n BooleanValue?: boolean;\r\n DateTimeOffsetValue?: Date;\r\n FloatValue?: number;\r\n IntegerValue?: number;\r\n TextValue?: string;\r\n CurrencyValue?: number;\r\n CurrencyCode?: string;\r\n AttributeValueId?: number;\r\n RecordId?: number;\r\n Swatches?: AttributeSwatch[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeValueBase entity interface.\r\n */\r\n export interface AttributeValueBase {\r\n Name?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Barcode entity interface.\r\n */\r\n export interface Barcode {\r\n BarcodeId?: string;\r\n BarcodePrice?: number;\r\n Quantity?: number;\r\n CustomerId?: string;\r\n EmployeeId?: string;\r\n SalespersonId?: string;\r\n EANLicenseId?: string;\r\n DataEntry?: string;\r\n DiscountCode?: string;\r\n GiftCardNumber?: string;\r\n LoyaltyCardNumber?: string;\r\n ItemBarcode?: ItemBarcode;\r\n EntryMethodTypeValue?: number;\r\n ItemType?: number;\r\n EnterDimensions?: boolean;\r\n ItemGroupId?: string;\r\n ItemDepartmentId?: string;\r\n ScaleItem?: boolean;\r\n ZeroPriceValid?: boolean;\r\n NegativeQuantity?: boolean;\r\n DiscountNotAllowed?: boolean;\r\n DateToBeBlocked?: Date;\r\n DateToBeActivated?: Date;\r\n CheckDigitValidated?: boolean;\r\n CouponId?: string;\r\n Message?: string;\r\n LineDiscountGroup?: string;\r\n MultilineDiscountGroup?: string;\r\n IncludedInTotalDiscount?: boolean;\r\n CostPrice?: number;\r\n BatchId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ItemBarcode entity interface.\r\n */\r\n export interface ItemBarcode {\r\n RecordId?: number;\r\n ItemId?: string;\r\n Description?: string;\r\n BarcodeSetupId?: string;\r\n ItemBarcodeValue?: string;\r\n InventoryDimensionId?: string;\r\n IsBlocked?: boolean;\r\n Display?: boolean;\r\n VariantId?: string;\r\n UnitId?: string;\r\n UseForInput?: boolean;\r\n UseForPrinting?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ButtonGrid entity interface.\r\n */\r\n export interface ButtonGrid {\r\n Id?: string;\r\n Name?: string;\r\n DefaultColor?: number;\r\n SpaceBetweenButtonsInPixels?: number;\r\n Buttons?: ButtonGridButton[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * GetButtonGridsByIdsCriteria entity interface.\r\n */\r\n export interface GetButtonGridsByIdsCriteria {\r\n ButtonGridIds?: string[];\r\n }\r\n \r\n /**\r\n * CartLine entity interface.\r\n */\r\n export interface CartLine {\r\n LineId?: string;\r\n TaxOverrideCode?: string;\r\n ItemId?: string;\r\n Barcode?: string;\r\n EntryMethodTypeValue?: number;\r\n Description?: string;\r\n InventoryDimensionId?: string;\r\n Comment?: string;\r\n ProductId?: number;\r\n WarehouseId?: string;\r\n Quantity?: number;\r\n Price?: number;\r\n ExtendedPrice?: number;\r\n TaxAmount?: number;\r\n ItemTaxGroupId?: string;\r\n TotalAmount?: number;\r\n NetAmountWithoutTax?: number;\r\n NetPrice?: number;\r\n DiscountAmountWithoutTax?: number;\r\n DiscountAmount?: number;\r\n LineDiscount?: number;\r\n LinePercentageDiscount?: number;\r\n LineManualDiscountPercentage?: number;\r\n LineManualDiscountAmount?: number;\r\n UnitOfMeasureSymbol?: string;\r\n ShippingAddress?: Address;\r\n DeliveryMode?: string;\r\n DeliveryModeChargeAmount?: number;\r\n RequestedDeliveryDate?: Date;\r\n PickupTimeslotStartDateTime?: Date;\r\n PickupTimeslotEndDateTime?: Date;\r\n IsWarrantyLine?: boolean;\r\n WarrantableTransactionId?: string;\r\n WarrantableSalesId?: string;\r\n WarrantableLineNumber?: number;\r\n WarrantableSerialNumber?: string;\r\n WarrantiedId?: string;\r\n ReturnTransactionId?: string;\r\n ReturnLineNumber?: number;\r\n ReturnInventTransId?: string;\r\n IsVoided?: boolean;\r\n IsTaxOverideCodeTaxExempt?: boolean;\r\n IsGiftCardLine?: boolean;\r\n IsPriceKeyedIn?: boolean;\r\n GiftCardId?: string;\r\n GiftCardCurrencyCode?: string;\r\n GiftCardOperationValue?: number;\r\n GiftCardTypeValue?: number;\r\n SalesStatusValue?: number;\r\n QuantityOrdered?: number;\r\n QuantityNotProcessed?: number;\r\n QuantityReserved?: number;\r\n QuantityPicked?: number;\r\n QuantityPacked?: number;\r\n QuantityInvoiced?: number;\r\n QuantityCanceled?: number;\r\n FulfillmentStoreId?: string;\r\n SerialNumber?: string;\r\n ElectronicDeliveryEmail?: string;\r\n ElectronicDeliveryEmailContent?: string;\r\n IsPriceOverridden?: boolean;\r\n OriginalPrice?: number;\r\n IsInvoiceLine?: boolean;\r\n InvoiceId?: string;\r\n InvoiceAmount?: number;\r\n GiftCardBalance?: number;\r\n LineVersion?: number;\r\n PromotionLines?: string[];\r\n DiscountLines?: DiscountLine[];\r\n RelatedDiscountedLineIds?: string[];\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ChargeLines?: ChargeLine[];\r\n TaxRatePercent?: number;\r\n IsCustomerAccountDeposit?: boolean;\r\n LinkedParentLineId?: string;\r\n QuantityReturnable?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n LineNumber?: number;\r\n CommissionSalesGroup?: string;\r\n TrackingId?: string;\r\n StaffId?: string;\r\n QuantityRemained?: number;\r\n QuantityShipped?: number;\r\n CatalogId?: number;\r\n AttributeValues?: AttributeValueBase[];\r\n ThirdPartyGiftCardInfo?: ThirdPartyGiftCardInfo;\r\n BarcodeEmbeddedPrice?: number;\r\n PriceInBarcode?: boolean;\r\n InvoiceTypeValue?: number;\r\n InvoicedSalesId?: string;\r\n WarehouseLocation?: string;\r\n DetailedLineStatusValue?: number;\r\n }\r\n \r\n /**\r\n * ThirdPartyGiftCardInfo entity interface.\r\n */\r\n export interface ThirdPartyGiftCardInfo {\r\n Amount?: number;\r\n Authorization?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CardTypeInfo entity interface.\r\n */\r\n export interface CardTypeInfo {\r\n RecordId?: number;\r\n TypeId?: string;\r\n Name?: string;\r\n PaymentMethodId?: string;\r\n CardTypeValue?: number;\r\n Issuer?: string;\r\n NumberFrom?: string;\r\n NumberTo?: string;\r\n CashBackLimit?: number;\r\n AllowManualInput?: boolean;\r\n CheckModulus?: boolean;\r\n HasTenderDiscount?: boolean;\r\n IsPinRequired?: boolean;\r\n IsExpirationDateRequired?: boolean;\r\n ConnectorName?: string;\r\n PaymentProcessorMethod?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CashDeclaration entity interface.\r\n */\r\n export interface CashDeclaration {\r\n RecordId?: number;\r\n Currency?: string;\r\n Amount?: number;\r\n CashTypeValue?: number;\r\n IncludeInQuickPayShortcuts?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * IncomeExpenseAccount entity interface.\r\n */\r\n export interface IncomeExpenseAccount {\r\n Amount?: number;\r\n AccountNumber?: string;\r\n AccountName?: string;\r\n AccountNameAlias?: string;\r\n AccountTypeValue?: number;\r\n Quantity?: number;\r\n Message1Line?: string;\r\n Message2Line?: string;\r\n SlipText1Line?: string;\r\n SlipText2Line?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * IncomeExpenseLine entity interface.\r\n */\r\n export interface IncomeExpenseLine {\r\n Amount?: number;\r\n IncomeExpenseAccount?: string;\r\n StoreNumber?: string;\r\n AccountTypeValue?: number;\r\n Terminal?: string;\r\n Shift?: string;\r\n TransactionStatusValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CartTenderLine entity interface.\r\n */\r\n export interface CartTenderLine {\r\n PaymentCard?: PaymentCard;\r\n TokenizedPaymentCard?: TokenizedPaymentCard;\r\n CardPaymentAcceptResult?: CardPaymentAcceptResult;\r\n IsLinkedRefund?: boolean;\r\n LinkedPaymentStore?: string;\r\n LinkedPaymentTerminalId?: string;\r\n LinkedPaymentTransactionId?: string;\r\n LinkedPaymentLineNumber?: number;\r\n LinkedPaymentCurrency?: string;\r\n TenderLineId?: string;\r\n Amount?: number;\r\n CashBackAmount?: number;\r\n AmountInTenderedCurrency?: number;\r\n AmountInCompanyCurrency?: number;\r\n Currency?: string;\r\n ExchangeRate?: number;\r\n CompanyCurrencyExchangeRate?: number;\r\n TenderTypeId?: string;\r\n SignatureData?: string;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n LineNumber?: number;\r\n GiftCardId?: string;\r\n GiftCardPin?: string;\r\n GiftCardExpirationYear?: number;\r\n GiftCardExpirationMonth?: number;\r\n CreditMemoId?: string;\r\n CustomerId?: string;\r\n LoyaltyCardId?: string;\r\n CardTypeId?: string;\r\n IsChangeLine?: boolean;\r\n IsHistorical?: boolean;\r\n IsVoidable?: boolean;\r\n StatusValue?: number;\r\n VoidStatusValue?: number;\r\n AuthorizedAmount?: number;\r\n PaymentRefRecId?: number;\r\n CardPaymentAccountId?: string;\r\n ProcessingTypeValue?: number;\r\n CardProcessorStatusValue?: number;\r\n LinkedPaymentRefRecId?: number;\r\n IsPolicyBypassed?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChargeLine entity interface.\r\n */\r\n export interface ChargeLine {\r\n ChargeLineId?: string;\r\n ChargeCode?: string;\r\n CurrencyCode?: string;\r\n ModuleTypeValue?: number;\r\n IsHeaderChargeProrated?: boolean;\r\n ChargeTypeValue?: number;\r\n ChargeMethodValue?: number;\r\n CalculatedAmount?: number;\r\n Value?: number;\r\n Description?: string;\r\n TransactionId?: string;\r\n MarkupAutoLineRecordId?: number;\r\n MarkupAutoTableRecId?: number;\r\n SaleLineNumber?: number;\r\n FromAmount?: number;\r\n ToAmount?: number;\r\n Keep?: number;\r\n AmountRefunded?: number;\r\n ChargeLineOverrides?: ChargeLineOverride[];\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n IsRefundable?: boolean;\r\n IsShipping?: boolean;\r\n IsOverridden?: boolean;\r\n IsInvoiced?: boolean;\r\n CalculatedProratedAmount?: number;\r\n ItemId?: string;\r\n Quantity?: number;\r\n Price?: number;\r\n ItemTaxGroupId?: string;\r\n SalesTaxGroupId?: string;\r\n OriginalSalesTaxGroupId?: string;\r\n OriginalItemTaxGroupId?: string;\r\n TaxAmount?: number;\r\n SalesOrderUnitOfMeasure?: string;\r\n NetAmount?: number;\r\n NetAmountPerUnit?: number;\r\n GrossAmount?: number;\r\n TaxLines?: TaxLine[];\r\n TaxMeasures?: TaxMeasure[];\r\n TaxAmountExemptInclusive?: number;\r\n TaxAmountInclusive?: number;\r\n TaxAmountExclusive?: number;\r\n NetAmountWithAllInclusiveTax?: number;\r\n BeginDateTime?: Date;\r\n EndDateTime?: Date;\r\n TaxRatePercent?: number;\r\n IsReturnByReceipt?: boolean;\r\n ReturnLineTaxAmount?: number;\r\n ReturnTaxLines?: TaxLine[];\r\n TaxExemptPriceInclusiveReductionAmount?: number;\r\n TaxExemptPriceInclusiveOriginalPrice?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CityInfo entity interface.\r\n */\r\n export interface CityInfo {\r\n Name?: string;\r\n Description?: string;\r\n CountryRegionId?: string;\r\n StateId?: string;\r\n CountyId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CommissionSalesGroup entity interface.\r\n */\r\n export interface CommissionSalesGroup {\r\n GroupId?: string;\r\n Name?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ContactInformation entity interface.\r\n */\r\n export interface ContactInformation {\r\n Value?: string;\r\n ContactInformationTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeCategory entity interface.\r\n */\r\n export interface AttributeCategory {\r\n Value?: CommercePropertyValue;\r\n RecordId?: number;\r\n Name?: string;\r\n KeyName?: string;\r\n DataTypeValue?: number;\r\n Attribute?: number;\r\n NameTranslations?: TextValueTranslation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeProduct entity interface.\r\n */\r\n export interface AttributeProduct {\r\n MetadataFlags?: ProductAttributeMetadataFlags;\r\n IsDimension?: boolean;\r\n RecordId?: number;\r\n Name?: string;\r\n KeyName?: string;\r\n DataTypeValue?: number;\r\n Attribute?: number;\r\n NameTranslations?: TextValueTranslation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductComparisonEntry entity interface.\r\n */\r\n export interface ProductComparisonEntry {\r\n ProductId: number;\r\n AttributeValue?: AttributeValue;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductComparisonLine entity interface.\r\n */\r\n export interface ProductComparisonLine {\r\n AttributeRecordId: number;\r\n AttributeName?: string;\r\n ProductAttributeComparisonEntries?: ProductComparisonEntry[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerSearchField entity interface.\r\n */\r\n export interface CustomerSearchField {\r\n IsShortcut?: boolean;\r\n DisplayName?: string;\r\n CanBeRefined?: boolean;\r\n SearchField?: CustomerSearchFieldType;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerSearchByFieldCriteria entity interface.\r\n */\r\n export interface CustomerSearchByFieldCriteria {\r\n Criteria?: CustomerSearchByFieldCriterion[];\r\n DataLevelValue?: number;\r\n }\r\n \r\n /**\r\n * CustomerSearchByFieldCriterion entity interface.\r\n */\r\n export interface CustomerSearchByFieldCriterion {\r\n SearchTerm?: string;\r\n SearchField?: CustomerSearchFieldType;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerSearchFieldType entity interface.\r\n */\r\n export interface CustomerSearchFieldType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * OrderShipments entity interface.\r\n */\r\n export interface OrderShipments {\r\n SalesId?: string;\r\n ChannelId?: number;\r\n ChannelReferenceId?: string;\r\n TransactionId?: string;\r\n CreatedDateTime?: Date;\r\n StatusValue?: number;\r\n CurrencyCode?: string;\r\n CustomerId?: string;\r\n DeliveryMode?: string;\r\n GrossAmount?: number;\r\n InventoryLocationId?: string;\r\n ReceiptId?: string;\r\n RequestedDeliveryDate?: Date;\r\n TotalAmount?: number;\r\n TaxAmount?: number;\r\n SalesLines?: SalesLine[];\r\n Shipments?: Shipment[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Shipment entity interface.\r\n */\r\n export interface Shipment {\r\n SalesId?: string;\r\n ShipmentId?: string;\r\n DeliveryAddress?: Address;\r\n ShipDate?: Date;\r\n DeliveryMode?: string;\r\n TermsOfDelivery?: string;\r\n WeightUnit?: string;\r\n TrackingNumber?: string;\r\n TrackingUrl?: string;\r\n LatestCarrierTrackingInfo?: TrackingInfo;\r\n CarrierId?: string;\r\n CarrierName?: string;\r\n ShippingWeight?: number;\r\n ShipmentLines?: ShipmentLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ShipmentLine entity interface.\r\n */\r\n export interface ShipmentLine {\r\n ShipmentLineId?: string;\r\n ItemId?: string;\r\n Description?: string;\r\n InventDimId?: string;\r\n OrderedQuantity?: number;\r\n DeliveredQuantity?: number;\r\n RemainingQuantity?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Transaction entity interface.\r\n */\r\n export interface Transaction {\r\n Id?: string;\r\n StoreId?: string;\r\n TerminalId?: string;\r\n IsCreatedOffline?: boolean;\r\n StaffId?: string;\r\n LanguageId?: string;\r\n ShiftId?: string;\r\n ShiftTerminalId?: string;\r\n Description?: string;\r\n ReceiptId?: string;\r\n GrossAmount?: number;\r\n TotalAmount?: number;\r\n CreatedDateTime?: Date;\r\n TransactionTypeValue?: number;\r\n TransactionStatusValue?: number;\r\n BeginDateTime?: Date;\r\n GiftCardActiveFrom?: Date;\r\n GiftCardBalance?: number;\r\n GiftCardExpireDate?: Date;\r\n GiftCardHistoryDetails?: string;\r\n GiftCardIssueAmount?: number;\r\n GiftCardIdMasked?: string;\r\n FromSafe?: string;\r\n ToSafe?: string;\r\n FromShiftTerminalId?: string;\r\n ToShiftTerminalId?: string;\r\n FromShiftId?: string;\r\n TransactionSourceContextTypeValue?: number;\r\n TransactionDestinationContextTypeValue?: number;\r\n ToShiftId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ShiftReconciliationLine entity interface.\r\n */\r\n export interface ShiftReconciliationLine extends Transaction {\r\n GroupId?: number;\r\n GroupDescription?: string;\r\n ShiftGroupLinesCount?: number;\r\n ShiftGroupLinesClosedCount?: number;\r\n }\r\n \r\n /**\r\n * ShiftReconciliationLineRetrievalCriteria entity interface.\r\n */\r\n export interface ShiftReconciliationLineRetrievalCriteria {\r\n TransactionTypeValues?: number[];\r\n ShiftReconciliationLineStatusValue?: number;\r\n Shifts?: ShiftKey[];\r\n DestinationShift?: ShiftKey;\r\n SourceShift?: ShiftKey;\r\n SourceSafe?: string;\r\n DestinationSafe?: string;\r\n TransactionSourceContextTypeValue?: number;\r\n TransactionDestinationContextTypeValue?: number;\r\n }\r\n \r\n /**\r\n * SearchConfiguration entity interface.\r\n */\r\n export interface SearchConfiguration {\r\n ProductSortColumns?: SortColumn[];\r\n ProductSearchServiceTypeValue?: number;\r\n ProductSortColumnsLabels?: LocalizedText[];\r\n }\r\n \r\n /**\r\n * CustomerTimelineItem entity interface.\r\n */\r\n export interface CustomerTimelineItem {\r\n CustomerId?: string;\r\n Description?: string;\r\n Id?: string;\r\n EntityType?: string;\r\n TypeId?: string;\r\n StaffId?: string;\r\n StartDateTime?: Date;\r\n Title?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeDefinition entity interface.\r\n */\r\n export interface AttributeDefinition {\r\n RecordId: number;\r\n Name?: string;\r\n AttributeTypeName?: string;\r\n ExtDataType?: ExtensibleAttributeDataType;\r\n DataTypeValue?: number;\r\n IsHidden?: boolean;\r\n IsMandatory?: boolean;\r\n IsMultiValue?: boolean;\r\n IsEnumeration?: boolean;\r\n TranslationDetails?: AttributeTranslationDetails[];\r\n EnumerationDetails?: AttributeEnumeration[];\r\n DefaultValue?: CommercePropertyValue;\r\n UpperBound?: CommercePropertyValue;\r\n LowerBound?: CommercePropertyValue;\r\n DisplayOrder?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeTranslationDetails entity interface.\r\n */\r\n export interface AttributeTranslationDetails {\r\n AttributeRecordId: number;\r\n LanguageId?: string;\r\n FriendlyName?: string;\r\n Description?: string;\r\n HelpText?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeEnumeration entity interface.\r\n */\r\n export interface AttributeEnumeration {\r\n OrdinalNumber?: number;\r\n EnumerationValue?: string;\r\n AttributeEnumerationTranslations?: AttributeEnumerationTranslation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeEnumerationTranslation entity interface.\r\n */\r\n export interface AttributeEnumerationTranslation {\r\n LanguageId?: string;\r\n EnumerationTranslationValue?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeDefinitionCriteria entity interface.\r\n */\r\n export interface AttributeDefinitionCriteria {\r\n AttributeGroupIdentifier?: number;\r\n Languages?: string[];\r\n }\r\n \r\n /**\r\n * AttributeGroupDefinition entity interface.\r\n */\r\n export interface AttributeGroupDefinition {\r\n RecordId: number;\r\n Name?: string;\r\n TranslationDetails?: AttributeGroupTranslationDetails[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeGroupTranslationDetails entity interface.\r\n */\r\n export interface AttributeGroupTranslationDetails {\r\n AttributeGroupRecordId: number;\r\n LanguageId?: string;\r\n FriendlyName?: string;\r\n Description?: string;\r\n HelpText?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeGroupDefinitionCriteria entity interface.\r\n */\r\n export interface AttributeGroupDefinitionCriteria {\r\n AttributeGroupIdentifiers?: number[];\r\n Languages?: string[];\r\n }\r\n \r\n /**\r\n * CountyInfo entity interface.\r\n */\r\n export interface CountyInfo {\r\n Name?: string;\r\n CountyId?: string;\r\n CountryRegionId?: string;\r\n StateId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerGroup entity interface.\r\n */\r\n export interface CustomerGroup {\r\n CustomerGroupNumber?: string;\r\n CustomerGroupName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DiscountLine entity interface.\r\n */\r\n export interface DiscountLine {\r\n SaleLineNumber?: number;\r\n OfferId?: string;\r\n OfferName?: string;\r\n Amount?: number;\r\n DiscountCost?: number;\r\n EffectiveAmount?: number;\r\n EffectivePercentage?: number;\r\n SavedEffectiveAmount?: number;\r\n Percentage?: number;\r\n DealPrice?: number;\r\n DiscountLineTypeValue?: number;\r\n ManualDiscountTypeValue?: number;\r\n CustomerDiscountTypeValue?: number;\r\n PeriodicDiscountTypeValue?: number;\r\n DiscountApplicationGroup?: string;\r\n ConcurrencyModeValue?: number;\r\n IsCompoundable?: boolean;\r\n DiscountCode?: string;\r\n PricingPriorityNumber?: number;\r\n IsDiscountCodeRequired?: boolean;\r\n ThresholdAmountRequired?: number;\r\n BundleId?: number;\r\n ValidFrom?: Date;\r\n ValidTo?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * EmployeePermissions entity interface.\r\n */\r\n export interface EmployeePermissions {\r\n PriceOverrideRestrictionValue?: number;\r\n AllowPriceOverride?: number;\r\n MaximumDiscountPercentage?: number;\r\n MaximumLineDiscountAmount?: number;\r\n MaximumLineReturnAmount?: number;\r\n MaximumTotalDiscountAmount?: number;\r\n MaximumTotalDiscountPercentage?: number;\r\n MaxTotalReturnAmount?: number;\r\n StaffId?: string;\r\n Roles?: string[];\r\n AllowUseSharedShift?: boolean;\r\n AllowManageSharedShift?: boolean;\r\n AllowTaskGuides?: boolean;\r\n AllowSaleOutsideAssortment?: boolean;\r\n AllowPrintingReceiptCopy?: string;\r\n AllowSkipFiscalRegistration?: boolean;\r\n AllowSkipRegistrationOrMarkAsRegistered?: boolean;\r\n AllowPostponeRegistration?: boolean;\r\n AllowCreateTransferOrder?: boolean;\r\n AllowAcceptOrder?: boolean;\r\n AllowTaskManagement?: boolean;\r\n AllowRejectOrder?: boolean;\r\n AllowMassActivation?: boolean;\r\n AllowPostInventoryAdjustment?: boolean;\r\n AllowPostStockCounting?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CommerceProperty entity interface.\r\n */\r\n export interface CommerceProperty {\r\n Key?: string;\r\n Value?: CommercePropertyValue;\r\n }\r\n \r\n /**\r\n * CommercePropertyValue entity interface.\r\n */\r\n export interface CommercePropertyValue {\r\n BooleanValue?: boolean;\r\n ByteValue?: number;\r\n DateTimeOffsetValue?: Date;\r\n DecimalValue?: number;\r\n IntegerValue?: number;\r\n LongValue?: number;\r\n StringValue?: string;\r\n }\r\n \r\n /**\r\n * CountryRegionInfo entity interface.\r\n */\r\n export interface CountryRegionInfo {\r\n CountryRegionId?: string;\r\n ShortName?: string;\r\n LongName?: string;\r\n ISOCode?: string;\r\n TimeZone?: number;\r\n LanguageId?: string;\r\n AddressFormatLines?: AddressFormattingInfo[];\r\n AddressFormatId?: string;\r\n AddressFormatName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CreditMemo entity interface.\r\n */\r\n export interface CreditMemo {\r\n Id?: string;\r\n Balance?: number;\r\n CurrencyCode?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Currency entity interface.\r\n */\r\n export interface Currency {\r\n CurrencyCode?: string;\r\n CurrencySymbol?: string;\r\n RoundOffPrice?: number;\r\n RoundOffSales?: number;\r\n RoundOffTypePrice?: number;\r\n RoundOffTypeSales?: number;\r\n NumberOfDecimals?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CurrencyAmount entity interface.\r\n */\r\n export interface CurrencyAmount {\r\n CurrencyCode?: string;\r\n CurrencySymbol?: string;\r\n ConvertedAmount?: number;\r\n RoundedConvertedAmount?: number;\r\n ExchangeRate?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ScaleUnitConfiguration entity interface.\r\n */\r\n export interface ScaleUnitConfiguration {\r\n Id?: string;\r\n Name?: string;\r\n Region?: string;\r\n }\r\n \r\n /**\r\n * EnvironmentConfiguration entity interface.\r\n */\r\n export interface EnvironmentConfiguration {\r\n EnvironmentId?: string;\r\n EnvironmentName?: string;\r\n TenantId?: string;\r\n ClientAppInsightsInstrumentationKey?: string;\r\n HardwareStationAppInsightsInstrumentationKey?: string;\r\n WindowsPhonePosAppInsightsInstrumentationKey?: string;\r\n BaseVersion?: string;\r\n ScaleUnit?: ScaleUnitConfiguration;\r\n AADAuthority?: string;\r\n FrameworkName?: string;\r\n }\r\n \r\n /**\r\n * DeviceConfiguration entity interface.\r\n */\r\n export interface DeviceConfiguration {\r\n UseInMemoryDeviceDataStorage?: boolean;\r\n AllowItemsAggregation?: boolean;\r\n AggregateItemsForPrinting?: boolean;\r\n AggregatePayments?: boolean;\r\n AlwaysExpandTransactionScreenLineDetails?: boolean;\r\n AuditEnabled?: boolean;\r\n DiscountAtTotal?: string;\r\n ProductDiscount?: string;\r\n ManuallyCalculateComplexDiscounts?: boolean;\r\n DisplaySecondaryTotalCurrency?: boolean;\r\n EndOfTransaction?: string;\r\n ItemNotOnFile?: string;\r\n LimitStaffListToStore?: boolean;\r\n LineItemTaxChange?: string;\r\n MarkUp?: string;\r\n MaximumPrice?: number;\r\n MaximumQuantity?: number;\r\n MinimumPasswordLength?: number;\r\n MustKeyInPriceIfZero?: boolean;\r\n NfcEContingencyModeEnabled?: string;\r\n NfcEVoided?: string;\r\n FunctionalityProfileDescription?: string;\r\n OverridePrice?: string;\r\n PrintVoidTransactionReceipts?: boolean;\r\n PrintReceiptsOnCardDecline?: boolean;\r\n PrintXZReportsOnTerminal?: boolean;\r\n PrintTenderDetailsOnXReport?: boolean;\r\n ProfileId?: string;\r\n RefundSale?: string;\r\n ReturnProduct?: string;\r\n SalesPerson?: string;\r\n SecondaryTotalCurrency?: string;\r\n SelectHardwareStationOnTendering?: boolean;\r\n SerialNumber?: string;\r\n ShowStaffListAtLogOn?: boolean;\r\n StaffBarcodeLogOn?: boolean;\r\n StaffBarcodeLogOnRequiresPassword?: boolean;\r\n StaffCardLogOn?: boolean;\r\n StaffCardLogOnRequiresPassword?: boolean;\r\n StartOfTransaction?: string;\r\n EnableTimeRegistration?: boolean;\r\n TenderDeclaration?: string;\r\n TransactionTaxChange?: string;\r\n VoidItem?: string;\r\n VoidPayment?: string;\r\n SalesModeDefaultsAsCustomerOrder?: boolean;\r\n CreateOfflineCustomerOrders?: boolean;\r\n CreateAsyncCustomers?: boolean;\r\n EnableAxCustomerSearch?: boolean;\r\n VoidTransaction?: string;\r\n CultureName?: string;\r\n SystemLegalTermsUrl?: string;\r\n SystemPrivacyStatementUrl?: string;\r\n HideTrainingMode?: boolean;\r\n StorePhone?: string;\r\n StatementMethod?: string;\r\n StoreNumber?: string;\r\n ChannelId?: number;\r\n StoreTaxGroup?: string;\r\n TaxIdNumber?: string;\r\n TaxOverrideGroup?: number;\r\n TenderDeclarationCalculation?: number;\r\n UseCustomerBasedTax?: boolean;\r\n UseDestinationBasedTax?: boolean;\r\n AutoLogOffTimeoutInMinutes?: number;\r\n AutoExitMethodValue?: number;\r\n CustomerDisplayText1?: string;\r\n CustomerDisplayText2?: string;\r\n EFTStoreId?: number;\r\n EFTTerminalId?: string;\r\n ExitAfterEachTransaction?: boolean;\r\n HardwareProfile?: string;\r\n Placement?: string;\r\n TerminalDescription?: string;\r\n OpenDrawer?: string;\r\n OpenDrawerAtLogOnLogOff?: boolean;\r\n PrintTaxRefundChecks?: boolean;\r\n StandAlone?: boolean;\r\n TerminalId?: string;\r\n TerminalStatement?: boolean;\r\n VisualProfile?: string;\r\n Currency?: string;\r\n InventLocationId?: string;\r\n IncludeKitComponents?: boolean;\r\n AccentColor?: number;\r\n HeaderColor?: number;\r\n Theme?: string;\r\n FontScheme?: number;\r\n ShowAppBarLabel?: boolean;\r\n LogOnBackgroundPictureAsBase64?: string;\r\n LogOnBackgroundPicturePortraitAsBase64?: string;\r\n BackgroundPictureAsBase64?: string;\r\n LogonBackgroundPictureId?: number;\r\n LogonBackgroundPictureIdCompact?: number;\r\n LogonBackgroundPictureIdPortrait?: number;\r\n LogonBackgroundPictureIdCompactPortrait?: number;\r\n BackgroundPictureId?: number;\r\n RequireAmountDeclaration?: boolean;\r\n DecimalNotRequiredForMinorCurrencyUnit?: boolean;\r\n MaxTransactionSearchResults?: number;\r\n OfflineProfileId?: number;\r\n NewOfflineDatabaseCheckInterval?: number;\r\n OfflineTransactionUploadInterval?: number;\r\n ReconnectToOnlineInterval?: number;\r\n SwitchToOfflineTimeout?: number;\r\n OfflineSwitchApiPerformanceThresholdInSeconds?: number;\r\n ReconnectFromPerformanceInducedOfflineIntervalInSeconds?: number;\r\n RetentionDays?: number;\r\n HardwareConfigurations?: HardwareConfigurations;\r\n CreateRecording?: boolean;\r\n PlaybackRecording?: boolean;\r\n ShouldUseDefaultCommisionSalesGroup?: boolean;\r\n AskForSalesRepresentative?: number;\r\n IsSalesRepRequired?: boolean;\r\n ProhibitMixingSalesAndReturns?: boolean;\r\n ApplyDiscountsToPriceKeyedIn?: boolean;\r\n ApplyDiscountsToPriceOverrides?: boolean;\r\n IsProductSuggestionsEnabled?: boolean;\r\n ProductSearchType?: string;\r\n TerminalRecId?: number;\r\n DeviceRecId?: number;\r\n DenominationsToDisplayValue?: number;\r\n PromptOnSeamlessOffline?: boolean;\r\n RetryCountToOffline?: number;\r\n EnableAdvancedOfflineSwitching?: boolean;\r\n SystemHealthCheckInterval?: number;\r\n RejectOrderFulfillment?: string;\r\n ManuallyCalculateTaxes?: boolean;\r\n EmployeeLogonTypeValue?: number;\r\n StartAmountCalculation?: number;\r\n BankDropCalculation?: number;\r\n GenerateLoyaltyCardNumber?: boolean;\r\n FiscalRegistrationProcessId?: string;\r\n IncludeSalesOrderInvoices?: boolean;\r\n IncludeFreeTextInvoices?: boolean;\r\n IncludeProjectInvoices?: boolean;\r\n IncludeCreditNoteInvoices?: boolean;\r\n DisplayTaxExemptInLineDetails?: boolean;\r\n TaxExemptReceiptIndicator?: string;\r\n ManuallyCalculateCharges?: boolean;\r\n ChargeOverrideReasonCode?: string;\r\n ShiftReconcilation?: string;\r\n CustomerAccountFloorLimit?: number;\r\n VoidSuspendedTransactionsOnCloseShift?: boolean;\r\n ShowDateTime?: boolean;\r\n UseAdvancedCashManagement?: boolean;\r\n DefaultCustomerSearchModeValue?: number;\r\n AllowManualOfflineBeforeSignIn?: boolean;\r\n UseFinancialReconciliationInStore?: boolean;\r\n RequirePaymentForFulfillmentValue?: number;\r\n CardNotPresentProcessingConfigurationValue?: number;\r\n EnableQuickPayShortcuts?: boolean;\r\n ChangeDueBehaviorValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * VisualProfile entity interface.\r\n */\r\n export interface VisualProfile {\r\n ChannelId?: number;\r\n TerminalId?: string;\r\n AccentColor?: number;\r\n HeaderColor?: number;\r\n Theme?: string;\r\n FontSchemeTypeValue?: number;\r\n IsAppBarLabelVisible?: boolean;\r\n IsDateTimeVisible?: boolean;\r\n LogOnLayoutTypeValue?: number;\r\n LogOnKeyboardTypeValue?: number;\r\n LogonBackgroundPictureId?: number;\r\n CompactLogonBackgroundPictureId?: number;\r\n PortraitLogonBackgroundPictureId?: number;\r\n CompactPortraitLogonBackgroundPictureId?: number;\r\n BackgroundPictureId?: number;\r\n LogOnLogoPictureId?: number;\r\n IsProductIdVisibleOnCartLine?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OperationalInsightsConfiguration entity interface.\r\n */\r\n export interface OperationalInsightsConfiguration {\r\n InstrumentationKey?: string;\r\n EnvironmentId?: string;\r\n IsEnabled?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Device entity interface.\r\n */\r\n export interface Device {\r\n ChannelId: number;\r\n RecordId?: number;\r\n DeviceNumber?: string;\r\n DeviceId?: string;\r\n Description?: string;\r\n DeviceType?: number;\r\n TerminalRecordId?: number;\r\n TerminalId?: string;\r\n ChannelName?: string;\r\n UseInMemoryDeviceDataStorage?: boolean;\r\n AllowMassActivation?: boolean;\r\n TokenIssueTime?: Date;\r\n ActivationStatusValue?: number;\r\n Token?: string;\r\n CountryRegionIsoCode?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DiscountCode entity interface.\r\n */\r\n export interface DiscountCode {\r\n RecordId: number;\r\n Barcode?: string;\r\n Code?: string;\r\n ConcurrencyMode?: number;\r\n Description?: string;\r\n Disclaimer?: string;\r\n IsDiscountCodeRequired?: boolean;\r\n Name?: string;\r\n OfferId?: string;\r\n IsEnabled?: boolean;\r\n ValidFrom?: Date;\r\n ValidTo?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DistrictInfo entity interface.\r\n */\r\n export interface DistrictInfo {\r\n Name?: string;\r\n Description?: string;\r\n CountryRegionId?: string;\r\n StateId?: string;\r\n CountyId?: string;\r\n CityName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareProfile entity interface.\r\n */\r\n export interface HardwareProfile {\r\n RecordId?: number;\r\n LineDisplayDelayForLinkedItems?: number;\r\n LineDisplayBalanceText?: string;\r\n LineDisplayBinaryConversion?: boolean;\r\n LineDisplayCharacterSet?: number;\r\n LineDisplayClosedLine1?: string;\r\n LineDisplayClosedLine2?: string;\r\n LineDisplayDeviceDescription?: string;\r\n LineDisplayDeviceTypeValue?: number;\r\n LineDisplayDeviceName?: string;\r\n LineDisplayDisplayLinkedItem?: boolean;\r\n LineDisplayDisplayTerminalClosed?: boolean;\r\n LineDisplayTotalText?: string;\r\n DualDisplayActive?: boolean;\r\n DualDisplayWebBrowserUrl?: string;\r\n DualDisplayImageRotatorInterval?: number;\r\n DualDisplayImageRotatorPath?: string;\r\n DualDisplayReceiptWidthPercentage?: number;\r\n DualDisplayDisplayType?: string;\r\n EftTypeId?: number;\r\n EftCompanyId?: string;\r\n EftConfiguration?: number;\r\n EftPaymentConnectorName?: string;\r\n EftData?: string;\r\n EftDescription?: string;\r\n EftMerchantId?: string;\r\n EftPassword?: string;\r\n EftServerName?: string;\r\n EftServerPort?: string;\r\n EftUserId?: string;\r\n EftTestMode?: boolean;\r\n MsrEndTrack1?: string;\r\n MsrEndTrack2?: string;\r\n FiscalPrinterManagementReportPAFIdentification?: string;\r\n FiscalPrinterManagementReportConfigParameter?: string;\r\n FiscalPrinterManagementReportTenderType?: string;\r\n FiscalPrinterManagementReportGiftCard?: string;\r\n FiscalRegisterDeviceTypeValue?: number;\r\n FiscalRegisterConfiguration?: string;\r\n FiscalRegisterDeviceDescription?: string;\r\n FiscalRegisterDeviceName?: string;\r\n KeyboardMappingId?: string;\r\n KeyLockDeviceTypeValue?: number;\r\n KeyLockDeviceDescription?: string;\r\n KeyLockDeviceName?: string;\r\n MsrDeviceTypeValue?: number;\r\n MsrDeviceDescription?: string;\r\n MsrDeviceName?: string;\r\n MsrMake?: string;\r\n MsrModel?: string;\r\n MsrSeparator?: string;\r\n MsrStartTrack?: string;\r\n PinPadDeviceTypeValue?: number;\r\n PinPadDeviceName?: string;\r\n PinPadMake?: string;\r\n PinPadModel?: string;\r\n PinPadDeviceDescription?: string;\r\n ProfileDescription?: string;\r\n ProfileId?: string;\r\n RFIDDeviceTypeValue?: number;\r\n RFIDDeviceName?: string;\r\n RFIDDeviceDescription?: string;\r\n ScaleDeviceTypeValue?: number;\r\n ScaleDeviceName?: string;\r\n ScaleDeviceDescription?: string;\r\n ScaleManualInputAllowed?: boolean;\r\n ScaleTimeoutInSeconds?: number;\r\n SignatureCaptureDeviceTypeValue?: number;\r\n SignatureCaptureDeviceName?: string;\r\n SignatureCaptureMake?: string;\r\n SignatureCaptureModel?: string;\r\n SignatureCaptureDeviceDescription?: string;\r\n SignatureCaptureFormName?: string;\r\n Printers?: HardwareProfilePrinter[];\r\n Scanners?: HardwareProfileScanner[];\r\n FiscalIntegrationTechnicalProfiles?: FiscalIntegrationTechnicalProfile[];\r\n CashDrawers?: HardwareProfileCashDrawer[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SupportedLanguage entity interface.\r\n */\r\n export interface SupportedLanguage {\r\n LanguageId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PaymentCard entity interface.\r\n */\r\n export interface PaymentCard {\r\n UseShippingAddress?: boolean;\r\n CardNumber?: string;\r\n CCID?: string;\r\n Track1?: string;\r\n Track2?: string;\r\n Track3?: string;\r\n VoiceAuthorizationCode?: string;\r\n EncryptedPin?: string;\r\n AdditionalSecurityData?: string;\r\n IsSwipe?: boolean;\r\n Phone?: string;\r\n Country?: string;\r\n House?: string;\r\n Address1?: string;\r\n Address2?: string;\r\n City?: string;\r\n State?: string;\r\n Zip?: string;\r\n NameOnCard?: string;\r\n CardTypeId?: string;\r\n ExpirationMonth?: number;\r\n ExpirationYear?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CardPaymentAcceptSettings entity interface.\r\n */\r\n export interface CardPaymentAcceptSettings {\r\n HostPageOrigin?: string;\r\n AdaptorPath?: string;\r\n CardTokenizationEnabled?: boolean;\r\n CardPaymentEnabled?: boolean;\r\n PaymentAmount?: number;\r\n HideBillingAddress?: boolean;\r\n TenderTypeId?: string;\r\n Locale?: string;\r\n }\r\n \r\n /**\r\n * CardPaymentAcceptPoint entity interface.\r\n */\r\n export interface CardPaymentAcceptPoint {\r\n AcceptPageUrl?: string;\r\n AcceptPageSubmitUrl?: string;\r\n MessageOrigin?: string;\r\n AcceptPageContent?: string;\r\n PaymentConnectorId?: string;\r\n }\r\n \r\n /**\r\n * CardPaymentAcceptResult entity interface.\r\n */\r\n export interface CardPaymentAcceptResult {\r\n TenderLine?: TenderLine;\r\n TokenizedPaymentCard?: TokenizedPaymentCard;\r\n PaymentSdkErrors?: PaymentError[];\r\n AdditionalContext?: string;\r\n AccessCode?: string;\r\n Settings?: RetrievePaymentResultSettings;\r\n }\r\n \r\n /**\r\n * ReasonCodeLine entity interface.\r\n */\r\n export interface ReasonCodeLine {\r\n LineId?: string;\r\n Amount?: number;\r\n Information?: string;\r\n InformationAmount?: number;\r\n InputTypeValue?: number;\r\n ItemTender?: string;\r\n LineNumber?: number;\r\n LineTypeValue?: number;\r\n ParentLineId?: string;\r\n ReasonCodeId?: string;\r\n StatementCode?: string;\r\n SubReasonCodeId?: string;\r\n SourceCode?: string;\r\n SourceCode2?: string;\r\n SourceCode3?: string;\r\n TransactionId?: string;\r\n CreatedDateTime?: Date;\r\n FiscalTransactionParentGuid?: string;\r\n IsChanged?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReasonSubCode entity interface.\r\n */\r\n export interface ReasonSubCode {\r\n TriggerCode?: string;\r\n AmountPercent: number;\r\n ReasonCodeId?: string;\r\n SubCodeId?: string;\r\n Description?: string;\r\n TriggerFunctionTypeValue?: number;\r\n ProductId?: number;\r\n PriceTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Receipt entity interface.\r\n */\r\n export interface Receipt {\r\n TransactionId?: string;\r\n Header?: string;\r\n Body?: string;\r\n Footer?: string;\r\n Width?: number;\r\n ReceiptId?: string;\r\n LayoutId?: string;\r\n ReceiptTitle?: string;\r\n ReceiptTypeValue?: number;\r\n ReceiptTypeStrValue?: string;\r\n Printers?: Printer[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReceiptMask entity interface.\r\n */\r\n export interface ReceiptMask {\r\n FunctionalityProfileId?: string;\r\n IsIndependent: boolean;\r\n ReceiptTransactionTypeValue: number;\r\n RecordId: number;\r\n Mask?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SalesLine entity interface.\r\n */\r\n export interface SalesLine {\r\n StaffId?: string;\r\n LineId?: string;\r\n Description?: string;\r\n OriginLineId?: string;\r\n TaxOverrideCode?: string;\r\n IsPriceKeyedIn?: boolean;\r\n IsTaxOverideCodeTaxExempt?: boolean;\r\n ProductId?: number;\r\n Barcode?: string;\r\n BarcodeEmbeddedPrice?: number;\r\n PriceInBarcode?: boolean;\r\n EntryMethodTypeValue?: number;\r\n MasterProductId?: number;\r\n ListingId?: number;\r\n IsPriceOverridden?: boolean;\r\n OriginalPrice?: number;\r\n TotalAmount?: number;\r\n NetAmountWithoutTax?: number;\r\n DiscountAmount?: number;\r\n DiscountAmountWithoutTax?: number;\r\n NetPrice?: number;\r\n TotalDiscount?: number;\r\n TotalPercentageDiscount?: number;\r\n LineDiscount?: number;\r\n PeriodicDiscount?: number;\r\n LineManualDiscountPercentage?: number;\r\n LineManualDiscountAmount?: number;\r\n ShippingAddress?: Address;\r\n DeliveryMode?: string;\r\n Comment?: string;\r\n RequestedDeliveryDate?: Date;\r\n PickupTimeslotStartDateTime?: Date;\r\n PickupTimeslotEndDateTime?: Date;\r\n InventoryLocationId?: string;\r\n WarehouseLocation?: string;\r\n InventoryStatusId?: string;\r\n LicensePlate?: string;\r\n InventoryDimensionId?: string;\r\n ItemType?: number;\r\n ReservationId?: string;\r\n LineNumber?: number;\r\n ReturnQuantity?: number;\r\n QuantityRemained?: number;\r\n QuantityShipped?: number;\r\n LineVersion?: number;\r\n StatusValue?: number;\r\n SalesStatusValue?: number;\r\n ProductSourceValue?: number;\r\n IsGiftCardLine?: boolean;\r\n GiftCardId?: string;\r\n GiftCardCurrencyCode?: string;\r\n GiftCardOperationValue?: number;\r\n GiftCardTypeValue?: number;\r\n IsInvoiceLine?: boolean;\r\n InvoiceId?: string;\r\n InvoiceAmount?: number;\r\n IsInvoiceSettled?: boolean;\r\n InvoiceTypeValue?: number;\r\n InvoicedSalesId?: string;\r\n IsVoided?: boolean;\r\n IsPriceLocked?: boolean;\r\n ChargeLines?: ChargeLine[];\r\n BasePrice?: number;\r\n AgreementPrice?: number;\r\n AdjustedPrice?: number;\r\n IsWarrantyLine?: boolean;\r\n WarrantableTransactionId?: string;\r\n WarrantableSalesId?: string;\r\n WarrantableLineNumber?: number;\r\n WarrantableSerialNumber?: string;\r\n ReturnTransactionId?: string;\r\n ReturnLineNumber?: number;\r\n ReturnInventTransId?: string;\r\n ReturnStore?: string;\r\n ReturnTerminalId?: string;\r\n ReturnChannelId?: number;\r\n FulfillmentStoreId?: string;\r\n SalesDate?: Date;\r\n QuantityInvoiced?: number;\r\n QuantityOrdered?: number;\r\n QuantityCanceled?: number;\r\n SavedQuantity?: number;\r\n IsSavedDiscount?: boolean;\r\n RecordId?: number;\r\n SerialNumber?: string;\r\n BatchId?: string;\r\n DeliveryModeChargeAmount?: number;\r\n UnitOfMeasureSymbol?: string;\r\n CatalogId?: number;\r\n ElectronicDeliveryEmailAddress?: string;\r\n ElectronicDeliveryEmailContent?: string;\r\n LoyaltyDiscountAmount?: number;\r\n LoyaltyPercentageDiscount?: number;\r\n TenderDiscountAmount?: number;\r\n TenderDiscountPercentage?: number;\r\n GiftCardBalance?: number;\r\n IsCustomerAccountDeposit?: boolean;\r\n Blocked?: boolean;\r\n Found?: boolean;\r\n DateToActivateItem?: Date;\r\n LinePercentageDiscount?: number;\r\n PeriodicPercentageDiscount?: number;\r\n QuantityDiscounted?: number;\r\n UnitQuantity?: number;\r\n UnitOfMeasureConversion?: UnitOfMeasureConversion;\r\n DiscountLines?: DiscountLine[];\r\n PriceLines?: PriceLine[];\r\n PeriodicDiscountPossibilities?: DiscountLine[];\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ReturnLabelProperties?: ReturnLabelContent;\r\n LineMultilineDiscOnItem?: string;\r\n RelatedDiscountedLineIds?: string[];\r\n LinkedParentLineId?: string;\r\n LineMultilineDiscOnItemValue?: number;\r\n WasChanged?: boolean;\r\n OriginalSalesOrderUnitOfMeasure?: string;\r\n InventOrderUnitOfMeasure?: string;\r\n TrackingId?: string;\r\n IsLoyaltyDiscountApplied?: boolean;\r\n CommissionSalesGroup?: string;\r\n IsCommissionSalesGroupOverriddenByCustomer?: boolean;\r\n CommissionSalesGroupSetByCashier?: string;\r\n QuantityNotProcessed?: number;\r\n QuantityReserved?: number;\r\n QuantityPicked?: number;\r\n QuantityPacked?: number;\r\n AttributeValues?: AttributeValueBase[];\r\n ThirdPartyGiftCardInfo?: ThirdPartyGiftCardInfo;\r\n QuantityReturnable?: number;\r\n LoyaltyRewardPointLines?: LoyaltyRewardPointLine[];\r\n ReturnLoyaltyRewardPointLines?: LoyaltyRewardPointLine[];\r\n FulfillmentStatus?: FulfillmentLineStatus;\r\n FulfillmentStatusValue?: number;\r\n DetailedLineStatusValue?: number;\r\n DetailedLineStatus?: DetailedLineStatus;\r\n LastReturnProcessedTime?: Date;\r\n ItemId?: string;\r\n Quantity?: number;\r\n Price?: number;\r\n ItemTaxGroupId?: string;\r\n SalesTaxGroupId?: string;\r\n OriginalSalesTaxGroupId?: string;\r\n OriginalItemTaxGroupId?: string;\r\n TaxAmount?: number;\r\n SalesOrderUnitOfMeasure?: string;\r\n NetAmount?: number;\r\n NetAmountPerUnit?: number;\r\n GrossAmount?: number;\r\n TaxLines?: TaxLine[];\r\n TaxMeasures?: TaxMeasure[];\r\n TaxAmountExemptInclusive?: number;\r\n TaxAmountInclusive?: number;\r\n TaxAmountExclusive?: number;\r\n NetAmountWithAllInclusiveTax?: number;\r\n BeginDateTime?: Date;\r\n EndDateTime?: Date;\r\n TaxRatePercent?: number;\r\n IsReturnByReceipt?: boolean;\r\n ReturnLineTaxAmount?: number;\r\n ReturnTaxLines?: TaxLine[];\r\n TaxExemptPriceInclusiveReductionAmount?: number;\r\n TaxExemptPriceInclusiveOriginalPrice?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SearchArea entity interface.\r\n */\r\n export interface SearchArea {\r\n Longitude?: number;\r\n Latitude?: number;\r\n Radius?: number;\r\n DistanceUnitValue?: number;\r\n }\r\n \r\n /**\r\n * ShiftAccountLine entity interface.\r\n */\r\n export interface ShiftAccountLine {\r\n AccountTypeValue?: number;\r\n AccountNumber?: string;\r\n Amount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ShiftTenderLine entity interface.\r\n */\r\n export interface ShiftTenderLine {\r\n TenderTypeId?: string;\r\n TenderTypeName?: string;\r\n CardTypeId?: string;\r\n TenderCurrency?: string;\r\n CountingRequired?: boolean;\r\n StartingAmountOfStoreCurrency?: number;\r\n StartingAmountOfTenderCurrency?: number;\r\n FloatingEntryAmountOfStoreCurrency?: number;\r\n FloatingEntryAmountOfTenderCurrency?: number;\r\n SafeDropAmountOfStoreCurrency?: number;\r\n SafeDropAmountOfTenderCurrency?: number;\r\n BankDropAmountOfStoreCurrency?: number;\r\n BankDropAmountOfTenderCurrency?: number;\r\n RemoveTenderAmountOfStoreCurrency?: number;\r\n RemoveTenderAmountOfTenderCurrency?: number;\r\n DeclareTenderAmountOfStoreCurrency?: number;\r\n DeclareTenderAmountOfTenderCurrency?: number;\r\n TenderedAmountOfStoreCurrency?: number;\r\n TenderedAmountOfTenderCurrency?: number;\r\n ChangeAmountOfStoreCurrency?: number;\r\n ChangeAmountOfTenderCurrency?: number;\r\n Count?: number;\r\n Notes?: string;\r\n OverriddenFloatEntryAmountInTenderedCurrency?: number;\r\n OverriddenBankDropAmountInTenderedCurrency?: number;\r\n OverriddenChangeAmountInTenderedCurrency?: number;\r\n OverriddenDeclaredTenderAmountInTenderedCurrency?: number;\r\n OverriddenRemovedTenderAmountInTenderedCurrency?: number;\r\n OverriddenSafeDropAmountInTenderedCurrency?: number;\r\n OverriddenStartingAmountInTenderedCurrency?: number;\r\n OverriddenTenderedAmountInTenderedCurrency?: number;\r\n OverShortAmountOfTenderCurrency?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * StockCountJournalTransaction entity interface.\r\n */\r\n export interface StockCountJournalTransaction {\r\n JournalId?: string;\r\n RecordId?: number;\r\n OperationType?: number;\r\n ItemId?: string;\r\n DataAreaId?: string;\r\n ProductRecordId?: number;\r\n ItemName?: string;\r\n InventDimId?: string;\r\n Counted?: number;\r\n Quantity?: number;\r\n EstimatedOnHandQuantity?: number;\r\n OnHandCalculationDateTime?: Date;\r\n Unit?: string;\r\n UserId?: string;\r\n TerminalId?: string;\r\n CountedDate?: Date;\r\n Status?: number;\r\n InventBatchId?: string;\r\n WarehouseLocationId?: string;\r\n InventoryStatus?: string;\r\n LicensePlate?: string;\r\n WarehousePalletId?: string;\r\n InventSiteId?: string;\r\n InventLocationId?: string;\r\n ConfigId?: string;\r\n InventSizeId?: string;\r\n InventColorId?: string;\r\n InventStyleId?: string;\r\n InventSerialId?: string;\r\n TrackingGuid?: string;\r\n UpdatedInAx?: boolean;\r\n Message?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TaxLine entity interface.\r\n */\r\n export interface TaxLine {\r\n TaxGroup?: string;\r\n Percentage?: number;\r\n IsExempt?: boolean;\r\n TaxBasis?: number;\r\n IsIncludedInPrice?: boolean;\r\n SaleLineNumber?: number;\r\n StoreId?: string;\r\n TerminalId?: string;\r\n TransactionId?: string;\r\n TaxCode?: string;\r\n Amount?: number;\r\n AmountRefunded?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TenderLine entity interface.\r\n */\r\n export interface TenderLine {\r\n StoreId?: string;\r\n TerminalId?: string;\r\n TransactionId?: string;\r\n InternalTransactionId?: string;\r\n RefundableAmount?: number;\r\n CaptureToken?: string;\r\n CardToken?: string;\r\n Authorization?: string;\r\n TransactionStatusValue?: number;\r\n IncomeExpenseAccountTypeValue?: number;\r\n MaskedCardNumber?: string;\r\n TenderDate?: Date;\r\n IsPreProcessed?: boolean;\r\n IsDeposit?: boolean;\r\n IsCustomerAccountFloorLimitUsed?: boolean;\r\n AuthorizationReferenceId?: string;\r\n IsIncrementalCaptureEnabled?: boolean;\r\n IsReauthorizationEnabled?: boolean;\r\n IncrementalOffsetAmount?: number;\r\n ChannelId?: number;\r\n IsLinkedRefund?: boolean;\r\n LinkedPaymentStore?: string;\r\n LinkedPaymentTerminalId?: string;\r\n LinkedPaymentTransactionId?: string;\r\n LinkedPaymentLineNumber?: number;\r\n LinkedPaymentCurrency?: string;\r\n TenderLineId?: string;\r\n Amount?: number;\r\n CashBackAmount?: number;\r\n AmountInTenderedCurrency?: number;\r\n AmountInCompanyCurrency?: number;\r\n Currency?: string;\r\n ExchangeRate?: number;\r\n CompanyCurrencyExchangeRate?: number;\r\n TenderTypeId?: string;\r\n SignatureData?: string;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n LineNumber?: number;\r\n GiftCardId?: string;\r\n GiftCardPin?: string;\r\n GiftCardExpirationYear?: number;\r\n GiftCardExpirationMonth?: number;\r\n CreditMemoId?: string;\r\n CustomerId?: string;\r\n LoyaltyCardId?: string;\r\n CardTypeId?: string;\r\n IsChangeLine?: boolean;\r\n IsHistorical?: boolean;\r\n IsVoidable?: boolean;\r\n StatusValue?: number;\r\n VoidStatusValue?: number;\r\n AuthorizedAmount?: number;\r\n PaymentRefRecId?: number;\r\n CardPaymentAccountId?: string;\r\n ProcessingTypeValue?: number;\r\n CardProcessorStatusValue?: number;\r\n LinkedPaymentRefRecId?: number;\r\n IsPolicyBypassed?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TextValueTranslation entity interface.\r\n */\r\n export interface TextValueTranslation {\r\n Language?: string;\r\n Text?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * UnitOfMeasure entity interface.\r\n */\r\n export interface UnitOfMeasure {\r\n DecimalPrecision?: number;\r\n Symbol?: string;\r\n Description?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * RecommendedElement entity interface.\r\n */\r\n export interface RecommendedElement {\r\n ElementId?: string;\r\n ElementTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * RecommendationCriteria entity interface.\r\n */\r\n export interface RecommendationCriteria {\r\n CustomerAccountNumber?: string;\r\n CatalogId?: number;\r\n ProductIds?: number[];\r\n CategoryIds?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductListLine entity interface.\r\n */\r\n export interface ProductListLine {\r\n ProductListId?: string;\r\n LineId?: string;\r\n ProductId?: number;\r\n Quantity?: number;\r\n UnitOfMeasure?: string;\r\n CreatedDateTime?: Date;\r\n LastUpdated?: Date;\r\n DeletedDateTime?: Date;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CommerceListLine entity interface.\r\n */\r\n export interface CommerceListLine {\r\n CommerceListId?: number;\r\n LineId?: number;\r\n CustomerId?: string;\r\n CustomerName?: string;\r\n ProductId?: number;\r\n Quantity?: number;\r\n UnitOfMeasure?: string;\r\n IsFavorite?: boolean;\r\n IsRecurring?: boolean;\r\n IsPrivate?: boolean;\r\n CreatedDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CommerceListContributor entity interface.\r\n */\r\n export interface CommerceListContributor {\r\n RecordId?: number;\r\n CustomerId?: string;\r\n CustomerName?: string;\r\n InvitationId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CommerceListInvitation entity interface.\r\n */\r\n export interface CommerceListInvitation {\r\n RecordId?: number;\r\n Invitee?: string;\r\n IsSent?: boolean;\r\n LastRequestDateTime?: Date;\r\n LastSentDateTime?: Date;\r\n StatusValue?: number;\r\n Token?: string;\r\n InvitationTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SearchFilter entity interface.\r\n */\r\n export interface SearchFilter {\r\n Key?: string;\r\n FilterTypeValue: number;\r\n SearchValues?: SearchFilterValue[];\r\n }\r\n \r\n /**\r\n * SearchFilterValue entity interface.\r\n */\r\n export interface SearchFilterValue {\r\n Value?: CommercePropertyValue;\r\n }\r\n \r\n /**\r\n * TransactionSearchCriteria entity interface.\r\n */\r\n export interface TransactionSearchCriteria {\r\n TransactionIds?: string[];\r\n SalesId?: string;\r\n ReceiptId?: string;\r\n ChannelReferenceId?: string;\r\n CustomerAccountNumber?: string;\r\n CustomerFirstName?: string;\r\n CustomerLastName?: string;\r\n StoreId?: string;\r\n TerminalId?: string;\r\n ItemId?: string;\r\n Barcode?: string;\r\n SerialNumber?: string;\r\n StaffId?: string;\r\n StartDateTime?: Date;\r\n EndDateTime?: Date;\r\n ReceiptEmailAddress?: string;\r\n SearchIdentifiers?: string;\r\n SearchLocationTypeValue?: number;\r\n CustomFilters?: SearchFilter[];\r\n }\r\n \r\n /**\r\n * SalesOrderSearchCriteria entity interface.\r\n */\r\n export interface SalesOrderSearchCriteria {\r\n TransactionIds?: string[];\r\n SalesId?: string;\r\n ReceiptId?: string;\r\n ChannelReferenceId?: string;\r\n CustomerAccountNumber?: string;\r\n CustomerFirstName?: string;\r\n CustomerLastName?: string;\r\n StoreId?: string;\r\n TerminalId?: string;\r\n ItemId?: string;\r\n Barcode?: string;\r\n SerialNumber?: string;\r\n StaffId?: string;\r\n SearchTypeValue?: number;\r\n StartDateTime?: Date;\r\n EndDateTime?: Date;\r\n IncludeDetails?: boolean;\r\n ReceiptEmailAddress?: string;\r\n SearchIdentifiers?: string;\r\n SalesTransactionTypeValues?: number[];\r\n SearchLocationTypeValue?: number;\r\n TransactionStatusTypeValues?: number[];\r\n }\r\n \r\n /**\r\n * SearchStoreCriteria entity interface.\r\n */\r\n export interface SearchStoreCriteria {\r\n ChannelId?: number;\r\n StoreNumber?: string;\r\n InventoryLocationId?: string;\r\n }\r\n \r\n /**\r\n * CustomerSearchCriteria entity interface.\r\n */\r\n export interface CustomerSearchCriteria {\r\n Keyword?: string;\r\n SearchOnlyCurrentCompany?: boolean;\r\n SearchLocationValue?: number;\r\n Refinements?: CustomerRefinerValue[];\r\n DataLevelValue?: number;\r\n }\r\n \r\n /**\r\n * ProductPrice entity interface.\r\n */\r\n export interface ProductPrice {\r\n ProductId?: number;\r\n ListingId?: number;\r\n BasePrice?: number;\r\n TradeAgreementPrice?: number;\r\n AdjustedPrice?: number;\r\n MaxVariantPrice?: number;\r\n MinVariantPrice?: number;\r\n CustomerContextualPrice?: number;\r\n DiscountAmount?: number;\r\n CurrencyCode?: string;\r\n ItemId?: string;\r\n InventoryDimensionId?: string;\r\n UnitOfMeasure?: string;\r\n ValidFrom?: Date;\r\n ProductLookupId?: number;\r\n ChannelId?: number;\r\n CatalogId?: number;\r\n DiscountLines?: DiscountLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnitAvailability entity interface.\r\n */\r\n export interface OrgUnitAvailability {\r\n OrgUnitLocation?: OrgUnitLocation;\r\n ItemAvailabilities?: ItemAvailability[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductVariantPropertySet entity interface.\r\n */\r\n export interface ProductVariantPropertySet {\r\n VariantId?: number;\r\n ProductVariantPropertiesAsList?: ProductPropertyTranslation[];\r\n }\r\n \r\n /**\r\n * PurchaseOrderLine entity interface.\r\n */\r\n export interface PurchaseOrderLine {\r\n RecordId?: number;\r\n OrderId?: string;\r\n ProductRecordId?: number;\r\n ItemId?: string;\r\n ItemName?: string;\r\n InventDimId?: string;\r\n QuantityOrdered?: number;\r\n PurchaseQuantity?: number;\r\n PurchaseUnit?: string;\r\n PurchaseReceived?: number;\r\n PurchaseReceivedNow?: number;\r\n InventBatchId?: string;\r\n WMSLocationId?: string;\r\n WMSPalletId?: string;\r\n InventoryStatus?: string;\r\n LicensePlate?: string;\r\n InventSiteId?: string;\r\n InventLocationId?: string;\r\n ConfigId?: string;\r\n InventSerialId?: string;\r\n InventSizeId?: string;\r\n InventColorId?: string;\r\n InventStyleId?: string;\r\n IsCommitted?: boolean;\r\n Message?: string;\r\n UniqueIdentifier?: string;\r\n DeliveryMethod?: string;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TransferOrderLine entity interface.\r\n */\r\n export interface TransferOrderLine {\r\n RecordId?: number;\r\n OrderId?: string;\r\n ProductRecordId?: number;\r\n ItemId?: string;\r\n ItemName?: string;\r\n InventDimId?: string;\r\n QuantityTransferred?: number;\r\n QuantityShipped?: number;\r\n QuantityReceived?: number;\r\n QuantityShipNow?: number;\r\n QuantityReceiveNow?: number;\r\n QuantityRemainShip?: number;\r\n QuantityRemainReceive?: number;\r\n PurchaseUnit?: string;\r\n InventBatchId?: string;\r\n WMSLocationId?: string;\r\n WMSPalletId?: string;\r\n InventoryStatus?: string;\r\n LicensePlate?: string;\r\n InventSiteId?: string;\r\n InventLocationId?: string;\r\n ConfigId?: string;\r\n InventSerialId?: string;\r\n InventSizeId?: string;\r\n InventColorId?: string;\r\n InventStyleId?: string;\r\n IsCommitted?: boolean;\r\n Message?: string;\r\n Guid?: string;\r\n DeliveryMethod?: string;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TransferOrderJournal entity interface.\r\n */\r\n export interface TransferOrderJournal {\r\n OrderId?: string;\r\n VoucherId?: string;\r\n UpdatedByWorker?: string;\r\n InventLocationIdFrom?: string;\r\n InventLocationIdTo?: string;\r\n QuantityShipped?: number;\r\n PostingDate?: Date;\r\n DeliveryMode?: string;\r\n Comments?: string;\r\n JournalLines?: TransferOrderJournalLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PickingListLine entity interface.\r\n */\r\n export interface PickingListLine {\r\n RecordId?: number;\r\n OrderId?: string;\r\n ProductRecordId?: number;\r\n ItemId?: string;\r\n ItemName?: string;\r\n InventDimId?: string;\r\n QuantityOrdered?: number;\r\n PurchaseReceivedNow?: number;\r\n InventBatchId?: string;\r\n WMSLocationId?: string;\r\n WMSPalletId?: string;\r\n InventoryStatus?: string;\r\n LicensePlate?: string;\r\n InventSiteId?: string;\r\n InventLocationId?: string;\r\n ConfigId?: string;\r\n InventSerialId?: string;\r\n InventSizeId?: string;\r\n InventColorId?: string;\r\n InventStyleId?: string;\r\n IsCommitted?: boolean;\r\n Message?: string;\r\n Guid?: string;\r\n DeliveryMethod?: string;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Affiliation entity interface.\r\n */\r\n export interface Affiliation {\r\n RecordId?: number;\r\n AffiliationTypeValue?: number;\r\n Description?: string;\r\n Name?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentLinesSummary entity interface.\r\n */\r\n export interface InventoryInboundOutboundDocumentLinesSummary {\r\n InProgressQuantity?: number;\r\n TotalLineNumber?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLinesSummary entity interface.\r\n */\r\n export interface InventoryDocumentSerialNumberLinesSummary {\r\n RegisteringQuantity?: number;\r\n RegisteredQuantity?: number;\r\n TotalLineNumber?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentLine entity interface.\r\n */\r\n export interface InventoryInboundOutboundDocumentLine {\r\n WorkDocumentId?: string;\r\n LineId?: string;\r\n SourceDocumentRecordId?: number;\r\n SourceDocumentLineRecordId?: number;\r\n SourceDocumentTypeValue?: number;\r\n QuantityOrdered?: number;\r\n QuantityShipped?: number;\r\n QuantityReceived?: number;\r\n QuantityCancelled?: number;\r\n QuantityToUpdate?: number;\r\n LocationId?: string;\r\n ItemId?: string;\r\n ProductId?: number;\r\n ItemName?: string;\r\n ItemPrimaryImageUrl?: string;\r\n IsLocationActive?: boolean;\r\n IsLocationAllowBlankReceiptEnabled?: boolean;\r\n IsLocationBlankIssueAllowed?: boolean;\r\n ProductDimensions?: ProductDimension[];\r\n Note?: string;\r\n NoteModifiedByStaffId?: string;\r\n NoteModifiedDateTime?: Date;\r\n OperationResultMessage?: string;\r\n IsCloseLine?: boolean;\r\n OriginTypeValue?: number;\r\n UnitOfMeasure?: string;\r\n SourceDocumentLine?: InventoryInboundOutboundSourceDocumentLine;\r\n SerialNumberLines?: InventoryDocumentSerialNumberLine[];\r\n LongVersion?: number;\r\n ToLocationId?: string;\r\n AdjustmentTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundSourceDocument entity interface.\r\n */\r\n export interface InventoryInboundOutboundSourceDocument {\r\n RecordId?: number;\r\n DocumentTypeValue?: number;\r\n DocumentId?: string;\r\n StatusValue?: number;\r\n ReceiveDate?: Date;\r\n ShipDate?: Date;\r\n Sender?: string;\r\n Receiver?: string;\r\n SenderDetails?: string;\r\n ReceiverDetails?: string;\r\n DeliveryMode?: string;\r\n TotalQuantityOrdered?: number;\r\n TotalQuantityShipped?: number;\r\n TotalQuantityReceived?: number;\r\n TotalQuantityCancelled?: number;\r\n DataAreaId?: string;\r\n Note?: string;\r\n TotalLines?: number;\r\n IsChangeAllowed?: boolean;\r\n NoteModifiedByStaffId?: string;\r\n NoteModifiedDateTime?: Date;\r\n DocumentTypeId?: string;\r\n Description?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundSourceDocumentLine entity interface.\r\n */\r\n export interface InventoryInboundOutboundSourceDocumentLine {\r\n DocumentRecordId?: number;\r\n DocumentTypeValue?: number;\r\n RecordId?: number;\r\n LineNumber?: number;\r\n ItemId?: string;\r\n ProductId?: number;\r\n QuantityOrdered?: number;\r\n QuantityShipped?: number;\r\n QuantityReceived?: number;\r\n QuantityCancelled?: number;\r\n LocationId?: string;\r\n OverDeliveryPercentage?: number;\r\n UnderDeliveryPercentage?: number;\r\n UnitId?: string;\r\n Receiver?: string;\r\n DataAreaId?: string;\r\n Note?: string;\r\n NoteModifiedByStaffId?: string;\r\n NoteModifiedDateTime?: Date;\r\n DocumentId?: string;\r\n ItemName?: string;\r\n ItemPrimaryImageUrl?: string;\r\n IsLocationActive?: boolean;\r\n IsLocationAllowBlankReceiptEnabled?: boolean;\r\n IsLocationBlankIssueAllowed?: boolean;\r\n HasSerialNumber?: boolean;\r\n IsSerialNumberBlankReceiptAllowed?: boolean;\r\n IsSerialNumberDuplicateCheckEnabled?: boolean;\r\n ProductDimensions?: ProductDimension[];\r\n SerialNumberLines?: InventoryDocumentSourceSerialNumberLine[];\r\n StatusValue?: number;\r\n ToProductId?: number;\r\n ToLocationId?: string;\r\n InventoryDimensionId?: string;\r\n ToInventoryDimensionId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentLineFilterCriteria entity interface.\r\n */\r\n export interface InventoryDocumentLineFilterCriteria {\r\n ProductId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentUpdateLinesAction entity interface.\r\n */\r\n export interface InventoryDocumentUpdateLinesAction {\r\n Quantity?: number;\r\n ActionTypeValue?: number;\r\n LocationId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentLineOperationResultSettings entity interface.\r\n */\r\n export interface InventoryDocumentLineOperationResultSettings {\r\n ModeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentLineSearchCriteria entity interface.\r\n */\r\n export interface InventoryDocumentLineSearchCriteria {\r\n SourceDocumentId?: string;\r\n SourceDocumentTypeValue?: number;\r\n WorkDocumentId?: string;\r\n ProductId?: number;\r\n AvailableSerializedLineOnly?: boolean;\r\n DocumentLineIds?: string[];\r\n DocumentOperationTypeValue?: number;\r\n LocationId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSearchCriteria entity interface.\r\n */\r\n export interface InventoryDocumentSearchCriteria {\r\n DocumentId?: string;\r\n DocumentStateValue?: number;\r\n DocumentTypeValues?: number[];\r\n CustomFilters?: SearchFilter[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLineSearchCriteria entity interface.\r\n */\r\n export interface InventoryDocumentSerialNumberLineSearchCriteria {\r\n DocumentLineId?: string;\r\n SerialNumber?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLineUpdateAction entity interface.\r\n */\r\n export interface InventoryDocumentSerialNumberLineUpdateAction {\r\n DocumentLineId?: string;\r\n LineId?: string;\r\n SerialNumber?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLineResetAction entity interface.\r\n */\r\n export interface InventoryDocumentSerialNumberLineResetAction {\r\n DocumentLineId?: string;\r\n LineId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryInboundOutboundDocumentUpdateLinesByCriteriaResult entity interface.\r\n */\r\n export interface InventoryInboundOutboundDocumentUpdateLinesByCriteriaResult {\r\n UpdatedLines?: InventoryInboundOutboundDocumentLine[];\r\n TotalLinesUpdated?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * WarehouseLocationSearchCriteria entity interface.\r\n */\r\n export interface WarehouseLocationSearchCriteria {\r\n WarehouseIds?: string[];\r\n IsLocationProfileRequired?: boolean;\r\n SearchText?: string;\r\n }\r\n \r\n /**\r\n * InventoryDocumentSerialNumberLine entity interface.\r\n */\r\n export interface InventoryDocumentSerialNumberLine {\r\n WorkDocumentId?: string;\r\n WorkDocumentLineId?: string;\r\n SourceLineId?: string;\r\n LineId?: string;\r\n Quantity?: number;\r\n SerialNumber?: string;\r\n StatusValue?: number;\r\n ProductId?: number;\r\n ModifiedDateTime?: Date;\r\n SourceDocumentRecordId?: number;\r\n SourceDocumentTypeValue?: number;\r\n SourceDocumentLineRecordId?: number;\r\n SourceLine?: InventoryDocumentSourceSerialNumberLine;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentValidationCategoryResultsSummary entity interface.\r\n */\r\n export interface InventoryDocumentValidationCategoryResultsSummary {\r\n CategoryName?: string;\r\n SeverityValue?: number;\r\n TotalValidationResultCount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentValidationResultSummary entity interface.\r\n */\r\n export interface InventoryDocumentValidationResultSummary {\r\n DocumentId?: string;\r\n DocumentVersion?: number;\r\n CategorySummaries?: InventoryDocumentValidationCategoryResultsSummary[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentValidationResultLine entity interface.\r\n */\r\n export interface InventoryDocumentValidationResultLine {\r\n DocumentValidationResultLineId?: string;\r\n CategoryName?: string;\r\n SeverityValue?: number;\r\n ErrorCode?: number;\r\n ErrorMessage?: string;\r\n DocumentId?: string;\r\n DocumentLongVersion?: number;\r\n DocumentLineId?: string;\r\n CreatedDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentValidationResultSearchCriteria entity interface.\r\n */\r\n export interface InventoryDocumentValidationResultSearchCriteria {\r\n DocumentId?: string;\r\n DocumentVersion?: number;\r\n SeverityValue?: number;\r\n Categories?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductDimensionValueInventoryAvailability entity interface.\r\n */\r\n export interface ProductDimensionValueInventoryAvailability {\r\n DimensionTypeValue?: number;\r\n DimensionValue?: ProductDimensionValue;\r\n ProductIds?: number[];\r\n TotalAvailableInventoryLevelLabel?: string;\r\n TotalAvailableInventoryLevelCode?: string;\r\n PhysicalAvailableInventoryLevelLabel?: string;\r\n PhysicalAvailableInventoryLevelCode?: string;\r\n }\r\n \r\n /**\r\n * ProductDimension entity interface.\r\n */\r\n export interface ProductDimension {\r\n DimensionTypeValue: number;\r\n DimensionValue?: ProductDimensionValue;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductDimensionValue entity interface.\r\n */\r\n export interface ProductDimensionValue {\r\n RecordId: number;\r\n Value?: string;\r\n DimensionId?: string;\r\n ColorHexCode?: string;\r\n ImageUrl?: string;\r\n RefinerGroup?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductDimensionCombination entity interface.\r\n */\r\n export interface ProductDimensionCombination {\r\n ProductDimensions?: ProductDimension[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SearchRefiner entity interface.\r\n */\r\n export interface SearchRefiner {\r\n RecordId?: number;\r\n KeyName?: string;\r\n DataTypeValue?: number;\r\n RefinerTypeValue?: number;\r\n DisplayTemplateValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SearchRefinerValue entity interface.\r\n */\r\n export interface SearchRefinerValue {\r\n RefinerRecordId?: number;\r\n DataTypeValue?: number;\r\n LeftValueBoundString?: string;\r\n RightValueBoundString?: string;\r\n UnitText?: string;\r\n RowNumber?: number;\r\n Count?: number;\r\n LeftValueBoundLocalizedString?: string;\r\n RightValueBoundLocalizedString?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductRefiner entity interface.\r\n */\r\n export interface ProductRefiner extends SearchRefiner {\r\n SourceValue?: number;\r\n Values?: ProductRefinerValue[];\r\n IsDimension?: boolean;\r\n }\r\n \r\n /**\r\n * ProductRefinerValue entity interface.\r\n */\r\n export interface ProductRefinerValue extends SearchRefinerValue {\r\n RefinerSourceValue?: number;\r\n SwatchImageUrl?: string;\r\n SwatchColorHexCode?: string;\r\n }\r\n \r\n /**\r\n * ClientBookRefiner entity interface.\r\n */\r\n export interface ClientBookRefiner extends SearchRefiner {\r\n SourceValue?: number;\r\n Values?: ClientBookRefinerValue[];\r\n }\r\n \r\n /**\r\n * ClientBookRefinerValue entity interface.\r\n */\r\n export interface ClientBookRefinerValue extends SearchRefinerValue {\r\n RefinerSourceValue?: number;\r\n }\r\n \r\n /**\r\n * ProductRelationType entity interface.\r\n */\r\n export interface ProductRelationType {\r\n Name?: string;\r\n RecordId: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ComponentInSlotRelation entity interface.\r\n */\r\n export interface ComponentInSlotRelation {\r\n ComponentId: number;\r\n SlotId: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductRules entity interface.\r\n */\r\n export interface ProductRules {\r\n HasLinkedProducts: boolean;\r\n IsSerialized: boolean;\r\n IsActiveInSalesProcess: boolean;\r\n IsBlocked: boolean;\r\n DateOfBlocking: Date;\r\n DateToActivate: Date;\r\n DateToBlock: Date;\r\n DefaultUnitOfMeasure?: string;\r\n PriceKeyingRequirementValue: number;\r\n QuantityKeyingRequirementValue: number;\r\n MustKeyInComment: boolean;\r\n CanQuantityBecomeNegative: boolean;\r\n MustScaleItem: boolean;\r\n CanPriceBeZero: boolean;\r\n ProductId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LocalizedString entity interface.\r\n */\r\n export interface LocalizedString {\r\n RecordId?: number;\r\n LanguageId?: string;\r\n TextId?: number;\r\n Text?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyCard entity interface.\r\n */\r\n export interface LoyaltyCard {\r\n CardNumber?: string;\r\n CardTenderTypeValue?: number;\r\n CustomerAccount?: string;\r\n LoyaltyGroups?: LoyaltyGroup[];\r\n RewardPoints?: LoyaltyRewardPoint[];\r\n LoyaltyEnrollmentDate?: Date;\r\n LoyaltyEnrollmentDateLocal?: Date;\r\n LoyaltyEnrollmentTime?: number;\r\n LoyaltyEnrollmentTimeLocal?: number;\r\n OmOperatingUnitId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductComponent entity interface.\r\n */\r\n export interface ProductComponent {\r\n ProductId: number;\r\n SlotId: number;\r\n Product?: SimpleProduct;\r\n AdditionalChargeForComponent?: number;\r\n Behavior?: ProductBehavior;\r\n Description?: string;\r\n Dimensions?: ProductDimension[];\r\n ItemId?: string;\r\n Name?: string;\r\n ProductTypeValue?: number;\r\n Quantity?: number;\r\n UnitOfMeasure?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SimpleProduct entity interface.\r\n */\r\n export interface SimpleProduct {\r\n RecordId: number;\r\n ItemId?: string;\r\n Name?: string;\r\n Description?: string;\r\n ProductTypeValue: number;\r\n DefaultUnitOfMeasure?: string;\r\n BasePrice: number;\r\n Price: number;\r\n AdjustedPrice: number;\r\n MasterProductId?: number;\r\n Components?: ProductComponent[];\r\n IsGiftCard?: boolean;\r\n Dimensions?: ProductDimension[];\r\n Behavior?: ProductBehavior;\r\n LinkedProducts?: SimpleLinkedProduct[];\r\n PrimaryImageUrl?: string;\r\n ItemTypeValue?: number;\r\n ItemServiceTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductBehavior entity interface.\r\n */\r\n export interface ProductBehavior {\r\n HasSerialNumber: boolean;\r\n IsDiscountAllowed: boolean;\r\n IsManualDiscountAllowed: boolean;\r\n IsKitDisassemblyAllowed: boolean;\r\n IsNegativeQuantityAllowed: boolean;\r\n IsReturnAllowed: boolean;\r\n IsSaleAtPhysicalStoresAllowed: boolean;\r\n IsZeroSalePriceAllowed: boolean;\r\n KeyInPriceValue: number;\r\n KeyInQuantityValue: number;\r\n MustKeyInComment: boolean;\r\n MustPrintIndividualShelfLabelsForVariants: boolean;\r\n MustPromptForSerialNumberOnlyAtSale: boolean;\r\n MustWeighProductAtSale: boolean;\r\n ValidFromDateForSaleAtPhysicalStores: Date;\r\n ValidToDateForSaleAtPhysicalStores: Date;\r\n IsStorageDimensionGroupLocationActive: boolean;\r\n IsStorageDimensionGroupLocationAllowBlankReceiptEnabled: boolean;\r\n AllowNegativePhysicalInventory: boolean;\r\n IsStockedProduct: boolean;\r\n IsBlankSerialNumberAllowed?: boolean;\r\n IsBlankSerialNumberReceiptAllowed?: boolean;\r\n IsSerialNumberControlEnabled?: boolean;\r\n IsStorageDimensionGroupLocationBlankIssueAllowed?: boolean;\r\n IsSerialNumberRequired?: boolean;\r\n DefaultQuantity?: number;\r\n MaximumQuantity?: number;\r\n MinimumQuantity?: number;\r\n MultipleOfQuantity?: number;\r\n InventoryLocationId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SimpleLinkedProduct entity interface.\r\n */\r\n export interface SimpleLinkedProduct {\r\n RecordId: number;\r\n ItemId?: string;\r\n Name?: string;\r\n Description?: string;\r\n ProductTypeValue: number;\r\n DefaultUnitOfMeasure?: string;\r\n BasePrice: number;\r\n Price: number;\r\n AdjustedPrice: number;\r\n Quantity: number;\r\n Behavior?: ProductBehavior;\r\n Dimensions?: ProductDimension[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductSearchResult entity interface.\r\n */\r\n export interface ProductSearchResult {\r\n ItemId?: string;\r\n Name?: string;\r\n Price: number;\r\n PrimaryImageUrl?: string;\r\n RecordId: number;\r\n TrackingId?: string;\r\n AverageRating?: number;\r\n TotalRatings?: number;\r\n Description?: string;\r\n BasePrice?: number;\r\n MinVariantPrice?: number;\r\n MaxVariantPrice?: number;\r\n DisplayOrder?: number;\r\n AttributeValues?: AttributeValue[];\r\n IsMasterProduct?: boolean;\r\n MasterProductId?: number;\r\n DefaultUnitOfMeasure?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SearchSuggestion entity interface.\r\n */\r\n export interface SearchSuggestion {\r\n Value?: string;\r\n Value2?: CommerceProperty;\r\n Value3?: CommerceProperty;\r\n Value4?: CommerceProperty;\r\n SuggestionType?: string;\r\n Id?: string;\r\n ImageUrl?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyPointRedemptionEstimate entity interface.\r\n */\r\n export interface LoyaltyPointRedemptionEstimate {\r\n MaxCurrencyValueOfLoyaltyPoints?: number;\r\n RewardPointToRedeemList?: LoyaltyRewardPointLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyGroup entity interface.\r\n */\r\n export interface LoyaltyGroup {\r\n Description?: string;\r\n Name?: string;\r\n RecordId: number;\r\n LoyaltyTiers?: LoyaltyTier[];\r\n LoyaltyCardTiers?: LoyaltyCardTier[];\r\n HighestActiveLoyaltyCardTier?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyTier entity interface.\r\n */\r\n export interface LoyaltyTier {\r\n Description?: string;\r\n RecordId: number;\r\n TierId?: string;\r\n TierLevel: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyCardTier entity interface.\r\n */\r\n export interface LoyaltyCardTier {\r\n RecordId: number;\r\n TierId?: string;\r\n LoyaltyTierRecordId: number;\r\n ValidFrom: Date;\r\n ValidTo: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyRewardPoint entity interface.\r\n */\r\n export interface LoyaltyRewardPoint {\r\n IsRedeemable: boolean;\r\n RewardPointCurrency?: string;\r\n RewardPointTypeValue: number;\r\n Description?: string;\r\n RewardPointId?: string;\r\n IssuedPoints?: number;\r\n UsedPoints?: number;\r\n ExpiredPoints?: number;\r\n ActivePoints?: number;\r\n PointsExpiringSoon?: number;\r\n UnvestedPoints?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyCardTransaction entity interface.\r\n */\r\n export interface LoyaltyCardTransaction {\r\n ChannelName?: string;\r\n EntryDateTime: Date;\r\n EntryTypeValue: number;\r\n ExpirationDate: Date;\r\n RewardPointAmountQuantity: number;\r\n TransactionId?: string;\r\n }\r\n \r\n /**\r\n * GiftCard entity interface.\r\n */\r\n export interface GiftCard {\r\n Id?: string;\r\n Balance?: number;\r\n BalanceCurrencyCode?: string;\r\n BalanceInCardCurrency?: number;\r\n CardCurrencyCode?: string;\r\n GiftCardIssueAmount?: number;\r\n GiftCardActiveFrom?: Date;\r\n GiftCardExpireDate?: Date;\r\n GiftCardHistoryDetails?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OperationPermission entity interface.\r\n */\r\n export interface OperationPermission {\r\n OperationName?: string;\r\n OperationId?: number;\r\n CheckUserAccess?: boolean;\r\n AllowAnonymousAccess?: boolean;\r\n AllowCustomerAccess?: boolean;\r\n AllowApplicationAccess?: boolean;\r\n IsEnabledForTaskManagement?: boolean;\r\n Permissions?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * StateProvinceInfo entity interface.\r\n */\r\n export interface StateProvinceInfo {\r\n CountryRegionId?: string;\r\n StateId?: string;\r\n StateName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TransactionLog entity interface.\r\n */\r\n export interface TransactionLog extends Transaction {\r\n }\r\n \r\n /**\r\n * KitTransaction entity interface.\r\n */\r\n export interface KitTransaction extends TransactionLog {\r\n KitTransactionLines?: KitTransactionLine[];\r\n }\r\n \r\n /**\r\n * SalesTaxGroup entity interface.\r\n */\r\n export interface SalesTaxGroup {\r\n RecordId: number;\r\n TaxGroup?: string;\r\n TaxGroupName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductProperty entity interface.\r\n */\r\n export interface ProductProperty {\r\n ValueString?: string;\r\n UnitText?: string;\r\n PropertyTypeValue?: number;\r\n KeyName?: string;\r\n FriendlyName?: string;\r\n RecordId?: number;\r\n IsDimensionProperty?: boolean;\r\n AttributeValueId?: number;\r\n SwatchImageUrl?: string;\r\n SwatchColorHexCode?: string;\r\n GroupId?: number;\r\n GroupTypeValue?: number;\r\n GroupName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n ProductId?: number;\r\n CatalogId?: number;\r\n }\r\n \r\n /**\r\n * ProductCompositionInformation entity interface.\r\n */\r\n export interface ProductCompositionInformation {\r\n VariantInformation?: ProductVariantInformation;\r\n KitDefinition?: KitDefinition;\r\n }\r\n \r\n /**\r\n * ProductVariantInformation entity interface.\r\n */\r\n export interface ProductVariantInformation {\r\n ActiveVariantProductId: number;\r\n Variants?: ProductVariant[];\r\n Dimensions?: ProductDimensionSet[];\r\n ItemId?: string;\r\n MasterProductId?: number;\r\n }\r\n \r\n /**\r\n * ProductChangeTrackingInformation entity interface.\r\n */\r\n export interface ProductChangeTrackingInformation {\r\n ModifiedDateTime: Date;\r\n ChangeActionValue?: number;\r\n RequestedActionValue?: number;\r\n }\r\n \r\n /**\r\n * ProductDimensionSet entity interface.\r\n */\r\n export interface ProductDimensionSet {\r\n DimensionKey?: string;\r\n DimensionValues?: ProductDimensionValueSet[];\r\n }\r\n \r\n /**\r\n * ProductDimensionValueSet entity interface.\r\n */\r\n export interface ProductDimensionValueSet {\r\n DimensionId?: string;\r\n DimensionValue?: string;\r\n VariantSet?: number[];\r\n SwatchImageUrl?: string;\r\n SwatchColorHexCode?: string;\r\n SwatchRefinerGroupValue?: string;\r\n SwatchRefinerGroupTranslation?: string;\r\n SwatchRefinerGroupImageUrl?: string;\r\n SwatchRefinerGroupColorHexCode?: string;\r\n }\r\n \r\n /**\r\n * RichMediaLocations entity interface.\r\n */\r\n export interface RichMediaLocations {\r\n Items?: RichMediaLocationsRichMediaLocation[];\r\n }\r\n \r\n /**\r\n * RichMediaLocationsRichMediaLocation entity interface.\r\n */\r\n export interface RichMediaLocationsRichMediaLocation {\r\n Url?: string;\r\n AltText?: string;\r\n IsSelfHosted?: boolean;\r\n IsDefault?: boolean;\r\n }\r\n \r\n /**\r\n * KitDefinition entity interface.\r\n */\r\n export interface KitDefinition {\r\n DisassembleAtRegister: boolean;\r\n KitLineDefinitions?: KitLineDefinition[];\r\n KitLineProductToVariantMap?: ComponentKitVariantSet[];\r\n KitVariantToComponentMap?: KitVariantContent[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ComponentKitVariantSet entity interface.\r\n */\r\n export interface ComponentKitVariantSet {\r\n KitLineProductId: number;\r\n KitVariantIdList?: number[];\r\n }\r\n \r\n /**\r\n * KitLineDefinition entity interface.\r\n */\r\n export interface KitLineDefinition {\r\n ComponentProductId: number;\r\n KitLineIdentifier: number;\r\n SubstituteProductIds?: number[];\r\n ComponentProperties?: KitLineProductProperty[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * KitLineProductProperty entity interface.\r\n */\r\n export interface KitLineProductProperty {\r\n KitLineIdentifier: number;\r\n ProductId: number;\r\n Unit?: string;\r\n Quantity: number;\r\n Charge: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * KitComponentKey entity interface.\r\n */\r\n export interface KitComponentKey {\r\n KitLineIdentifier: number;\r\n DistinctProductId: number;\r\n }\r\n \r\n /**\r\n * KitVariantContent entity interface.\r\n */\r\n export interface KitVariantContent {\r\n KitVariantId: number;\r\n KitComponentKeyList?: KitComponentKey[];\r\n }\r\n \r\n /**\r\n * ProductLookupClause entity interface.\r\n */\r\n export interface ProductLookupClause {\r\n ItemId?: string;\r\n InventDimensionId?: string;\r\n Barcode?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductAssortmentInterval entity interface.\r\n */\r\n export interface ProductAssortmentInterval {\r\n ProductId?: number;\r\n ValidFrom?: Date;\r\n ValidTo?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnitLocation entity interface.\r\n */\r\n export interface OrgUnitLocation {\r\n Contacts?: OrgUnitContact[];\r\n ChannelId?: number;\r\n Latitude?: number;\r\n Longitude?: number;\r\n OrgUnitName?: string;\r\n OrgUnitNumber?: string;\r\n Address?: string;\r\n Street?: string;\r\n StreetNumber?: string;\r\n City?: string;\r\n DistrictName?: string;\r\n BuildingCompliment?: string;\r\n Postbox?: string;\r\n Zip?: string;\r\n County?: string;\r\n CountyName?: string;\r\n State?: string;\r\n StateName?: string;\r\n Country?: string;\r\n Distance?: number;\r\n InventoryLocationId?: string;\r\n InventorySiteId?: string;\r\n PostalAddressId?: number;\r\n OpenFrom?: number;\r\n OpenTo?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnitContact entity interface.\r\n */\r\n export interface OrgUnitContact {\r\n ChannelId: number;\r\n Locator?: string;\r\n LocatorExtension?: string;\r\n ContactTypeValue: number;\r\n IsPrimary: boolean;\r\n IsPrivate: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SalesLineDeliveryOption entity interface.\r\n */\r\n export interface SalesLineDeliveryOption {\r\n SalesLineId?: string;\r\n DeliveryOptions?: DeliveryOption[];\r\n }\r\n \r\n /**\r\n * DeliveryOption entity interface.\r\n */\r\n export interface DeliveryOption {\r\n ChargeGroup?: string;\r\n Code?: string;\r\n Description?: string;\r\n RecordId: number;\r\n DeliveryChargeLines?: DeliveryChargeLine[];\r\n TotalChargeAmount?: number;\r\n ShippingChargeAmount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelDeliveryOption entity interface.\r\n */\r\n export interface ChannelDeliveryOption {\r\n ChannelId: number;\r\n DeliveryOptions?: DeliveryOption[];\r\n }\r\n \r\n /**\r\n * ChannelIdentity entity interface.\r\n */\r\n export interface ChannelIdentity {\r\n ChannelType: ExtensibleRetailChannelType;\r\n Name?: string;\r\n OperatingUnitNumber?: string;\r\n DataAreaId?: string;\r\n RecordId: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ExtensibleRetailChannelType entity interface.\r\n */\r\n export interface ExtensibleRetailChannelType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ChannelProfileProperty entity interface.\r\n */\r\n export interface ChannelProfileProperty {\r\n Key: number;\r\n Value?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelConfiguration entity interface.\r\n */\r\n export interface ChannelConfiguration {\r\n RecordId: number;\r\n ChannelNaturalId?: string;\r\n MinimumDepositPercentage: number;\r\n QuoteExpirationDays: number;\r\n PickupDeliveryModeCode?: string;\r\n CarryoutDeliveryModeCode?: string;\r\n CancellationChargePercentage: number;\r\n InventLocation?: string;\r\n InventLocationDataAreaId?: string;\r\n BingMapsApiKey?: string;\r\n BingMapsEnabled: boolean;\r\n Currency?: string;\r\n CatalogDefaultImageTemplate?: string;\r\n CompanyCurrency?: string;\r\n PriceIncludesSalesTax: boolean;\r\n CountryRegionId?: string;\r\n ChannelCountryRegionISOCode?: string;\r\n DefaultLanguageId?: string;\r\n TimeZoneInfoId?: string;\r\n EmailDeliveryModeCode?: string;\r\n GiftCardItemId?: string;\r\n EnableProductRecommendations: boolean;\r\n RefundableShippingAmountWithoutApproval: number;\r\n RefundShippingCharges: boolean;\r\n ReceiptSettingsValue: number;\r\n CustomerAttributeGroupId: number;\r\n ClientBookAttributeGroupId: number;\r\n NotificationRefreshInterval: number;\r\n AllowExchangeOnReturnOrders?: boolean;\r\n FiscalRegistrationProcessId?: string;\r\n IsInventoryAutomaticValidationEnabled: boolean;\r\n ProfileProperties?: ChannelProfileProperty[];\r\n Properties?: ChannelProperty[];\r\n Languages?: ChannelLanguage[];\r\n UseAdvancedAutoCharges?: boolean;\r\n UseRTSForOnlineOrderCreation?: boolean;\r\n IsWarrantyAutoPromptEnabled?: boolean;\r\n EnableProductRatingsForRetailStores?: boolean;\r\n EnableFetchingPickingListsForPickingAndReceiving?: boolean;\r\n EnableReturnsForMultipleOrderInvoices?: boolean;\r\n EnableAnonymousOrderLookupByChannelReferenceId?: boolean;\r\n VoidSuspendedTransactionsOnCloseShift?: number;\r\n EnableOmniChannelPayments?: boolean;\r\n UseAdvancedCashManagement?: boolean;\r\n EnableFiscalRegistrationStorageBackup?: boolean;\r\n UseSalesReceiptAsDefaultReceiptTypeInJournal?: boolean;\r\n SalesOrderHeaderAttributeGroups?: number[];\r\n SalesOrderLinesAttributeGroups?: number[];\r\n CustomerAddressBooks?: StoreAddressBook[];\r\n EnableReturnPolicies?: boolean;\r\n InventAvailabilityCalculationMode?: string;\r\n IsPriceInclusiveTaxExemptCalculationEnabled?: boolean;\r\n EnableValidationOfSerialNumbersForInStoreReturns?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelProperty entity interface.\r\n */\r\n export interface ChannelProperty {\r\n Name?: string;\r\n Value?: string;\r\n Channel?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelLanguage entity interface.\r\n */\r\n export interface ChannelLanguage {\r\n LanguageId?: string;\r\n IsDefault: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelDeliveryOptionConfiguration entity interface.\r\n */\r\n export interface ChannelDeliveryOptionConfiguration {\r\n PickupDeliveryModeCodes?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * NonSalesTransaction entity interface.\r\n */\r\n export interface NonSalesTransaction extends Transaction {\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n Amount?: number;\r\n ForeignCurrency?: string;\r\n OpenDrawer?: boolean;\r\n DenominationDetails?: DenominationDetail[];\r\n }\r\n \r\n /**\r\n * DropAndDeclareTransaction entity interface.\r\n */\r\n export interface DropAndDeclareTransaction extends Transaction {\r\n TenderDetails?: TenderDetail[];\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n OpenDrawer?: boolean;\r\n }\r\n \r\n /**\r\n * ProductSearchCriteria entity interface.\r\n */\r\n export interface ProductSearchCriteria {\r\n Ids?: number[];\r\n CategoryIds?: number[];\r\n IncludeProductsFromDescendantCategories?: boolean;\r\n SearchCondition?: string;\r\n SkipVariantExpansion?: boolean;\r\n IncludeAttributes?: boolean;\r\n Barcodes?: string[];\r\n ItemIds?: ProductLookupClause[];\r\n Refinement?: ProductRefinerValue[];\r\n CustomerAccountNumber?: string;\r\n RecommendationListId?: string;\r\n DownloadProductData?: boolean;\r\n Context?: ProjectionDomain;\r\n Language?: string;\r\n IsOnline?: boolean;\r\n DataLevelValue?: number;\r\n }\r\n \r\n /**\r\n * ChangedProductsSearchCriteria entity interface.\r\n */\r\n export interface ChangedProductsSearchCriteria {\r\n SynchronizationToken?: string;\r\n Context?: ProjectionDomain;\r\n AsListings?: boolean;\r\n Session?: ReadChangedProductsSession;\r\n DataLevelValue?: number;\r\n }\r\n \r\n /**\r\n * EmployeeActivitySearchCriteria entity interface.\r\n */\r\n export interface EmployeeActivitySearchCriteria {\r\n FromDateTimeOffset?: Date;\r\n ToDateTimeOffset?: Date;\r\n StoreNumber?: string;\r\n EmployeeActivityTypeValues?: number[];\r\n DataLevelValue?: number;\r\n }\r\n \r\n /**\r\n * SearchSuggestionCriteria entity interface.\r\n */\r\n export interface SearchSuggestionCriteria {\r\n ProductSearchCriteria?: ProductSearchCriteria;\r\n CustomerSearchCriteria?: CustomerSearchCriteria;\r\n SuggestionType?: string;\r\n HitPrefix?: string;\r\n HitSuffix?: string;\r\n }\r\n \r\n /**\r\n * CartLineDeliveryPreference entity interface.\r\n */\r\n export interface CartLineDeliveryPreference {\r\n LineId?: string;\r\n DeliveryPreferenceTypeValues?: number[];\r\n }\r\n \r\n /**\r\n * CartLinePromotion entity interface.\r\n */\r\n export interface CartLinePromotion {\r\n LineId?: string;\r\n Promotions?: string[];\r\n }\r\n \r\n /**\r\n * ProductVariant entity interface.\r\n */\r\n export interface ProductVariant {\r\n ItemId?: string;\r\n MasterProductId: number;\r\n InventoryDimensionId?: string;\r\n AdjustedPrice: number;\r\n BasePrice: number;\r\n Price: number;\r\n Color?: string;\r\n Style?: string;\r\n Size?: string;\r\n Configuration?: string;\r\n ColorId?: string;\r\n StyleId?: string;\r\n SizeId?: string;\r\n ConfigId?: string;\r\n VariantId?: string;\r\n Images?: RichMediaLocations[];\r\n DistinctProductVariantId?: number;\r\n ProductNumber?: string;\r\n PropertiesAsList?: ProductPropertyTranslation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareProfilePrinter entity interface.\r\n */\r\n export interface HardwareProfilePrinter {\r\n ProfileId?: string;\r\n DeviceTypeValue?: number;\r\n DeviceName?: string;\r\n DeviceMake?: string;\r\n DeviceModel?: string;\r\n DeviceDescription?: string;\r\n CharacterSet?: number;\r\n ReceiptProfileId?: string;\r\n BinaryConversion?: boolean;\r\n DocInsertRemovalTimeout?: number;\r\n Logo?: string;\r\n LogoAlignment?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareProfileScanner entity interface.\r\n */\r\n export interface HardwareProfileScanner {\r\n ProfileId?: string;\r\n DeviceTypeValue?: number;\r\n DeviceName?: string;\r\n DeviceDescription?: string;\r\n DecodeData?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareProfileCashDrawer entity interface.\r\n */\r\n export interface HardwareProfileCashDrawer {\r\n ProfileId?: string;\r\n DeviceTypeValue?: number;\r\n DeviceName?: string;\r\n DeviceDescription?: string;\r\n DeviceMake?: string;\r\n DeviceModel?: string;\r\n IsSharedShiftDrawer?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TillLayout entity interface.\r\n */\r\n export interface TillLayout {\r\n CashChangerLayoutXml?: string;\r\n CustomerLayoutId?: string;\r\n CustomerLayoutXml?: string;\r\n Height?: number;\r\n LayoutId?: string;\r\n LayoutTypeValue?: number;\r\n LayoutXml?: string;\r\n LayoutXmlPortrait?: string;\r\n Name?: string;\r\n ReceiptId?: string;\r\n ReceiptItemsLayoutXml?: string;\r\n ReceiptPaymentLayoutXml?: string;\r\n TotalId?: string;\r\n TotalsLayoutXml?: string;\r\n Width?: number;\r\n RecordId?: number;\r\n StartScreen?: number;\r\n ButtonGridZones?: ButtonGridZone[];\r\n ImageZones?: ImageZone[];\r\n ReportZones?: ReportZone[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SalesInvoice entity interface.\r\n */\r\n export interface SalesInvoice {\r\n RecordId?: number;\r\n ChannelId?: number;\r\n Id?: string;\r\n SalesId?: string;\r\n SalesType?: string;\r\n InvoiceDate?: Date;\r\n DueDate?: Date;\r\n CurrencyCode?: string;\r\n InvoiceSubtotal?: number;\r\n TotalCharges?: number;\r\n TotalTaxAmount?: number;\r\n TotalLineDiscount?: number;\r\n TotalDiscount?: number;\r\n Amount?: number;\r\n AmountPaid?: number;\r\n AmountBalance?: number;\r\n Account?: string;\r\n Name?: string;\r\n TotalManualDiscountPercentage?: number;\r\n TotalManualDiscountAmount?: number;\r\n SalesInvoiceLine?: SalesInvoiceLine[];\r\n ChargeLines?: ChargeLine[];\r\n TenderLines?: TenderLine[];\r\n DeliveryModeChargeAmount?: number;\r\n OrderAccount?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrderInvoice entity interface.\r\n */\r\n export interface OrderInvoice {\r\n Id?: string;\r\n CustomerAccountNumber?: string;\r\n CustomerName?: string;\r\n InvoiceDate?: Date;\r\n TotalAmount?: number;\r\n AmountPaid?: number;\r\n AmountBalance?: number;\r\n InvoiceTypeValue?: number;\r\n CurrencyCode?: string;\r\n InvoiceDueDate?: Date;\r\n InvoicePaidStatusValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TaxOverride entity interface.\r\n */\r\n export interface TaxOverride {\r\n Code?: string;\r\n SourceTaxGroup?: string;\r\n DestinationTaxGroup?: string;\r\n SourceItemTaxGroup?: string;\r\n DestinationItemTaxGroup?: string;\r\n ChannelId?: number;\r\n AdditionalDescription?: string;\r\n Status?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TenderType entity interface.\r\n */\r\n export interface TenderType {\r\n Function: number;\r\n TenderTypeId?: string;\r\n Name?: string;\r\n OperationId?: number;\r\n OperationName?: string;\r\n ChangeTenderTypeId?: string;\r\n AboveMinimumChangeAmount?: number;\r\n AboveMinimumChangeTenderTypeId?: string;\r\n OpenDrawer?: boolean;\r\n UseSignatureCaptureDevice?: boolean;\r\n MinimumSignatureCaptureAmount?: number;\r\n IsOvertenderAllowed?: boolean;\r\n IsUndertenderAllowed?: boolean;\r\n MaximumOvertenderAmount?: number;\r\n MaximumUndertenderAmount?: number;\r\n MaximumAmountPerTransaction?: number;\r\n MaximumAmountPerLine?: number;\r\n MinimumAmountPerTransaction?: number;\r\n MinimumAmountPerLine?: number;\r\n RoundOff?: number;\r\n CountingRequired?: number;\r\n TakenToBank?: number;\r\n TakenToSafe?: number;\r\n ConnectorId?: string;\r\n GiftCardItem?: string;\r\n GiftCardCashoutOutThreshold?: number;\r\n ChangeLineOnReceipt?: string;\r\n HideCardInputDetails?: boolean;\r\n CashDrawerLimitEnabled?: boolean;\r\n CashDrawerLimit?: number;\r\n RestrictReturnsWithoutReceipt?: boolean;\r\n HasTenderDiscount?: boolean;\r\n DefaultCardTypeId?: string;\r\n UseForDeclareStartAmount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReasonCode entity interface.\r\n */\r\n export interface ReasonCode {\r\n InputRequired: boolean;\r\n LinkedReasonCodeId?: string;\r\n MaximumLength: number;\r\n MaximumValue: number;\r\n MinimumLength: number;\r\n MinimumValue: number;\r\n OncePerTransaction: boolean;\r\n PrintInputNameOnReceipt: boolean;\r\n PrintInputToReceipt: boolean;\r\n PrintPromptToReceipt: boolean;\r\n Prompt?: string;\r\n RandomFactor: number;\r\n RetailUseReasonCode: boolean;\r\n ReasonCodeId?: string;\r\n Description?: string;\r\n InputTypeValue?: number;\r\n ActivityValue?: number;\r\n IsMultiLineText?: boolean;\r\n ReasonSubCodes?: ReasonSubCode[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReportDataSet entity interface.\r\n */\r\n export interface ReportDataSet {\r\n ReportId?: string;\r\n Parameters?: CommerceProperty[];\r\n Locale?: string;\r\n Output?: ReportRow[];\r\n HasTotalRow?: boolean;\r\n HasDisclaimer?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ZipCodeInfo entity interface.\r\n */\r\n export interface ZipCodeInfo {\r\n ZipPostalCode?: string;\r\n StreetName?: string;\r\n TimeZone?: number;\r\n CountryRegionId?: string;\r\n StateId?: string;\r\n CountyId?: string;\r\n CityName?: string;\r\n CityAlias?: string;\r\n District?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReasonCodeRequirement entity interface.\r\n */\r\n export interface ReasonCodeRequirement {\r\n ReasonCodeId?: string;\r\n SourceId?: string;\r\n TableRefTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * QueryResultSettings entity interface.\r\n */\r\n export interface QueryResultSettings {\r\n Paging?: PagingInfo;\r\n Sorting?: SortingInfo;\r\n }\r\n \r\n /**\r\n * SortingInfo entity interface.\r\n */\r\n export interface SortingInfo {\r\n Columns?: SortColumn[];\r\n }\r\n \r\n /**\r\n * SortColumn entity interface.\r\n */\r\n export interface SortColumn {\r\n ColumnName?: string;\r\n IsDescending?: boolean;\r\n }\r\n \r\n /**\r\n * PagingInfo entity interface.\r\n */\r\n export interface PagingInfo {\r\n NextPageToken?: string;\r\n Top?: number;\r\n Skip?: number;\r\n }\r\n \r\n /**\r\n * ProductPropertyTranslation entity interface.\r\n */\r\n export interface ProductPropertyTranslation {\r\n TranslationLanguage?: string;\r\n TranslatedProperties?: ProductProperty[];\r\n }\r\n \r\n /**\r\n * NumberSequenceSeedData entity interface.\r\n */\r\n export interface NumberSequenceSeedData {\r\n DataTypeValue?: number;\r\n DataValue?: number;\r\n LastTransactionDataValue?: number;\r\n LastTransactionCreatedDateTime?: Date;\r\n LastTransactionId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReceiptNumberResetInfo entity interface.\r\n */\r\n export interface ReceiptNumberResetInfo {\r\n ValidFrom?: Date;\r\n ValidTo?: Date;\r\n ResetDate?: Date;\r\n TypeValue?: number;\r\n Enabled?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DeviceActivationResult entity interface.\r\n */\r\n export interface DeviceActivationResult {\r\n Device?: Device;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PurchaseHistory entity interface.\r\n */\r\n export interface PurchaseHistory {\r\n DatePurchased?: Date;\r\n ImageUrl?: string;\r\n ItemId?: string;\r\n ProductId?: number;\r\n ProductName?: string;\r\n ReceiptId?: string;\r\n SalesId?: string;\r\n ChannelId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Node entity interface.\r\n */\r\n export interface Node {\r\n ParentScopeId?: string;\r\n ParentSequence?: number;\r\n Id?: string;\r\n Sequence?: number;\r\n Description?: string;\r\n ScreenshotUri?: string;\r\n }\r\n \r\n /**\r\n * Line entity interface.\r\n */\r\n export interface Line {\r\n ChildrenIds?: number[];\r\n Id?: number;\r\n Name?: string;\r\n Description?: string;\r\n IsLinked?: boolean;\r\n LineMetadataId?: number;\r\n Artifacts?: ArtifactSummary[];\r\n MetadataPropertyValues?: MetadataPropertyValue[];\r\n }\r\n \r\n /**\r\n * MetadataText entity interface.\r\n */\r\n export interface MetadataText {\r\n Id?: string;\r\n Text?: string;\r\n }\r\n \r\n /**\r\n * MetadataHypertextLink entity interface.\r\n */\r\n export interface MetadataHypertextLink {\r\n Id?: string;\r\n DisplayName?: string;\r\n Url?: string;\r\n }\r\n \r\n /**\r\n * Scope entity interface.\r\n */\r\n export interface Scope extends Node {\r\n Name?: string;\r\n ScopeTypeValue: number;\r\n Children?: Node[];\r\n ActiveCount: number;\r\n IsForm?: boolean;\r\n }\r\n \r\n /**\r\n * Framework entity interface.\r\n */\r\n export interface Framework {\r\n Lines?: Line[];\r\n Id?: number;\r\n Name?: string;\r\n Access?: string;\r\n Hierarchy?: Line[];\r\n Publisher?: string;\r\n }\r\n \r\n /**\r\n * UserAction entity interface.\r\n */\r\n export interface UserAction extends Node {\r\n SystemGenerated?: boolean;\r\n GlobalId?: string;\r\n Annotations?: Annotation[];\r\n }\r\n \r\n /**\r\n * TaskUserAction entity interface.\r\n */\r\n export interface TaskUserAction extends UserAction {\r\n UserActionTypeValue: number;\r\n Name?: string;\r\n Comment?: string;\r\n TaskId?: string;\r\n }\r\n \r\n /**\r\n * FormUserAction entity interface.\r\n */\r\n export interface FormUserAction extends UserAction {\r\n FormId?: string;\r\n ControlLabel?: string;\r\n }\r\n \r\n /**\r\n * CommandUserAction entity interface.\r\n */\r\n export interface CommandUserAction extends FormUserAction {\r\n ReturnTypeValue: number;\r\n CommandName?: string;\r\n ControlName?: string;\r\n ControlType?: string;\r\n Arguments?: CommandArgument[];\r\n LabelId?: string;\r\n ReturnValue?: string;\r\n }\r\n \r\n /**\r\n * Annotation entity interface.\r\n */\r\n export interface Annotation {\r\n Description?: string;\r\n }\r\n \r\n /**\r\n * Recording entity interface.\r\n */\r\n export interface Recording {\r\n Scopes?: Scope[];\r\n FormContextEntries?: FormContextDictionaryEntry[];\r\n RootScope?: Scope;\r\n Name?: string;\r\n Description?: string;\r\n }\r\n \r\n /**\r\n * FormContextDictionaryEntry entity interface.\r\n */\r\n export interface FormContextDictionaryEntry {\r\n FormId?: string;\r\n FormContext?: FormContext;\r\n }\r\n \r\n /**\r\n * ProductVariantResolutionContext entity interface.\r\n */\r\n export interface ProductVariantResolutionContext {\r\n }\r\n \r\n /**\r\n * ProductVariantResolutionOnKitSelectionContext entity interface.\r\n */\r\n export interface ProductVariantResolutionOnKitSelectionContext extends ProductVariantResolutionContext {\r\n SelectedComponents?: ComponentInSlotRelation[];\r\n SlotId?: number;\r\n }\r\n \r\n /**\r\n * WarehouseLocation entity interface.\r\n */\r\n export interface WarehouseLocation {\r\n LocationId?: string;\r\n IsLicensePlateControlled: boolean;\r\n ProfileId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalTransaction entity interface.\r\n */\r\n export interface FiscalTransaction {\r\n CreatedDateTime?: Date;\r\n StoreId?: string;\r\n TerminalId?: string;\r\n TransactionId?: string;\r\n TransDateTime?: Date;\r\n LineNumber?: number;\r\n RegisterResponse?: string;\r\n ReceiptCopy?: boolean;\r\n RecordGUID?: string;\r\n RegisterStoreId?: string;\r\n RegisterTerminalId?: string;\r\n StaffId?: string;\r\n RegistrationStatusValue?: number;\r\n RegistrationProcessId?: string;\r\n ConnectorGroup?: string;\r\n ConnectorName?: string;\r\n ConnectorFunctionalityProfileId?: string;\r\n RegisterInfo?: string;\r\n DocumentNumber?: string;\r\n RegistrationTypeValue?: number;\r\n ServiceName?: string;\r\n CountryRegionIsoCode?: string;\r\n TenderLineAdjustments?: FiscalTransactionTenderLineAdjustment[];\r\n SalesLineAdjustments?: FiscalTransactionSalesLineAdjustment[];\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FulfillmentLine entity interface.\r\n */\r\n export interface FulfillmentLine {\r\n SalesId?: string;\r\n SalesPersonStoreId?: string;\r\n SalesPersonId?: string;\r\n SalesPersonFirstName?: string;\r\n SalesPersonLastName?: string;\r\n SalesLineNumber?: number;\r\n ReceiptId?: string;\r\n ChannelReferenceId?: string;\r\n CustomerId?: string;\r\n CustomerName?: string;\r\n EmailAddress?: string;\r\n DeliveryModeCode?: string;\r\n DocumentStatusValue?: number;\r\n FulfillmentDeliveryType?: FulfillmentLineDeliveryType;\r\n DeliveryTypeValue?: number;\r\n QuantityOrdered?: number;\r\n QuantityNotProcessed?: number;\r\n QuantityReserved?: number;\r\n QuantityPicked?: number;\r\n QuantityPacked?: number;\r\n QuantityInvoiced?: number;\r\n StoreInventoryTotalQuantity?: number;\r\n StoreInventoryReservedQuantity?: number;\r\n StoreInventoryOrderedQuantity?: number;\r\n ItemId?: string;\r\n ProductId?: number;\r\n ProductVariant?: string;\r\n ItemName?: string;\r\n SerialNumber?: string;\r\n FulfillmentStatus?: FulfillmentLineStatus;\r\n FulfillmentStatusValue?: number;\r\n UnitOfMeasureSymbol?: string;\r\n RequestedShipDate?: Date;\r\n RequestedDeliveryDate?: Date;\r\n RequestedReceiptDate?: Date;\r\n PickupTimeslotStartDateTime?: Date;\r\n PickupTimeslotEndDateTime?: Date;\r\n CreatedDate?: Date;\r\n TotalAmount?: number;\r\n Balance?: number;\r\n ShippingAddress?: Address;\r\n DetailedOrderStatusValue?: number;\r\n DetailedLineStatusValue?: number;\r\n ChannelTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FulfillmentLineSearchCriteria entity interface.\r\n */\r\n export interface FulfillmentLineSearchCriteria {\r\n CustomerId?: string;\r\n CustomerName?: string;\r\n EmailAddress?: string;\r\n SalesId?: string;\r\n OrderCreatedStartDate?: Date;\r\n OrderCreatedEndDate?: Date;\r\n ReceiptId?: string;\r\n StoreId?: string;\r\n ChannelReferenceId?: string;\r\n RequestedReceiptStartDate?: Date;\r\n RequestedReceiptEndDate?: Date;\r\n RequestedDeliveryStartDate?: Date;\r\n RequestedDeliveryEndDate?: Date;\r\n FulfillmentStatusValues?: number[];\r\n DeliveryModeCode?: string;\r\n WarehouseId?: string;\r\n LoyaltyCardNumber?: string;\r\n CustomerPhoneNumber?: string;\r\n DeliveryTypeValue?: number;\r\n CustomFilters?: SearchFilter[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Comment entity interface.\r\n */\r\n export interface Comment {\r\n RecordId?: number;\r\n AuthorStaffId?: string;\r\n AuthorName?: string;\r\n Text?: string;\r\n CreatedDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AddressPurpose entity interface.\r\n */\r\n export interface AddressPurpose {\r\n RecordId: number;\r\n AddressType: number;\r\n Name?: string;\r\n Description?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DeliveryChargeLine entity interface.\r\n */\r\n export interface DeliveryChargeLine {\r\n ChargeCode?: string;\r\n CurrencyCode?: string;\r\n CalculatedAmount: number;\r\n Description?: string;\r\n IsRefundable: boolean;\r\n IsShipping: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ExtensionPackageDefinition entity interface.\r\n */\r\n export interface ExtensionPackageDefinition {\r\n Name?: string;\r\n Publisher?: string;\r\n IsEnabled: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReturnPolicy entity interface.\r\n */\r\n export interface ReturnPolicy {\r\n RecordId: number;\r\n TenderTypePolicies?: TenderTypePolicy[];\r\n IsManagerOverrideEnabled: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TenderTypeAmount entity interface.\r\n */\r\n export interface TenderTypeAmount {\r\n TenderTypeId?: string;\r\n Amount: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FeatureState entity interface.\r\n */\r\n export interface FeatureState {\r\n Name?: string;\r\n IsEnabled?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Warranty entity interface.\r\n */\r\n export interface Warranty extends SimpleProduct {\r\n DurationUnitValue?: number;\r\n Duration?: number;\r\n ApplicablePriceRangeBaseTypeValue?: number;\r\n ApplicablePriceRangeMin?: number;\r\n ApplicablePriceRangeMax?: number;\r\n }\r\n \r\n /**\r\n * RecallInvoicedSalesLineLookup entity interface.\r\n */\r\n export interface RecallInvoicedSalesLineLookup {\r\n InvoicedLineId: number;\r\n Quantity: number;\r\n SerialNumber?: string;\r\n IgnoreSerialNumberMismatch: boolean;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * WarrantyGroup entity interface.\r\n */\r\n export interface WarrantyGroup {\r\n Warranties?: Warranty[];\r\n RecordId?: number;\r\n GroupName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductWarrantiesMapping entity interface.\r\n */\r\n export interface ProductWarrantiesMapping {\r\n WarrantyGroups?: WarrantyGroup[];\r\n WarrantableProductId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FulfillmentLineContextualOperationsMap entity interface.\r\n */\r\n export interface FulfillmentLineContextualOperationsMap {\r\n FulfillmentLine?: FulfillmentLine;\r\n ApplicableOperationsValues?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * UserAlert entity interface.\r\n */\r\n export interface UserAlert {\r\n AlertSourceIdValue?: number;\r\n LocalizedMessage?: string;\r\n IsBlocking?: boolean;\r\n }\r\n \r\n /**\r\n * CartLineUserAlerts entity interface.\r\n */\r\n export interface CartLineUserAlerts {\r\n LineIndex?: number;\r\n LineNumber?: number;\r\n UserAlerts?: UserAlert[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FulfillmentLineUserAlerts entity interface.\r\n */\r\n export interface FulfillmentLineUserAlerts {\r\n SalesId?: string;\r\n SalesLineNumber?: number;\r\n UserAlerts?: UserAlert[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * BusinessPartnerProspect entity interface.\r\n */\r\n export interface BusinessPartnerProspect {\r\n FirstName?: string;\r\n LastName?: string;\r\n CompanyName?: string;\r\n Address?: Address;\r\n JobTitle?: string;\r\n Department?: string;\r\n CompanySize?: number;\r\n Comments?: string;\r\n LastOperationId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelSearchCriteria entity interface.\r\n */\r\n export interface ChannelSearchCriteria {\r\n SearchLocationValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * BusinessPartnerOperation entity interface.\r\n */\r\n export interface BusinessPartnerOperation {\r\n TypeValue?: number;\r\n StatusValue?: number;\r\n Value?: string;\r\n Description?: string;\r\n CreatedDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * BusinessPartnerOperationRequest entity interface.\r\n */\r\n export interface BusinessPartnerOperationRequest {\r\n TypeValue?: number;\r\n StatusValue?: number;\r\n CreatedDateTime?: Date;\r\n Details?: BusinessPartnerOperationRequestDetails;\r\n UserId?: string;\r\n UserFirstName?: string;\r\n UserLastName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReceiptTypesByFormatType entity interface.\r\n */\r\n export interface ReceiptTypesByFormatType {\r\n ReceiptOutputFormatType?: ReceiptOutputFormatType;\r\n ReceiptTypesValues?: number[];\r\n }\r\n \r\n /**\r\n * InventoryJournalNameSearchCriteria entity interface.\r\n */\r\n export interface InventoryJournalNameSearchCriteria {\r\n JournalNameIds?: string[];\r\n DocumentTypeValues?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AssortedProductIdentity entity interface.\r\n */\r\n export interface AssortedProductIdentity {\r\n ProductId?: number;\r\n IsRemoteProduct?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductExistenceId entity interface.\r\n */\r\n export interface ProductExistenceId {\r\n ProductId?: number;\r\n LanguageId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductExistenceCriteria entity interface.\r\n */\r\n export interface ProductExistenceCriteria {\r\n ChannelId?: number;\r\n CatalogId?: number;\r\n Ids?: ProductExistenceId[];\r\n }\r\n \r\n /**\r\n * ChecklistTask entity interface.\r\n */\r\n export interface ChecklistTask {\r\n Version?: string;\r\n InstructionsVersion?: string;\r\n AssignedToPersonnelNumbers?: string[];\r\n AssignedToExternalSubId?: string;\r\n Id?: string;\r\n Name?: string;\r\n Description?: string;\r\n DueDateTime?: Date;\r\n DeepLinkTypeValue?: number;\r\n DeepLink?: string;\r\n DeepLinkPosOperationName?: string;\r\n ContactPersonPersonnelNumber?: string;\r\n Instructions?: string;\r\n StatusValue?: number;\r\n CompletionDateTime?: Date;\r\n ResolvedByPersonnelNumber?: string;\r\n ChecklistId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * MediaLocation entity interface.\r\n */\r\n export interface MediaLocation {\r\n Uri?: string;\r\n AltText?: string;\r\n IsDefault?: boolean;\r\n IsSelfHosted?: boolean;\r\n Priority?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * EmployeeActivity entity interface.\r\n */\r\n export interface EmployeeActivity {\r\n StaffId?: string;\r\n StaffName?: string;\r\n Activity?: string;\r\n ActivityDateTimeOffset?: Date;\r\n StoreNumber?: string;\r\n EmployeeActivityTypeValue?: number;\r\n BreakCategory?: string;\r\n RecordId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerRefiner entity interface.\r\n */\r\n export interface CustomerRefiner extends SearchRefiner {\r\n SourceValue?: number;\r\n Values?: CustomerRefinerValue[];\r\n }\r\n \r\n /**\r\n * TokenizedPaymentCard entity interface.\r\n */\r\n export interface TokenizedPaymentCard {\r\n IsSwipe?: boolean;\r\n TenderType?: string;\r\n CardTokenInfo?: CardTokenInfo;\r\n Phone?: string;\r\n Country?: string;\r\n House?: string;\r\n Address1?: string;\r\n Address2?: string;\r\n City?: string;\r\n State?: string;\r\n Zip?: string;\r\n NameOnCard?: string;\r\n CardTypeId?: string;\r\n ExpirationMonth?: number;\r\n ExpirationYear?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductDimensionAvailabilitySearchCriteria entity interface.\r\n */\r\n export interface ProductDimensionAvailabilitySearchCriteria {\r\n RequestedDimensionTypeValue?: number;\r\n MatchingDimensionValues?: ProductDimension[];\r\n DefaultWarehouseOnly?: boolean;\r\n FilterByChannelFulfillmentGroup?: boolean;\r\n DeliveryModeTypeFilterValue?: number;\r\n }\r\n \r\n /**\r\n * LineShippingAddress entity interface.\r\n */\r\n export interface LineShippingAddress {\r\n LineId?: string;\r\n ShippingAddress?: Address;\r\n }\r\n \r\n /**\r\n * CartDeliveryPreferences entity interface.\r\n */\r\n export interface CartDeliveryPreferences {\r\n HeaderDeliveryPreferenceTypeValues?: number[];\r\n CartLineDeliveryPreferences?: CartLineDeliveryPreference[];\r\n }\r\n \r\n /**\r\n * LineDeliverySpecification entity interface.\r\n */\r\n export interface LineDeliverySpecification {\r\n LineId?: string;\r\n DeliverySpecification?: DeliverySpecification;\r\n }\r\n \r\n /**\r\n * DeliverySpecification entity interface.\r\n */\r\n export interface DeliverySpecification {\r\n DeliveryModeId?: string;\r\n DeliveryPreferenceTypeValue?: number;\r\n DeliveryAddress?: Address;\r\n RequestedDeliveryDate?: Date;\r\n PickUpStoreId?: string;\r\n PickupTimeslotStartDateTime?: Date;\r\n PickupTimeslotEndDateTime?: Date;\r\n ElectronicDeliveryEmailAddress?: string;\r\n ElectronicDeliveryEmailContent?: string;\r\n ShipFromStoreId?: string;\r\n }\r\n \r\n /**\r\n * OrderSearchCriteria entity interface.\r\n */\r\n export interface OrderSearchCriteria {\r\n CustomerAccountNumber?: string;\r\n CustomerName?: string;\r\n EmailAddress?: string;\r\n LoyaltyCardNumber?: string;\r\n CustomerPhoneNumber?: string;\r\n SalesId?: string;\r\n ReceiptId?: string;\r\n OrderStatusValues?: number[];\r\n StartDateTime?: Date;\r\n EndDateTime?: Date;\r\n ChannelReferenceId?: string;\r\n StoreId?: string;\r\n OrderType?: number;\r\n CustomFilters?: SearchFilter[];\r\n FulfillmentTypeValues?: number[];\r\n DeliveryMode?: string;\r\n PickupStartDate?: Date;\r\n PickupEndDate?: Date;\r\n PickupTimeslotStartTime?: number;\r\n PickupTimeslotEndTime?: number;\r\n }\r\n \r\n /**\r\n * ChecklistSearchCriteria entity interface.\r\n */\r\n export interface ChecklistSearchCriteria {\r\n ChannelId?: number;\r\n PersonnelNumber?: string;\r\n ChecklistIds?: string[];\r\n StatusValues?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TaskSearchCriteria entity interface.\r\n */\r\n export interface TaskSearchCriteria {\r\n ChannelId?: number;\r\n PersonnelNumber?: string;\r\n TaskIds?: string[];\r\n StatusValues?: number[];\r\n FilterMyTasks: boolean;\r\n FilterOverdueTasks: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChecklistTaskTeamsIntegrationConfiguration entity interface.\r\n */\r\n export interface ChecklistTaskTeamsIntegrationConfiguration {\r\n IsEnabled?: boolean;\r\n MicrosoftGraphResource?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReturnCartLine entity interface.\r\n */\r\n export interface ReturnCartLine {\r\n Description?: string;\r\n ItemId?: string;\r\n ProductId?: number;\r\n Quantity?: number;\r\n ReturnLineNumber?: number;\r\n ReturnTransactionId?: string;\r\n SerialNumber?: string;\r\n IgnoreSerialNumberMismatch?: boolean;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n }\r\n \r\n /**\r\n * TenderDiscountLine entity interface.\r\n */\r\n export interface TenderDiscountLine {\r\n DiscountAmount?: number;\r\n PaymentAmount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReceiptRetrievalCriteria entity interface.\r\n */\r\n export interface ReceiptRetrievalCriteria {\r\n IsCopy?: boolean;\r\n IsRemoteTransaction?: boolean;\r\n IsPreview?: boolean;\r\n QueryBySalesId?: boolean;\r\n ReceiptTypeValue?: number;\r\n ShiftId?: number;\r\n ShiftTerminalId?: string;\r\n HardwareProfileId?: string;\r\n }\r\n \r\n /**\r\n * CartSearchCriteria entity interface.\r\n */\r\n export interface CartSearchCriteria {\r\n CartId?: string;\r\n ExpectedCartVersion?: number;\r\n CustomerAccountNumber?: string;\r\n IncludeAnonymous?: boolean;\r\n SuspendedOnly?: boolean;\r\n CartTypeValue?: number;\r\n LastModifiedDateTimeFrom?: Date;\r\n LastModifiedDateTimeTo?: Date;\r\n }\r\n \r\n /**\r\n * RetrievePaymentResultSettings entity interface.\r\n */\r\n export interface RetrievePaymentResultSettings {\r\n ReturnUrl?: string;\r\n PaymentConnectorId?: string;\r\n }\r\n \r\n /**\r\n * SearchReceiptCriteria entity interface.\r\n */\r\n export interface SearchReceiptCriteria {\r\n TransactionId?: string;\r\n ReceiptTypeValue?: number;\r\n ReceiptTypesByFormatTypeCollection?: ReceiptTypesByFormatType[];\r\n IsCopy?: boolean;\r\n GiftReceiptLineNumbers?: number[];\r\n }\r\n \r\n /**\r\n * ElectronicAddress entity interface.\r\n */\r\n export interface ElectronicAddress {\r\n AddressTypeValue?: number;\r\n ExtensibleEAddressType?: ExtensibleElectronicAddressType;\r\n Address?: string;\r\n }\r\n \r\n /**\r\n * ChannelReferenceLookupCriteria entity interface.\r\n */\r\n export interface ChannelReferenceLookupCriteria {\r\n ChannelReferenceId?: string;\r\n SearchLocationValue?: number;\r\n ChannelReferenceAdditionalLookupCriteria?: ChannelReferenceAdditionalLookupCriteria[];\r\n }\r\n \r\n /**\r\n * FulfillmentLineParameter entity interface.\r\n */\r\n export interface FulfillmentLineParameter {\r\n SalesId?: string;\r\n SalesLineNumber?: number;\r\n Quantity?: number;\r\n SerialNumber?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ShipFulfillmentLine entity interface.\r\n */\r\n export interface ShipFulfillmentLine extends FulfillmentLineParameter {\r\n ProductId?: number;\r\n }\r\n \r\n /**\r\n * RejectFulfillmentLine entity interface.\r\n */\r\n export interface RejectFulfillmentLine extends FulfillmentLineParameter {\r\n RejectedQuantity?: number;\r\n InfoCodeId?: string;\r\n SubInfoCodeId?: string;\r\n }\r\n \r\n /**\r\n * ReadChangedProductsSession entity interface.\r\n */\r\n export interface ReadChangedProductsSession {\r\n Id?: string;\r\n TotalNumberOfProducts?: number;\r\n NumberOfProductsRead?: number;\r\n NumberOfProductsReadInCurrentPage?: number;\r\n NextSynchronizationToken?: string;\r\n IsInitialSync?: boolean;\r\n }\r\n \r\n /**\r\n * DeletedListingsResult entity interface.\r\n */\r\n export interface DeletedListingsResult {\r\n HasMorePublishedListings?: boolean;\r\n DeletedListings?: ListingIdentity[];\r\n }\r\n \r\n /**\r\n * ProductRating entity interface.\r\n */\r\n export interface ProductRating {\r\n ProductId?: number;\r\n AverageRating?: number;\r\n TotalRatings?: number;\r\n RatingDistribution?: ProductRatingCount[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductDeliveryOptions entity interface.\r\n */\r\n export interface ProductDeliveryOptions {\r\n ProductId?: number;\r\n DeliveryOptions?: DeliveryOption[];\r\n }\r\n \r\n /**\r\n * ListingPublishStatus entity interface.\r\n */\r\n export interface ListingPublishStatus {\r\n PublishStatusValue?: number;\r\n ListingModifiedDateTime?: Date;\r\n ChannelListingId?: string;\r\n ChannelId?: number;\r\n CatalogId?: number;\r\n ProductId?: number;\r\n LanguageId?: string;\r\n AppliedActionValue?: number;\r\n StatusMessage?: string;\r\n Tag?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnitLocationSearchCriteria entity interface.\r\n */\r\n export interface OrgUnitLocationSearchCriteria {\r\n OrgUnitNumber?: string;\r\n OrgUnitName?: string;\r\n InventoryLocationIds?: string[];\r\n DeliveryModeTypeFilterValue?: number;\r\n }\r\n \r\n /**\r\n * StoreHours entity interface.\r\n */\r\n export interface StoreHours {\r\n RegularStoreHours?: RegularStoreHours;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CartPromotions entity interface.\r\n */\r\n export interface CartPromotions {\r\n HeaderPromotions?: string[];\r\n CartLinePromotions?: CartLinePromotion[];\r\n }\r\n \r\n /**\r\n * CartPromotionLine entity interface.\r\n */\r\n export interface CartPromotionLine {\r\n LineId?: string;\r\n Promotion?: Promotion;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ItemUnit entity interface.\r\n */\r\n export interface ItemUnit {\r\n ItemId?: string;\r\n VariantInventoryDimensionId?: string;\r\n Product?: number;\r\n DistinctProductVariant?: number;\r\n UnitOfMeasure?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductAvailableQuantity entity interface.\r\n */\r\n export interface ProductAvailableQuantity {\r\n ProductId?: number;\r\n AvailableQuantity?: number;\r\n UnitOfMeasure?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnitAvailabilitySearchCriteria entity interface.\r\n */\r\n export interface OrgUnitAvailabilitySearchCriteria {\r\n OrgUnitName?: string;\r\n OrgUnitNumber?: string;\r\n }\r\n \r\n /**\r\n * InvoiceSearchCriteria entity interface.\r\n */\r\n export interface InvoiceSearchCriteria {\r\n BusinessPartnerId?: string;\r\n CustomerId?: string;\r\n InvoiceIds?: string[];\r\n InvoiceTypeValues?: number[];\r\n InvoicePaidStatusValues?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InvoiceDetailsSearchCriteria entity interface.\r\n */\r\n export interface InvoiceDetailsSearchCriteria {\r\n InvoiceId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PickAndPackSalesLineParameter entity interface.\r\n */\r\n export interface PickAndPackSalesLineParameter {\r\n SalesLineNumber?: number;\r\n Quantity?: number;\r\n }\r\n \r\n /**\r\n * ProductListSearchCriteria entity interface.\r\n */\r\n export interface ProductListSearchCriteria {\r\n CustomerId?: string;\r\n ProductListId?: string;\r\n ProductListType?: string;\r\n }\r\n \r\n /**\r\n * ProjectionDomain entity interface.\r\n */\r\n export interface ProjectionDomain {\r\n ChannelId?: number;\r\n CatalogId?: number;\r\n }\r\n \r\n /**\r\n * AffiliationLoyaltyTier entity interface.\r\n */\r\n export interface AffiliationLoyaltyTier {\r\n AffiliationId?: number;\r\n LoyaltyTierId?: number;\r\n AffiliationTypeValue?: number;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n CustomerId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ClientBookCustomerSearchCriteria entity interface.\r\n */\r\n export interface ClientBookCustomerSearchCriteria {\r\n FilterByCurrentEmployee?: boolean;\r\n Refinement?: ClientBookRefinerValue[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ClientBookCustomer entity interface.\r\n */\r\n export interface ClientBookCustomer {\r\n CustomerId?: string;\r\n Name?: string;\r\n Phone?: string;\r\n Email?: string;\r\n StaffId?: string;\r\n ImageUris?: MediaLocation[];\r\n Attributes?: CustomerAttribute[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ClientBookChanges entity interface.\r\n */\r\n export interface ClientBookChanges {\r\n Changes?: ClientBookChange[];\r\n }\r\n \r\n /**\r\n * ChargeCode entity interface.\r\n */\r\n export interface ChargeCode {\r\n Code?: string;\r\n ModuleTypeValue?: number;\r\n Description?: string;\r\n ItemTaxGroupId?: string;\r\n IsRefundable?: boolean;\r\n IsShipping?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PaymentMerchantInformation entity interface.\r\n */\r\n export interface PaymentMerchantInformation {\r\n PaymentConnectorPropertiesXml?: string;\r\n MerchantPropertiesHashValue?: string;\r\n ServiceAccountId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * StoreSafe entity interface.\r\n */\r\n export interface StoreSafe {\r\n SafeNumber?: string;\r\n Name?: string;\r\n StoreNumber?: string;\r\n SafeBalance?: number;\r\n LastUpdatedTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentReceiptSearchCriteria entity interface.\r\n */\r\n export interface InventoryDocumentReceiptSearchCriteria {\r\n SourceDocumentId?: string;\r\n SourceDocumentTypeValue?: number;\r\n WorkDocumentId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSourceDocumentLineCommitRecordSearchCriteria entity interface.\r\n */\r\n export interface InventoryDocumentSourceDocumentLineCommitRecordSearchCriteria {\r\n SourceDocumentRecordId?: number;\r\n SourceDocumentTypeValue?: number;\r\n SourceDocumentLineRecordId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSourceDocumentLineCommitRecord entity interface.\r\n */\r\n export interface InventoryDocumentSourceDocumentLineCommitRecord {\r\n WorkDocumentId?: string;\r\n LineId?: string;\r\n SourceDocumentRecordId?: number;\r\n SourceDocumentTypeValue?: number;\r\n SourceDocumentLineRecordId?: number;\r\n StaffId?: string;\r\n UpdateNowQuantity?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CreateHardwareStationTokenResult entity interface.\r\n */\r\n export interface CreateHardwareStationTokenResult {\r\n HardwareStationToken?: string;\r\n PairingKey?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ValidateHardwareStationTokenResult entity interface.\r\n */\r\n export interface ValidateHardwareStationTokenResult {\r\n PairingKey?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * MediaBlob entity interface.\r\n */\r\n export interface MediaBlob {\r\n MediaType?: string;\r\n Content?: string;\r\n IsDefault?: boolean;\r\n AltText?: string;\r\n PictureId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OnlineChannel entity interface.\r\n */\r\n export interface OnlineChannel {\r\n OnlineChannelName?: string;\r\n CurrencyCode?: string;\r\n EventNotificationProfileId?: string;\r\n RecordId?: number;\r\n OrgUnitTypeValue?: number;\r\n Name?: string;\r\n DefaultCustomerAccount?: string;\r\n CategoryHierarchyId?: number;\r\n InventoryLocationId?: string;\r\n ChannelProfile?: ChannelProfile;\r\n ChannelProperties?: ChannelProperty[];\r\n ChannelLanguages?: ChannelLanguage[];\r\n Contacts?: OrgUnitContact[];\r\n ExtensionProperties?: CommerceProperty[];\r\n CountryRegions?: CountryRegion[];\r\n }\r\n \r\n /**\r\n * TerminalDataDownloadRequestInfo entity interface.\r\n */\r\n export interface TerminalDataDownloadRequestInfo {\r\n TerminalId?: string;\r\n RequiresDataInitialization?: boolean;\r\n HasBeenInitializedBefore?: boolean;\r\n }\r\n \r\n /**\r\n * DataDownloadParameters entity interface.\r\n */\r\n export interface DataDownloadParameters {\r\n DownloadInterval?: number;\r\n DownloadSessions?: DownloadSession[];\r\n FeatureControlList?: RetailSharedConfigurationParameter[];\r\n DataStore?: CDXDataStore;\r\n }\r\n \r\n /**\r\n * TerminalDataUploadRequestInfo entity interface.\r\n */\r\n export interface TerminalDataUploadRequestInfo {\r\n TerminalId?: string;\r\n }\r\n \r\n /**\r\n * DataUploadParameters entity interface.\r\n */\r\n export interface DataUploadParameters {\r\n UploadInterval?: number;\r\n UploadJobPackageRequests?: UploadJobPackageRequest[];\r\n FeatureControlList?: RetailSharedConfigurationParameter[];\r\n DataStore?: CDXDataStore;\r\n }\r\n \r\n /**\r\n * DownloadSession entity interface.\r\n */\r\n export interface DownloadSession {\r\n Id?: number;\r\n JobId?: string;\r\n JobDescription?: string;\r\n FileSize?: number;\r\n RowsAffected?: number;\r\n Checksum?: string;\r\n DateDownloaded?: string;\r\n DateRequested?: string;\r\n DataStoreName?: string;\r\n StatusValue?: number;\r\n Message?: string;\r\n DownloadLink?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OfflineTerminalState entity interface.\r\n */\r\n export interface OfflineTerminalState {\r\n TerminalId?: string;\r\n State?: string;\r\n }\r\n \r\n /**\r\n * LoyaltyRewardPointActivity entity interface.\r\n */\r\n export interface LoyaltyRewardPointActivity {\r\n ActivityDate?: Date;\r\n LoyaltyRewardPointTimelineEntryType?: string;\r\n ExtensibleLoyaltyRewardPointActivityEntryTypeValue?: number;\r\n LoyaltyPoints?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CurrencyRequest entity interface.\r\n */\r\n export interface CurrencyRequest {\r\n AmountToConvert?: number;\r\n CurrencyCode?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareStationProfile entity interface.\r\n */\r\n export interface HardwareStationProfile {\r\n RecordId?: number;\r\n HardwareStationId?: string;\r\n HardwareStationTypeValue?: number;\r\n HardwareProfileId?: string;\r\n HardwareStationName?: string;\r\n HardwareStationDescription?: string;\r\n HardwareStationUrl?: string;\r\n HardwareStationHostName?: string;\r\n HardwareStationEftTerminalId?: string;\r\n HardwareConfigurations?: HardwareConfigurations;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * NameValuePair entity interface.\r\n */\r\n export interface NameValuePair {\r\n Name?: string;\r\n Value?: string;\r\n }\r\n \r\n /**\r\n * LinkToExistingCustomerResult entity interface.\r\n */\r\n export interface LinkToExistingCustomerResult {\r\n EmailAddress?: string;\r\n ExternalIdentityProvider?: string;\r\n ExternalIdentityLinkRecordId?: number;\r\n }\r\n \r\n /**\r\n * OfflineSyncStatsLine entity interface.\r\n */\r\n export interface OfflineSyncStatsLine {\r\n IsUploadJob?: boolean;\r\n JobDescription?: string;\r\n LastSyncDateTime?: Date;\r\n Status?: string;\r\n FileSize?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * StorageAccessToken entity interface.\r\n */\r\n export interface StorageAccessToken {\r\n Url?: string;\r\n SasKey?: string;\r\n }\r\n \r\n /**\r\n * TaskGuidesSearchResult entity interface.\r\n */\r\n export interface TaskGuidesSearchResult {\r\n Lines?: Line[];\r\n FrameworkPublisherName?: string;\r\n FrameworkName?: string;\r\n }\r\n \r\n /**\r\n * AuditEvent entity interface.\r\n */\r\n export interface AuditEvent {\r\n EventId?: number;\r\n EventIdString?: string;\r\n Channel?: number;\r\n Store?: string;\r\n Terminal?: string;\r\n UploadType?: string;\r\n EventType?: string;\r\n EventDateTime?: Date;\r\n DurationInMilliseconds?: number;\r\n Source?: string;\r\n EventMessage?: string;\r\n LogLevel?: string;\r\n Staff?: string;\r\n ShiftId?: number;\r\n ClosedShiftId?: number;\r\n ReferenceId?: number;\r\n RefChannel?: number;\r\n RefStore?: string;\r\n RefTerminal?: string;\r\n RefTransactionId?: string;\r\n AuditEventTypeValue?: number;\r\n FiscalTransactions?: AuditEventFiscalTransaction[];\r\n FiscalRegistrationLines?: AuditEventFiscalRegistrationLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ItemAvailability entity interface.\r\n */\r\n export interface ItemAvailability {\r\n ItemId?: string;\r\n VariantInventoryDimensionId?: string;\r\n InventoryLocationId?: string;\r\n ProductId?: number;\r\n AvailableQuantity?: number;\r\n OrderedSum?: number;\r\n PhysicalReserved?: number;\r\n UnitOfMeasure?: string;\r\n InventoryUnitOfMeasure?: string;\r\n InventoryUnitOfMeasureDescription?: string;\r\n ProductDimensions?: ProductDimension[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryAvailableToPromise entity interface.\r\n */\r\n export interface InventoryAvailableToPromise extends ItemAvailability {\r\n Date?: string;\r\n }\r\n \r\n /**\r\n * NotificationItem entity interface.\r\n */\r\n export interface NotificationItem {\r\n Action?: number;\r\n ActionName?: string;\r\n NotificationDetails?: NotificationDetail[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationDocumentRetrievalCriteria entity interface.\r\n */\r\n export interface FiscalIntegrationDocumentRetrievalCriteria {\r\n TransactionId?: string;\r\n IsRemoteTransaction?: boolean;\r\n QueryBySalesId?: boolean;\r\n FiscalRegistrationEventTypeValue?: number;\r\n ShiftId?: number;\r\n ShiftTerminalId?: string;\r\n DocumentContext?: FiscalIntegrationDocumentContext;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationDocument entity interface.\r\n */\r\n export interface FiscalIntegrationDocument {\r\n Document?: string;\r\n DocumentGenerationResultTypeValue?: number;\r\n FiscalConnectorTechnicalProfile?: FiscalIntegrationTechnicalProfile;\r\n DocumentAdjustment?: FiscalIntegrationDocumentAdjustment;\r\n SequentialSignatureDataContext?: FiscalIntegrationSignatureDataContext;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationRegistrationResult entity interface.\r\n */\r\n export interface FiscalIntegrationRegistrationResult {\r\n TransactionID?: string;\r\n AuditEventId?: string;\r\n Response?: string;\r\n SubmittedDocument?: string;\r\n RegisterInfo?: string;\r\n RegistrationStatusValue?: number;\r\n FiscalRegistrationEventTypeValue?: number;\r\n DocumentAdjustment?: FiscalIntegrationDocumentAdjustment;\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n SequentialSignatureData?: FiscalIntegrationSequentialSignatureData;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationRegistrationProcess entity interface.\r\n */\r\n export interface FiscalIntegrationRegistrationProcess {\r\n RecordId?: number;\r\n RegistrationProcessId?: string;\r\n Description?: string;\r\n RegistrationProcessLines?: FiscalIntegrationRegistrationProcessLine[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationSupportedEvents entity interface.\r\n */\r\n export interface FiscalIntegrationSupportedEvents {\r\n FunctionalityProfileGroupId?: string;\r\n SupportedFiscalEventTypes?: number[];\r\n SupportedNonFiscalEventTypes?: number[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationTechnicalProfile entity interface.\r\n */\r\n export interface FiscalIntegrationTechnicalProfile {\r\n ProfileId?: string;\r\n Description?: string;\r\n ConnectorName?: string;\r\n ConnectorTypeValue?: number;\r\n TechnicalProfile?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationTechnicalProfileSearchCriteria entity interface.\r\n */\r\n export interface FiscalIntegrationTechnicalProfileSearchCriteria {\r\n ExcludeOptionalProcessLines?: boolean;\r\n FunctionalityProfileGroupIds?: string[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceInfo entity interface.\r\n */\r\n export interface FiscalIntegrationServiceInfo {\r\n ServiceName?: string;\r\n ServiceProperties?: string;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceStatus entity interface.\r\n */\r\n export interface FiscalIntegrationServiceStatus {\r\n IsReady?: boolean;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceCommunicationResult entity interface.\r\n */\r\n export interface FiscalIntegrationServiceCommunicationResult {\r\n Response?: string;\r\n CommunicationResultTypeValue?: number;\r\n FailureDetails?: FiscalIntegrationServiceFailureDetails;\r\n FiscalIntegrationServiceInfo?: string;\r\n UserNotificationMessage?: string;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationSequentialSignatureData entity interface.\r\n */\r\n export interface FiscalIntegrationSequentialSignatureData {\r\n LastRegisterResponse?: string;\r\n SequenceKey?: string;\r\n IsOffline?: boolean;\r\n SequentialNumber?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DiscountsSearchCriteria entity interface.\r\n */\r\n export interface DiscountsSearchCriteria {\r\n ChannelId?: number;\r\n Keyword?: string;\r\n IsDiscountCodeRequired?: boolean;\r\n StartDate?: Date;\r\n EndDate?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Promotion entity interface.\r\n */\r\n export interface Promotion {\r\n OfferId?: string;\r\n OfferName?: string;\r\n PeriodicDiscountTypeValue?: number;\r\n IsDiscountCodeRequired?: boolean;\r\n ValidationPeriodId?: string;\r\n AdditionalRestrictions?: string;\r\n Description?: string;\r\n ValidFromDate?: Date;\r\n ValidToDate?: Date;\r\n ValidationPeriod?: ValidationPeriod;\r\n CouponCodes?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CategoryPathLookup entity interface.\r\n */\r\n export interface CategoryPathLookup {\r\n ProductId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CategoryPathResult entity interface.\r\n */\r\n export interface CategoryPathResult {\r\n ProductId?: number;\r\n CategoryPath?: CategoryPath[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PickupTimeslotAvailabilitySearchCriteria entity interface.\r\n */\r\n export interface PickupTimeslotAvailabilitySearchCriteria {\r\n DeliveryModeCode?: string;\r\n StoreId?: string;\r\n StartDate?: Date;\r\n EndDate?: Date;\r\n SearchOptionValue?: number;\r\n }\r\n \r\n /**\r\n * PickupTimeslotAvailability entity interface.\r\n */\r\n export interface PickupTimeslotAvailability {\r\n AvailableCapacity?: number;\r\n StartDateTime?: Date;\r\n EndDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CheckInForOrderPickupConfirmation entity interface.\r\n */\r\n export interface CheckInForOrderPickupConfirmation {\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ExtensionProfile entity interface.\r\n */\r\n export interface ExtensionProfile {\r\n ExtensionServiceUrl?: string;\r\n AttachedServices?: AttachedService[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelInventoryConfiguration entity interface.\r\n */\r\n export interface ChannelInventoryConfiguration {\r\n RecordId?: number;\r\n ChannelId?: string;\r\n AllowTransferOrderOverDelivery?: boolean;\r\n AllowTransferOrderUnderDelivery?: boolean;\r\n UserLocationProfileId?: string;\r\n InventoryProductAttributeRecordId?: number;\r\n InventoryOutOfStockAttributeValueText?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelPurchaseConfiguration entity interface.\r\n */\r\n export interface ChannelPurchaseConfiguration {\r\n RecordId?: number;\r\n ChannelId?: string;\r\n AllowOverDelivery?: boolean;\r\n AllowSubDelivery?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryJournalName entity interface.\r\n */\r\n export interface InventoryJournalName {\r\n RecordId?: number;\r\n JournalNameId?: string;\r\n InventoryJournalTypeValue?: number;\r\n Description?: string;\r\n DefaultAdjustmentTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ShiftRetrievalCriteria entity interface.\r\n */\r\n export interface ShiftRetrievalCriteria {\r\n ShiftStatusValue?: number;\r\n FilterByUserRole?: boolean;\r\n IncludeAllShiftsForStore?: boolean;\r\n }\r\n \r\n /**\r\n * UserDefinedSecretCertificateResult entity interface.\r\n */\r\n export interface UserDefinedSecretCertificateResult {\r\n CertificateData?: string;\r\n }\r\n \r\n /**\r\n * TerminalInfo entity interface.\r\n */\r\n export interface TerminalInfo {\r\n TerminalId?: string;\r\n DeviceNumber?: string;\r\n Name?: string;\r\n DeviceType?: number;\r\n ActivationStatusValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerTimelineItemTypeMap entity interface.\r\n */\r\n export interface CustomerTimelineItemTypeMap {\r\n EntityType?: string;\r\n Types?: CustomerTimelineItemType[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerTimelineRefiner entity interface.\r\n */\r\n export interface CustomerTimelineRefiner {\r\n RefinedResultsCount?: number;\r\n EntityType?: string;\r\n TypeId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerTitle entity interface.\r\n */\r\n export interface CustomerTitle {\r\n Text?: string;\r\n RecordId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductWarehouse entity interface.\r\n */\r\n export interface ProductWarehouse {\r\n ProductId?: number;\r\n InventLocationId?: string;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductWarehouseInventoryInformation entity interface.\r\n */\r\n export interface ProductWarehouseInventoryInformation {\r\n ProductWarehouseInventoryAvailabilities?: ProductWarehouseInventoryAvailability[];\r\n AggregatedProductInventoryAvailabilities?: ProductInventoryAvailability[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryAvailabilitySearchCriteria entity interface.\r\n */\r\n export interface InventoryAvailabilitySearchCriteria {\r\n ProductIds?: number[];\r\n DefaultWarehouseOnly?: boolean;\r\n SearchArea?: SearchArea;\r\n FilterByChannelFulfillmentGroup?: boolean;\r\n DeliveryModeTypeFilterValue?: number;\r\n QuantityUnitTypeValue?: number;\r\n DataLevelValue?: number;\r\n }\r\n \r\n /**\r\n * ExtensibleEnumerationContainer entity interface.\r\n */\r\n export interface ExtensibleEnumerationContainer {\r\n TypeName?: string;\r\n ExtensibleEnumerations?: ExtensibleEnumeration[];\r\n }\r\n \r\n /**\r\n * PackingSlipData entity interface.\r\n */\r\n export interface PackingSlipData {\r\n PackingSlipId?: string;\r\n CreatedDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * EmailReceiptSettings entity interface.\r\n */\r\n export interface EmailReceiptSettings {\r\n ReceiptTypeValue?: number;\r\n EmailBehaviorValue?: number;\r\n ReceiptTitle?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrgUnitAddress entity interface.\r\n */\r\n export interface OrgUnitAddress extends Address {\r\n }\r\n \r\n /**\r\n * WarehouseDetails entity interface.\r\n */\r\n export interface WarehouseDetails extends Address {\r\n InventoryLocationId?: string;\r\n }\r\n \r\n /**\r\n * AttributeSwatch entity interface.\r\n */\r\n export interface AttributeSwatch {\r\n SwatchValue?: string;\r\n SwatchImageUrl?: string;\r\n SwatchColorHexCode?: string;\r\n IsDefault?: boolean;\r\n ProductImageUrls?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttributeBooleanValue entity interface.\r\n */\r\n export interface AttributeBooleanValue extends AttributeValueBase {\r\n Value?: boolean;\r\n }\r\n \r\n /**\r\n * AttributeCurrencyValue entity interface.\r\n */\r\n export interface AttributeCurrencyValue extends AttributeValueBase {\r\n CurrencyValue?: number;\r\n CurrencyCode?: string;\r\n }\r\n \r\n /**\r\n * AttributeDateTimeOffsetValue entity interface.\r\n */\r\n export interface AttributeDateTimeOffsetValue extends AttributeValueBase {\r\n Value?: Date;\r\n }\r\n \r\n /**\r\n * AttributeFloatValue entity interface.\r\n */\r\n export interface AttributeFloatValue extends AttributeValueBase {\r\n Value?: number;\r\n UnitSymbol?: string;\r\n }\r\n \r\n /**\r\n * AttributeIntValue entity interface.\r\n */\r\n export interface AttributeIntValue extends AttributeValueBase {\r\n Value?: number;\r\n UnitSymbol?: string;\r\n }\r\n \r\n /**\r\n * AttributeMediaLocationValue entity interface.\r\n */\r\n export interface AttributeMediaLocationValue extends AttributeValueBase {\r\n Value?: MediaLocation[];\r\n }\r\n \r\n /**\r\n * AttributeTextValue entity interface.\r\n */\r\n export interface AttributeTextValue extends AttributeValueBase {\r\n TextValue?: string;\r\n TextValueTranslations?: TextValueTranslation[];\r\n }\r\n \r\n /**\r\n * ButtonGridButton entity interface.\r\n */\r\n export interface ButtonGridButton {\r\n Action?: number;\r\n ActionProperty?: string;\r\n BackColorAsARGB?: ARGBColor;\r\n BorderColorAsARGB?: ARGBColor;\r\n Column?: number;\r\n ColumnSpan?: number;\r\n DisplayText?: string;\r\n FontColorAsARGB?: ARGBColor;\r\n ButtonId?: number;\r\n Row?: number;\r\n RowSpan?: number;\r\n UseCustomLookAndFeel?: boolean;\r\n PictureId?: number;\r\n PictureAsBase64?: string;\r\n FontStyle?: number;\r\n FontSize?: number;\r\n EnableCustomFontForPOS?: boolean;\r\n HideButtonText?: boolean;\r\n Tooltip?: string;\r\n EnableLiveContent?: boolean;\r\n NotificationContentAlignment?: number;\r\n ImageAlignment?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ARGBColor entity interface.\r\n */\r\n export interface ARGBColor {\r\n A?: number;\r\n R?: number;\r\n G?: number;\r\n B?: number;\r\n }\r\n \r\n /**\r\n * ExtensiblePeriodicDiscountOfferType entity interface.\r\n */\r\n export interface ExtensiblePeriodicDiscountOfferType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ChargeLineOverride entity interface.\r\n */\r\n export interface ChargeLineOverride {\r\n OriginalAmount?: number;\r\n OverrideAmount?: number;\r\n OverrideReasonDescription?: string;\r\n OverrideDateTime?: Date;\r\n UserId?: string;\r\n }\r\n \r\n /**\r\n * TaxLineGTE entity interface.\r\n */\r\n export interface TaxLineGTE extends TaxLine {\r\n TaxComponent?: string;\r\n }\r\n \r\n /**\r\n * TaxMeasure entity interface.\r\n */\r\n export interface TaxMeasure {\r\n Path?: string;\r\n Value?: number;\r\n DataAreaId?: string;\r\n SaleLineNumber?: number;\r\n StoreId?: string;\r\n TerminalId?: string;\r\n TransactionId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DetailedLineStatus entity interface.\r\n */\r\n export interface DetailedLineStatus extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * CardTokenInfo entity interface.\r\n */\r\n export interface CardTokenInfo {\r\n CardToken?: string;\r\n UniqueCardId?: string;\r\n ServiceAccountId?: string;\r\n MaskedCardNumber?: string;\r\n }\r\n \r\n /**\r\n * DataverseTenderLine entity interface.\r\n */\r\n export interface DataverseTenderLine extends TenderLine {\r\n }\r\n \r\n /**\r\n * PaymentError entity interface.\r\n */\r\n export interface PaymentError {\r\n Code?: string;\r\n Message?: string;\r\n IsLocalized?: boolean;\r\n }\r\n \r\n /**\r\n * ProductAttributeMetadataFlags entity interface.\r\n */\r\n export interface ProductAttributeMetadataFlags {\r\n IsSearchable?: boolean;\r\n IsRetrievable?: boolean;\r\n IsQueryable?: boolean;\r\n IsRefinable?: boolean;\r\n IsSortable?: boolean;\r\n IsMultiValue?: boolean;\r\n IsTokenNormalization?: boolean;\r\n IsCompleteMatch?: boolean;\r\n }\r\n \r\n /**\r\n * UnitOfMeasureConversion entity interface.\r\n */\r\n export interface UnitOfMeasureConversion {\r\n ItemId?: string;\r\n FromUnitOfMeasureId?: string;\r\n ToUnitOfMeasureId?: string;\r\n FromUnitOfMeasureSymbol?: string;\r\n ToUnitOfMeasureSymbol?: string;\r\n IsBackward?: boolean;\r\n RecordId?: number;\r\n ProductRecordId?: number;\r\n Factor?: number;\r\n Numerator?: number;\r\n Denominator?: number;\r\n InnerOffset?: number;\r\n OuterOffset?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * PriceLine entity interface.\r\n */\r\n export interface PriceLine {\r\n RecordId?: number;\r\n Value?: number;\r\n PriceMethod?: string;\r\n OriginId?: string;\r\n PriceChangedByExtensions?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TradeAgreementPriceLine entity interface.\r\n */\r\n export interface TradeAgreementPriceLine extends PriceLine {\r\n }\r\n \r\n /**\r\n * PriceAdjustmentPriceLine entity interface.\r\n */\r\n export interface PriceAdjustmentPriceLine extends PriceLine {\r\n IsCompoundable?: boolean;\r\n Concurrency?: string;\r\n }\r\n \r\n /**\r\n * BasePriceLine entity interface.\r\n */\r\n export interface BasePriceLine extends PriceLine {\r\n }\r\n \r\n /**\r\n * ReturnLabelContent entity interface.\r\n */\r\n export interface ReturnLabelContent {\r\n ReturnLocationText?: string;\r\n ReturnWarehouseText?: string;\r\n ReturnReasonText?: string;\r\n ReturnPalleteText?: string;\r\n ItemId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LoyaltyRewardPointLine entity interface.\r\n */\r\n export interface LoyaltyRewardPointLine {\r\n TransactionId?: string;\r\n SaleLineNumber?: number;\r\n LoyaltyGroupRecordId?: number;\r\n LoyaltyCardNumber?: string;\r\n CustomerAccount?: string;\r\n EntryDate?: Date;\r\n EntryTime?: number;\r\n EntryTypeValue?: number;\r\n ExpirationDate?: Date;\r\n LineNumber?: number;\r\n LoyaltyTierRecordId?: number;\r\n RewardPointRecordId?: number;\r\n RewardPointAmountQuantity?: number;\r\n RewardPointId?: string;\r\n RewardPointIsRedeemable?: boolean;\r\n RewardPointType?: string;\r\n RewardPointCurrency?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TrackingInfo entity interface.\r\n */\r\n export interface TrackingInfo {\r\n TrackingNumber?: string;\r\n ServiceType?: string;\r\n PackageWeight?: Weight;\r\n ShippedOnDate?: Date;\r\n Status?: string;\r\n DeliveredOnDate?: Date;\r\n EstimatedDeliveryDate?: Date;\r\n TrackingUrl?: string;\r\n PackagingType?: string;\r\n DestinationAddress?: Address;\r\n OriginAddress?: Address;\r\n ShipmentProgress?: ShipmentProgress[];\r\n ShippingCharge?: number;\r\n }\r\n \r\n /**\r\n * Weight entity interface.\r\n */\r\n export interface Weight {\r\n Value?: number;\r\n Unit?: string;\r\n }\r\n \r\n /**\r\n * ShipmentProgress entity interface.\r\n */\r\n export interface ShipmentProgress {\r\n Location?: Address;\r\n DateTime?: Date;\r\n Activity?: string;\r\n }\r\n \r\n /**\r\n * ShiftKey entity interface.\r\n */\r\n export interface ShiftKey {\r\n ShiftTerminalId?: string;\r\n ShiftId?: number;\r\n Store?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * LocalizedText entity interface.\r\n */\r\n export interface LocalizedText {\r\n RecordId?: number;\r\n LanguageId?: string;\r\n TextId?: string;\r\n Text?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AddressFormattingInfo entity interface.\r\n */\r\n export interface AddressFormattingInfo {\r\n AddressComponentNameValue?: number;\r\n LineNumber?: number;\r\n IsDataEntryOnly?: boolean;\r\n NewLine?: boolean;\r\n Expand?: boolean;\r\n Inactive?: boolean;\r\n Special?: boolean;\r\n NumberOfSpaces?: number;\r\n Separator?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareConfigurations entity interface.\r\n */\r\n export interface HardwareConfigurations {\r\n CashDrawerConfigurations?: HardwareConfiguration[];\r\n PrinterConfigurations?: HardwareConfiguration[];\r\n PinPadConfiguration?: HardwareConfiguration;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * HardwareConfiguration entity interface.\r\n */\r\n export interface HardwareConfiguration {\r\n RecordId?: number;\r\n HardwareStationRecordId?: number;\r\n TerminalId?: string;\r\n DeviceName?: string;\r\n IPAddress?: string;\r\n Port?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Printer entity interface.\r\n */\r\n export interface Printer {\r\n Name?: string;\r\n PrinterType?: number;\r\n Terminal?: number;\r\n PrintBehaviorValue?: number;\r\n ReceiptLayoutId?: string;\r\n HardwareProfileId?: string;\r\n ReceiptType?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerRefinerValue entity interface.\r\n */\r\n export interface CustomerRefinerValue extends SearchRefinerValue {\r\n RefinerSourceValue?: number;\r\n }\r\n \r\n /**\r\n * TransferOrderJournalLine entity interface.\r\n */\r\n export interface TransferOrderJournalLine {\r\n ItemId?: string;\r\n ItemName?: string;\r\n InventDimId?: string;\r\n TotalQuantityShipped?: number;\r\n QuantityShipped?: number;\r\n TransferQuantity?: number;\r\n UnitId?: string;\r\n ConfigId?: string;\r\n InventSizeId?: string;\r\n InventColorId?: string;\r\n InventStyleId?: string;\r\n DeliveryMethod?: string;\r\n Barcode?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryDocumentSourceSerialNumberLine entity interface.\r\n */\r\n export interface InventoryDocumentSourceSerialNumberLine {\r\n SourceDocumentTypeValue?: number;\r\n SourceDocumentId?: string;\r\n DocumentLineRecordId?: number;\r\n InventTransRecordId?: number;\r\n LineId?: string;\r\n Quantity?: number;\r\n SerialNumber?: string;\r\n StatusValue?: number;\r\n ProductId?: number;\r\n DataAreaId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * KitTransactionLine entity interface.\r\n */\r\n export interface KitTransactionLine {\r\n ItemId?: string;\r\n Quantity?: number;\r\n InventoryDimensionId?: string;\r\n ProductId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * StoreAddressBook entity interface.\r\n */\r\n export interface StoreAddressBook {\r\n AddressBookId?: number;\r\n StoreId?: number;\r\n AddressBookTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TenderDetail entity interface.\r\n */\r\n export interface TenderDetail {\r\n LineNumber?: number;\r\n Amount?: number;\r\n AmountInForeignCurrency?: number;\r\n ForeignCurrencyExchangeRate?: number;\r\n ForeignCurrency?: string;\r\n BankBagNumber?: string;\r\n TenderTypeId?: string;\r\n TenderRecount?: number;\r\n DenominationDetails?: DenominationDetail[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DenominationDetail entity interface.\r\n */\r\n export interface DenominationDetail {\r\n Type?: number;\r\n Currency?: string;\r\n DenominationAmount?: number;\r\n QuantityDeclared?: number;\r\n AmountDeclared?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ButtonGridZone entity interface.\r\n */\r\n export interface ButtonGridZone {\r\n ButtonGridId?: string;\r\n ZoneId?: string;\r\n ZoneName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ImageZone entity interface.\r\n */\r\n export interface ImageZone {\r\n PictureId?: number;\r\n PictureAsBase64?: string;\r\n ZoneId?: string;\r\n ZoneName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReportZone entity interface.\r\n */\r\n export interface ReportZone {\r\n ReportRecordId?: number;\r\n ZoneId?: string;\r\n ZoneName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * SalesInvoiceLine entity interface.\r\n */\r\n export interface SalesInvoiceLine {\r\n RecordId?: number;\r\n ItemId?: string;\r\n ProductId?: number;\r\n ProductName?: string;\r\n InventDimensionId?: string;\r\n InventTransactionId?: string;\r\n Quantity?: number;\r\n Price?: number;\r\n DiscountPercent?: number;\r\n DiscountAmount?: number;\r\n BatchId?: string;\r\n NetAmount?: number;\r\n Site?: string;\r\n Warehouse?: string;\r\n SerialId?: string;\r\n ColorId?: string;\r\n SizeId?: string;\r\n StyleId?: string;\r\n ConfigId?: string;\r\n ColorName?: string;\r\n SizeName?: string;\r\n StyleName?: string;\r\n ConfigName?: string;\r\n SalesTaxGroup?: string;\r\n ItemTaxGroup?: string;\r\n SalesMarkup?: number;\r\n TotalDiscount?: number;\r\n TotalPercentageDiscount?: number;\r\n LineDiscount?: number;\r\n PeriodicDiscount?: number;\r\n PeriodicPercentageDiscount?: number;\r\n LineManualDiscountPercentage?: number;\r\n LineManualDiscountAmount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ReportRow entity interface.\r\n */\r\n export interface ReportRow {\r\n RowData?: CommerceProperty[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FormAnnotation entity interface.\r\n */\r\n export interface FormAnnotation extends Annotation {\r\n MenuItemLabel?: string;\r\n MenuItemName?: string;\r\n MenuItemType?: string;\r\n }\r\n \r\n /**\r\n * TaskGuideAnnotation entity interface.\r\n */\r\n export interface TaskGuideAnnotation extends Annotation {\r\n RecordingValueType?: string;\r\n Title?: string;\r\n ExampleText?: string;\r\n Hidden?: boolean;\r\n GlobalId?: string;\r\n }\r\n \r\n /**\r\n * CommandArgument entity interface.\r\n */\r\n export interface CommandArgument {\r\n Value?: string;\r\n IsReference?: boolean;\r\n }\r\n \r\n /**\r\n * PropertyUserAction entity interface.\r\n */\r\n export interface PropertyUserAction extends FormUserAction {\r\n Value?: string;\r\n ValueLabel?: string;\r\n PropertyName?: string;\r\n ControlName?: string;\r\n ControlType?: string;\r\n UserActionType?: string;\r\n IsReference?: boolean;\r\n LabelId?: string;\r\n }\r\n \r\n /**\r\n * InfoUserAction entity interface.\r\n */\r\n export interface InfoUserAction extends UserAction {\r\n FormId?: string;\r\n ControlLabel?: string;\r\n ControlLabelId?: string;\r\n ControlName?: string;\r\n Text?: string;\r\n Notes?: string;\r\n }\r\n \r\n /**\r\n * MenuItemUserAction entity interface.\r\n */\r\n export interface MenuItemUserAction extends UserAction {\r\n MenuItemName?: string;\r\n MenuItemType?: string;\r\n NavigationPath?: string[];\r\n }\r\n \r\n /**\r\n * ValidationUserAction entity interface.\r\n */\r\n export interface ValidationUserAction extends UserAction {\r\n Name?: string;\r\n Comment?: string;\r\n }\r\n \r\n /**\r\n * ArtifactSummary entity interface.\r\n */\r\n export interface ArtifactSummary {\r\n ArtifactType?: string;\r\n LanguageTags?: string[];\r\n }\r\n \r\n /**\r\n * MetadataPropertyValue entity interface.\r\n */\r\n export interface MetadataPropertyValue {\r\n PropertyId?: string;\r\n SingleValue?: string;\r\n MultiValue?: MetadataText[];\r\n Tags?: string[];\r\n ComboBox?: string;\r\n MultiSelect?: string[];\r\n Links?: MetadataHypertextLink[];\r\n }\r\n \r\n /**\r\n * FormContext entity interface.\r\n */\r\n export interface FormContext {\r\n FormID?: string;\r\n FormName?: string;\r\n RecordingName?: string;\r\n HasMetadata?: boolean;\r\n Sequence?: number;\r\n Annotations?: Annotation[];\r\n }\r\n \r\n /**\r\n * ExtensibleFiscalRegistrationType entity interface.\r\n */\r\n export interface ExtensibleFiscalRegistrationType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * FiscalTransactionTenderLineAdjustment entity interface.\r\n */\r\n export interface FiscalTransactionTenderLineAdjustment {\r\n TenderLineNumber?: number;\r\n AdjustmentAmount?: number;\r\n RecordGuid?: string;\r\n TransactionId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalTransactionSalesLineAdjustment entity interface.\r\n */\r\n export interface FiscalTransactionSalesLineAdjustment {\r\n SalesLineNumber?: number;\r\n Exclude?: boolean;\r\n RecordGuid?: string;\r\n TransactionId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DetailedOrderStatus entity interface.\r\n */\r\n export interface DetailedOrderStatus extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * LineValidationResult entity interface.\r\n */\r\n export interface LineValidationResult {\r\n LineId?: string;\r\n ValidationFailures?: DataValidationFailure[];\r\n }\r\n \r\n /**\r\n * SalesAffiliationLoyaltyTier entity interface.\r\n */\r\n export interface SalesAffiliationLoyaltyTier extends AffiliationLoyaltyTier {\r\n TransactionId?: string;\r\n ChannelId?: number;\r\n TerminalId?: string;\r\n ReceiptId?: string;\r\n StaffId?: string;\r\n }\r\n \r\n /**\r\n * TaxViewLine entity interface.\r\n */\r\n export interface TaxViewLine {\r\n TaxId?: string;\r\n TaxAmount?: number;\r\n }\r\n \r\n /**\r\n * Coupon entity interface.\r\n */\r\n export interface Coupon {\r\n CodeId?: string;\r\n Code?: string;\r\n DiscountOfferId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerAccountDepositLine entity interface.\r\n */\r\n export interface CustomerAccountDepositLine {\r\n Amount?: number;\r\n CustomerAccount?: string;\r\n Comment?: string;\r\n StoreNumber?: string;\r\n Terminal?: string;\r\n Shift?: string;\r\n TransactionStatusValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerAttribute entity interface.\r\n */\r\n export interface CustomerAttribute {\r\n AttributeValue?: CommercePropertyValue;\r\n Units?: string;\r\n RecordId?: number;\r\n Name?: string;\r\n KeyName?: string;\r\n DataTypeValue?: number;\r\n Attribute?: number;\r\n NameTranslations?: TextValueTranslation[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ContactInfo entity interface.\r\n */\r\n export interface ContactInfo {\r\n AddressTypeValue?: number;\r\n RecordId?: number;\r\n PartyLocationRecordId?: number;\r\n PartyRecordId?: number;\r\n PartyNumber?: string;\r\n Description?: string;\r\n Value?: string;\r\n ValueExtension?: string;\r\n LogisticsLocationId?: string;\r\n LogisticsLocationRecordId?: number;\r\n ParentLocation?: number;\r\n IsPrimary?: boolean;\r\n IsMobilePhone?: boolean;\r\n IsPrivate?: boolean;\r\n IsOptedInMarketing?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * InventoryQuantities entity interface.\r\n */\r\n export interface InventoryQuantities {\r\n UnitOfMeasure?: string;\r\n QuantityNotProcessed?: number;\r\n QuantityReserved?: number;\r\n QuantityPicked?: number;\r\n QuantityPacked?: number;\r\n QuantityInvoiced?: number;\r\n QuantityOrdered?: number;\r\n QuantityCanceled?: number;\r\n QuantityReturned?: number;\r\n }\r\n \r\n /**\r\n * DeliveryInformation entity interface.\r\n */\r\n export interface DeliveryInformation {\r\n DeliveryMode?: string;\r\n DeliveryAddress?: Address;\r\n DeliveryDate?: Date;\r\n PickupTimeslotStartDateTime?: Date;\r\n PickupTimeslotEndDateTime?: Date;\r\n }\r\n \r\n /**\r\n * ShiftTaxLine entity interface.\r\n */\r\n export interface ShiftTaxLine {\r\n TaxCode?: string;\r\n TaxAmount?: number;\r\n TaxRate?: number;\r\n NetAmount?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TaxRegistration entity interface.\r\n */\r\n export interface TaxRegistration {\r\n RecordId?: number;\r\n Name?: string;\r\n CountryRegionId?: string;\r\n IsRegistrationNumberUnique?: boolean;\r\n IsPrimaryAddressRestricted?: boolean;\r\n TypeApplicabilityRuleRecordId?: number;\r\n TypeValue?: number;\r\n Description?: string;\r\n DirPartyLocationRecordId?: number;\r\n RegistrationNumber?: string;\r\n ValidFrom?: Date;\r\n ValidTo?: Date;\r\n Issuer?: string;\r\n IssueDate?: Date;\r\n Section?: string;\r\n DirectoryPartyRecordId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelTaxRegistration entity interface.\r\n */\r\n export interface ChannelTaxRegistration extends TaxRegistration {\r\n ChannelId?: number;\r\n }\r\n \r\n /**\r\n * LinkedProduct entity interface.\r\n */\r\n export interface LinkedProduct {\r\n ProductRecordId?: number;\r\n LinkedProductRecordId?: number;\r\n Quantity?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * DisplayOrderInCategory entity interface.\r\n */\r\n export interface DisplayOrderInCategory {\r\n CategoryRecordId?: number;\r\n DisplayOrder?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * RelatedProduct entity interface.\r\n */\r\n export interface RelatedProduct {\r\n ProductRecordId?: number;\r\n RelatedProductRecordId?: number;\r\n CatalogId?: number;\r\n RelationName?: string;\r\n IsExcludedRelation?: boolean;\r\n IsDirectRelation?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * KitComponent entity interface.\r\n */\r\n export interface KitComponent {\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ChannelReferenceAdditionalLookupCriteria entity interface.\r\n */\r\n export interface ChannelReferenceAdditionalLookupCriteria {\r\n OrderLookupAdditionalCriteriaTypeValue?: number;\r\n OrderLookupAdditionalCriteriaTypeParameterValue?: string;\r\n }\r\n \r\n /**\r\n * UserAlertFulfillmentLineParameter entity interface.\r\n */\r\n export interface UserAlertFulfillmentLineParameter extends FulfillmentLineParameter {\r\n ItemId?: string;\r\n ProductId?: number;\r\n UnitOfMeasure?: string;\r\n SerialNumberInLatestFulfillmentTransaction?: string;\r\n LatestFulfillmentTransactionOperationTypeValue?: number;\r\n }\r\n \r\n /**\r\n * ListingIdentity entity interface.\r\n */\r\n export interface ListingIdentity {\r\n ProductId?: number;\r\n LanguageId?: string;\r\n CatalogId?: number;\r\n Tag?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductRatingCount entity interface.\r\n */\r\n export interface ProductRatingCount {\r\n Rating?: number;\r\n Count?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * RegularStoreHours entity interface.\r\n */\r\n export interface RegularStoreHours {\r\n MondayOpenTime?: number;\r\n MondayCloseTime?: number;\r\n IsClosedOnMonday?: boolean;\r\n TuesdayOpenTime?: number;\r\n TuesdayCloseTime?: number;\r\n IsClosedOnTuesday?: boolean;\r\n WednesdayOpenTime?: number;\r\n WednesdayCloseTime?: number;\r\n IsClosedOnWednesday?: boolean;\r\n ThursdayOpenTime?: number;\r\n ThursdayCloseTime?: number;\r\n IsClosedOnThursday?: boolean;\r\n FridayOpenTime?: number;\r\n FridayCloseTime?: number;\r\n IsClosedOnFriday?: boolean;\r\n SaturdayOpenTime?: number;\r\n SaturdayCloseTime?: number;\r\n IsClosedOnSaturday?: boolean;\r\n SundayOpenTime?: number;\r\n SundayCloseTime?: number;\r\n IsClosedOnSunday?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ValidationPeriod entity interface.\r\n */\r\n export interface ValidationPeriod {\r\n RecordId?: number;\r\n PeriodId?: string;\r\n Description?: string;\r\n ValidFrom?: Date;\r\n ValidTo?: Date;\r\n StartingTime?: number;\r\n EndingTime?: number;\r\n IsTimeBounded?: number;\r\n MondayStartingTime?: number;\r\n MondayEndingTime?: number;\r\n IsMondayTimeBounded?: number;\r\n TuesdayStartingTime?: number;\r\n TuesdayEndingTime?: number;\r\n IsTuesdayTimeBounded?: number;\r\n WednesdayStartingTime?: number;\r\n WednesdayEndingTime?: number;\r\n IsWednesdayTimeBounded?: number;\r\n ThursdayStartingTime?: number;\r\n ThursdayEndingTime?: number;\r\n IsThursdayTimeBounded?: number;\r\n FridayStartingTime?: number;\r\n FridayEndingTime?: number;\r\n IsFridayTimeBounded?: number;\r\n SaturdayStartingTime?: number;\r\n SaturdayEndingTime?: number;\r\n IsSaturdayTimeBounded?: number;\r\n SundayStartingTime?: number;\r\n SundayEndingTime?: number;\r\n IsSundayTimeBounded?: number;\r\n IsEndTimeAfterMidnight?: number;\r\n IsMondayEndTimeAfterMidnight?: number;\r\n IsTuesdayEndTimeAfterMidnight?: number;\r\n IsWednesdayEndTimeAfterMidnight?: number;\r\n IsThursdayEndTimeAfterMidnight?: number;\r\n IsFridayEndTimeAfterMidnight?: number;\r\n IsSaturdayEndTimeAfterMidnight?: number;\r\n IsSundayEndTimeAfterMidnight?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ClientBookChange entity interface.\r\n */\r\n export interface ClientBookChange {\r\n FromStaffId?: string;\r\n ToStaffId?: string;\r\n CustomerId?: string;\r\n }\r\n \r\n /**\r\n * ChannelProfile entity interface.\r\n */\r\n export interface ChannelProfile {\r\n ProfileProperties?: ChannelProfileProperty[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * RetailSharedConfigurationParameter entity interface.\r\n */\r\n export interface RetailSharedConfigurationParameter {\r\n RecordId?: number;\r\n Name?: string;\r\n Value?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CDXDataStore entity interface.\r\n */\r\n export interface CDXDataStore {\r\n Name?: string;\r\n RecId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * UploadJobPackageRequest entity interface.\r\n */\r\n export interface UploadJobPackageRequest {\r\n JobId?: string;\r\n RerunUploadSessionId?: number;\r\n TargetStorage?: string;\r\n UploadJobDefintion?: string;\r\n UploadUrl?: string;\r\n }\r\n \r\n /**\r\n * ExtensibleAuditEventType entity interface.\r\n */\r\n export interface ExtensibleAuditEventType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * AuditEventFiscalTransaction entity interface.\r\n */\r\n export interface AuditEventFiscalTransaction {\r\n EventId?: number;\r\n LineNumber?: number;\r\n RegisterResponse?: string;\r\n Store?: string;\r\n TransDateTime?: Date;\r\n Terminal?: string;\r\n UploadType?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AuditEventFiscalRegistrationLine entity interface.\r\n */\r\n export interface AuditEventFiscalRegistrationLine {\r\n EventId?: number;\r\n RegisterResponse?: string;\r\n StoreId?: string;\r\n TransactionDateTime?: Date;\r\n TerminalId?: string;\r\n UploadType?: string;\r\n UploadTypeValue?: number;\r\n StaffId?: string;\r\n RecordGuid?: string;\r\n RegistrationStatusValue?: number;\r\n RegistrationProcessId?: string;\r\n ConnectorGroup?: string;\r\n ConnectorName?: string;\r\n ConnectorFunctionalityProfileId?: string;\r\n RegisterInfo?: string;\r\n CreatedDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * NotificationDetail entity interface.\r\n */\r\n export interface NotificationDetail {\r\n ActionProperty?: string;\r\n ItemCount?: number;\r\n DisplayText?: string;\r\n IsNew?: boolean;\r\n LastUpdatedDateTimeStr?: string;\r\n IsSuccess?: boolean;\r\n IsLiveContentOnly?: boolean;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationDocumentContext entity interface.\r\n */\r\n export interface FiscalIntegrationDocumentContext {\r\n AuditEvent?: AuditEvent;\r\n SignatureData?: FiscalIntegrationSequentialSignatureData[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationDocumentAdjustment entity interface.\r\n */\r\n export interface FiscalIntegrationDocumentAdjustment {\r\n TenderLineAdjustments?: FiscalTransactionTenderLineAdjustment[];\r\n SalesLineAdjustments?: FiscalTransactionSalesLineAdjustment[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationSignatureDataContext entity interface.\r\n */\r\n export interface FiscalIntegrationSignatureDataContext {\r\n SequentialSignatureKey?: string;\r\n SequentialNumber?: number;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationRegistrationProcessLine entity interface.\r\n */\r\n export interface FiscalIntegrationRegistrationProcessLine {\r\n RegistrationProcessId?: string;\r\n SequenceNumber?: number;\r\n Priority?: number;\r\n ConnectorTypeValue?: number;\r\n FunctionalityProfileGroupId?: string;\r\n AllowSkip?: boolean;\r\n AllowMarkAsRegistered?: boolean;\r\n AllowPostpone?: boolean;\r\n Optional?: boolean;\r\n RegistrationSettings?: FiscalIntegrationRegistrationSettings;\r\n SupportedFiscalEventTypes?: number[];\r\n SupportedNonFiscalEventTypes?: number[];\r\n SequentialKeys?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationRegistrationSettings entity interface.\r\n */\r\n export interface FiscalIntegrationRegistrationSettings {\r\n SkipReasonCode?: string;\r\n MarkAsRegisteredReasonCode?: string;\r\n PostponeReasonCode?: string;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationServiceFailureDetails entity interface.\r\n */\r\n export interface FiscalIntegrationServiceFailureDetails {\r\n FailureTypeValue?: number;\r\n IsRetryAllowed?: boolean;\r\n ErrorCode?: string;\r\n ErrorMessage?: string;\r\n }\r\n \r\n /**\r\n * CategoryPath entity interface.\r\n */\r\n export interface CategoryPath {\r\n Segments?: CategoryPathSegment[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CategoryPathSegment entity interface.\r\n */\r\n export interface CategoryPathSegment {\r\n CategoryName?: string;\r\n CategoryId?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AttachedService entity interface.\r\n */\r\n export interface AttachedService {\r\n BaseUrl?: string;\r\n ServiceId?: string;\r\n StatusValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ExtensibleInventoryJournalType entity interface.\r\n */\r\n export interface ExtensibleInventoryJournalType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * CustomerTimelineItemType entity interface.\r\n */\r\n export interface CustomerTimelineItemType {\r\n Description?: string;\r\n TypeId?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ProductWarehouseInventoryAvailability entity interface.\r\n */\r\n export interface ProductWarehouseInventoryAvailability {\r\n ProductId?: number;\r\n InventLocationId?: string;\r\n DataAreaId?: string;\r\n PhysicalInventory?: number;\r\n PhysicalReserved?: number;\r\n TotalAvailable?: number;\r\n TotalAvailableInventoryLevelLabel?: string;\r\n TotalAvailableInventoryLevelCode?: string;\r\n OrderedInTotal?: number;\r\n PhysicalAvailable?: number;\r\n PhysicalAvailableInventoryLevelLabel?: string;\r\n PhysicalAvailableInventoryLevelCode?: string;\r\n LastInventoryTransactionId?: number;\r\n UnpostedOnlineOrderedQuantity?: number;\r\n UnpostedFulfilledQuantity?: number;\r\n IsInventoryAvailabilityQuantityReturned?: boolean;\r\n UnprocessedQuantity?: number;\r\n QuantityUnitTypeValue?: number;\r\n UnitOfMeasure?: string;\r\n SumUncountedTransactions?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * QuantityUnitType entity interface.\r\n */\r\n export interface QuantityUnitType extends ExtensibleEnumeration {\r\n }\r\n \r\n /**\r\n * ProductInventoryAvailability entity interface.\r\n */\r\n export interface ProductInventoryAvailability {\r\n ProductId?: number;\r\n DataAreaId?: string;\r\n TotalAvailableQuantity?: number;\r\n TotalAvailableInventoryLevelLabel?: string;\r\n TotalAvailableInventoryLevelCode?: string;\r\n PhysicalAvailableQuantity?: number;\r\n PhysicalAvailableInventoryLevelLabel?: string;\r\n PhysicalAvailableInventoryLevelCode?: string;\r\n QuantityUnitTypeValue?: number;\r\n UnitOfMeasure?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * ParameterSet entity interface.\r\n */\r\n export interface ParameterSet {\r\n }\r\n \r\n /**\r\n * CartLineValidationResults entity interface.\r\n */\r\n export interface CartLineValidationResults {\r\n ValidationResultsByLineId?: CartLineValidationResultsByLineId;\r\n ValidationFailuresByCartLines?: LineDataValidationFailure[];\r\n }\r\n \r\n /**\r\n * CommerceException entity interface.\r\n */\r\n export interface CommerceException {\r\n LocalizedMessage?: string;\r\n ErrorResourceId?: string;\r\n }\r\n \r\n /**\r\n * DataValidationException entity interface.\r\n */\r\n export interface DataValidationException extends CommerceException {\r\n ValidationResults?: DataValidationFailure[];\r\n }\r\n \r\n /**\r\n * MissingRequiredReasonCodeException entity interface.\r\n */\r\n export interface MissingRequiredReasonCodeException extends DataValidationException {\r\n RequiredReasonCodes?: ReasonCode[];\r\n TransactionRequiredReasonCodeIds?: string[];\r\n ReasonCodeRequirements?: ReasonCodeRequirement[];\r\n }\r\n \r\n /**\r\n * SecurityException entity interface.\r\n */\r\n export interface SecurityException extends CommerceException {\r\n }\r\n \r\n /**\r\n * DeviceAuthenticationException entity interface.\r\n */\r\n export interface DeviceAuthenticationException extends SecurityException {\r\n }\r\n \r\n /**\r\n * HeadquarterTransactionServiceException entity interface.\r\n */\r\n export interface HeadquarterTransactionServiceException extends CommerceException {\r\n }\r\n \r\n /**\r\n * UserAuthenticationException entity interface.\r\n */\r\n export interface UserAuthenticationException extends SecurityException {\r\n }\r\n \r\n /**\r\n * UserAuthorizationException entity interface.\r\n */\r\n export interface UserAuthorizationException extends SecurityException {\r\n }\r\n \r\n /**\r\n * FeatureNotSupportedException entity interface.\r\n */\r\n export interface FeatureNotSupportedException extends CommerceException {\r\n }\r\n \r\n /**\r\n * CartValidationException entity interface.\r\n */\r\n export interface CartValidationException extends DataValidationException {\r\n }\r\n \r\n /**\r\n * TenderValidationException entity interface.\r\n */\r\n export interface TenderValidationException extends DataValidationException {\r\n TenderTypeId?: string;\r\n }\r\n \r\n /**\r\n * CommerceDataExchangeException entity interface.\r\n */\r\n export interface CommerceDataExchangeException extends CommerceException {\r\n }\r\n \r\n /**\r\n * ExtensibleEnumerationException entity interface.\r\n */\r\n export interface ExtensibleEnumerationException extends CommerceException {\r\n }\r\n \r\n /**\r\n * TaskManagementException entity interface.\r\n */\r\n export interface TaskManagementException extends CommerceException {\r\n TaskManagementErrors?: TaskManagementError[];\r\n }\r\n \r\n /**\r\n * TaskManagementServerException entity interface.\r\n */\r\n export interface TaskManagementServerException extends TaskManagementException {\r\n }\r\n \r\n /**\r\n * TaskManagementClientException entity interface.\r\n */\r\n export interface TaskManagementClientException extends TaskManagementException {\r\n }\r\n \r\n /**\r\n * PaymentException entity interface.\r\n */\r\n export interface PaymentException extends CommerceException {\r\n AdditionalContext?: string;\r\n PaymentSdkErrors?: PaymentError[];\r\n }\r\n \r\n /**\r\n * DataValidationFailure entity interface.\r\n */\r\n export interface DataValidationFailure {\r\n ErrorContext?: string;\r\n ErrorResourceId?: string;\r\n MemberNames?: string[];\r\n LocalizedMessage?: string;\r\n }\r\n \r\n /**\r\n * ItemDiscontinuedException entity interface.\r\n */\r\n export interface ItemDiscontinuedException extends CommerceException {\r\n RemovedUnavailableItemIds?: string;\r\n }\r\n \r\n /**\r\n * InventoryDocumentLockedByOtherTerminalException entity interface.\r\n */\r\n export interface InventoryDocumentLockedByOtherTerminalException extends DataValidationException {\r\n WorkingTerminalId?: string;\r\n CurrentTerminalId?: string;\r\n }\r\n \r\n /**\r\n * InventoryDocumentExceedMaximumQuantityException entity interface.\r\n */\r\n export interface InventoryDocumentExceedMaximumQuantityException extends DataValidationException {\r\n MaximumQuantity: number;\r\n AllowOverDelivery: boolean;\r\n }\r\n \r\n /**\r\n * CartLineValidationResultsByLineId entity interface.\r\n */\r\n export interface CartLineValidationResultsByLineId {\r\n LineIdToProductBehaviorMap?: KeyValuePair_2OfString_ProductBehavior[];\r\n ValidationResultsPairs?: LineValidationResult[];\r\n }\r\n \r\n /**\r\n * CommerceRuntimeCompositionException entity interface.\r\n */\r\n export interface CommerceRuntimeCompositionException extends CommerceException {\r\n }\r\n \r\n /**\r\n * ChecklistTaskValidationException entity interface.\r\n */\r\n export interface ChecklistTaskValidationException extends DataValidationException {\r\n }\r\n \r\n /**\r\n * InsufficientCredentialLengthException entity interface.\r\n */\r\n export interface InsufficientCredentialLengthException extends DataValidationException {\r\n ActualLength?: number;\r\n MinLength?: number;\r\n }\r\n \r\n /**\r\n * ExtensibleEnumerationCacheException entity interface.\r\n */\r\n export interface ExtensibleEnumerationCacheException extends CommerceException {\r\n }\r\n \r\n /**\r\n * ExtensionConfigurationException entity interface.\r\n */\r\n export interface ExtensionConfigurationException extends CommerceException {\r\n }\r\n \r\n /**\r\n * StaffPasswordExpiredException entity interface.\r\n */\r\n export interface StaffPasswordExpiredException extends UserAuthenticationException {\r\n StaffId?: string;\r\n }\r\n \r\n /**\r\n * ChannelConfigurationNotFoundException entity interface.\r\n */\r\n export interface ChannelConfigurationNotFoundException extends CommerceException {\r\n }\r\n \r\n /**\r\n * PaymentConfigurationException entity interface.\r\n */\r\n export interface PaymentConfigurationException extends CommerceException {\r\n PaymentConfigurationSdkErrors?: string[];\r\n }\r\n \r\n /**\r\n * SecretConfigurationNotFoundException entity interface.\r\n */\r\n export interface SecretConfigurationNotFoundException extends CommerceException {\r\n }\r\n \r\n /**\r\n * TenderTypePolicy entity interface.\r\n */\r\n export interface TenderTypePolicy {\r\n OriginalTenderType?: string;\r\n AllowedReturnTenderTypes?: string[];\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AccountStatementRequest entity interface.\r\n */\r\n export interface AccountStatementRequest {\r\n RequestedUserId?: string;\r\n IsForFullOrganization?: boolean;\r\n FromDate?: Date;\r\n ToDate?: Date;\r\n RequestingUserEmail?: string;\r\n DeliveryTypeValue?: number;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * BusinessPartnerOperationRequestDetails entity interface.\r\n */\r\n export interface BusinessPartnerOperationRequestDetails {\r\n InvoiceId?: string;\r\n AccountStatementStartDateTime?: Date;\r\n AccountStatementEndDateTime?: Date;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TaskManagementError entity interface.\r\n */\r\n export interface TaskManagementError {\r\n ErrorResourceId?: string;\r\n LocalizedMessage?: string;\r\n TaskId?: string;\r\n }\r\n \r\n /**\r\n * LineDataValidationFailure entity interface.\r\n */\r\n export interface LineDataValidationFailure {\r\n DataValidationFailure?: DataValidationFailure;\r\n LineIndex?: number;\r\n }\r\n \r\n /**\r\n * WrongEndpointException entity interface.\r\n */\r\n export interface WrongEndpointException extends CommerceException {\r\n RedirectUri?: string;\r\n }\r\n \r\n /**\r\n * BadRequestException entity interface.\r\n */\r\n export interface BadRequestException extends CommerceException {\r\n }\r\n \r\n /**\r\n * KeyValuePair_2OfString_ProductBehavior entity interface.\r\n */\r\n export interface KeyValuePair_2OfString_ProductBehavior {\r\n }\r\n ","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport type CacheType = 'none' | 'instance' | 'application' | 'request';\n\n/**\n * BypassCache type.\n */\nexport type BypassCache = 'none' | 'get' | 'put' | 'getAndPut';\n\nexport enum ICacheSource {\n RequestCache,\n AppCache\n}\n\nexport interface ICacheKey {\n key: string;\n typeName: string;\n}\n\nexport interface ICacheItem {\n item: T;\n cacheType?: CacheType;\n shouldRefresh?: boolean;\n error?: boolean;\n s?: ICacheSource;\n}\n\n/**\n * Interface exposing methods for caching\n */\nexport interface ICache {\n /**\n * @function {put} - Method to insert an item in the cache\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @param cacheItem {ICacheItem} - item that needs to be inserted in the cache\n */\n put(cacheKey: ICacheKey, item: ICacheItem): boolean;\n\n /**\n * @function {get} - Method to get the cached item\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @return {ICacheItem} - cached value against the given cache key\n */\n get(cacheKey: ICacheKey): ICacheItem | undefined;\n\n /**\n * @function {getValue} - Method to get the cached item\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @return {T} - cached value against the given cache key\n */\n getValue(cacheKey: ICacheKey): T | undefined;\n\n /**\n * @function {getAllItems} - Method to get all cached items for a given type\n * @param typeName {typeName} - typeName for which all items need to be fetched\n * @return {ICacheItem} - dictionary of cache items of the given typeName\n */\n getAllItems(typeName: string): { [cacheKey: string]: ICacheItem } | undefined;\n\n /**\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @param toCache {ICache} - cache object to which the item needs to be copied\n * @return {ICacheItem} - cache item that was copied\n */\n copyTo(cacheKey: ICacheKey, toCache: ICache): ICacheItem | undefined;\n\n /**\n * @function {del} - Method to delete an item from the cache\n * @param key {ICacheKey[]} - Array of ICacheGetData items whose values need to be deleted from cache\n * @return {number} - returns true if the cache key is deleted successfully. Does not throw errors.\n */\n del(cacheKey: ICacheKey): boolean;\n\n /**\n * @function {flushAll} - Method to flush all data from the cache\n */\n flushAll(): void;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n// NOTE: no-any is disabled intentionally, as promises require valid use of the any type\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { observable } from 'mobx';\nimport { IODataMetadata } from './interfaces/IODataMetadata';\n\nexport type AsyncResultStatus = 'LOADING' | 'SUCCESS' | 'FAILED';\n\nexport const isAsyncResult = (item: { toString(): string }): item is AsyncResult => {\n return item && item.toString && typeof item.toString === 'function' && item.toString() === `[object AsyncResult]`;\n};\n\n/**\n * Utility Methods For AsyncResult\n */\nconst isThenable = (obj: any) => obj && typeof obj === 'object' && typeof obj.then === 'function';\n\n/**\n * TYPES & INTERFACES\n */\ninterface IHandler {\n onSuccess: HandlerOnSuccess;\n onFail: HandlerOnFail;\n}\n\ntype HandlerOnSuccess = (value: TIn) => TOut | PromiseLike;\ntype HandlerOnFail = (reason: any) => TOut | PromiseLike;\n\ntype Resolve = (value?: T | PromiseLike) => void;\ntype Reject = (value?: any) => void;\n\n/**\n * AsyncResult Class\n * Promise-style class which allows for observation of the status of the promise\n * and it's result during and after is execution.\n */\nexport class AsyncResult implements Promise {\n @observable public result?: T;\n\n @observable public status: AsyncResultStatus = 'LOADING';\n\n @observable public error?: Error;\n\n @observable public metadata: IODataMetadata = {};\n\n private _type: string = 'AsyncResult';\n\n public getType(): string {\n return this._type;\n }\n\n private _handlers: Array> = [];\n\n public static resolve(value?: U | PromiseLike): AsyncResult {\n return new AsyncResult(resolve => {\n return resolve(value);\n });\n }\n\n public static reject(reason?: any): AsyncResult {\n return new AsyncResult((resolve, reject) => {\n return reject(reason);\n });\n }\n\n /**\n * Class constructor, which starts running the passed executor\n * @param executor Passed function to be executed, resulting in resolution/rejection\n */\n constructor(executor: (resolve: Resolve, reject: Reject) => void) {\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /**\n * Method that allows for an executor to be passed to the promise after inital execution,\n * essentially \"rerunning\" the promise.\n * @param executor Passed function to be executed, resulting in resolution/rejection\n */\n public run(executor: (resolve: Resolve, reject: Reject) => void): void {\n this.status = 'LOADING';\n this.error = undefined;\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /**\n * Method which allows chaining of callbacks to the end of a fully executed AsyncResult\n * @param onSuccess Callback to be run on successful completion of executor\n * @param onFail Callback to be run when executor cannot be successfully completed\n */\n public then(\n onSuccess?: ((value: T) => TResult1 | PromiseLike) | undefined | null,\n onFail?: ((reason: any) => TResult2 | PromiseLike) | undefined | null\n ): AsyncResult {\n const asyncResult = new AsyncResult((resolve, reject) => {\n return this._attachHandler({\n onSuccess: result => {\n if (!onSuccess) {\n return resolve(result as any);\n }\n\n try {\n return resolve(onSuccess(result));\n } catch (e) {\n return reject(e);\n }\n },\n onFail: reason => {\n if (!onFail) {\n return reject(reason);\n }\n\n try {\n return resolve(onFail(reason));\n } catch (e) {\n return reject(e);\n }\n }\n });\n });\n\n // Always pass the metadata on a then\n asyncResult.metadata = this.metadata;\n\n return asyncResult;\n }\n\n /**\n * Hook to allow callback on the unsuccessful run of an executor\n * @param onFail Callback to run when executor fails\n */\n public catch(onFail?: ((reason: any) => TResult | PromiseLike) | undefined | null): AsyncResult {\n const defaultThen = (value: any) => value;\n return this.then(defaultThen, onFail);\n }\n\n /**\n * Hook to allow a callback to be executed on a successful or unsuccessful run of the executor\n * @param callback Callback to be run after original AsyncResult is completed\n */\n public finally(onfinally?: (() => void) | undefined | null): AsyncResult {\n return new AsyncResult((resolve, reject) => {\n let value: T | any;\n let failed: Boolean = false;\n\n return this.then(\n result => {\n value = result;\n return onfinally();\n },\n reason => {\n failed = true;\n value = reason;\n return onfinally();\n }\n ).then(() => {\n if (failed) {\n return reject(value);\n }\n\n return resolve(value);\n });\n });\n }\n\n public toString(): string {\n return `[object AsyncResult]`;\n }\n\n get [Symbol.toStringTag](): string {\n return '[object AsyncResult]';\n }\n\n private _attachHandler = (handler: IHandler) => {\n this._handlers.push(handler);\n\n this._executeHandlers();\n };\n\n private _executeHandlers = () => {\n if (this.status === 'LOADING') {\n return;\n }\n\n for (const handler of this._handlers) {\n if (this.status === 'FAILED') {\n handler.onFail(this.error);\n } else {\n handler.onSuccess(this.result as T);\n }\n }\n\n this._handlers = [];\n };\n\n private _resolve = (value?: T | PromiseLike) => {\n return this._updateStatus(value, 'SUCCESS');\n };\n\n private _reject = (reason: any) => {\n return this._updateStatus(reason, 'FAILED', true);\n };\n\n private _updateStatus(result: T | any, newStatus: AsyncResultStatus, isError: Boolean = false): void {\n // Wrap in setTimeout to ensure fully synchronous handlers\n // are still returned AFTER initial class construction\n setTimeout(() => {\n if (this.status !== 'LOADING') {\n return null;\n }\n\n if (isThenable(result)) {\n return (result as PromiseLike).then(this._resolve, this._reject);\n }\n\n if (isError) {\n this.error = result;\n } else {\n this.result = result;\n }\n\n this.status = newStatus;\n\n return this._executeHandlers();\n }, 0);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { EMPTY, hasElements } from '../extensions/StringExtensions';\nimport { ProxyError } from './ProxyError';\n\nexport class ErrorTypeEnum {\n public static SERVER_ERROR: string = 'string_29002';\n public static SERVICE_UNAVAILABLE: string = 'string_29278';\n public static SERVER_TIMEOUT: string = 'string_29279';\n public static RETAIL_SERVER_REDIRECT_ERROR = 'RETAIL_SERVER_REDIRECT_ERROR';\n public static GENERICERRORMESSAGE: string = 'string_29201';\n public static MICROSOFT_DYNAMICS_SERVER_INTERNAL_ERROR: string = ErrorTypeEnum.GENERICERRORMESSAGE;\n public static BAD_REQUEST: string = 'string_29274';\n public static NOT_AUTHORIZIED: string = 'string_29275';\n public static FORBIDDEN: string = 'string_29276';\n public static PRECONDITION_FAILED: string = 'string_29277';\n public static RETURN_NO_ORDERS_FOUND: string = 'string_1218';\n}\n\n/**\n * Forward links for device activation errors.\n */\nexport class DeviceActivationErrorsForwardLinks {\n public static MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_CHANNELDATABASECONNECTIONFAILED: string =\n 'http://go.microsoft.com/fwlink/?LinkId=403590';\n public static MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_REALTIMESERVICECONNECTIONFAILED: string =\n 'http://go.microsoft.com/fwlink/?LinkId=403591';\n public static MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_TERMINALNOTASSIGNEDTOSTORE: string = 'http://go.microsoft.com/fwlink/?LinkId=403592';\n public static MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_USERNOTASSIGNEDTOSTORE: string = 'http://go.microsoft.com/fwlink/?LinkId=403593';\n public static MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_INCORRECTSTAFFIDORPASSWORD: string = 'http://go.microsoft.com/fwlink/?LinkId=403594';\n public static MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_DEVICEALREADYACTIVATED: string = 'http://go.microsoft.com/fwlink/?LinkId=519136';\n public static SERVER_ERROR: string = 'http://go.microsoft.com/fwlink/?LinkId=519137';\n}\n\nexport class ErrorHelper {\n private static AGGREGATED_ERROR_RESOUCEIDS: string[] = [\n 'Microsoft_Dynamics_Commerce_Runtime_AggregateValidationError',\n 'Microsoft_Dynamics_Commerce_Runtime_AggregateCommunicationError',\n 'Microsoft_Dynamics_Commerce_Runtime_InvalidCartLinesAggregateError'\n ];\n\n public static MICROSOFT_DYNAMICS_SERVER_INTERNAL_ERROR: string = 'Microsoft_Dynamics_Internal_Server_Error';\n\n public static isAggregatedErrorResourceId(errorResourceId: string): boolean {\n return ErrorHelper.AGGREGATED_ERROR_RESOUCEIDS.indexOf(errorResourceId) !== -1;\n }\n\n /**\n * Map response status code to error.\n *\n * @param {any} Error returned by retail server call.\n */\n public static MapResponseStatusCodeToError(errorMessage: string, statusCode: number, err?: any): ProxyError {\n let errorCode = '';\n let canRetry = false;\n\n switch (statusCode) {\n case 400:\n errorCode = ErrorTypeEnum.BAD_REQUEST;\n break;\n case 401:\n errorCode = ErrorTypeEnum.NOT_AUTHORIZIED;\n break;\n case 403:\n errorCode = ErrorTypeEnum.FORBIDDEN;\n break;\n case 412:\n errorCode = ErrorTypeEnum.PRECONDITION_FAILED;\n break;\n case 503:\n errorCode = ErrorTypeEnum.SERVICE_UNAVAILABLE;\n canRetry = true;\n break;\n case 500:\n default:\n errorCode = ErrorTypeEnum.SERVER_ERROR;\n errorMessage = 'The server error format is not supported or it does not have enough information.';\n\n // Temporary until the fix for Bug 681427 goes in\n // If no orders were found, than an error did not occur\n if (err && err.response && err.response.body && err.response.requestUri) {\n if (err.response.requestUri.indexOf('GetOrderByReceiptId') > -1) {\n if (err.response.body.indexOf('No orders were found') > -1) {\n errorMessage = ErrorTypeEnum.RETURN_NO_ORDERS_FOUND;\n }\n }\n }\n }\n\n if (errorMessage && errorMessage.toUpperCase() === 'TIMEOUT') {\n errorCode = ErrorTypeEnum.SERVER_TIMEOUT;\n }\n\n return new ProxyError(errorCode, errorMessage || EMPTY, EMPTY, canRetry, err);\n }\n\n /**\n * Checks whether all the provided errors are retryable. If no error code is provided or an error is undefined,\n * then the errors will be treated as not retryable.\n *\n * @return {boolean} True if the error codes are retryable, false if the error codes are not retryable or not defined\n */\n public static isRetryable(errors: ProxyError[]): boolean {\n const numErrors: number = !errors ? 0 : errors.length;\n let isRetryable: boolean = numErrors > 0;\n for (let i: number = 0; i < numErrors; i++) {\n if (errors[i]) {\n isRetryable = isRetryable && errors[i].CanRetry;\n } else {\n isRetryable = false;\n }\n }\n\n return isRetryable;\n }\n\n /**\n * Gets a string with all error codes.\n * @param {ProxyError[]} errors the error collection.\n * @return {string} a formated string containing all error codes.\n */\n public static getErrorResourceIds(errors: ProxyError[]): string {\n let result: string = '';\n\n if (hasElements(errors)) {\n const errorResourceIds: string[] = [];\n for (const error of errors) {\n errorResourceIds.push(error.ErrorCode);\n }\n\n result = errorResourceIds.join(', ');\n }\n\n return result;\n }\n\n /**\n * Gets a string with all error messages.\n * @param {ProxyError[]} errors the error collection.\n * @return {string} a formated string containing all error messages.\n */\n public static getErrorMessages(errors: ProxyError[]): string {\n let result: string = '';\n\n if (hasElements(errors)) {\n const errorResourceIds: string[] = [];\n for (const error of errors) {\n errorResourceIds.push(error.LocalizedErrorMessage);\n }\n\n result = errorResourceIds.join(', ');\n }\n\n return result;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { CommerceException, DataValidationException, DataValidationFailure } from '../Entities/CommerceTypes.g';\nimport { EMPTY, hasElements } from '../extensions/StringExtensions';\nimport { genericWarning, Tracer } from '../logging';\nimport { ErrorTypeEnum, ErrorHelper } from './ErrorHelper';\nimport { ProxyError } from './ProxyError';\n\n/**\n * Error parser class.\n */\nexport class ErrorParser {\n private static DataValidationExceptionType: string = 'Microsoft.Dynamics.Commerce.Runtime.DataValidationException';\n private static CartValidationExceptionType: string = 'Microsoft.Dynamics.Commerce.Runtime.CartValidationException';\n private static StorageExceptionType: string = 'Microsoft.Dynamics.Commerce.Runtime.StorageException';\n\n /**\n * Parses an error message.\n *\n * @param {any} error The error message.\n * @return {ProxyError[]} The collection of error messages.\n */\n public static parseErrorMessage(error: any): ProxyError[] {\n const response = error.response;\n let errors: ProxyError[] = [];\n if (response) {\n let handled = true;\n Tracer.Information(`Server response status code is '${response.statusCode}'`);\n switch (response.statusCode) {\n case 306: // Custom - Redirection\n const redirectUrl = response.headers['Location'];\n error.redirectUrl = redirectUrl;\n errors = [new ProxyError(ErrorTypeEnum.RETAIL_SERVER_REDIRECT_ERROR, response.statusText, EMPTY, false, error)];\n break;\n\n case 401: // Unauthorized (Generally Expired Token)\n if (process.env.CURRENT_ENVIRONMENT === 'web') {\n const redirectCountQueryString = 'rdc';\n const noRedirectQueryString = 'noredirect';\n try {\n const currentUrl = new URL(location.href);\n if (currentUrl.searchParams.get(noRedirectQueryString)) {\n break;\n }\n const rdc = parseInt(currentUrl.searchParams.get(redirectCountQueryString), 10) || 0;\n if (rdc && rdc >= 3) {\n break;\n }\n currentUrl.searchParams.set(redirectCountQueryString, `${rdc + 1}`);\n location.href = currentUrl.href;\n } catch (e) {\n break;\n }\n }\n\n break;\n\n case 408: // Request Timeout\n errors = [new ProxyError(ErrorTypeEnum.SERVER_TIMEOUT, response.statusText, EMPTY, false, error)];\n break;\n\n case 0: // WWAHost reports status code as 0, If server is unreachable.\n case 502: // Bad Gateway\n case 503: // Service Unavailable\n case 504: // Gateway timeout\n errors = [new ProxyError(ErrorTypeEnum.SERVICE_UNAVAILABLE, response.statusText, EMPTY, false, error)];\n break;\n\n default:\n handled = false;\n }\n\n if (!handled) {\n errors = ErrorParser.parseError(error);\n }\n }\n\n // If we couldn't create any error object from error message, add error parsing failure\n if (!errors || !errors.length) {\n errors = [new ProxyError(ErrorTypeEnum.SERVER_ERROR, 'Could not parse error message sent by the server.', EMPTY, false, error)];\n }\n\n return errors;\n }\n\n /**\n * Parses an error message sent from Hardware station.\n *\n * @param {any} error The error message.\n * @retunrs {ProxyError[]} The collection of error messages.\n */\n public static parseHardwareStationErrorMessage(error: any): ProxyError[] {\n let errors: ProxyError[] = [];\n\n if (error) {\n try {\n const response = error.responseText;\n\n if (response) {\n const jsonResponse = JSON.parse(response);\n\n // Parse errors in json format\n if (jsonResponse) {\n errors = [\n new ProxyError(\n jsonResponse.ErrorResourceId ? jsonResponse.ErrorResourceId : ErrorTypeEnum.SERVER_ERROR,\n jsonResponse.Message || '',\n EMPTY,\n false,\n error\n )\n ];\n } else {\n // If not in json, we cannot parse it\n errors = [\n new ProxyError(\n ErrorTypeEnum.SERVER_ERROR,\n 'The value of Content-Type on server response is not supported.',\n EMPTY,\n false,\n error\n )\n ];\n }\n } else {\n // In case we don't have a body, we don't know the error message but from http status\n errors = [ErrorHelper.MapResponseStatusCodeToError(error.statusText, error.status, error)];\n }\n } catch (ex) {\n const errorMessage: string = `parseHardwareStationErrorMessage: Failed parse error message '${ex.message}'.`;\n Tracer.Error(errorMessage, ex);\n }\n }\n\n // If we couldn't create any error object from error message, add error parsing failure\n if (!errors || !errors.length) {\n errors = [new ProxyError(ErrorTypeEnum.SERVER_ERROR, 'Could not parse error message sent by the server.', EMPTY, false, error)];\n }\n\n return errors;\n }\n\n public static parseJSONError(errorString: string, errorResponse?: any): ProxyError[] {\n let commerceErrors: ProxyError[] = [];\n\n try {\n const odataError: any = JSON.parse(errorString);\n odataError.CorrelationId = errorResponse.data.CorrelationId;\n\n // assign parsed data to errorResponse\n errorResponse.data = odataError;\n\n // due to odata json format limitation, a collection of errors is provided in the message field\n const localizedMessage: string = odataError.LocalizedMessage;\n const exceptionType: string = odataError.ErrorResourceId;\n\n if (exceptionType === ErrorTypeEnum.MICROSOFT_DYNAMICS_SERVER_INTERNAL_ERROR) {\n commerceErrors = [\n new ProxyError(\n ErrorTypeEnum.MICROSOFT_DYNAMICS_SERVER_INTERNAL_ERROR,\n localizedMessage || 'Server failed with uncaught exception. Please report this failure.',\n localizedMessage,\n false,\n errorResponse\n )\n ];\n } else if (localizedMessage != null && exceptionType != null) {\n commerceErrors = ErrorParser.convertExceptionToErrors(odataError, exceptionType, errorResponse);\n } else {\n throw new Error('Server exception is not in expected format.');\n }\n } catch (ex) {\n const errorMessage: string =\n 'DataServiceRequest::parseJSONError: Invalid json format from server. It was not possible to parse error message. {0}';\n Tracer.Error(errorMessage, ex);\n }\n\n if (!hasElements(commerceErrors)) {\n commerceErrors = [\n new ProxyError(\n ErrorTypeEnum.GENERICERRORMESSAGE,\n 'Could not parse error message from server. Possible invalid OData request, please check your request.',\n EMPTY,\n false,\n errorResponse\n )\n ];\n }\n\n return commerceErrors;\n }\n\n private static convertExceptionToErrors(serverException: CommerceException, exceptionType: string, errorResponse: any): ProxyError[] {\n let errors: ProxyError[] = [];\n\n switch (exceptionType) {\n // CartValidationExceptionType extends DataValidationExceptionType\n case ErrorParser.DataValidationExceptionType:\n case ErrorParser.CartValidationExceptionType:\n const dataValidation: DataValidationException = serverException as DataValidationException;\n // json is in odata format, array has elements inside result member\n errors = ErrorParser.getErrorsFromDataValidationFailures(dataValidation.ValidationResults as any);\n errors.push(\n new ProxyError(\n dataValidation.ErrorResourceId || ErrorTypeEnum.SERVER_ERROR,\n EMPTY,\n dataValidation.LocalizedMessage,\n false,\n errorResponse\n )\n );\n break;\n\n case ErrorParser.StorageExceptionType:\n errors.push(\n new ProxyError(ErrorTypeEnum.SERVICE_UNAVAILABLE, EMPTY, serverException.LocalizedMessage, false, errorResponse)\n );\n break;\n }\n\n if (errors.length === 0) {\n const error: ProxyError = new ProxyError(\n serverException.ErrorResourceId || ErrorTypeEnum.SERVER_ERROR,\n EMPTY,\n serverException.LocalizedMessage,\n false,\n errorResponse\n );\n error.commerceException = serverException;\n errors.push(error);\n }\n\n return errors;\n }\n\n private static getErrorsFromDataValidationFailures(failures: DataValidationFailure[]): ProxyError[] {\n const errors: ProxyError[] = [];\n failures = failures || [];\n\n for (const failure of failures) {\n errors.push(\n new ProxyError(\n failure.ErrorResourceId || ErrorTypeEnum.SERVER_ERROR,\n failure.ErrorContext || '',\n failure.LocalizedMessage,\n false,\n {}\n )\n );\n }\n\n return errors;\n }\n\n /**\n * Parses an error to get the error code and error message.\n *\n * @param {any} error The error message.\n * @retunrs {ProxyError[]} The collection of error messages.\n */\n private static parseError(error: any): ProxyError[] {\n const response = error.response;\n let errors: ProxyError[] = [];\n if (response.body && response.data) {\n // If we have a response body\n const contentType: string = (response.headers && (response.headers['Content-Type'] || response.headers['content-type'])) || '';\n const bodyString: string = response.data.Exception;\n // Parse errors in json format\n if (contentType.toLowerCase().indexOf('application/json') !== -1) {\n errors = ErrorParser.parseJSONError(bodyString, error.response);\n } else {\n const message: string = `Server error has been received with unsupported content type: '${contentType}'.`;\n genericWarning(message);\n }\n }\n // if we couldn't parse the errors from the body, we can only rely on status text and status code\n if (!hasElements(errors)) {\n // In case we don't have a body, we don't know the error message but from http status code\n errors = [ErrorHelper.MapResponseStatusCodeToError(response.statusText, response.statusCode, error)];\n }\n return errors;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n// Following reference is added to fix the build dependency between CommerceContxt and DataServiceQuery.\n// This will eventually be moved to CommerceContext.ts when MPOS proxy and Commerce Proxy are merged.\nexport class ProxyErrorSDK extends Error {\n public errorCode: string;\n public errorMessage: string;\n public localizedErrorMessage: string = '';\n public canRetry: boolean = false;\n public commerceException: any;\n public formatData: any[] = [];\n public requestUri: any;\n public data: any;\n public statusCode: any;\n\n constructor(\n errorCode: string,\n errorMessage: string,\n canRetry: boolean\n ) {\n super();\n this.name = errorCode;\n this.message = errorMessage;\n this.errorCode = errorCode;\n this.errorMessage = errorMessage;\n this.canRetry = canRetry;\n Object.setPrototypeOf(this, ProxyErrorSDK.prototype);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n// Following reference is added to fix the build dependency between CommerceContxt and DataServiceQuery.\n// This will eventually be moved to CommerceContext.ts when MPOS proxy and Commerce Proxy are merged.\n\nimport { ProxyErrorSDK } from './ProxyErrorSDK';\n\n'use strict';\n\n/**\n * Class for representing an error.\n */\nexport class ProxyError {\n private _errorCode: string;\n private _errorMessage: string;\n private _localizedErrorMessage: string;\n private _canRetry: boolean = false;\n private _commerceException: any;\n private _formatData: any[];\n private _extraData: any;\n\n constructor(errorCode: string, errorMessage: string, localizedErrorMessage, canRetry: boolean, extraData: any, ...formatData: any[]) {\n this._errorCode = errorCode;\n this._errorMessage = errorMessage;\n this._localizedErrorMessage = localizedErrorMessage;\n this._canRetry = canRetry;\n this._commerceException = null;\n this._formatData = formatData;\n this._extraData = extraData;\n }\n\n /**\n * Takes a proxy error and returns a proper JS error version of it\n * @param proxyError The proxyError\n */\n public static toError(proxyError: ProxyError): Error {\n const errorName = proxyError.ErrorCode || 'Proxy Error';\n const errorMessage = proxyError.ErrorMessage || proxyError.LocalizedErrorMessage;\n const e = new ProxyErrorSDK(errorName, errorMessage, proxyError.CanRetry);\n\n // Assign extra error details to error.\n // ts-ignoring as the standard error contract only supports name and message\n if (proxyError.extraData) {\n e.requestUri = proxyError.extraData.requestUri;\n\n e.data = proxyError.extraData.data;\n\n e.statusCode = proxyError.extraData.statusCode;\n }\n\n return e;\n }\n\n /**\n * Gets the commerce exception that caused this error.\n *\n * @return {any} The commerce exception.\n */\n public get commerceException(): any {\n return this._commerceException;\n }\n\n /**\n * Sets the commerce exception that caused this error.\n *\n * @param {any} exception The commerce exception.\n */\n public set commerceException(exception: any) {\n this._commerceException = exception;\n }\n\n /**\n * Gets the error code.\n *\n * @return {string} The error code.\n */\n public get ErrorCode(): string {\n return this._errorCode;\n }\n\n /**\n * Gets the error message.\n *\n * @return {string} The error message.\n */\n public get ErrorMessage(): string {\n return this._errorMessage;\n }\n\n /**\n * Gets the localized error message.\n *\n * @return {string} The localized error message.\n */\n public get LocalizedErrorMessage(): string {\n return this._localizedErrorMessage;\n }\n\n /**\n * Gets the format data used on formatted error messages.\n *\n * @return {any[]} The format data.\n */\n public get formatData(): any[] {\n return this._formatData;\n }\n\n /**\n * Gets the additional information the might be supplied by the error.\n *\n * @return {any} The extra data.\n */\n public get extraData(): any {\n return this._extraData;\n }\n\n /**\n * Gets the error title. Defaults to the resource string string_29004 for the error title if\n * no error title is mapped for the error.\n */\n public get ErrorTitleResourceId(): string {\n const errorTitleResourceId = 'string_29004'; // Error string: There is a problem with the server\n return errorTitleResourceId;\n }\n\n /**\n * Gets whether the action that generated the error can be retried.\n *\n * @return {string} Whether the action that generated the error can be retried.\n */\n public get CanRetry(): boolean {\n return this._canRetry;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n// TODO - refactor to incorporate inbuilt JS extension method\n// TODO - integrate Trace.error\n\nexport const EMPTY = '';\n\nexport function convertToString(obj: any, accumulator: string[] = [], depth: number = 0): string {\n if (!obj) {\n return null;\n }\n\n if (typeof obj === 'string') {\n return obj;\n }\n\n if (typeof obj !== 'object') {\n return obj.toString();\n }\n\n for (const prop in obj) {\n if (obj.hasOwnProperty(prop)) {\n const value = obj[prop];\n const stringifyValue = convertToString(value, accumulator, depth + 1);\n if (stringifyValue) {\n if (accumulator.length > 0 && depth === 0) {\n accumulator.push('&');\n }\n accumulator.push(prop);\n accumulator.push(typeof value === 'object' ? '.' : ':');\n accumulator.push(stringifyValue);\n }\n }\n }\n\n if (depth === 0) {\n return accumulator.join(EMPTY);\n }\n}\n\n/**\n * Verifies whether the object array has elements.\n *\n * @param {any[]} array The array.\n * @return {boolean} True if the object has elements, false otherwise.\n */\nexport function hasElements(array?: any[]): boolean {\n return !!array && array.length > 0;\n}\n\n/**\n * Verifies whether the string is empty or whitespace, but not null.\n *\n * @param {string} object The object.\n * @return {boolean} True if the object is empty or whitespace, false otherwise.\n */\nexport function isObjectNotEmptyOrNull(value: object): boolean {\n return value && typeof value === 'object' && Object.keys(value).length > 0;\n}\n\n/**\n * Verifies whether the string is empty, but not null.\n *\n * @param {string} object The object.\n * @return {boolean} True if the object is empty, false otherwise.\n */\nexport function isEmpty(object: string): boolean {\n if (object && typeof object !== 'string') {\n // Tracer.Error(\"StringExtensions.isEmpty() has received input parameter not of type string.\");\n }\n return object != null && object.length === 0;\n}\n\n/**\n * Verifies whether the string is empty or whitespace, but not null.\n *\n * @param {string} object The object.\n * @return {boolean} True if the object is empty or whitespace, false otherwise.\n */\nexport function isEmptyOrWhitespace(object: string): boolean {\n if (object && typeof object !== 'string') {\n // Tracer.Error(\"StringExtensions.isEmptyOrWhitespace() has received input parameter not of type string.\");\n }\n if (object) {\n // Make sure object is of type string\n object = object.toString();\n\n return typeof object.trim === 'function' && (object.trim() || '').length === 0;\n }\n return false;\n}\n\n/**\n * Verifies whether the string is null or whitespace.\n *\n * @param {string} object The object.\n * @return {boolean} True if the object is null or whitespace, false otherwise.\n */\nexport function isNullOrWhitespace(object: string): boolean {\n if (object && typeof object !== 'string') {\n // Tracer.Error(\"StringExtensions.isNullOrWhitespace() has received input parameter not of type string.\");\n }\n let returnValue = true;\n try {\n returnValue = !object;\n if (!returnValue) {\n // Make sure object is of type string\n object = object.toString();\n returnValue = object.trim().length === 0;\n }\n } catch (err) {\n // Commerce.Proxy.Tracer.Error(\"StringExtensions.isNullOrWhitespace() caught exception = {0}\", err.message);\n }\n\n return returnValue;\n}\n\n/**\n * Pad left with padString until the required length is reached.\n */\nexport function padLeft(object: string, padString: string, length: number): string {\n if (object && typeof object !== 'string') {\n // Tracer.Error(\"StringExtensions.padLeft() has received input parameter not of type string.\");\n }\n\n if (!padString || !object) {\n return object;\n }\n\n while (object.length < length) {\n object = padString + object;\n }\n return object;\n}\n\n/**\n * Pad right with padString until the required length is reached.\n */\nexport function padRight(object: string, padString: string, length: number): string {\n if (object && typeof object !== 'string') {\n // Tracer.Error(\"StringExtensions.padRight() has received input parameter not of type string.\");\n }\n\n if (!padString || !object) {\n return object;\n }\n\n while (object.length < length) {\n object += padString;\n }\n return object;\n}\n\n/**\n * Basic C# like string format function.\n */\nexport function format(object: string, ...params: any[]): string {\n if (object && typeof object !== 'string') {\n // Tracer.Error(\"StringExtensions.isEmptyOrWhitespace has received input parameter not of type string.\");\n }\n\n if (isNullOrWhitespace(object)) {\n return object;\n }\n\n if (params == null) {\n throw new Error('StringExtensions::format Invalid parameter (params) cannot be null.');\n }\n\n for (let index = 0; index < params.length; index++) {\n if (params[index] == null) {\n throw new Error('StringExtensions::format Invalid parameter (at index ' + index + ') cannot be null or undefined.');\n }\n\n // escape '$' to avoid '$0' issue, '$$$$' means '$$' escaped\n const param = params[index].toString().replace(/\\$/gi, '$$$$');\n const regexp = new RegExp('\\\\{' + index + '\\\\}', 'gi');\n object = object.replace(regexp, param);\n }\n\n return object;\n}\n\n/**\n * Returns an ordinal to indicate the ordering of the strings\n * -1: This object is less than comparison object\n * 0: This object is equal to the comparison object\n * 1: This object is greater than the comparison object\n */\nexport function compare(object: string, comparisonObject: string, ignoreCase?: boolean): number {\n if (!object && !comparisonObject) {\n return 0;\n } else if (!object) {\n return -1;\n } else if (!comparisonObject) {\n return 1;\n }\n\n const val1: string = ignoreCase ? object.toLowerCase() : object;\n const val2: string = ignoreCase ? comparisonObject.toLowerCase() : comparisonObject;\n\n return val1 < val2 ? -1 : val1 > val2 ? 1 : 0;\n}\n\n/**\n * Replaces new line character with
for display.\n */\nexport function replaceNewLineWithBr(text: string) {\n if (text) {\n return replaceAll(text, '\\n', '
');\n }\n\n return text;\n}\n\n/**\n * Replaces all instances of @txtToReplace\n */\nexport function replaceAll(txt, txtToReplace, valueToReplaceWith) {\n return txt.replace(new RegExp(txtToReplace, 'g'), valueToReplaceWith);\n}\n\n/**\n * Escapes single quote to be send as part of URLs.\n */\nexport function escapeSingleQuote(text: string) {\n return text.replace(/(')/g, '\\'$1');\n}\n\n/**\n * Removes the trailing slashes from the URI.\n *\n * @param {string} uri The URI to clean.\n * @return {string} The uri without trailing slashes.\n */\nexport function CleanUri(uri: string): string {\n if (isNullOrWhitespace(uri)) {\n return EMPTY;\n }\n\n // the cutoff index for the string\n let cutoffIndex = uri.length - 1;\n\n while (cutoffIndex >= 0 && (uri[cutoffIndex] === '/' || uri[cutoffIndex] === '\\\\')) {\n --cutoffIndex;\n }\n\n // if it ever becomes negative, cutoffIndex + 1 = 0\n return uri.substr(0, cutoffIndex + 1);\n}\n\n/**\n * Determines whether the end of string matches a specified string.\n *\n * @param {string} str: The string to search in.\n * @param {string} suffix: The string to compare to the substring at the end of str.\n * @param {boolean} caseSensitive: Determines if the comparison case sensitive (false, by default)\n * @return {boolean} true if suffix matches the end of str; otherwise, false.\n */\nexport function endsWith(str: string, suffix: string, caseSensitive: boolean = false): boolean {\n if (!str || !suffix) {\n return false;\n }\n if (suffix.length > str.length) {\n return false;\n }\n\n const originalString: string = caseSensitive ? str : str.toLowerCase();\n const subString: string = caseSensitive ? suffix : suffix.toLowerCase();\n return originalString.indexOf(subString, originalString.length - subString.length) !== -1;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport axios from 'axios';\nimport { jsonHandler } from './handler';\n\n/**\n * OData request interface.\n */\nexport interface IODataRequest {\n /**\n * OData endpoint URI\n */\n requestUri: string;\n\n /**\n * HTTP method (GET, POST, PUT, DELETE)\n */\n method: string;\n\n /**\n * Payload of the request (in intermediate format)\n */\n data: any;\n\n /**\n * Object that contains HTTP headers as name value pairs\n */\n headers?: Object;\n\n /**\n * (Optional) Username to send for BASIC authentication\n */\n user?: string;\n\n /**\n * (Optional) Password to send for BASIC authentication\n */\n password?: string;\n\n /**\n * (Optional) Whether or not to use cross domain cookies.\n */\n useCrossDomainCookies?: boolean;\n}\n\nconst normalHeaders = {\n accept: 'Accept',\n 'content-type': 'Content-Type',\n 'odata-version': 'OData-Version',\n 'odata-maxversion': 'OData-MaxVersion'\n};\n\nconst isAbsoluteUrl = url => {\n /// Checks whether the specified URL is an absolute URL.\n /// URL to check.\n /// true if the url is an absolute URL; false otherwise.\n\n return url.indexOf('http://') === 0 || url.indexOf('https://') === 0 || url.indexOf('file://') === 0;\n};\n\nconst normalizeHeaders = headers => {\n /// Normalizes headers so they can be found with consistent casing.\n /// Dictionary of name/value pairs.\n\n for (const name in headers) {\n if (headers.hasOwnProperty(name)) {\n const lowerName = name.toLowerCase();\n const normalName = normalHeaders[lowerName];\n if (normalName && name !== normalName) {\n const val = headers[name];\n delete headers[name];\n headers[normalName] = val;\n }\n }\n }\n};\n\nconst defaultHttpClient = {\n callbackParameterName: '$callback',\n formatQueryString: '$format=json',\n enableJsonpCallback: false,\n\n request(request, success, error) {\n /// Performs a network request.\n /// Request description.\n /// Success callback with the response object.\n /// Error callback with an error object.\n /// Object with an 'abort' method for the operation.\n const result = { abort: null, handleTimeout: null };\n\n const cancelToken = axios.CancelToken.source();\n\n let done = false;\n result.abort = () => {\n if (done) {\n return;\n }\n done = true;\n cancelToken.cancel('Request aborted');\n error({ message: 'Request aborted' });\n };\n\n request.handleTimeout = () => {\n if (!done) {\n done = true;\n cancelToken.cancel('Request aborted');\n error({ message: 'Request timed out' });\n }\n };\n\n const url = request.requestUri;\n const enableJsonpCallback = request.enableJsonpCallback || false;\n if (!enableJsonpCallback || !isAbsoluteUrl(url)) {\n let authenticationCreds;\n if (request.user) {\n authenticationCreds = {\n username: request.user,\n password: request.password || ''\n };\n }\n // console.log('\\r\\nDataServiceRequest - \\r\\n\\n', request);\n let axiosTimeout = request.timeoutMS || 10000;\n // check if on client side.\n if (process.env.CURRENT_ENVIRONMENT === 'web') {\n // @ts-ignore -using client window object\n if (typeof window != undefined && window.___initialData___) {\n // @ts-ignore -using client window object\n if (window.___initialData___._clientPlatformSetting?.clientSideDataActionTimeoutInMs) {\n // @ts-ignore -using client window object\n axiosTimeout = window.___initialData___._clientPlatformSetting.clientSideDataActionTimeoutInMs;\n }\n }\n }\n axios\n .request({\n method: request.method || 'get',\n url,\n data: request.body,\n auth: authenticationCreds,\n headers: request.headers || {},\n timeout: axiosTimeout,\n cancelToken: cancelToken.token\n })\n .then(axiosResponse => {\n const response = {\n requestUri: url,\n statusCode: axiosResponse.status,\n statusText: axiosResponse.statusText,\n headers: axiosResponse.headers,\n body: axiosResponse.data\n };\n done = true;\n success(response);\n })\n .catch(axiosError => {\n const response = {\n requestUri: url,\n statusCode: axiosError.response ? parseInt(axiosError.response.status, 10) : 0,\n statusText: axiosError.name,\n body: axiosError.message,\n data: axiosError.response ? axiosError.response.data : {},\n headers: axiosError.response ? axiosError.response.headers : {}\n };\n error({ message: 'HTTP request failed', request, response });\n });\n } else {\n error({\n message: 'Only requests to non-absolute urls are supported at this time without JSONP callback'\n });\n }\n return result;\n }\n};\n\nconst prepareRequest = (request, handler, context) => {\n /// Prepares a request object so that it can be sent through the network.\n /// Object that represents the request to be sent.\n /// Handler for data serialization\n /// Context used for preparing the request\n\n // Default to GET if no method has been specified.\n if (!request.method) {\n request.method = 'GET';\n }\n\n if (!request.headers) {\n request.headers = {};\n } else {\n normalizeHeaders(request.headers);\n }\n\n if (request.headers.Accept === undefined) {\n request.headers.Accept = handler.accept;\n }\n\n if (request.data && request.body === undefined) {\n handler.write(request, context);\n }\n\n if (!request.headers['OData-MaxVersion']) {\n request.headers['OData-MaxVersion'] = handler.maxDataServiceVersion || '4.0';\n }\n};\n\nconst invokeRequest = (request, success, error, handler, httpClient, context) => {\n /// Sends a request containing OData payload to a server.\n /// Object that represents the request to be sent..\n /// Callback for a successful read operation.\n /// Callback for handling errors.\n /// Handler for data serialization.\n /// HTTP client layer.\n /// Context used for processing the request\n\n return httpClient.request(\n request,\n response => {\n try {\n if (response.headers) {\n normalizeHeaders(response.headers);\n }\n\n if (response.data === undefined && response.statusCode !== 204) {\n if (!handler.read(response, context)) {\n throw { message: 'Handler could not parse response.' };\n }\n }\n } catch (err) {\n if (err.request === undefined) {\n err.request = request;\n }\n if (err.response === undefined) {\n err.response = response;\n }\n error(err);\n return;\n }\n\n success(response.data, response);\n },\n error\n );\n};\n\nexport const ODataHttpRequest = (request, success, error) => {\n /// Sends a request containing OData payload to a server.\n /// Object that represents the request to be sent.\n /// Callback for a successful read operation.\n /// Callback for handling errors.\n /// Handler for data serialization.\n /// HTTP client layer.\n /// Conceptual metadata for this request.\n\n success = success || (data => process.env.NODE_ENV !== 'production' && console.log(JSON.stringify(data)));\n error =\n error ||\n (err => {\n throw err;\n });\n\n // Augment the request with additional defaults.\n request.recognizeDates = request.recognizeDates || false;\n request.useJsonLight = request.useJsonLight || false;\n request.inferJsonLightFeedAsObject = request.inferJsonLightFeedAsObject || false;\n request.callbackParameterName = request.callbackParameterName || defaultHttpClient.callbackParameterName;\n request.formatQueryString = request.formatQueryString || defaultHttpClient.formatQueryString;\n request.enableJsonpCallback = request.enableJsonpCallback || defaultHttpClient.enableJsonpCallback;\n\n // Create the base context for read/write operations, also specifying complete settings.\n const context = {\n recognizeDates: request.recognizeDates,\n callbackParameterName: request.callbackParameterName,\n formatQueryString: request.formatQueryString,\n enableJsonpCallback: request.enableJsonpCallback,\n useJsonLight: request.useJsonLight,\n inferJsonLightFeedAsObject: request.inferJsonLightFeedAsObject\n };\n\n try {\n prepareRequest(request, jsonHandler, context);\n return invokeRequest(request, success, error, jsonHandler, defaultHttpClient, context);\n } catch (err) {\n error(err);\n }\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport const MAX_DATA_SERVICE_VERSION = '4.0';\nexport const jsonMediaType = 'application/json';\n\nconst CONTENT_TYPE_HEADER_NAME = 'Content-Type';\nconst ODATA_VERSION = 'OData-Version';\nconst ODATA_MAX_VERSION = 'OData-MaxVersion';\n\nconst contentType = str => {\n /// Parses a string into an object with media type and properties.\n /// String with media type to parse.\n /// null if the string is empty; an object with 'mediaType' and a 'properties' dictionary otherwise.\n\n if (!str) {\n return null;\n }\n\n const contentTypeParts = str.split(';');\n const properties = {};\n\n let i;\n let len;\n for (i = 1, len = contentTypeParts.length; i < len; i++) {\n const contentTypeParams = contentTypeParts[i].split('=');\n properties[contentTypeParams[0].trim()] = contentTypeParams[1];\n }\n\n return { mediaType: contentTypeParts[0].trim(), properties };\n};\n\nexport const jsonContentType = contentType(jsonMediaType);\n\nconst contentTypeToString = contentTypeObj => {\n /// Serializes an object with media type and properties dictionary into a string.\n /// Object with media type and properties dictionary to serialize.\n /// String representation of the media type object; undefined if contentType is null or undefined.\n\n if (!contentTypeObj) {\n return undefined;\n }\n\n let result = contentTypeObj.mediaType;\n for (const property in contentTypeObj.properties) {\n if (contentTypeObj.properties.hasOwnProperty(property)) {\n result += ';' + property + '=' + contentTypeObj.properties[property];\n }\n }\n return result;\n};\n\nconst createReadWriteContext = (contentTypeStr, dataServiceVersion, context, handler) => {\n /// Creates an object that is going to be used as the context for the handler's parser and serializer.\n /// Object with media type and properties dictionary.\n /// String indicating the version of the protocol to use.\n /// Operation context.\n /// Handler object that is processing a resquest or response.\n /// Context object.\n\n // First create a clone\n const rwContext = { ...context };\n\n // And then override with provided parameters\n rwContext['contentType'] = contentTypeStr || jsonContentType;\n rwContext['dataServiceVersion'] = dataServiceVersion;\n rwContext['handler'] = handler;\n\n return rwContext;\n};\n\nconst versionRE = /^\\s?(\\d+\\.\\d+);?.*$/;\nconst getDataServiceVersion = headerVersion => {\n /// Gets the value of the OData-Version header from a request or response.\n /// Object representing a request or a response.\n /// Data service version; undefined if the header cannot be found.\n\n if (headerVersion) {\n const matches = versionRE.exec(headerVersion);\n if (matches && matches.length) {\n return matches[1];\n }\n }\n};\n\nconst handlerRead = (handler, response, context) => {\n /// Invokes the parser associated with a handler for reading the payload of a HTTP response.\n /// Handler object that is processing the response.\n /// Parser function that will process the response payload.\n /// HTTP response whose payload is going to be processed.\n /// Object used as the context for processing the response.\n /// True if the handler processed the response payload and the response.data property was set; false otherwise.\n\n if (!response || !response.headers) {\n return false;\n }\n\n const cType = contentType(response.headers[CONTENT_TYPE_HEADER_NAME]);\n const version = getDataServiceVersion(response) || '';\n const body = response.body;\n\n if (!body) {\n return false;\n }\n\n if (jsonMediaType.indexOf(cType.mediaType) >= 0) {\n const readContext = createReadWriteContext(cType, version, context, handler);\n readContext.response = response;\n response.data = typeof body === 'string' ? JSON.parse(body) : body;\n return response.data !== undefined;\n }\n\n return false;\n};\n\nconst maxVersion = (left, right) => {\n /// Compares to version strings and returns the higher one.\n /// Version string in the form \"major.minor.rev\"\n /// Version string in the form \"major.minor.rev\"\n /// The higher version string.\n\n if (left === right) {\n return left;\n }\n\n const leftParts = left.split('.');\n const rightParts = right.split('.');\n\n const len = leftParts.length >= rightParts.length ? leftParts.length : rightParts.length;\n\n for (let i = 0; i < len; i++) {\n const leftVersion = leftParts[i] && parseInt(leftParts[i], 10);\n const rightVersion = rightParts[i] && parseInt(rightParts[i], 10);\n if (leftVersion > rightVersion) {\n return left;\n }\n if (leftVersion < rightVersion) {\n return right;\n }\n }\n};\n\nconst handlerWrite = (handler, request, context) => {\n /// Invokes the serializer associated with a handler for generating the payload of a HTTP request.\n /// Handler object that is processing the request.\n /// Serializer function that will generate the request payload.\n /// HTTP request whose payload is going to be generated.\n /// Object used as the context for serializing the request.\n /// True if the handler serialized the request payload and the request.body property was set; false otherwise.\n if (!request || !request.headers) {\n return false;\n }\n\n const cType = contentType(request.headers[CONTENT_TYPE_HEADER_NAME]);\n const version = getDataServiceVersion(request.headers[ODATA_VERSION]);\n\n if (!cType || jsonMediaType.indexOf(cType.mediaType)) {\n const writeContext = createReadWriteContext(cType, version, context, handler);\n writeContext.request = request;\n request.body = request.data;\n\n if (request.body !== undefined) {\n request.headers[ODATA_VERSION] = version ? maxVersion(version, '4.0') : '4.0';\n request.headers.ContentType = request.headers[CONTENT_TYPE_HEADER_NAME] || contentTypeToString(writeContext.contentType);\n request.headers[ODATA_MAX_VERSION] = request.headers[ODATA_MAX_VERSION] || handler.maxDataServiceVersion;\n return true;\n }\n }\n\n return false;\n};\n\nexport const jsonHandler = {\n accept: jsonMediaType,\n maxDataServiceVersion: MAX_DATA_SERVICE_VERSION,\n read(response, context) {\n return handlerRead(this, response, context);\n },\n\n write(request, context) {\n return handlerWrite(this, request, context);\n }\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nconst EDM = 'Edm.';\nconst EDM_BOOLEAN = EDM + 'Boolean';\nconst EDM_BYTE = EDM + 'Byte';\nconst EDM_DATETIME = EDM + 'DateTime';\nconst EDM_DATETIMEOFFSET = EDM + 'DateTimeOffset';\nconst EDM_DECIMAL = EDM + 'Decimal';\nconst EDM_DOUBLE = EDM + 'Double';\nconst EDM_INT16 = EDM + 'Int16';\nconst EDM_INT32 = EDM + 'Int32';\nconst EDM_INT64 = EDM + 'Int64';\nconst EDM_SBYTE = EDM + 'SByte';\nconst EDM_SINGLE = EDM + 'Single';\nconst EDM_TIME = EDM + 'Time';\n\nconst parseBool = propertyValue => {\n /// Parses a string into a boolean value.\n /// Value to parse.\n /// true if the property value is 'true'; false otherwise.\n\n if (typeof propertyValue === 'boolean') {\n return propertyValue;\n }\n\n return typeof propertyValue === 'string' && propertyValue.toLowerCase() === 'true';\n};\n\nconst formatNumberWidth = (value, width, append) => {\n /// Formats the specified value to the given width.\n /// Number to format (non-negative).\n /// Minimum width for number.\n /// Flag indicating if the value is padded at the beginning (false) or at the end (true).\n /// Text representation.\n let result = value.toString(10);\n while (result.length < width) {\n if (append) {\n result += '0';\n } else {\n result = '0' + result;\n }\n }\n\n return result;\n};\n\nconst parseTimezone = timezone => {\n /// Parses a timezone description in (+|-)nn:nn format.\n /// Timezone offset.\n /// \n /// An object with a (d)irection property of 1 for + and -1 for -,\n /// offset (h)ours and offset (m)inutes.\n /// \n\n let direction = timezone.substring(0, 1);\n direction = direction === '+' ? 1 : -1;\n\n const offsetHours = parseInt(timezone.substring(1), 10);\n const offsetMinutes = parseInt(timezone.substring(timezone.indexOf(':') + 1), 10);\n return { d: direction, h: offsetHours, m: offsetMinutes };\n};\n\n// The captured indices for this expression are:\n// 0 - complete input\n// 1 - direction\n// 2,3,4 - years, months, days\n// 5,6,7,8 - hours, minutes, seconds, miliseconds\nconst parseTimeRE = /^([+-])?P(?:(\\d+)Y)?(?:(\\d+)M)?(?:(\\d+)D)?(?:T(?:(\\d+)H)?(?:(\\d+)M)?(?:(\\d+)(?:\\.(\\d+))?S)?)?/;\n\n// The captured indices for this expression are:\n// 0 - complete input\n// 1,2,3 - year with optional minus sign, month, day\n// 4,5,6 - hours, minutes, seconds\n// 7 - optional milliseconds\n// 8 - everything else (presumably offset information)\nconst parseDateTimeRE = /^(-?\\d{4,})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(?:\\.(\\d+))?(.*)$/;\n\nconst getCanonicalTimezone = timezone => {\n /// Gets the canonical timezone representation.\n /// Timezone representation.\n /// An 'Z' string if the timezone is absent or 0; the timezone otherwise.\n\n return !timezone || timezone === 'Z' || timezone === '+00:00' || timezone === '-00:00' ? 'Z' : timezone;\n};\n\nconst parseDuration = duration => {\n /// Parses a string in xsd:duration format.\n /// Duration value.\n /// \n /// This method will throw an exception if the input string has a year or a month component.\n /// \n /// Object representing the time\n\n const parts = parseTimeRE.exec(duration);\n\n if (parts === null) {\n throw { message: 'Invalid duration value.' };\n }\n\n const years = parts[2] || '0';\n const months = parts[3] || '0';\n const days = parseInt(parts[4], 10) || 0;\n const hours = parseInt(parts[5], 10) || 0;\n const minutes = parseInt(parts[6], 10) || 0;\n const seconds = parseFloat(parts[7]) || 0;\n\n if (years !== '0' || months !== '0') {\n throw { message: 'Unsupported duration value.' };\n }\n\n let ms: any = parts[8];\n let ns: any = 0;\n if (!ms) {\n ms = 0;\n } else {\n if (ms.length > 7) {\n throw { message: 'Cannot parse duration value to given precision.' };\n }\n\n ns = formatNumberWidth(ms.substring(3), 4, true);\n ms = formatNumberWidth(ms.substring(0, 3), 3, true);\n\n ms = parseInt(ms, 10);\n ns = parseInt(ns, 10);\n }\n\n ms += seconds * 1000 + minutes * 60000 + hours * 3600000 + days * 86400000;\n\n if (parts[1] === '-') {\n ms = -ms;\n }\n\n const result: any = { ms, __edmType: 'Edm.Time' };\n\n if (ns) {\n result.ns = ns;\n }\n return result;\n};\n\nconst parseDateTimeOffset = (value, withOffset, nullOnError) => {\n /// Parses a string into a DateTime value.\n /// Value to parse.\n /// Whether offset is expected.\n /// The parsed value.\n\n // We cannot parse this in cases of failure to match or if offset information is specified.\n const parts = parseDateTimeRE.exec(value);\n const offset = parts ? getCanonicalTimezone(parts[8]) : null;\n\n if (!parts || (!withOffset && offset !== 'Z')) {\n if (nullOnError) {\n return null;\n }\n throw { message: 'Invalid date/time value' };\n }\n\n // Pre-parse years, account for year '0' being invalid in dateTime.\n let year = parseInt(parts[1], 10);\n if (year <= 0) {\n year++;\n }\n\n // Pre-parse optional milliseconds, fill in default. Fail if value is too precise.\n let ms: any = parts[7];\n let ns: any = 0;\n if (!ms) {\n ms = 0;\n } else {\n if (ms.length > 7) {\n if (nullOnError) {\n return null;\n }\n throw { message: 'Cannot parse date/time value to given precision.' };\n }\n\n ns = formatNumberWidth(ms.substring(3), 4, true);\n ms = formatNumberWidth(ms.substring(0, 3), 3, true);\n\n ms = parseInt(ms, 10);\n ns = parseInt(ns, 10);\n }\n\n // Pre-parse other time components and offset them if necessary.\n let hours = parseInt(parts[4], 10);\n let minutes = parseInt(parts[5], 10);\n const seconds = parseInt(parts[6], 10);\n if (offset !== 'Z') {\n // The offset is reversed to get back the UTC date, which is\n // what the API will eventually have.\n const timezone = parseTimezone(offset);\n const direction = -timezone.d;\n hours += timezone.h * direction;\n minutes += timezone.m * direction;\n }\n\n // Set the date and time separately with setFullYear, so years 0-99 aren't biased like in Date.UTC.\n const result: any = new Date();\n result.setUTCFullYear(\n year, // Year.\n parseInt(parts[2], 10) - 1, // Month (zero-based for Date.UTC and setFullYear).\n parseInt(parts[3], 10) // Date.\n );\n result.setUTCHours(hours, minutes, seconds, ms);\n\n if (isNaN(result.valueOf())) {\n if (nullOnError) {\n return null;\n }\n throw { message: 'Invalid date/time value' };\n }\n\n if (withOffset) {\n result.__edmType = 'Edm.DateTimeOffset';\n result.__offset = offset;\n }\n\n if (ns) {\n result.__ns = ns;\n }\n\n return result;\n};\n\nexport const jsonLightReadStringPropertyValue = (value, propertyType, recognizeDates) => {\n /// Convertes the value of a string property in a JSON light object to its library representation.\n /// String value to convert.\n /// Type name of the property.\n /// Flag indicating whether datetime literal strings should be converted to JavaScript Date objects.\n /// String property value in its library representation.\n\n switch (propertyType) {\n case EDM_BOOLEAN:\n return parseBool(value);\n case EDM_BYTE:\n case EDM_INT16:\n case EDM_INT32:\n case EDM_INT64:\n case EDM_SBYTE:\n return parseInt(value, 10);\n case EDM_DOUBLE:\n case EDM_SINGLE:\n case EDM_DECIMAL:\n return parseFloat(value);\n case EDM_TIME:\n return parseDuration(value);\n case EDM_DATETIME:\n const dateStr = value || '';\n const time = dateStr.substring(dateStr.indexOf('T') + 1);\n const timezoneOffsetIndex = time.indexOf('-');\n timezoneOffsetIndex === -1 ? time.indexOf('+') : timezoneOffsetIndex;\n\n if (timezoneOffsetIndex !== -1) {\n return parseDateTimeOffset(value, true, /* nullOnError */ false);\n } else {\n return parseDateTimeOffset(value, false, /* nullOnError */ false);\n }\n case EDM_DATETIMEOFFSET:\n return parseDateTimeOffset(value, true, /* nullOnError */ false);\n }\n\n if (recognizeDates) {\n return (\n parseDateTimeOffset(value, false, /* nullOnError */ true) || parseDateTimeOffset(value, true, /* nullOnError */ true) || value\n );\n }\n return value;\n};\n","\r\n // \r\n\r\n import { AsyncResult } from '../async-result';\r\n import { DataServiceQuery } from '../DataServiceQuery';\r\n import { ProductCatalog } from '../Entities/CommerceTypes.g';\r\n import { ProductCatalogClass } from '../Entities/CommerceModels.g';\r\n import { IContext, IDataServiceRequest, IQueryResultSettings, NullResult } from '../Interfaces';\r\n import { executeAction } from '../retail-action';\r\n\r\n \r\n \r\n function catalogsQuery(recordId?: number): DataServiceQuery {\r\n var key = (recordId) ? { RecordId: recordId } : null;\r\n return new DataServiceQuery(\"Catalogs\", \"ProductCatalog\", ProductCatalogClass, key);\r\n }\r\n \r\n export function createCreateInput(entity: ProductCatalog): IDataServiceRequest {\r\n return catalogsQuery().create(entity);\r\n }\r\n\r\n export function createProductCatalogAsync(context: IContext, entity: ProductCatalog): AsyncResult {\r\n const request = createCreateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createUpdateInput(entity: ProductCatalog): IDataServiceRequest {\r\n return catalogsQuery(entity.RecordId).update(entity);\r\n }\r\n\r\n export function updateAsync(context: IContext, entity: ProductCatalog): AsyncResult {\r\n const request = createUpdateInput(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createDeleteAsync(entity: ProductCatalog): IDataServiceRequest {\r\n return catalogsQuery(entity.RecordId).delete();\r\n }\r\n\r\n export function deleteAsync(context: IContext, entity: ProductCatalog): AsyncResult {\r\n const request = createDeleteAsync(entity);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAsync(recordId: number): IDataServiceRequest {\r\n return catalogsQuery(recordId).read();\r\n }\r\n\r\n export function readAsync(context: IContext, recordId: number): AsyncResult {\r\n const request = createReadAsync(recordId);\r\n return executeAction(request, context);\r\n }\r\n\r\n export function createReadAllAsync(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n return catalogsQuery().resultSettings(queryResultSettings).read();\r\n }\r\n\r\n export function readAllAsync(context: IContext): AsyncResult {\r\n const request = createReadAllAsync(context.queryResultSettings);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createGetCatalogsInput(queryResultSettings: IQueryResultSettings, channelId: number, activeOnly: boolean): IDataServiceRequest { \r\n const query = catalogsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetCatalogs', true, ProductCatalogClass, 'true', {bypassCache: 'none', returnEntity: 'ProductCatalog'}, {channelId: channelId, activeOnly: activeOnly });\r\n } \r\n \r\n export function getCatalogsAsync(context: IContext, channelId: number, activeOnly: boolean):AsyncResult {\r\n const request = createGetCatalogsInput(context.queryResultSettings, channelId, activeOnly);\r\n return executeAction(request, context);\r\n } \r\n \r\n ","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport enum EventLevel {\n LogAlways = 0,\n Critical = 1,\n Error = 2,\n Warning = 3,\n Informational = 4,\n Verbose = 5\n}\n\nexport enum EventChannel {\n Admin = 16,\n Operational = 17,\n Analytic = 18,\n Debug = 19\n}\n\nexport interface ILoggingSink {\n writeEvent(event: Event): void;\n setSessionInfo(\n appSessionId: string,\n userSessionId: string,\n deviceId: string,\n deviceNumber: string,\n terminalId: string,\n userId: string,\n tenantId: string,\n offlineAvailability: string,\n offlineCurrentMode: string,\n screenResolution: string\n ): void;\n setInstrumentationKey(instrumentationKey: string): void;\n}\n\nexport class Utils {\n public static getParameterNames(func: Function): string[] {\n return [];\n }\n\n public static generateGuid(): string {\n return '';\n }\n\n public static emptyGuid(): string {\n return '';\n }\n}\n\nexport enum EventType {\n None = 0,\n Custom = 1,\n PageView = 2\n}\n\nexport class PageViewMetadata {\n public PageName: string;\n}\n\nexport class EventStaticMetadata {\n public Name: string;\n public Id: number;\n public Version: number;\n public Level: EventLevel;\n public LevelName: string;\n public Channel: EventChannel;\n public ChannelName: string;\n public Keywords: string[];\n public Task: string;\n public OpCode: string;\n public Message: string;\n}\n\nexport class EventCoreFields {\n public ClientTimestamp: number;\n public AppSessionId: string;\n public UserSessionId: string;\n public DeviceId: string;\n public DeviceNumber: string;\n public TerminalId: string;\n public UserId: string;\n public TenantId: string;\n public OfflineAvailability: string;\n public OfflineCurrentMode: string;\n public ScreenResolution: string;\n}\n\nexport class Event {\n public Type: EventType;\n public PageViewMetadata: PageViewMetadata;\n public StaticMetadata: EventStaticMetadata;\n public CoreFields: EventCoreFields;\n public Payload: {\n [name: string]: any;\n };\n constructor(\n type: EventType,\n appSessionId: string,\n userSessionId: string,\n deviceId: string,\n deviceNumber: string,\n terminalId: string,\n userId: string,\n tenantId: string,\n offlineAvailability: string,\n offlineCurrentMode: string,\n screenResolution: string\n ) {}\n}\n\nexport class DebuggingConsoleSink implements ILoggingSink {\n public setSessionInfo(\n appSessionId: string,\n userSessionId: string,\n deviceId: string,\n deviceNumber: string,\n terminalId: string,\n userId: string,\n tenantId: string,\n offlineAvailability: string,\n offlineCurrentMode: string\n ): void {}\n\n public setInstrumentationKey(instrumentationKey: string): void {}\n\n public writeEvent(event: Event): void {}\n}\n\nexport class LoggerBase {\n public static writeEvent(\n name: string,\n eventId: number,\n version: number,\n channel: EventChannel,\n level: EventLevel,\n keywords: string[],\n task: string,\n opCode: string,\n message: string\n ) {\n // console.log(`name: ${name}, eventId: ${eventId}, version: ${version}, channel: ${this.getEnumKeyForValue(EventChannel, channel)}`);\n // console.log(\n // `level: ${this.getEnumKeyForValue(\n // EventLevel,\n // level\n // )}, keywords: ${keywords.toString()}, task: ${task}, opCode: ${opCode}, message: ${message}`\n // );\n }\n\n public static addLoggingSink(loggingSink: ILoggingSink): void {}\n\n public static getEnumKeyForValue(enumType: any, value: number): string {\n for (const key in Object.keys(enumType)) {\n if (enumType[key] === value) {\n return key;\n }\n }\n return '';\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { EventChannel, EventLevel, ILoggingSink, LoggerBase } from './ConsoleEventWriter';\n\n/**\n * Attaches the logging sink to the LoggerBase.\n *\n * @method attachLoggingSink\n * @param sink {ILoggingSink} Sink to attach to Retail Logger.\n */\nexport function attachLoggingSink(sink: ILoggingSink) {\n LoggerBase.addLoggingSink(sink);\n}\n\nexport const modelManagersRetailServerRequestStarted = (requestId: string, requestUrl: string): void => {\n LoggerBase.writeEvent(\n 'ModelManagersRetailServerRequestStarted',\n 44004,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n \"The Retail Server Request with request id '{0}' and request url '{1}' started.\"\n );\n};\n\nexport const modelManagersRetailServerRequestError = (requestId: string, requestUrl: string, error: string): void => {\n LoggerBase.writeEvent(\n 'ModelManagersRetailServerRequestError',\n 44005,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n \"The Retail Server Request with request id '{0}' and request url '{1}' failed. Error: {2}.\"\n );\n};\n\nexport const modelManagersRetailServerRequestFinished = (requestId: string, requestUrl: string): void => {\n LoggerBase.writeEvent(\n 'ModelManagersRetailServerRequestFinished',\n 44006,\n EventChannel.Debug,\n 1,\n EventLevel.Informational,\n [],\n '',\n '',\n \"The Retail Server Request with request id '{0}' and request url '{1}' succeeded.\"\n );\n};\n\nexport const genericWarning = (message: string): void => {\n LoggerBase.writeEvent('GenericWarning', 44001, 1, EventChannel.Operational, EventLevel.Warning, [], '', '', '{0}');\n};\n\nexport const genericError = (message: string): void => {\n LoggerBase.writeEvent('GenericEvent', 44000, 1, EventChannel.Operational, EventLevel.Error, [], '', '', '{0}');\n};\n\nexport const genericInfo = (message: string): void => {\n LoggerBase.writeEvent('GenericInfo', 44002, 1, EventChannel.Operational, EventLevel.Informational, [], '', '', '{0}');\n};\n\n/**\n * Class represents proxy events.\n * Event Code Range: 44000 - 44999.\n */\nexport class RetailLogger {\n public static LogEvent(eventName: Function, error?: string): void {\n error ? eventName(error) : eventName();\n }\n\n // Core - Event Range: 44000 - 44099.\n public static genericError(message: string): void {\n LoggerBase.writeEvent('GenericEvent', 44000, 1, EventChannel.Operational, EventLevel.Error, [], '', '', '{0}');\n }\n\n public static genericWarning(message: string): void {\n LoggerBase.writeEvent('GenericWarning', 44001, 1, EventChannel.Operational, EventLevel.Warning, [], '', '', '{0}');\n }\n\n public static genericInfo(message: string): void {\n LoggerBase.writeEvent('GenericInfo', 44002, 1, EventChannel.Operational, EventLevel.Informational, [], '', '', '{0}');\n }\n\n public static modelManagersRetailServerRequestStarted(requestId: string, requestUrl: string): void {\n LoggerBase.writeEvent(\n 'ModelManagersRetailServerRequestStarted',\n 44004,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n \"The Retail Server Request with request id '{0}' and request url '{1}' started.\"\n );\n }\n\n public static modelManagersRetailServerRequestError(requestId: string, requestUrl: string, error: string): void {\n LoggerBase.writeEvent(\n 'ModelManagersRetailServerRequestError',\n 44005,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n \"The Retail Server Request with request id '{0}' and request url '{1}' failed. Error: {2}.\"\n );\n }\n\n public static modelManagersRetailServerRequestFinished(requestId: string, requestUrl: string): void {\n LoggerBase.writeEvent(\n 'ModelManagersRetailServerRequestFinished',\n 44006,\n EventChannel.Debug,\n 1,\n EventLevel.Informational,\n [],\n '',\n '',\n \"The Retail Server Request with request id '{0}' and request url '{1}' succeeded.\"\n );\n }\n\n public static initEntitySetInvalidError(entitySetId: string): void {\n LoggerBase.writeEvent(\n 'InitEntitySetInvalidError',\n 44007,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n \"A method with invalid InitEntitySet id '{0}' was reported.\"\n );\n }\n\n public static initEntitySetMultipleTimesError(entitySetId: string): void {\n LoggerBase.writeEvent(\n 'InitEntitySetMultipleTimesError',\n 44008,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n \"A method with InitEntitySet ID '{0}' was reported multiple times.\"\n );\n }\n\n public static initEntitySetNoMethodNumberError(): void {\n LoggerBase.writeEvent(\n 'InitEntitySetNoMethodNumberError',\n 44009,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'The value InitEntitySet.All does not represent the number of methods that can be run'\n );\n }\n\n public static initPaymentEntitySetInvalidError(entitySetId: string): void {\n LoggerBase.writeEvent(\n 'InitPaymentEntitySetInvalidError',\n 44010,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n \"A method with invalid InitPaymentEntitySet id '{0}' was reported.\"\n );\n }\n\n public static initPaymentEntitySetMultipleTimesError(entitySetId: string): void {\n LoggerBase.writeEvent(\n 'InitPaymentEntitySetMultipleTimesError',\n 44011,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n \"A method with InitPaymentEntitySet ID '{0}' was reported multiple times.\"\n );\n }\n\n public static initPaymentEntitySetNoMethodNumberError(): void {\n LoggerBase.writeEvent(\n 'InitPaymentEntitySetNoMethodNumberError',\n 44012,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'The value InitPaymentEntitySet.All does not represent the number of methods that can be run'\n );\n }\n\n // Shopping Cart Service - Event Range: 44100 - 44199.\n public static shoppingCartServiceGetShoppingCartStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartServiceGetShoppingCartStarted',\n 44100,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get shopping cart started.'\n );\n }\n\n public static shoppingCartServiceGetShoppingCartError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartServiceGetShoppingCartError',\n 44101,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get shopping cart failed with error {0}.'\n );\n }\n\n public static shoppingCartServiceGetShoppingCartFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartServiceGetShoppingCartFinished',\n 44102,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get shopping cart finished.'\n );\n }\n\n public static shoppingCartServiceRemoveFromCartStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartServiceRemoveFromCartStarted',\n 44104,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Removing item from cart started.'\n );\n }\n\n public static shoppingCartServiceRemoveFromCartError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartServiceRemoveFromCartError',\n 44105,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Removing item from cart failed with error {0}.'\n );\n }\n\n public static shoppingCartServiceRemoveFromCartFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartServiceRemoveFromCartFinished',\n 44106,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Removing item from cart finished.'\n );\n }\n\n public static shoppingCartApplyPromotionCodeStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartApplyPromotionCodeStarted',\n 44108,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Applying promotion code started.'\n );\n }\n\n public static shoppingCartApplyPromotionCodeError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartApplyPromotionCodeError',\n 44109,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Applying promotion code failed with error {0}.'\n );\n }\n\n public static shoppingCartApplyPromotionCodeFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartApplyPromotionCodeFinished',\n 44110,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Applying promotion code finished.'\n );\n }\n\n public static shoppingCartUpdateQuantityStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartUpdateQuantityStarted',\n 44112,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Updating quantity started.'\n );\n }\n\n public static shoppingCartUpdateQuantityError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartUpdateQuantityError',\n 44113,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Updating quantity failed with error {0}.'\n );\n }\n\n public static shoppingCartUpdateQuantityFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartUpdateQuantityFinished',\n 44114,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Updating quantity finished.'\n );\n }\n\n public static shoppingCartRemovePromotionCodeStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartRemovePromotionCodeStarted',\n 44116,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Removing promotion code started.'\n );\n }\n\n public static shoppingCartRemovePromotionCodeError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartRemovePromotionCodeError',\n 44117,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Removing promotion code failed with error {0}.'\n );\n }\n\n public static shoppingCartRemovePromotionCodeFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartRemovePromotionCodeFinished',\n 44118,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Removing promotion code finished.'\n );\n }\n\n public static shoppingCartUpdateLoyaltyCardIdStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartUpdateLoyaltyCardIdStarted',\n 44120,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Updating loyalty card id started.'\n );\n }\n\n public static shoppingCartUpdateLoyaltyCardIdError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartUpdateLoyaltyCardIdError',\n 44121,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Updating loyalty card id failed with error {0}.'\n );\n }\n\n public static shoppingCartUpdateLoyaltyCardIdFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartUpdateLoyaltyCardIdFinished',\n 44122,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Updating loyalty card id finished.'\n );\n }\n\n public static shoppingCartCommenceCheckoutStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartCommenceCheckoutStarted',\n 44124,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Commence checkout started.'\n );\n }\n\n public static shoppingCartCommenceCheckoutError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartCommenceCheckoutError',\n 44125,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Commence checkout failed with error {0}.'\n );\n }\n\n public static shoppingCartCommenceCheckoutFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartCommenceCheckoutFinished',\n 44126,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Commence checkout finished.'\n );\n }\n\n public static shoppingCartGetPromotionsStarted(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartGetPromotionsStarted',\n 44128,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting promotions started.'\n );\n }\n\n public static shoppingCartGetPromotionsError(error: string): void {\n LoggerBase.writeEvent(\n 'ShoppingCartGetPromotionsError',\n 44129,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting promotions failed with error {0}.'\n );\n }\n\n public static shoppingCartGetPromotionsFinished(): void {\n LoggerBase.writeEvent(\n 'ShoppingCartGetPromotionsFinished',\n 44130,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting promotions finished.'\n );\n }\n\n public static getSimpleProductsByIdStarted(): void {\n LoggerBase.writeEvent(\n 'getSimpleProductsByIdStarted',\n 44132,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting simple products by ids started.'\n );\n }\n\n public static getSimpleProductsByIdError(error: string): void {\n LoggerBase.writeEvent(\n 'getSimpleProductsByIdError',\n 44133,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting simple products by ids failed with error {0}.'\n );\n }\n\n public static getSimpleProductsByIdFinished(): void {\n LoggerBase.writeEvent(\n 'getSimpleProductsByIdFinished',\n 44134,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting simple products by ids finished.'\n );\n }\n\n public static getKitComponentsError(): void {\n LoggerBase.writeEvent(\n 'GetKitComponentsError',\n 44136,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'One of the kit components could not be retrieved.'\n );\n }\n\n public static searchProductsByProductIdsStarted(): void {\n LoggerBase.writeEvent(\n 'SearchProductsByProductIdsStarted',\n 44140,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Searching products by product ids started.'\n );\n }\n\n public static searchProductsByProductIdsError(error: string): void {\n LoggerBase.writeEvent(\n 'SearchProductsByProductIdsError',\n 44141,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Searching products by product ids failed with error {0}.'\n );\n }\n\n public static searchProductsByProductIdsFinished(): void {\n LoggerBase.writeEvent(\n 'SearchProductsByProductIdsFinished',\n 44142,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Searching products by product ids finished.'\n );\n }\n\n // Checkout Service - Event Range: 44200 - 44299.\n public static checkoutServiceGetAllDeliveryOptionDescriptionsStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetAllDeliveryOptionDescriptionsStarted',\n 44200,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get all delivery option descriptions started.'\n );\n }\n\n public static checkoutServiceGetAllDeliveryOptionDescriptionsError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetAllDeliveryOptionDescriptionsError',\n 44201,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get all delivery option descriptions failed with error {0}.'\n );\n }\n\n public static checkoutServiceGetAllDeliveryOptionDescriptionsFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetAllDeliveryOptionDescriptionsFinished',\n 44202,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get all delivery option descriptions finished.'\n );\n }\n\n public static checkoutServiceGetDeliveryPreferencesStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetDeliveryPreferencesStarted',\n 44204,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting delivery preferences started.'\n );\n }\n\n public static checkoutServiceGetDeliveryPreferencesError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetDeliveryPreferencesError',\n 44205,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting delivery preferences failed with error {0}.'\n );\n }\n\n public static checkoutServiceGetDeliveryPreferencesFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetDeliveryPreferencesFinished',\n 44206,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting delivery preferences finished.'\n );\n }\n\n public static checkoutServiceGetOrderDeliveryOptionsStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetOrderDeliveryOptionsStarted',\n 44208,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting order delivery options started.'\n );\n }\n\n public static checkoutServiceGetOrderDeliveryOptionsError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetOrderDeliveryOptionsError',\n 44209,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting order delivery options failed with error {0}.'\n );\n }\n\n public static checkoutServiceGetOrderDeliveryOptionsFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetOrderDeliveryOptionsFinished',\n 44210,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting order delivery options finished.'\n );\n }\n\n public static checkoutServiceGetItemDeliveryOptionsStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetItemDeliveryOptionsStarted',\n 44212,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting item delivery options started.'\n );\n }\n\n public static checkoutServiceGetItemDeliveryOptionsError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetItemDeliveryOptionsError',\n 44213,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting item delivery options failed with error {0}.'\n );\n }\n\n public static checkoutServiceGetItemDeliveryOptionsFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetItemDeliveryOptionsFinished',\n 44214,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting item delivery options finished.'\n );\n }\n\n public static checkoutServiceUpdateDeliverySpecificationsStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceUpdateDeliverySpecificationsStarted',\n 44216,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update of order delivery specifications started.'\n );\n }\n\n public static checkoutServiceUpdateDeliverySpecificationsError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceUpdateDeliverySpecificationsError',\n 44217,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Update of order delivery specifications failed with error {0}.'\n );\n }\n\n public static checkoutServiceUpdateDeliverySpecificationsFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceUpdateDeliverySpecificationsFinished',\n 44218,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update of order delivery specifications finished.'\n );\n }\n\n public static checkoutServiceUpdateLineDeliverySpecificationsStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceUpdateLineDeliverySpecificationsStarted',\n 44220,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update of line delivery specifications started.'\n );\n }\n\n public static checkoutServiceUpdateLineDeliverySpecificationsError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceUpdateLineDeliverySpecificationsError',\n 44221,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Update of line delivery specifications failed with error {0}.'\n );\n }\n\n public static checkoutServiceUpdateLineDeliverySpecificationsFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceUpdateLineDeliverySpecificationsFinished',\n 44222,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update of line delivery specifications finished.'\n );\n }\n\n public static checkoutServiceGetPaymentCardTypesStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetPaymentCardTypesStarted',\n 44224,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting payment card types started.'\n );\n }\n\n public static checkoutServiceGetPaymentCardTypesError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetPaymentCardTypesError',\n 44225,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting payment card types failed with error {0}.'\n );\n }\n\n public static checkoutServiceGetPaymentCardTypesFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetPaymentCardTypesFinished',\n 44226,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting payment card types finished.'\n );\n }\n\n public static checkoutServiceGetGiftCardBalanceStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetGiftCardBalanceStarted',\n 44228,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting gift card balance started.'\n );\n }\n\n public static checkoutServiceGetGiftCardBalanceError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetGiftCardBalanceError',\n 44229,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Getting gift card balance failed with error {0}.'\n );\n }\n\n public static checkoutServiceGetGiftCardBalanceFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetGiftCardBalanceFinished',\n 44230,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Getting gift card balance finished.'\n );\n }\n\n public static checkoutServiceSubmitOrderStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceSubmitOrderStarted',\n 44232,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Submit order started.'\n );\n }\n\n public static checkoutServiceSubmitOrderError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceSubmitOrderError',\n 44233,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Submit order failed with error {0}.'\n );\n }\n\n public static checkoutServiceSubmitOrderFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceSubmitOrderFinished',\n 44234,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Submit order finished.'\n );\n }\n\n public static checkoutServiceGetCardPaymentAcceptUrlStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetCardPaymentAcceptUrlStarted',\n 44235,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get card payment accept url started.'\n );\n }\n\n public static checkoutServiceGetCardPaymentAcceptUrlFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetCardPaymentAcceptUrlFinished',\n 44236,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get card payment accept url finished.'\n );\n }\n\n public static checkoutServiceGetCardPaymentAcceptUrlError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceGetCardPaymentAcceptUrlError',\n 44237,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get card payment accept url failed with error {0}.'\n );\n }\n\n public static checkoutServiceRetrieveCardPaymentAcceptResultStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceRetrieveCardPaymentAcceptResultStarted',\n 44238,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Retrieve card payment accept result started.'\n );\n }\n\n public static checkoutServiceRetrieveCardPaymentAcceptResultFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceRetrieveCardPaymentAcceptResultFinished',\n 44239,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Retrieve card payment accept result finished.'\n );\n }\n\n public static checkoutServiceRetrieveCardPaymentAcceptResultError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceRetrieveCardPaymentAcceptResultError',\n 44240,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Retrieve card payment accept result failed with error {0}.'\n );\n }\n\n public static checkoutServiceCleanUpAfterSuccessfulOrderStarted(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceCleanUpAfterSuccessfulOrderStarted',\n 44241,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Shopping cart clean failed post successful submit order started.'\n );\n }\n\n public static checkoutServiceCleanUpAfterSuccessfulOrderError(error: string): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceCleanUpAfterSuccessfulOrderError',\n 44242,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Shopping cart clean failed post successful submit order with error {0}.'\n );\n }\n\n public static checkoutServiceCleanUpAfterSuccessfulOrderFinished(): void {\n LoggerBase.writeEvent(\n 'CheckoutServiceCleanUpAfterSuccessfulOrderFinished',\n 44243,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Shopping cart clean failed post successful submit order finished.'\n );\n }\n\n // Channel Service - Event Range: 44300 - 44349.\n public static channelServiceGetChannelConfigurationStarted(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetChannelConfigurationStarted',\n 44300,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get channel Configuration started.'\n );\n }\n\n public static channelServiceGetChannelConfigurationError(error: string): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetChannelConfigurationError',\n 44301,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get channel Configuration failed with error {0}.'\n );\n }\n\n public static channelServiceGetChannelConfigurationFinished(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetChannelConfigurationFinished',\n 44302,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get channel Configuration finished.'\n );\n }\n\n public static channelServiceGetCountryRegionInfoStarted(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetCountryRegionInfoStarted',\n 44304,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get country region info started.'\n );\n }\n\n public static channelServiceGetCountryRegionInfoError(error: string): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetCountryRegionInfoError',\n 44305,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get country region info failed with error {0}.'\n );\n }\n\n public static channelServiceGetCountryRegionInfoFinished(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetCountryRegionInfoFinished',\n 44306,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get country region info finished.'\n );\n }\n\n public static channelServiceGetStateProvinceInfoStarted(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetStateProvinceInfoStarted',\n 44308,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get state province info started.'\n );\n }\n\n public static channelServiceGetStateProvinceInfoError(error: string): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetStateProvinceInfoError',\n 44309,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get state province info error {0}.'\n );\n }\n\n public static channelServiceGetStateProvinceInfoFinished(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetStateProvinceInfoFinished',\n 44310,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get state province info finished.'\n );\n }\n\n public static channelServiceGetTenderTypesStarted(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetTenderTypesStarted',\n 44312,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get tender types started.'\n );\n }\n\n public static channelServiceGetTenderTypesError(error: string): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetTenderTypesError',\n 44313,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get tender types failed with error {0}.'\n );\n }\n\n public static channelServiceGetTenderTypesFinished(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetTenderTypesFinished',\n 44314,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get tender types finished.'\n );\n }\n\n public static channelServiceGetCardTypesStarted(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetCardTypesStarted',\n 44315,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get card types started.'\n );\n }\n\n public static channelServiceGetCardTypesError(error: string): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetCardTypesError',\n 44316,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get card types failed with error {0}.'\n );\n }\n\n public static channelServiceGetCardTypesFinished(): void {\n LoggerBase.writeEvent(\n 'ChannelServiceGetCardTypesFinished',\n 44317,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get card types finished.'\n );\n }\n\n // Item Availability Service - Event Range: 44350 - 44369.\n public static storeProductAvailabilityServiceGetNearbyStoresWithAvailabilityStarted(): void {\n LoggerBase.writeEvent(\n 'StoreProductAvailabilityServiceGetNearbyStoresWithAvailabilityStarted',\n 44350,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get nearby stores with availability started.'\n );\n }\n\n public static storeProductAvailabilityServiceGetNearbyStoresWithAvailabilityError(error: string): void {\n LoggerBase.writeEvent(\n 'StoreProductAvailabilityServiceGetNearbyStoresWithAvailabilityError',\n 44351,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get nearby stores with availability failed with error {0}.'\n );\n }\n\n public static storeProductAvailabilityServiceGetNearbyStoresWithAvailabilityFinished(): void {\n LoggerBase.writeEvent(\n 'StoreProductAvailabilityServiceGetNearbyStoresWithAvailabilityFinished',\n 44352,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get nearby stores with availability finished.'\n );\n }\n\n public static storeProductAvailabilityServiceGetNearbyStoresStarted(): void {\n LoggerBase.writeEvent(\n 'StoreProductAvailabilityServiceGetNearbyStoresStarted',\n 44354,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get nearby stores started.'\n );\n }\n\n public static storeProductAvailabilityServiceGetNearbyStoresError(error: string): void {\n LoggerBase.writeEvent(\n 'StoreProductAvailabilityServiceGetNearbyStoresError',\n 44355,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get nearby stores failed with error {0}.'\n );\n }\n\n public static storeProductAvailabilityServiceGetNearbyStoresFinished(): void {\n LoggerBase.writeEvent(\n 'StoreProductAvailabilityServiceGetNearbyStoresFinished',\n 44356,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get nearby stores finished.'\n );\n }\n\n // Loyalty Service - Event Range: 44370 - 44399.\n public static loyaltyServiceGetLoyaltyCardsStarted(): void {\n LoggerBase.writeEvent(\n 'LoyaltyServiceGetLoyaltyCardsStarted',\n 44370,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get loyalty cards started.'\n );\n }\n\n public static loyaltyServiceGetLoyaltyCardsError(error: string): void {\n LoggerBase.writeEvent(\n 'LoyaltyServiceGetLoyaltyCardsError',\n 44371,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get loyalty cards failed with error {0}.'\n );\n }\n\n public static loyaltyServiceGetLoyaltyCardsFinished(): void {\n LoggerBase.writeEvent(\n 'LoyaltyServiceGetLoyaltyCardsFinished',\n 44372,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get loyalty cards finished.'\n );\n }\n\n public static loyaltyServiceUpdateLoyaltyCardIdStarted(): void {\n LoggerBase.writeEvent(\n 'loyaltyServiceUpdateLoyaltyCardIdStarted',\n 44374,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update loyalty card id started.'\n );\n }\n\n public static loyaltyServiceUpdateLoyaltyCardIdError(error: string): void {\n LoggerBase.writeEvent(\n 'LoyaltyServiceUpdateLoyaltyCardIdError',\n 44375,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Update loyalty card id failed with error {0}.'\n );\n }\n\n public static loyaltyServiceUpdateLoyaltyCardIdFinished(): void {\n LoggerBase.writeEvent(\n 'LoyaltyServiceUpdateLoyaltyCardIdFinished',\n 44376,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update loyalty card id finished.'\n );\n }\n\n // Customer Service - Event Range: 44400 - 44499.\n public static customerServiceGetCustomerStarted(): void {\n LoggerBase.writeEvent(\n 'CustomerServiceGetCustomerStarted',\n 44400,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get customer started.'\n );\n }\n\n public static customerServiceGetCustomerError(error: string): void {\n LoggerBase.writeEvent(\n 'CustomerServiceGetCustomerError',\n 44401,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get customer failed with error {0}.'\n );\n }\n\n public static customerServiceGetCustomerFinished(): void {\n LoggerBase.writeEvent(\n 'CustomerServiceGetCustomerFinished',\n 44402,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get customer finished.'\n );\n }\n\n public static customerServiceIsAuthenticationSessionStarted(): void {\n LoggerBase.writeEvent(\n 'CustomerServiceIsAuthenticationSessionStarted',\n 44403,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Is authentication session started.'\n );\n }\n\n public static customerServiceIsAuthenticationSessionError(error: string): void {\n LoggerBase.writeEvent(\n 'CustomerServiceIsAuthenticationSessionError',\n 44404,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Is authentication session failed with error {0}.'\n );\n }\n\n public static customerServiceIsAuthenticationSessionFinished(): void {\n LoggerBase.writeEvent(\n 'CustomerServiceIsAuthenticationSessionFinished',\n 44405,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Is authentication session finished.'\n );\n }\n\n // Order Service - Event Range: 44500 - 44599.\n public static getOrderHistoryStarted(): void {\n LoggerBase.writeEvent(\n 'GetOrderHistoryStarted',\n 44500,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get order history started.'\n );\n }\n\n public static getOrderHistoryError(error: string): void {\n LoggerBase.writeEvent(\n 'GetOrderHistoryError',\n 44501,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get order history failed with error {0}.'\n );\n }\n\n public static getOrderHistoryFinished(): void {\n LoggerBase.writeEvent(\n 'GetOrderHistoryFinished',\n 44502,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get order history finished.'\n );\n }\n\n public static getOrderDetailsStarted(): void {\n LoggerBase.writeEvent(\n 'GetOrderDetailsStarted',\n 44504,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get order details started.'\n );\n }\n\n public static getOrderDetailsError(error: string): void {\n LoggerBase.writeEvent(\n 'GetOrderDetailsError',\n 44505,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get order details failed with error {0}.'\n );\n }\n\n public static getOrderDetailsFinished(): void {\n LoggerBase.writeEvent(\n 'GetOrderDetailsFinished',\n 44506,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get order details finished.'\n );\n }\n\n // Commerce list realtime service - Event Range: 44600 - 44699.\n public static createWishListStarted(): void {\n LoggerBase.writeEvent(\n 'CreateWishListStarted',\n 44600,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Create wish list started.'\n );\n }\n\n public static createWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'CreateWishListError',\n 44601,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Create wish list failed with error {0}.'\n );\n }\n\n public static createWishListFinished(): void {\n LoggerBase.writeEvent(\n 'CreateWishListFinished',\n 44602,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Create wish list finished.'\n );\n }\n\n public static deleteWishListStarted(): void {\n LoggerBase.writeEvent(\n 'DeleteWishListStarted',\n 44604,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Delete wish list started.'\n );\n }\n\n public static deleteWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'DeleteWishListError',\n 44605,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Delete wish list failed with error {0}.'\n );\n }\n\n public static deleteWishListFinished(): void {\n LoggerBase.writeEvent(\n 'DeleteWishListFinished',\n 44606,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Delete wish list finished.'\n );\n }\n\n public static updateWishListStarted(): void {\n LoggerBase.writeEvent(\n 'UpdateWishListStarted',\n 44608,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update wish list started.'\n );\n }\n\n public static updateWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'UpdateWishListError',\n 44609,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Update wish list failed with error {0}.'\n );\n }\n\n public static updateWishListFinished(): void {\n LoggerBase.writeEvent(\n 'UpdateWishListFinished',\n 44610,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update wish list finished.'\n );\n }\n\n public static getWishListsStarted(): void {\n LoggerBase.writeEvent(\n 'GetWishListsStarted',\n 44612,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get wish lists started.'\n );\n }\n\n public static getWishListsError(error: string): void {\n LoggerBase.writeEvent(\n 'GetWishListsError',\n 44613,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get wish lists failed with error {0}.'\n );\n }\n\n public static getWishListsFinished(): void {\n LoggerBase.writeEvent(\n 'GetWishListsFinished',\n 44614,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get wish lists finished.'\n );\n }\n\n public static getWishListStarted(): void {\n LoggerBase.writeEvent(\n 'GetWishListStarted',\n 44616,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get wish list started.'\n );\n }\n\n public static getWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'GetWishListError',\n 44617,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Get wish list failed with error {0}.'\n );\n }\n\n public static getWishListFinished(): void {\n LoggerBase.writeEvent(\n 'GetWishListFinished',\n 44618,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Get wish list finished.'\n );\n }\n\n public static addLinesToWishListStarted(): void {\n LoggerBase.writeEvent(\n 'AddLinesToWishListStarted',\n 44620,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Add lines to wish list started.'\n );\n }\n\n public static addLinesToWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'AddLinesToWishListError',\n 44621,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Add lines to wish list failed with error {0}.'\n );\n }\n\n public static addLinesToWishListFinished(): void {\n LoggerBase.writeEvent(\n 'AddLinesToWishListFinished',\n 44622,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Add lines to wish list finished.'\n );\n }\n\n public static removeItemsFromWishListStarted(): void {\n LoggerBase.writeEvent(\n 'RemoveItemsFromWishListStarted',\n 44624,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Remove items from wish list started.'\n );\n }\n\n public static removeItemsFromWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'RemoveItemsFromWishListError',\n 44625,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Remove items from wish list failed with error {0}.'\n );\n }\n\n public static removeItemsFromWishListFinished(): void {\n LoggerBase.writeEvent(\n 'RemoveItemsFromWishListFinished',\n 44626,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Remove items from wish list finished.'\n );\n }\n\n public static updateLinesOnWishListStarted(): void {\n LoggerBase.writeEvent(\n 'UpdateLinesOnWishListStarted',\n 44628,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update lines on wish list started.'\n );\n }\n\n public static updateLinesOnWishListError(error: string): void {\n LoggerBase.writeEvent(\n 'UpdateLinesOnWishListError',\n 44629,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Update lines on wish list failed with error {0}.'\n );\n }\n\n public static updateLinesOnWishListFinished(): void {\n LoggerBase.writeEvent(\n 'UpdateLinesOnWishListFinished',\n 44630,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Update lines on wish list finished.'\n );\n }\n\n public static addItemsToCartStarted(): void {\n LoggerBase.writeEvent(\n 'AddItemsToCartStarted',\n 44632,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Add items to cart started.'\n );\n }\n\n public static addItemsToCartError(error: string): void {\n LoggerBase.writeEvent(\n 'AddItemsToCartError',\n 44633,\n 1,\n EventChannel.Operational,\n EventLevel.Error,\n [],\n '',\n '',\n 'Add items to cart failed with error {0}.'\n );\n }\n\n public static addItemsToCartFinished(): void {\n LoggerBase.writeEvent(\n 'AddItemsToCartFinished',\n 44634,\n 1,\n EventChannel.Debug,\n EventLevel.Informational,\n [],\n '',\n '',\n 'Add items to cart finished.'\n );\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProxyError } from '../exceptions';\nimport { EMPTY, format } from '../extensions/StringExtensions';\nimport { DebuggingConsoleSink } from './ConsoleEventWriter';\nimport { attachLoggingSink, genericError, genericInfo, genericWarning } from './RetailLogger';\n\n/**\n * The tracer class allows information to be logged on the device for Information, Warning or Error\n * The same method call can be used for each type\n * Example:\n * Commerce.Proxy.Tracer.Information(\"Message {0} {1}\", [\"Arg1\", \"Arg2\"]); // With parameters to be formatted\n * Commerce.Proxy.Tracer.Information(\"Message\"); // Without parameters\n *\n * Example of different tracer logs\n * Dynamics-Information: <> <>\n * Dynamics-Warning: <> <>\n * Dynamics-Error: <> <>\n */\n\nexport class Tracer {\n private static TracerDynamics: string = 'Dynamics-';\n private static TracerDynamicsError: string = 'Error: ';\n\n private static TracingOn: boolean = true;\n\n private static Counters: any[] = new Array();\n private static Timers: any[] = new Array();\n\n public static init(): boolean {\n attachLoggingSink(new DebuggingConsoleSink());\n return true;\n }\n\n public static _initialized: boolean = Tracer.init();\n\n /**\n * Traces an informational message in the specified format.\n */\n public static Information(informationformat: string, ...args: any[]): void {\n if (Tracer.TracingOn) {\n genericInfo(Tracer.GetMessage.apply(null, [Tracer.TracerDynamicsError, informationformat, ...args]));\n }\n }\n\n /**\n * Traces a warning message in the specified format.\n */\n public static Warning(warningFormat: string, ...args: any[]): void {\n if (Tracer.TracingOn) {\n genericWarning(Tracer.GetMessage.apply(null, [Tracer.TracerDynamicsError, warningFormat, ...args]));\n }\n }\n\n /**\n * Traces an error message in the specified format.\n */\n public static Error(errorFormat: string, ...args: any[]): void {\n if (Tracer.TracingOn) {\n genericError(Tracer.GetMessage.apply(null, [Tracer.TracerDynamicsError, errorFormat, ...args]));\n }\n }\n\n /**\n * Traces an error message in the specified format.\n */\n public static Errors(errors: ProxyError[], formatString: string, ...args: any[]): void {\n if (Tracer.TracingOn && errors !== null && errors.length > 0) {\n let errorMessage: string = '';\n let errorCode: string = '';\n let errorString: string = '';\n\n errors.forEach(error => {\n errorMessage = error.ErrorMessage || EMPTY;\n errorCode = error.ErrorCode || EMPTY;\n errorString = JSON.stringify(error);\n Tracer.Error(\n formatString +\n ' ' +\n format(\" \\n ErrorMessage: {0}; \\n ErrorCode: {1}; \\n ErrorObject: '{2}'\", errorMessage, errorCode, errorString),\n args\n );\n });\n }\n }\n\n public static StartCounter(uniqueFunctionName: string): void {\n let counter;\n if (Tracer.Counters[uniqueFunctionName] === undefined) {\n counter = new PerformanceCounters();\n counter.Name = uniqueFunctionName;\n } else {\n counter = Tracer.Counters[uniqueFunctionName];\n }\n counter.Count += 1;\n Tracer.Counters[uniqueFunctionName] = counter;\n const now = new Date().getTime();\n Tracer.Timers.push(now);\n }\n\n public static EndCounter(uniqueFunctionName: string): void {\n const now = new Date().getTime();\n const startTime = Tracer.Timers.pop();\n const counter = Tracer.Counters[uniqueFunctionName];\n counter.TotalTime += now - startTime;\n }\n\n public static DumpCounters() {\n for (const item in Tracer.Counters) {\n if (Tracer.Counters.hasOwnProperty(item)) {\n Tracer.Information(\n 'Method = {0} Number of calls = {1} TotalTime = {2}mS Avg = {3}mS',\n Tracer.Counters[item].Name,\n Tracer.Counters[item].Count,\n Tracer.Counters[item].TotalTime,\n Tracer.Counters[item].TotalTime / Tracer.Counters[item].Count\n );\n }\n }\n }\n\n private static GetMessage(type: string, formatString: string, ...args: any[]) {\n const now = '' + new Date().getTime() + 'mS';\n if (Tracer.TracingOn) {\n if (!args) {\n return Tracer.TracerDynamics + type + '\\t' + formatString + '\\t' + now;\n } else {\n return (\n Tracer.TracerDynamics + type + '\\t' + format.apply(null, [formatString, Array.prototype.slice.call(args)]) + '\\t' + now\n );\n }\n }\n }\n}\n\nclass PerformanceCounters {\n public Name: string;\n public Count: number = 0;\n public TotalTime: number = 0;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AsyncResult } from './async-result';\nimport { IDataServiceRequest } from './Interfaces';\n\n/**\n * Calls the Retail action\n */\nexport function retailAction(input: IDataServiceRequest, callerContext: unknown): Promise {\n return input.execute(callerContext);\n}\n\nretailAction.prototype = {\n isAction: true,\n isObservable: true\n};\n\nexport function callActionOrExecute(request: IDataServiceRequest, callerContext: any): AsyncResult {\n return callerContext.chainAction ? callerContext.chainAction(retailAction, request) : request.execute(callerContext);\n}\n\nexport function executeAction(request: IDataServiceRequest, context: any): AsyncResult {\n if (!context) {\n throw new Error('context is undefined while executing action');\n }\n\n if (context.callerContext && context.callerContext.chainAction) {\n context.bypassCache && request.overrideCacheType(context.bypassCache);\n return context.callerContext.chainAction(retailAction, request);\n } else if (context.chainAction) {\n return context.chainAction(retailAction, request);\n }\n\n return new AsyncResult((resolve, reject) => {\n request\n .execute(context)\n .then(result => {\n resolve(result);\n })\n .catch(error => {\n reject(error);\n });\n });\n}\n"],"names":["businessPartnerUsersQuery","b2BUserId","key","B2BUserId","createCreateInput","entity","create","createBusinessPartnerUserAsync","context","request","createUpdateInput","update","updateAsync","createDeleteAsync","delete","deleteAsync","createReadAsync","read","readAsync","createReadAllAsync","queryResultSettings","resultSettings","readAllAsync","createRequestAccountStatementInput","accountStatementParameters","createDataServiceRequestForOperation","bypassCache","returnEntity","requestAccountStatementAsync","createRequestInvoiceCopyInput","invoiceId","deliveryType","requestInvoiceCopyAsync","createGetOperationRequestsInput","startDateTime","endDateTime","getOperationRequestsAsync","createGetCurrentInput","getCurrentAsync","businessPartnersQuery","businessPartnerId","BusinessPartnerId","getOrderHistoryAsync","createGetOrderHistoryInput","createProspectAsync","businessPartnerProspect","createCreateProspectInput","getUsersAsync","createGetUsersInput","cartsQuery","id","Id","createCartAsync","createSearchInput","cartSearchCriteria","searchAsync","createCheckoutInput","receiptEmail","tokenizedPaymentCard","receiptNumberSequence","cartTenderLines","cartVersion","checkoutAsync","createGetMaxLoyaltyPointsToRedeemForTransactionBalanceInput","loyaltyCardId","currencyCode","getMaxLoyaltyPointsToRedeemForTransactionBalanceAsync","createGetPaymentsHistoryInput","getPaymentsHistoryAsync","createGetLineDeliveryOptionsByChannelIdInput","lineShippingAddresses","channelId","filterOption","getLineDeliveryOptionsByChannelIdAsync","createGetLineDeliveryOptionsInput","getLineDeliveryOptionsAsync","createGetDeliveryPreferencesInput","getDeliveryPreferencesAsync","createGetDeliveryOptionsInput","shippingAddress","cartLineIds","ignoreLinesWithDeliveryMode","getDeliveryOptionsAsync","createUpdateLineDeliverySpecificationsInput","lineDeliverySpecifications","updateLineDeliverySpecificationsAsync","createUpdateDeliverySpecificationInput","deliverySpecification","updateDeliverySpecificationAsync","createAddChargeInput","moduleTypeValue","chargeCode","amount","addChargeAsync","createOverrideChargeInput","chargeLineId","reasonCodeLines","overrideChargeAsync","createAddCartLineChargeInput","cartLineId","addCartLineChargeAsync","createOverrideCartLineChargeInput","overrideCartLineChargeAsync","createVoidInput","voidAsync","createAddCartLinesInput","cartLines","addCartLinesAsync","createAddReturnCartLinesInput","returnCartLines","returnTransactionSearchLocation","addReturnCartLinesAsync","createUpdateCartLinesInput","updateCartLinesAsync","createVoidCartLinesInput","voidCartLinesAsync","createRemoveCartLinesInput","removeCartLinesAsync","createAddTenderLineInput","cartTenderLine","addTenderLineAsync","createCalculateTenderDiscountInput","tenderLine","calculateTenderDiscountAsync","createAddPreprocessedTenderLineInput","preprocessedTenderLine","addPreprocessedTenderLineAsync","createValidateTenderLineForAddInput","validateTenderLineForAddAsync","createUpdateTenderLineSignatureInput","tenderLineId","signatureData","updateTenderLineSignatureAsync","createGetDeclinedOrVoidedCardReceiptsInput","receiptRetrievalCriteria","getDeclinedOrVoidedCardReceiptsAsync","createCopyInput","targetCartType","copyAsync","createAddInvoicedSalesLinesToCartInput","transactionId","invoicedSalesLinesIds","addInvoicedSalesLinesToCartAsync","createRecallInvoicedSalesLinesInput","recallInvoicedSalesLineLookups","recallInvoicedSalesLinesAsync","createVoidTenderLineInput","isPreprocessed","forceVoid","voidTenderLineAsync","createIssueGiftCardInput","giftCardId","lineDescription","tenderTypeId","issueGiftCardAsync","createRefillGiftCardInput","refillGiftCardAsync","createCashOutGiftCardInput","cashOutGiftCardAsync","createSuspendInput","suspendAsync","createSuspendWithJournalInput","journalCartId","suspendWithJournalAsync","createResumeInput","resumeAsync","createResumeFromReceiptIdInput","receiptId","resumeFromReceiptIdAsync","createRemoveDiscountCodesInput","discountCodes","removeDiscountCodesAsync","createGetSuspendedInput","getSuspendedAsync","createOverrideCartLinePriceInput","price","overrideCartLinePriceAsync","createGetCardPaymentAcceptPointInput","cardPaymentAcceptSettings","extensionProperties","getCardPaymentAcceptPointAsync","createRetrieveCardPaymentAcceptResultInput","resultAccessCode","cartId","settings","retrieveCardPaymentAcceptResultAsync","createRecallOrderInput","salesId","recallOrderAsync","createRecallQuoteInput","quoteId","recallQuoteAsync","createRecalculateOrderInput","recalculateOrderAsync","createResetAllChargesInput","resetAllChargesAsync","createGetPromotionsInput","getPromotionsAsync","createGetAvailablePromotionsInput","getAvailablePromotionsAsync","createRecallSalesInvoiceInput","recallSalesInvoiceAsync","createAddOrderInvoiceInput","addOrderInvoiceAsync","createAddInvoicesInput","invoiceIds","addInvoicesAsync","createUpdateCommissionSalesGroupInput","commissionSalesGroup","isUserInitiated","updateCommissionSalesGroupAsync","createAddCouponsInput","couponCodes","isLegacyDiscountCode","addCouponsAsync","createRemoveCouponsInput","removeCouponsAsync","createGetCartLineUserAlertsForAddInput","getCartLineUserAlertsForAddAsync","createGetCartLineUserAlertsInput","getCartLineUserAlertsAsync","createGetChargeCodesInput","getChargeCodesAsync","createGetReceiptTypesInput","getReceiptTypesAsync","createSetInvoiceLinePriceInput","setInvoiceLinePriceAsync","createAddDiscountCodeInput","discountCode","addDiscountCodeAsync","createGetReturnOptionsInput","getReturnOptionsAsync","createValidateForCheckoutInput","validateForCheckoutAsync","createGetTenderSuggestionsInput","getTenderSuggestionsAsync","categoriesQuery","recordId","RecordId","getCategoriesAsync","catalogId","createGetCategoriesInput","commerceListsQuery","createCommerceListAsync","createGetByCustomerInput","customerId","getByCustomerAsync","addLinesAsync","commerceListLines","createAddLinesInput","removeLinesAsync","createRemoveLinesInput","customersQuery","accountNumber","AccountNumber","createCustomerAsync","customerSearchCriteria","createSearchByFieldsInput","customerSearchByFieldCriteria","CustomerSearchByFieldCriteria","searchByFieldsAsync","createGetByAccountNumbersInput","accountNumbers","searchLocationValue","getByAccountNumbersAsync","createCreateCustomerTimelineItemInput","customerTimelineItem","createCustomerTimelineItemAsync","createUpdateCustomerTimelineItemInput","updateCustomerTimelineItemAsync","createGetRefinersInput","searchCriteria","refinerSourceTypes","getRefinersAsync","createGetOrderShipmentsHistoryInput","nextPageToken","getOrderShipmentsHistoryAsync","createPostNonTransactionalActivityLoyaltyPointsInput","affiliationId","activityTypeId","postNonTransactionalActivityLoyaltyPointsAsync","createGetPurchaseHistoryInput","getPurchaseHistoryAsync","createGetCustomerSearchFieldsInput","getCustomerSearchFieldsAsync","createGetCustomerTimelineItemTypesInput","getCustomerTimelineItemTypesAsync","createGetCustomerTimelineItemsInput","getCustomerTimelineItemsAsync","createGetCustomerTimelineRefinersInput","getCustomerTimelineRefinersAsync","createGetTitlesInput","getTitlesAsync","orgUnitsQuery","orgUnitNumber","OrgUnitNumber","getOrgUnitLocationsByAreaAsync","searchArea","deliveryModeTypeFilter","createGetOrgUnitLocationsByAreaInput","createSearchOrgUnitLocationsInput","orgUnitLocationSearchCriteria","createGetOrgUnitConfigurationInput","getOrgUnitConfigurationAsync","getStoreHoursAsync","storeNumber","createGetStoreHoursInput","getChannelDeliveryOptionsAsync","channelIds","createGetChannelDeliveryOptionsInput","productListsQuery","createProductListAsync","createGetProductListLinesInput","searchText","getProductListLinesAsync","createAddProductListLinesInput","productListLines","addProductListLinesAsync","createUpdateProductListLinesInput","updateProductListLinesAsync","createRemoveProductListLinesInput","removeProductListLinesAsync","createCopyCartToProductListInput","isRewrite","isQuantityAggregate","copyCartToProductListAsync","productsQuery","createProductAsync","productSearchCriteria","createGetDimensionValuesInput","dimension","matchingDimensionValues","kitVariantResolutionContext","getDimensionValuesAsync","createGetDimensionValuesWithEstimatedAvailabilitiesInput","getDimensionValuesWithEstimatedAvailabilitiesAsync","createGetVariantsByDimensionValuesInput","getVariantsByDimensionValuesAsync","createGetVariantsByComponentsInSlotsInput","matchingSlotToComponentRelationship","getVariantsByComponentsInSlotsAsync","createGetByIdsInput","productIds","inventLocationId","getByIdsAsync","createCompareInput","compareAsync","createGetRecommendedProductsInput","getRecommendedProductsAsync","createRefineSearchByCategoryInput","categoryId","refinementCriteria","refineSearchByCategoryAsync","createRefineSearchByTextInput","refineSearchByTextAsync","createGetProductSearchRefinersInput","getProductSearchRefinersAsync","address","createChangesInput","changesAsync","createBeginReadChangedProductsInput","changedProductSearchCriteria","beginReadChangedProductsAsync","createReadChangedProductsInput","readChangedProductsAsync","createGetDeletedListingsInput","skip","top","getDeletedListingsAsync","createGetAssortedProductIdsInput","includeFutureAssortedProducts","getAssortedProductIdsAsync","createCheckProductsExistenceInput","productExistenceCriteria","checkProductsExistenceAsync","createGetDeletedCatalogsInput","getDeletedCatalogsAsync","createGetDeletedLanguagesInput","getDeletedLanguagesAsync","createGetProductRatingsInput","getProductRatingsAsync","createGetProductAssortmentIntervalsInput","getProductAssortmentIntervalsAsync","createDeleteListingsByCatalogsInput","catalogIds","deleteListingsByCatalogsAsync","createDeleteListingsByLanguagesInput","languages","deleteListingsByLanguagesAsync","createEndReadChangedProductsInput","session","endReadChangedProductsAsync","createUpdateListingPublishingStatusInput","publishingStatuses","updateListingPublishingStatusAsync","createGetCatalogProductAttributesInput","getCatalogProductAttributesAsync","createGetPricesInput","itemId","inventoryDimensionId","barcode","customerAccountNumber","unitOfMeasureSymbol","quantity","getPricesAsync","createGetProductAvailabilitiesInput","itemIds","getProductAvailabilitiesAsync","createGetActivePricesInput","projectDomain","activeDate","affiliationLoyaltyTiers","includeSimpleDiscountsInContextualPrice","includeVariantPriceRange","getActivePricesAsync","createGetFilteredSlotComponentsInput","slotId","selectedComponents","getFilteredSlotComponentsAsync","createGetComponentByProductSlotRelationInput","componentRelation","getComponentByProductSlotRelationAsync","createGetSearchSuggestionsInput","hitPrefix","hitSuffix","getSearchSuggestionsAsync","createGetCategoryPathsInput","categoryPathLookups","CategoryPathLookups","getCategoryPathsAsync","createGetUnitsOfMeasureInput","getUnitsOfMeasureAsync","createSearchByCategoryInput","searchByCategoryAsync","createSearchByTextInput","searchByTextAsync","createSearchByCriteriaInput","searchByCriteriaAsync","createGetByLookupClausesInput","productLookupClauses","getByLookupClausesAsync","createGetRefinersByCategoryInput","getRefinersByCategoryAsync","createGetRefinersByTextInput","getRefinersByTextAsync","createGetRefinerValuesByCategoryInput","refinerId","refinerSourceValue","getRefinerValuesByCategoryAsync","createGetRefinerValuesByTextInput","getRefinerValuesByTextAsync","createGetChannelProductAttributesInput","getChannelProductAttributesAsync","createGetByIdInput","getByIdAsync","createGetAttributeValuesInput","getAttributeValuesAsync","createGetMediaLocationsInput","getMediaLocationsAsync","createGetMediaBlobsInput","getMediaBlobsAsync","createGetDefaultComponentsInput","getDefaultComponentsAsync","createGetSlotComponentsInput","getSlotComponentsAsync","createGetAllRelationTypesInput","getAllRelationTypesAsync","createGetRelationTypesInput","getRelationTypesAsync","createGetRelatedProductsInput","relationTypeId","getRelatedProductsAsync","createGetApplicableWarrantiesInput","warrantableProductIds","getApplicableWarrantiesAsync","createGetPriceInput","getPriceAsync","createCalculateProductPriceInput","calculateProductPriceAsync","createGetEstimatedProductWarehouseAvailabilityInput","productWarehouses","quantityUnitType","getEstimatedProductWarehouseAvailabilityAsync","createGetEstimatedAvailabilityInput","getEstimatedAvailabilityAsync","recommendationsQuery","getElementsAsync","recommendationCriteria","createGetElementsInput","salesOrdersQuery","createSalesOrderAsync","salesOrderSearchCriteria","createSearchSalesTransactionsByReceiptIdInput","searchSalesTransactionsByReceiptIdAsync","createSearchOrdersInput","orderSearchCriteria","searchOrdersAsync","createGetFulfillmentLinesInput","fulfillmentLineSearchCriteria","getFulfillmentLinesAsync","createGetReceiptsInput","getReceiptsAsync","createSendReceiptInput","recipientAddresses","sendReceiptAsync","createGetGiftReceiptsInput","salesLineNumbers","SalesLineNumbers","getGiftReceiptsAsync","createGetByReceiptIdInput","orderStoreNumber","orderTerminalId","getByReceiptIdAsync","createGetSalesOrderDetailsByTransactionIdInput","getSalesOrderDetailsByTransactionIdAsync","createGetSalesOrderDetailsBySalesIdInput","getSalesOrderDetailsBySalesIdAsync","createGetOrderByChannelReferenceLookupCriteriaInput","channelReferenceLookupCriteria","getOrderByChannelReferenceLookupCriteriaAsync","createGetSalesOrderDetailsByQuotationIdInput","quotationId","getSalesOrderDetailsByQuotationIdAsync","createShipFulfillmentLinesInput","shipFulfillmentLines","ShipFulfillmentLines","shipFulfillmentLinesAsync","createAcceptFulfillmentLinesInput","fulfillmentLineParameter","FulfillmentLineParameter","acceptFulfillmentLinesAsync","createPickFulfillmentLinesInput","pickFulfillmentLinesAsync","createPackFulfillmentLinesInput","packFulfillmentLinesAsync","createMarkFulfillmentLinesAsPackedInput","markFulfillmentLinesAsPackedAsync","createMarkAsPickedInput","markAsPickedAsync","createGetFulfillmentPickingListsInput","pickingListFulfillmentLine","hardwareProfileId","getFulfillmentPickingListsAsync","createGetFulfillmentPackingSlipsInput","packFulfillmentLines","getFulfillmentPackingSlipsAsync","createGetFulfillmentPackingSlipsByIdInput","packingSlipId","PackingSlipId","getFulfillmentPackingSlipsByIdAsync","createRejectFulfillmentLinesInput","rejectFulfillmentLines","RejectFulfillmentLines","rejectFulfillmentLinesAsync","createGetInvoicesBySalesIdInput","getInvoicesBySalesIdAsync","createGetOrderInvoicesInput","getOrderInvoicesAsync","createGetInvoicesInput","invoiceSearchCriteria","getInvoicesAsync","createGetInvoiceDetailsInput","invoiceDetailsSearchCriteria","getInvoiceDetailsAsync","createGetInvoicedSalesLinesBySalesIdsInput","salesIds","getInvoicedSalesLinesBySalesIdsAsync","createCreatePickingListInput","createPickingListAsync","createCreatePickingListForItemsInput","pickAndPackSalesLineParameters","createPickingListForItemsAsync","createGetPickingListsInput","getPickingListsAsync","createCreatePackingSlipInput","createPackingSlipAsync","createGetFulfillmentLineUserAlertsInput","fulfillmentOperation","FulfillmentOperation","getFulfillmentLineUserAlertsAsync","createCheckInForOrderPickupInput","channelReferenceId","checkInForOrderPickupAsync","createGetPackingSlipsDataInput","getPackingSlipsDataAsync","scanResultsQuery","scannedText","ScannedText","storeQuery","createRoundAmountByTenderTypeInput","roundAmountByTenderTypeAsync","createGetAffiliationsByNameInput","affiliationNames","getAffiliationsByNameAsync","createVoidSuspendedTransactionsInput","suspendedCartIds","shiftId","shiftTerminalId","voidSuspendedTransactionsAsync","createGetMerchantPropertiesByServiceAccountIdInput","serviceAccountIds","getMerchantPropertiesByServiceAccountIdAsync","createGetStoreSafesInput","getStoreSafesAsync","createGetShiftReconciliationLinesInput","shiftReconciliationLineRetrievalCriteria","getShiftReconciliationLinesAsync","createReconcileLinesInput","shiftReconciliationLines","description","Description","reconcileLinesAsync","createUndoReconciliationInput","undoReconciliationAsync","createGetReceiptMasksInput","receiptTransactionType","getReceiptMasksAsync","searchSuggestionCriteria","createStartSessionInput","overrideSession","startSessionAsync","createEndSessionInput","endSessionAsync","createActivateDeviceInput","deviceNumber","terminalId","deviceId","forceActivate","deviceType","activateDeviceAsync","createMassActivateDeviceInput","massActivateDeviceAsync","createDeactivateDeviceInput","deactivateDeviceAsync","createCreateHardwareStationTokenInput","createHardwareStationTokenAsync","createValidateHardwareStationTokenInput","hardwareStationToken","validateHardwareStationTokenAsync","createGetBarcodeByIdInput","barcodeId","getBarcodeByIdAsync","createGetButtonGridByIdInput","buttonGridId","getButtonGridByIdAsync","createGetButtonGridsWithoutImageInput","height","width","getButtonGridsWithoutImageAsync","createGetButtonGridsByIdsInput","getButtonGridsByIdsCriteria","getButtonGridsByIdsAsync","createGetImageBlobsByPictureIdsInput","pictureIds","getImageBlobsByPictureIdsAsync","createGetCardTypesInput","getCardTypesAsync","createResolveCardTypesInput","cardNumberPrefix","cardType","paymentToken","resolveCardTypesAsync","createGetSupportedPaymentCardTypesInput","getSupportedPaymentCardTypesAsync","createGetCitiesInput","countryRegionId","stateProvinceId","countyId","getCitiesAsync","createGetCountryRegionsForShippingInput","getCountryRegionsForShippingAsync","createGetCountryRegionsByLanguageIdInput","languageId","getCountryRegionsByLanguageIdAsync","createGetOnlineChannelInput","getOnlineChannelAsync","createGetCountiesInput","getCountiesAsync","createGetCreditMemoByIdInput","creditMemoId","getCreditMemoByIdAsync","createGetDownloadIntervalInput","dataStoreName","getDownloadIntervalAsync","createGetTerminalDataStoreNameInput","getTerminalDataStoreNameAsync","createGetDownloadLinkInput","downloadSessionId","getDownloadLinkAsync","createGetDataDownloadParametersByTerminalInput","terminalDataDownloadRequestInfo","TerminalDataDownloadRequestInfo","getDataDownloadParametersByTerminalAsync","createGetDataUploadParametersByTerminalInput","terminalDataUploadRequestInfo","TerminalDataUploadRequestInfo","getDataUploadParametersByTerminalAsync","createGetDownloadSessionsInput","getDownloadSessionsAsync","createGetInitialDownloadSessionsInput","getInitialDownloadSessionsAsync","createGetUploadJobDefinitionsInput","getUploadJobDefinitionsAsync","createGetUploadIntervalInput","getUploadIntervalAsync","createPostOfflineTransactionsInput","offlineTransactionForMPOS","postOfflineTransactionsAsync","createSetOfflineTerminalStateInput","offlineTerminalState","setOfflineTerminalStateAsync","createGetRetailTrialPlanOfferInput","getRetailTrialPlanOfferAsync","createGetLatestNumberSequenceInput","getLatestNumberSequenceAsync","createGetReceiptNumberResetInfoInput","getReceiptNumberResetInfoAsync","createGetLoyaltyRewardPointActivityTimelineInput","cardNumber","rewardPointId","getLoyaltyRewardPointActivityTimelineAsync","createGetLoyaltyRewardPointActivityTimelineForExpiredPointsInput","getLoyaltyRewardPointActivityTimelineForExpiredPointsAsync","createCalculateTotalCurrencyAmountInput","currenciesAmount","calculateTotalCurrencyAmountAsync","createGetDiscountCodeInput","getDiscountCodeAsync","createGetDiscountCodesByOfferIdInput","offerId","getDiscountCodesByOfferIdAsync","createGetDiscountCodesByKeywordInput","keyword","getDiscountCodesByKeywordAsync","createGetDistrictsInput","cityName","getDistrictsAsync","createGetHardwareStationProfilesInput","getHardwareStationProfilesAsync","createGetHardwareProfileByIdInput","getHardwareProfileByIdAsync","createGetLocalizedStringsInput","textId","getLocalizedStringsAsync","createGetOperationPermissionByIdInput","operationId","getOperationPermissionByIdAsync","createGetReasonCodesByIdInput","reasonCodeGroupId","getReasonCodesByIdAsync","createSearchReportDataSetInput","reportId","parameters","searchReportDataSetAsync","createGetReportDataSetByIdInput","getReportDataSetByIdAsync","createGetSrsReportDataSetInput","getSrsReportDataSetAsync","createGetIncomeExpenseAccountsInput","incomeExpenseAccountType","getIncomeExpenseAccountsAsync","createGetStateProvincesInput","getStateProvincesAsync","createGetZipCodesInput","district","getZipCodesAsync","createGetAddressFromZipCodeInput","zipPostalCode","getAddressFromZipCodeAsync","createDisassembleKitTransactionsInput","kitTransaction","disassembleKitTransactionsAsync","createIssueLoyaltyCardInput","loyaltyCard","issueLoyaltyCardAsync","createGetLoyaltyCardInput","getLoyaltyCardAsync","createGetCustomerLoyaltyCardsInput","getCustomerLoyaltyCardsAsync","createGetLoyaltyCardTransactionsInput","getLoyaltyCardTransactionsAsync","createGetLoyaltyRewardPointsExpiringSoonInput","daysToExpiry","getLoyaltyRewardPointsExpiringSoonAsync","createSearchJournalTransactionsInput","searchJournalTransactionsAsync","createGetGiftCardInput","pin","expirationMonth","expirationYear","getGiftCardAsync","createGetGiftCardInquiryInput","getGiftCardInquiryAsync","createGetNonSalesTransactionsInput","nonSalesTenderTypeValue","getNonSalesTransactionsAsync","createCreateNonSalesTransactionInput","nonSalesTransaction","createNonSalesTransactionAsync","createCreateDropAndDeclareTransactionInput","dropAndDeclareTransaction","createDropAndDeclareTransactionAsync","createGetTaxOverridesInput","overrideBy","getTaxOverridesAsync","createGetCustomerBalanceInput","invoiceAccountNumber","getCustomerBalanceAsync","createInitiateLinkToExistingCustomerInput","email","activationToken","emailTemplateId","emailProperties","ActivationToken","initiateLinkToExistingCustomerAsync","createFinalizeLinkToExistingCustomerInput","finalizeLinkToExistingCustomerAsync","createUnlinkFromExistingCustomerInput","unlinkFromExistingCustomerAsync","createGetOfflineSyncStatusInput","getOfflineSyncStatusAsync","createGetOfflinePendingTransactionCountInput","getOfflinePendingTransactionCountAsync","createGetOfflinePendingTransactionCountByShiftInput","getOfflinePendingTransactionCountByShiftAsync","createUpdateDownloadSessionInput","downloadSession","updateDownloadSessionAsync","createUpdateApplicationVersionInput","appVersion","updateApplicationVersionAsync","createGetStorageAccessTokenForUploadInput","getStorageAccessTokenForUploadAsync","createGetBusinessProcessModelLibrariesInput","getBusinessProcessModelLibrariesAsync","createGetBusinessProcessModelLibraryInput","businessProcessModelFrameworkLineId","hierarchyDepth","getBusinessProcessModelLibraryAsync","createSearchTaskGuidesByTitleInput","taskGuideSearchText","queryTypeValue","searchTaskGuidesByTitleAsync","createGenerateBusinessProcessModelPackageInput","taskRecording","generateBusinessProcessModelPackageAsync","createDownloadRecordingInput","businessProcessModelLineId","downloadRecordingAsync","createLoadRecordingFromFileInput","recordingUrl","loadRecordingFromFileAsync","createGenerateRecordingFileInput","generateRecordingFileAsync","createGenerateTrainingDocumentInput","generateTrainingDocumentAsync","createGenerateRecordingBundleInput","generateRecordingBundleAsync","createUploadRecordingInput","uploadRecordingAsync","createGetAttributeDefinitionsInput","attributeDefinitionCriteria","getAttributeDefinitionsAsync","createGetAttributeGroupDefinitionsInput","attributeGroupDefinitionCriteria","getAttributeGroupDefinitionsAsync","createSaveFiscalTransactionInput","fiscalTransaction","saveFiscalTransactionAsync","createValidatePrintReceiptCopyAllowedInput","salesOrderToPrint","validatePrintReceiptCopyAllowedAsync","createRegisterAuditEventInput","auditEvent","registerAuditEventAsync","createRegisterAndGetAuditEventInput","registerAndGetAuditEventAsync","createGetInventoryAvailableToPromiseInput","productId","getInventoryAvailableToPromiseAsync","createGetSalesOrdersWithNoFiscalTransactionsInput","getSalesOrdersWithNoFiscalTransactionsAsync","createGetNotificationsInput","subscribedOperations","getNotificationsAsync","createAcknowledgeNotificationsInput","lastPullDateTime","acknowledgeNotificationsAsync","createGetFiscalIntegrationFiscalDocumentInput","functionalityProfileGroupId","fiscalIntegrationDocumentRetrievalCriteria","connectorType","getFiscalIntegrationFiscalDocumentAsync","createGetFiscalIntegrationNonFiscalDocumentInput","getFiscalIntegrationNonFiscalDocumentAsync","createGetFiscalIntegrationFiscalServiceSetupDocumentInput","getFiscalIntegrationFiscalServiceSetupDocumentAsync","createGetFiscalIntegrationFiscalServiceReadDataDocumentInput","getFiscalIntegrationFiscalServiceReadDataDocumentAsync","createProcessFiscalIntegrationFiscalServiceReadDataResultInput","documentToProcess","processFiscalIntegrationFiscalServiceReadDataResultAsync","createSaveFiscalIntegrationRegistrationResultInput","registrationResult","saveFiscalIntegrationRegistrationResultAsync","createGetFiscalIntegrationRegistrationProcessInput","getFiscalIntegrationRegistrationProcessAsync","createGetChannelSupportedFiscalIntegrationEventsByGroupInput","getChannelSupportedFiscalIntegrationEventsByGroupAsync","createGetFiscalIntegrationTechnicalProfilesInput","getFiscalIntegrationTechnicalProfilesAsync","createGetFiscalIntegrationTechnicalProfilesByFunctionalityGroupIdsInput","getFiscalIntegrationTechnicalProfilesByFunctionalityGroupIdsAsync","createBackupFiscalRegistrationProcessContextInput","fiscalProcessCompleted","fiscalIntegrationSerializedContext","backupFiscalRegistrationProcessContextAsync","createGetActiveFiscalRegistrationProcessContextBackupInput","getActiveFiscalRegistrationProcessContextBackupAsync","createGetFiscalIntegrationTechnicalProfilesBySearchCriteriaInput","fiscalIntegrationTechnicalProfileSearchCriteria","getFiscalIntegrationTechnicalProfilesBySearchCriteriaAsync","createGetFiscalIntegrationServiceStatusInput","fiscalIntegrationServiceInfo","getFiscalIntegrationServiceStatusAsync","createSubmitFiscalIntegrationDocumentInput","documentToSubmit","submitFiscalIntegrationDocumentAsync","createGetFeatureStatesInput","featureNames","getFeatureStatesAsync","createGetLastFiscalIntegrationSequentialSignaturesInput","sequentialKeys","getLastFiscalIntegrationSequentialSignaturesAsync","createCreateFiscalTransactionInput","createFiscalTransactionAsync","createGetEstimatedPickupTimeslotAvailabilitiesInput","getEstimatedPickupTimeslotAvailabilitiesAsync","createGetButtonGridsInput","getButtonGridsAsync","createGetButtonGridsByScreenSizeInput","getButtonGridsByScreenSizeAsync","createGetOperationalInsightsConfigurationInput","getOperationalInsightsConfigurationAsync","createGetCashDeclarationsInput","getCashDeclarationsAsync","createGetCountryRegionsInput","getCountryRegionsAsync","createGetCustomerGroupsInput","getCustomerGroupsAsync","createGetChannelDeliveryOptionConfigurationInput","getChannelDeliveryOptionConfigurationAsync","createGetChannelsByTypeInput","channelType","getChannelsByTypeAsync","createGetChannelsInput","getChannelsAsync","createSearchChannelsInput","searchChannelsAsync","createGetEnvironmentConfigurationInput","getEnvironmentConfigurationAsync","createGetSearchConfigurationInput","getSearchConfigurationAsync","createGetExtensionPackageDefinitionsInput","getExtensionPackageDefinitionsAsync","createGetExtensionProfileInput","getExtensionProfileAsync","createGetDeviceConfigurationInput","getDeviceConfigurationAsync","createGetVisualProfileInput","getVisualProfileAsync","createGetLanguagesInput","getLanguagesAsync","createGetAffiliationsInput","getAffiliationsAsync","createGetOperationPermissionsInput","getOperationPermissionsAsync","createGetReasonCodesInput","getReasonCodesAsync","createGetReturnOrderReasonCodesInput","getReturnOrderReasonCodesAsync","createGetSalesTaxGroupsInput","getSalesTaxGroupsAsync","createGetTenderTypesInput","getTenderTypesAsync","createGetDiscountCodesInput","getDiscountCodesAsync","createGetCurrenciesInput","getCurrenciesAsync","createGetCurrenciesAmountInput","getCurrenciesAmountAsync","createGetCommissionSalesGroupsInput","getCommissionSalesGroupsAsync","createSearchCommissionSalesGroupsInput","searchCommissionSalesGroupsAsync","createGetPaymentMerchantInformationInput","getPaymentMerchantInformationAsync","createGetPaymentPropertiesIfModifiedInput","merchantInformationHash","getPaymentPropertiesIfModifiedAsync","createGetOnlineChannelPublishStatusInput","getOnlineChannelPublishStatusAsync","createSetOnlineChannelPublishStatusInput","publishingStatus","statusMessage","setOnlineChannelPublishStatusAsync","createGetInventoryConfigurationInput","getInventoryConfigurationAsync","createGetPurchaseConfigurationInput","getPurchaseConfigurationAsync","createSearchJournalNamesInput","searchJournalNamesAsync","createGetAvailableDevicesInput","getAvailableDevicesAsync","createGetUserDefinedSecretStringInput","secretName","getUserDefinedSecretStringAsync","createGetUserDefinedSecretCertificateInput","getUserDefinedSecretCertificateAsync","createGetImageBlobInput","imageId","getImageBlobAsync","createGetExtensibleEnumerationsInput","getExtensibleEnumerationsAsync","createGetAddressPurposesInput","getAddressPurposesAsync","createGetReturnPolicyInput","getReturnPolicyAsync","createGetEmailReceiptSettingsInput","getEmailReceiptSettingsAsync","DataServiceQuery","entitySet","entityType","returnType","this","_query","tokens","options","Paging","Sorting","value","count","filterSettings","Top","Skip","propertyName","expands","push","inlineCount","Columns","ColumnName","object","action","data","_createODataParameters","_createRequest","undefined","isReturnTypeACollection","operationName","isAction","setGetAllRecords","GET","POST","ODATA_TOTAL_COUNT_PROPERTY","DEFAULT_HEADER","Prefer","parseOdataResult","resultType","resultSet","Object","prototype","toString","call","i","length","hasNextPage","DataServiceRequest","query","_cacheKeyFromReturnType","getActionId","_actionId","getCacheObjectType","_cacheObjectType","getCacheKey","_cacheKeyFromInput","dataCacheType","getDataCacheType","shouldCacheOutput","overrideCacheType","recurseEverything","_hasOperationName","_method","getActionIdFromInput","getCacheObjectValueFromReturnType","entityIdentifier","_cacheKeyIdentifierFromReturnType","Key","buildCacheFromInput","_callerContext","requestContext","apiSettings","baseUrl","locale","_totalCount","_otherOdata","batchRequestUri","requests","requestId","odataBatchRequest","requestUri","method","__batchRequests","batchRequests","changeRequests","forEach","_id","odataRequest","_requestUri","toJson","headers","__changeRequests","batchResponses","responses","errors","Array","response","__changeResponses","concat","parseBatchResponses","message","parseInt","parent","modifyDataInPlace","clone","prop","hasOwnProperty","property","arrayToJson","Date","toDateTimeOffset","array","dateTime","__edmType","__offset","pad","val","sign","getTimezoneOffset","offset","Math","abs","hours","floor","minutes","result","formattedKey","join","parameter","paramValue","encodeURIComponent","parameterSeparator","indexOf","name","replace","cacheKeyIdentifierFromReturnType","cacheKey","cacheKeyValue","callerContext","oun","Error","JSON","stringify","getRequestUri","buildQueryHeader","loadPage","getAllPages","Promise","resolve","reject","buildBatchRequest","__batchResponses","error","formatKey","formatFunctionParameter","addParameter","column","orderByColumn","IsDescending","results","then","loadPageResults","catch","headerName","tokenName","tokenValue","user","token","accessToken","cookieData","appSessionCookie","get","userSessionCookie","status","appSessionId","split","userSessionId","otherOdata","setMetadata","map","filter","Boolean","odataList","keys","reduce","newData","entityDictionary","CategoryClass","odataObject","OfflineImage","Name","ParentCategory","DisplayOrder","parseFloat","Images","className","substr","lastIndexOf","MediaLocationClass","NameTranslations","TextValueTranslationClass","ExtensionProperties","CommercePropertyClass","CartClass","AffiliationLines","AffiliationLoyaltyTierClass","IsRequiredAmountPaid","IsDiscountFullyCalculated","IgnoreDiscountCalculation","AmountDue","AmountPaid","AttributeValues","AttributeValueBaseClass","BeginDateTime","BusinessDate","CancellationChargeAmount","EstimatedShippingAmount","CartLines","CartLineClass","CartTypeValue","ChannelId","ChargeAmount","CustomerOrderRemainingBalance","ChargeLines","ChargeLineClass","TaxViewLines","TaxViewLineClass","Comment","InvoiceComment","Coupons","CouponClass","CustomerId","CustomerOrderModeValue","DeliveryMode","DeliveryModeChargeAmount","DiscountAmount","DiscountAmountWithoutTax","DiscountCodes","SuspendedCartId","TransactionTypeValue","CustomerAccountDepositLines","CustomerAccountDepositLineClass","IncomeExpenseLines","IncomeExpenseLineClass","IncomeExpenseTotalAmount","IsReturnByReceipt","ReturnTransactionHasLoyaltyPayment","IsFavorite","IsRecurring","IsSuspended","LoyaltyCardId","ModifiedDateTime","OrderNumber","AvailableDepositAmount","OverriddenDepositAmount","OverriddenDepositWithoutCarryoutAmount","PrepaymentAmountPaid","PrepaymentAppliedOnPickup","PrepaymentAmountInvoiced","PromotionLines","QuotationExpiryDate","ReasonCodeLines","ReasonCodeLineClass","ReceiptEmail","RequestedDeliveryDate","RequiredDepositAmount","RequiredDepositWithoutCarryoutAmount","SalesId","ShippingAddress","AddressClass","StaffId","SubtotalAmount","SubtotalAmountWithoutTax","NetPrice","SubtotalSalesAmount","TaxAmount","TaxOnCancellationCharge","TaxOnShippingCharge","TaxOnNonShippingCharges","TaxOverrideCode","TenderLines","TenderLineClass","RefundableTenderLines","TerminalId","TotalAmount","TotalSalesAmount","TotalReturnAmount","TotalCarryoutSalesAmount","TotalCustomerOrderSalesAmount","TotalManualDiscountAmount","TotalManualDiscountPercentage","WarehouseId","IsCreatedOffline","CartStatusValue","ReceiptTransactionTypeValue","CommissionSalesGroup","Version","TotalItems","HasTaxCalculationTriggered","MerchantProperties","PaymentMerchantInformationClass","HasChargeCalculationTriggered","FiscalTransactions","FiscalTransactionClass","ShippingChargeAmount","OtherChargeAmount","PeriodicDiscountsCalculateScopeValue","CustomerClass","CreatedDateTime","ChargeGroup","PriceGroup","IsCustomerTaxInclusive","Phone","PhoneRecordId","PhoneExt","Cellphone","Email","EmailRecordId","Url","UrlRecordId","PersonNameId","FirstName","MiddleName","LastName","DirectoryPartyRecordId","PartyNumber","CustomerTypeValue","Language","CustomerGroup","CurrencyCode","CNPJCPFNumber","IdentificationNumber","InvoiceAccount","MandatoryCreditLimit","CreditRating","CreditLimit","Balance","Blocked","BlockedType","UseOrderNumberReference","OrganizationId","UsePurchaseRequest","MultilineDiscountGroup","TotalDiscountGroup","LineDiscountGroup","TaxGroup","SalesTaxGroup","CommissionSalesGroupId","TaxExemptNumber","VatNumber","TaxOffice","NonChargeableAccount","Tag","ReceiptSettings","OptOutPersonalization","OptOutWebActivityTracking","RetailCustomerTableRecordId","IsAsyncCustomer","NewCustomerPartyNumber","CustomerAffiliations","CustomerAffiliationClass","Addresses","Attributes","CustomerAttributeClass","TitleRecordId","IsFloorLimitBlocked","IsB2b","IsB2bAdmin","Contacts","ContactInfoClass","AllowOnAccountPayment","NameOnReceipt","CultureName","NumberOfDaysToPasswordExpiry","Permissions","EmployeePermissionsClass","DefaultImage","DefaultCommissionSalesGroup","IdentifierTypeValue","Tasks","ChecklistTaskClass","ProcessId","AssignedToChannelId","AssignedToWorkerPersonnelNumber","StatusValue","StartDateTime","EndDateTime","TargetDateTime","SalesOrderClass","DocumentStatusValue","McrOrderStopped","Shipments","ShipmentClass","AggregateInventoryQuantities","InventoryQuantitiesClass","UnifiedDeliveryInformation","DeliveryInformationClass","PaymentStatusValue","DetailedOrderStatusValue","AffiliationLoyaltyTierLines","SalesAffiliationLoyaltyTierClass","CalculatedDepositAmount","CancellationCharge","ChannelReferenceId","ContactInformationCollection","ContactInformationClass","CustomerOrderTypeValue","EntryStatusValue","GrossAmount","HasLoyaltyPayment","InternalTransactionId","SuspendedTransactionId","InventoryLocationId","IsTaxIncludedInPrice","IsTaxExemptedForPriceInclusive","LineDiscount","LineDiscountCalculationTypeValue","LoyaltyDiscountAmount","LoyaltyManualDiscountAmount","LoyaltyRewardPointLines","LoyaltyRewardPointLineClass","NetAmount","NetAmountWithoutTax","NetAmountWithNoTax","NetAmountWithTax","NumberOfItems","PeriodicDiscountAmount","TenderDiscountAmount","PrepaymentAmountAppliedOnPickup","ReceiptId","SalesPaymentDifference","SalesLines","SalesLineClass","ShiftId","ShiftTerminalId","StatementCode","StoreId","TaxAmountExclusive","TaxAmountInclusive","TaxLines","TaxLineClass","TotalDiscount","TaxCalculationTypeValue","SalesInvoiceAmount","GiftCardActiveFrom","GiftCardBalance","GiftCardExpireDate","GiftCardHistoryDetails","GiftCardIssueAmount","GiftCardIdMasked","IsCommissionSalesGroupOverriddenByCustomer","CommissionSalesGroupSetByCashier","CustomerName","LanguageId","StartingAmountTotal","FloatingEntryAmountTotal","AddToTenderAmountTotal","SafeDropTotal","BankDropTotal","RemoveTenderAmountTotal","DeclareTenderAmountTotal","OverShortTotal","TenderedTotal","ChangeTotal","IncomeAccountTotal","ExpenseAccountTotal","CashDrawer","StoreRecordId","CurrentStaffId","CloseDateTime","ClosedAtTerminalId","ClosedAtShiftId","CurrentTerminalId","SalesTotal","StatusDateTime","ReturnsTotal","PaidToAccountTotal","TaxTotal","ChargeTotal","DiscountTotal","RoundedAmountTotal","CustomerCount","SaleTransactionCount","NoSaleTransactionCount","VoidTransactionCount","LogOnTransactionCount","SuspendedTransactionCount","TransactionCount","ReceiptsCount","ReturnsCount","GoodsSoldQty","ServicesSoldQty","ReceiptCopiesCount","ReceiptCopiesTotal","PriceOverrideTotal","SuspendedTotal","SalesTotalIncludingTax","SalesTotalExcludingTax","SalesGrandTotal","ReturnsGrandTotal","ShiftTaxLineClass","ShiftTenderLineClass","AccountLines","ShiftAccountLineClass","IsShared","StartingAmountRunningTotal","GiftCardsTotal","GiftCardCashOutTotal","VoidedSalesTotal","ShiftSalesTotal","ShiftReturnsTotal","HasPendingOfflineTransactions","NumberOfUnreconciledLines","JournalId","InventLocationId","DataAreaId","StockCountTransactionLines","StockCountJournalTransactionClass","Worker","OrgUnitClass","OMOperatingUnitNumber","FunctionalityProfileId","UseCustomerBasedTax","UseCustomerBasedTaxExemption","UseDestinationBasedTax","Currency","TimeZoneCode","OrgUnitAddress","OrgUnitFullAddress","OrgUnitName","Latitude","Longitude","EmailReceiptProfileId","ShippingWarehouseAddress","TaxRegistrations","TaxRegistrationClass","EventNotificationProfileId","DefaultCustomerAccount","CategoryHierarchyId","ProductClass","ProductName","ProductNumber","IsMasterProduct","IsKit","ItemId","HasLinkedProducts","Rules","ProductRulesClass","DefaultUnitOfMeasure","Locale","IsRemote","ChangeTrackingInformation","ProductChangeTrackingInformationClass","Image","RichMediaLocationsClass","UnitsOfMeasureSymbol","LinkedProducts","LinkedProductClass","BasePrice","Price","AdjustedPrice","RetailContext","ProjectionDomainClass","PrimaryCategoryId","CategoryIds","DisplayOrderInCategories","DisplayOrderInCategoryClass","RelatedProducts","RelatedProductClass","ProductsRelatedToThis","ProductSchema","ProductProperties","ProductPropertyTranslationClass","CompositionInformation","ProductCompositionInformationClass","ParentKits","KitComponentClass","SearchName","ProductCatalogClass","IsSnapshotEnabled","ValidFrom","ValidTo","CreatedOn","ModifiedOn","PublishedOn","CommerceListClass","IsPrivate","IsCollaborative","DueDateTime","CommerceListTypeValue","CommerceListLines","CommerceListLineClass","CommerceListContributors","CommerceListContributorClass","CommerceListInvitations","CommerceListInvitationClass","ProductListClass","LastUpdated","DeletedDateTime","ProductListTypeValue","ProductListLines","ProductListLineClass","RecommendationClass","RecommendationTypeValue","Title","OrderId","Status","Lines","OrderTypeValue","InventLocationIdFrom","InventLocationIdTo","QuantityShipped","QuantityReceived","QuantityShipNow","QuantityReceiveNow","QuantityShipRemaining","QuantityReceiveRemaining","ShipDate","ReceiveDate","DeliveryModeId","OrderLines","TransferOrderLineClass","TotalReceived","PurchaseOrderLineClass","PickingListClass","DeliveryDate","PickingListLineClass","InventLocation","IsWMSEnabled","DefaultInventoryStatus","DefaultReceiptLocation","DefaultLocationId","DefaultIssueLocation","Address","ScanResultClass","MaskTypeValue","Barcode","BarcodeClass","Product","SimpleProductClass","LoyaltyCard","LoyaltyCardClass","GiftCard","GiftCardClass","Customer","customerPropertyName","SalesOrderContextualOperationsMapClass","ApplicableOperationsValues","SalesOrder","salesOrderPropertyName","WorkDocumentId","CommitRequestId","Sender","Receiver","SenderDetails","ReceiverDetails","OperationTypeValue","Note","OperationResultMessage","DocumentId","LongVersion","SourceDocument","InventoryInboundOutboundSourceDocumentClass","SourceDocumentTypeValue","NoteModifiedByStaffId","NoteModifiedDateTime","DocumentTypeId","BusinessPartnerClass","BusinessPartnerUserClass","SpendingLimit","LastOperationId","IsAdmin","SuspendedCartClass","Cart","cartPropertyName","CountryRegionClass","CountryRegionId","IsoCode","ShortName","ExtensibleEnumerationClass","Value","super","FulfillmentLineStatusClass","FulfillmentLineDeliveryTypeClass","ExtensibleAttributeDataTypeClass","ExtensibleElectronicAddressTypeClass","ReceiptOutputFormatTypeClass","FullAddress","Street","StreetNumber","County","CountyName","City","DistrictName","State","StateName","ZipCode","ThreeLetterISORegionName","EmailContent","TwoLetterISORegionName","Deactivate","AttentionTo","BuildingCompliment","Postbox","AddressTypeValue","IsPrimary","IsAsyncAddress","DirectoryPartyTableRecordId","DirectoryPartyLocationRecordId","DirectoryPartyLocationRoleRecordId","LogisticsLocationId","LogisticsLocationRecordId","LogisticsLocationExtRecordId","LogisticsLocationRoleRecordId","PhoneLogisticsLocationRecordId","PhoneLogisticsLocationId","EmailLogisticsLocationRecordId","EmailLogisticsLocationId","UrlLogisticsLocationRecordId","UrlLogisticsLocationId","ExpireRecordId","SortOrder","RoleCount","RetailAffiliationId","HideInChannels","CustomerBalancesClass","PendingBalance","InvoiceAccountBalance","InvoiceAccountPendingBalance","InvoiceAccountCreditLimit","OpenInvoiceBalance","OpenInvoiceCount","GlobalCustomerClass","FullName","AttributeValueClass","KeyName","UnitOfMeasureSymbol","DataTypeValue","BooleanValue","DateTimeOffsetValue","FloatValue","IntegerValue","TextValue","CurrencyValue","AttributeValueId","Swatches","AttributeSwatchClass","BarcodeId","BarcodePrice","Quantity","EmployeeId","SalespersonId","EANLicenseId","DataEntry","DiscountCode","GiftCardNumber","LoyaltyCardNumber","ItemBarcode","ItemBarcodeClass","EntryMethodTypeValue","ItemType","EnterDimensions","ItemGroupId","ItemDepartmentId","ScaleItem","ZeroPriceValid","NegativeQuantity","DiscountNotAllowed","DateToBeBlocked","DateToBeActivated","CheckDigitValidated","CouponId","Message","IncludedInTotalDiscount","CostPrice","BatchId","BarcodeSetupId","ItemBarcodeValue","InventoryDimensionId","IsBlocked","Display","VariantId","UnitId","UseForInput","UseForPrinting","ButtonGridClass","DefaultColor","SpaceBetweenButtonsInPixels","Buttons","ButtonGridButtonClass","ButtonGridIds","LineId","ProductId","ExtendedPrice","ItemTaxGroupId","LinePercentageDiscount","LineManualDiscountPercentage","LineManualDiscountAmount","PickupTimeslotStartDateTime","PickupTimeslotEndDateTime","IsWarrantyLine","WarrantableTransactionId","WarrantableSalesId","WarrantableLineNumber","WarrantableSerialNumber","WarrantiedId","ReturnTransactionId","ReturnLineNumber","ReturnInventTransId","IsVoided","IsTaxOverideCodeTaxExempt","IsGiftCardLine","IsPriceKeyedIn","GiftCardId","GiftCardCurrencyCode","GiftCardOperationValue","GiftCardTypeValue","SalesStatusValue","QuantityOrdered","QuantityNotProcessed","QuantityReserved","QuantityPicked","QuantityPacked","QuantityInvoiced","QuantityCanceled","FulfillmentStoreId","SerialNumber","ElectronicDeliveryEmail","ElectronicDeliveryEmailContent","IsPriceOverridden","OriginalPrice","IsInvoiceLine","InvoiceId","InvoiceAmount","LineVersion","DiscountLines","DiscountLineClass","RelatedDiscountedLineIds","TaxRatePercent","IsCustomerAccountDeposit","LinkedParentLineId","QuantityReturnable","LineNumber","TrackingId","QuantityRemained","CatalogId","ThirdPartyGiftCardInfo","ThirdPartyGiftCardInfoClass","BarcodeEmbeddedPrice","PriceInBarcode","InvoiceTypeValue","InvoicedSalesId","WarehouseLocation","DetailedLineStatusValue","Amount","Authorization","CardTypeInfoClass","TypeId","PaymentMethodId","CardTypeValue","Issuer","NumberFrom","NumberTo","CashBackLimit","AllowManualInput","CheckModulus","HasTenderDiscount","IsPinRequired","IsExpirationDateRequired","ConnectorName","PaymentProcessorMethod","CashDeclarationClass","CashTypeValue","IncludeInQuickPayShortcuts","IncomeExpenseAccountClass","AccountName","AccountNameAlias","AccountTypeValue","Message1Line","Message2Line","SlipText1Line","SlipText2Line","IncomeExpenseAccount","StoreNumber","Terminal","Shift","TransactionStatusValue","PaymentCard","PaymentCardClass","TokenizedPaymentCard","TokenizedPaymentCardClass","CardPaymentAcceptResult","CardPaymentAcceptResultClass","IsLinkedRefund","LinkedPaymentStore","LinkedPaymentTerminalId","LinkedPaymentTransactionId","LinkedPaymentLineNumber","LinkedPaymentCurrency","TenderLineId","CashBackAmount","AmountInTenderedCurrency","AmountInCompanyCurrency","ExchangeRate","CompanyCurrencyExchangeRate","TenderTypeId","SignatureData","GiftCardPin","GiftCardExpirationYear","GiftCardExpirationMonth","CreditMemoId","CardTypeId","IsChangeLine","IsHistorical","IsVoidable","VoidStatusValue","AuthorizedAmount","PaymentRefRecId","CardPaymentAccountId","ProcessingTypeValue","CardProcessorStatusValue","LinkedPaymentRefRecId","IsPolicyBypassed","ChargeLineId","ChargeCode","ModuleTypeValue","IsHeaderChargeProrated","ChargeTypeValue","ChargeMethodValue","CalculatedAmount","TransactionId","MarkupAutoLineRecordId","MarkupAutoTableRecId","SaleLineNumber","FromAmount","ToAmount","Keep","AmountRefunded","ChargeLineOverrides","ChargeLineOverrideClass","IsRefundable","IsShipping","IsOverridden","IsInvoiced","CalculatedProratedAmount","SalesTaxGroupId","OriginalSalesTaxGroupId","OriginalItemTaxGroupId","SalesOrderUnitOfMeasure","NetAmountPerUnit","TaxMeasures","TaxMeasureClass","TaxAmountExemptInclusive","NetAmountWithAllInclusiveTax","ReturnLineTaxAmount","ReturnTaxLines","TaxExemptPriceInclusiveReductionAmount","TaxExemptPriceInclusiveOriginalPrice","CityInfoClass","StateId","CountyId","CommissionSalesGroupClass","GroupId","ContactInformationTypeValue","CommercePropertyValueClass","Attribute","AttributeProductClass","MetadataFlags","ProductAttributeMetadataFlagsClass","IsDimension","ProductComparisonEntryClass","AttributeValue","ProductComparisonLineClass","AttributeRecordId","AttributeName","ProductAttributeComparisonEntries","CustomerSearchFieldClass","IsShortcut","DisplayName","CanBeRefined","SearchField","CustomerSearchFieldTypeClass","Criteria","CustomerSearchByFieldCriterionClass","DataLevelValue","SearchTerm","OrderShipmentsClass","ShipmentId","DeliveryAddress","TermsOfDelivery","WeightUnit","TrackingNumber","TrackingUrl","LatestCarrierTrackingInfo","TrackingInfoClass","CarrierId","CarrierName","ShippingWeight","ShipmentLines","ShipmentLineClass","ShipmentLineId","InventDimId","OrderedQuantity","DeliveredQuantity","RemainingQuantity","TransactionClass","FromSafe","ToSafe","FromShiftTerminalId","ToShiftTerminalId","FromShiftId","TransactionSourceContextTypeValue","TransactionDestinationContextTypeValue","ToShiftId","ShiftReconciliationLineClass","GroupDescription","ShiftGroupLinesCount","ShiftGroupLinesClosedCount","TransactionTypeValues","ShiftReconciliationLineStatusValue","Shifts","ShiftKeyClass","DestinationShift","SourceShift","SourceSafe","DestinationSafe","SearchConfigurationClass","ProductSortColumns","SortColumnClass","ProductSearchServiceTypeValue","ProductSortColumnsLabels","LocalizedTextClass","CustomerTimelineItemClass","EntityType","AttributeDefinitionClass","AttributeTypeName","ExtDataType","IsHidden","IsMandatory","IsMultiValue","IsEnumeration","TranslationDetails","AttributeTranslationDetailsClass","EnumerationDetails","AttributeEnumerationClass","DefaultValue","UpperBound","LowerBound","FriendlyName","HelpText","OrdinalNumber","EnumerationValue","AttributeEnumerationTranslations","AttributeEnumerationTranslationClass","EnumerationTranslationValue","AttributeGroupIdentifier","Languages","AttributeGroupDefinitionClass","AttributeGroupTranslationDetailsClass","AttributeGroupRecordId","AttributeGroupIdentifiers","CountyInfoClass","CustomerGroupClass","CustomerGroupNumber","CustomerGroupName","OfferId","OfferName","DiscountCost","EffectiveAmount","EffectivePercentage","SavedEffectiveAmount","Percentage","DealPrice","DiscountLineTypeValue","ManualDiscountTypeValue","CustomerDiscountTypeValue","PeriodicDiscountTypeValue","DiscountApplicationGroup","ConcurrencyModeValue","IsCompoundable","PricingPriorityNumber","IsDiscountCodeRequired","ThresholdAmountRequired","BundleId","PriceOverrideRestrictionValue","AllowPriceOverride","MaximumDiscountPercentage","MaximumLineDiscountAmount","MaximumLineReturnAmount","MaximumTotalDiscountAmount","MaximumTotalDiscountPercentage","MaxTotalReturnAmount","Roles","AllowUseSharedShift","AllowManageSharedShift","AllowTaskGuides","AllowSaleOutsideAssortment","AllowPrintingReceiptCopy","AllowSkipFiscalRegistration","AllowSkipRegistrationOrMarkAsRegistered","AllowPostponeRegistration","AllowCreateTransferOrder","AllowAcceptOrder","AllowTaskManagement","AllowRejectOrder","AllowMassActivation","AllowPostInventoryAdjustment","AllowPostStockCounting","ByteValue","DecimalValue","LongValue","StringValue","CountryRegionInfoClass","LongName","ISOCode","TimeZone","AddressFormatLines","AddressFormattingInfoClass","AddressFormatId","AddressFormatName","CreditMemoClass","CurrencyClass","CurrencySymbol","RoundOffPrice","RoundOffSales","RoundOffTypePrice","RoundOffTypeSales","NumberOfDecimals","CurrencyAmountClass","ConvertedAmount","RoundedConvertedAmount","ScaleUnitConfigurationClass","Region","EnvironmentConfigurationClass","EnvironmentId","EnvironmentName","TenantId","ClientAppInsightsInstrumentationKey","HardwareStationAppInsightsInstrumentationKey","WindowsPhonePosAppInsightsInstrumentationKey","BaseVersion","ScaleUnit","AADAuthority","FrameworkName","DeviceConfigurationClass","UseInMemoryDeviceDataStorage","AllowItemsAggregation","AggregateItemsForPrinting","AggregatePayments","AlwaysExpandTransactionScreenLineDetails","AuditEnabled","DiscountAtTotal","ProductDiscount","ManuallyCalculateComplexDiscounts","DisplaySecondaryTotalCurrency","EndOfTransaction","ItemNotOnFile","LimitStaffListToStore","LineItemTaxChange","MarkUp","MaximumPrice","MaximumQuantity","MinimumPasswordLength","MustKeyInPriceIfZero","NfcEContingencyModeEnabled","NfcEVoided","FunctionalityProfileDescription","OverridePrice","PrintVoidTransactionReceipts","PrintReceiptsOnCardDecline","PrintXZReportsOnTerminal","PrintTenderDetailsOnXReport","ProfileId","RefundSale","ReturnProduct","SalesPerson","SecondaryTotalCurrency","SelectHardwareStationOnTendering","ShowStaffListAtLogOn","StaffBarcodeLogOn","StaffBarcodeLogOnRequiresPassword","StaffCardLogOn","StaffCardLogOnRequiresPassword","StartOfTransaction","EnableTimeRegistration","TenderDeclaration","TransactionTaxChange","VoidItem","VoidPayment","SalesModeDefaultsAsCustomerOrder","CreateOfflineCustomerOrders","CreateAsyncCustomers","EnableAxCustomerSearch","VoidTransaction","SystemLegalTermsUrl","SystemPrivacyStatementUrl","HideTrainingMode","StorePhone","StatementMethod","StoreTaxGroup","TaxIdNumber","TaxOverrideGroup","TenderDeclarationCalculation","AutoLogOffTimeoutInMinutes","AutoExitMethodValue","CustomerDisplayText1","CustomerDisplayText2","EFTStoreId","EFTTerminalId","ExitAfterEachTransaction","HardwareProfile","Placement","TerminalDescription","OpenDrawer","OpenDrawerAtLogOnLogOff","PrintTaxRefundChecks","StandAlone","TerminalStatement","VisualProfile","IncludeKitComponents","AccentColor","HeaderColor","Theme","FontScheme","ShowAppBarLabel","LogOnBackgroundPictureAsBase64","LogOnBackgroundPicturePortraitAsBase64","BackgroundPictureAsBase64","LogonBackgroundPictureId","LogonBackgroundPictureIdCompact","LogonBackgroundPictureIdPortrait","LogonBackgroundPictureIdCompactPortrait","BackgroundPictureId","RequireAmountDeclaration","DecimalNotRequiredForMinorCurrencyUnit","MaxTransactionSearchResults","OfflineProfileId","NewOfflineDatabaseCheckInterval","OfflineTransactionUploadInterval","ReconnectToOnlineInterval","SwitchToOfflineTimeout","OfflineSwitchApiPerformanceThresholdInSeconds","ReconnectFromPerformanceInducedOfflineIntervalInSeconds","RetentionDays","HardwareConfigurations","HardwareConfigurationsClass","CreateRecording","PlaybackRecording","ShouldUseDefaultCommisionSalesGroup","AskForSalesRepresentative","IsSalesRepRequired","ProhibitMixingSalesAndReturns","ApplyDiscountsToPriceKeyedIn","ApplyDiscountsToPriceOverrides","IsProductSuggestionsEnabled","ProductSearchType","TerminalRecId","DeviceRecId","DenominationsToDisplayValue","PromptOnSeamlessOffline","RetryCountToOffline","EnableAdvancedOfflineSwitching","SystemHealthCheckInterval","RejectOrderFulfillment","ManuallyCalculateTaxes","EmployeeLogonTypeValue","StartAmountCalculation","BankDropCalculation","GenerateLoyaltyCardNumber","FiscalRegistrationProcessId","IncludeSalesOrderInvoices","IncludeFreeTextInvoices","IncludeProjectInvoices","IncludeCreditNoteInvoices","DisplayTaxExemptInLineDetails","TaxExemptReceiptIndicator","ManuallyCalculateCharges","ChargeOverrideReasonCode","ShiftReconcilation","CustomerAccountFloorLimit","VoidSuspendedTransactionsOnCloseShift","ShowDateTime","UseAdvancedCashManagement","DefaultCustomerSearchModeValue","AllowManualOfflineBeforeSignIn","UseFinancialReconciliationInStore","RequirePaymentForFulfillmentValue","CardNotPresentProcessingConfigurationValue","EnableQuickPayShortcuts","ChangeDueBehaviorValue","VisualProfileClass","FontSchemeTypeValue","IsAppBarLabelVisible","IsDateTimeVisible","LogOnLayoutTypeValue","LogOnKeyboardTypeValue","CompactLogonBackgroundPictureId","PortraitLogonBackgroundPictureId","CompactPortraitLogonBackgroundPictureId","LogOnLogoPictureId","IsProductIdVisibleOnCartLine","OperationalInsightsConfigurationClass","InstrumentationKey","IsEnabled","DeviceClass","DeviceNumber","DeviceId","DeviceType","TerminalRecordId","ChannelName","TokenIssueTime","ActivationStatusValue","Token","CountryRegionIsoCode","DiscountCodeClass","Code","ConcurrencyMode","Disclaimer","DistrictInfoClass","CityName","HardwareProfileClass","LineDisplayDelayForLinkedItems","LineDisplayBalanceText","LineDisplayBinaryConversion","LineDisplayCharacterSet","LineDisplayClosedLine1","LineDisplayClosedLine2","LineDisplayDeviceDescription","LineDisplayDeviceTypeValue","LineDisplayDeviceName","LineDisplayDisplayLinkedItem","LineDisplayDisplayTerminalClosed","LineDisplayTotalText","DualDisplayActive","DualDisplayWebBrowserUrl","DualDisplayImageRotatorInterval","DualDisplayImageRotatorPath","DualDisplayReceiptWidthPercentage","DualDisplayDisplayType","EftTypeId","EftCompanyId","EftConfiguration","EftPaymentConnectorName","EftData","EftDescription","EftMerchantId","EftPassword","EftServerName","EftServerPort","EftUserId","EftTestMode","MsrEndTrack1","MsrEndTrack2","FiscalPrinterManagementReportPAFIdentification","FiscalPrinterManagementReportConfigParameter","FiscalPrinterManagementReportTenderType","FiscalPrinterManagementReportGiftCard","FiscalRegisterDeviceTypeValue","FiscalRegisterConfiguration","FiscalRegisterDeviceDescription","FiscalRegisterDeviceName","KeyboardMappingId","KeyLockDeviceTypeValue","KeyLockDeviceDescription","KeyLockDeviceName","MsrDeviceTypeValue","MsrDeviceDescription","MsrDeviceName","MsrMake","MsrModel","MsrSeparator","MsrStartTrack","PinPadDeviceTypeValue","PinPadDeviceName","PinPadMake","PinPadModel","PinPadDeviceDescription","ProfileDescription","RFIDDeviceTypeValue","RFIDDeviceName","RFIDDeviceDescription","ScaleDeviceTypeValue","ScaleDeviceName","ScaleDeviceDescription","ScaleManualInputAllowed","ScaleTimeoutInSeconds","SignatureCaptureDeviceTypeValue","SignatureCaptureDeviceName","SignatureCaptureMake","SignatureCaptureModel","SignatureCaptureDeviceDescription","SignatureCaptureFormName","Printers","HardwareProfilePrinterClass","Scanners","HardwareProfileScannerClass","FiscalIntegrationTechnicalProfiles","FiscalIntegrationTechnicalProfileClass","CashDrawers","HardwareProfileCashDrawerClass","SupportedLanguageClass","UseShippingAddress","CardNumber","CCID","Track1","Track2","Track3","VoiceAuthorizationCode","EncryptedPin","AdditionalSecurityData","IsSwipe","Country","House","Address1","Address2","Zip","NameOnCard","ExpirationMonth","ExpirationYear","HostPageOrigin","AdaptorPath","CardTokenizationEnabled","CardPaymentEnabled","PaymentAmount","HideBillingAddress","CardPaymentAcceptPointClass","AcceptPageUrl","AcceptPageSubmitUrl","MessageOrigin","AcceptPageContent","PaymentConnectorId","TenderLine","PaymentSdkErrors","PaymentErrorClass","AdditionalContext","AccessCode","Settings","RetrievePaymentResultSettingsClass","Information","InformationAmount","InputTypeValue","ItemTender","LineTypeValue","ParentLineId","ReasonCodeId","SubReasonCodeId","SourceCode","SourceCode2","SourceCode3","FiscalTransactionParentGuid","IsChanged","ReasonSubCodeClass","TriggerCode","AmountPercent","SubCodeId","TriggerFunctionTypeValue","PriceTypeValue","ReceiptClass","Header","Body","Footer","Width","LayoutId","ReceiptTitle","ReceiptTypeValue","ReceiptTypeStrValue","PrinterClass","ReceiptMaskClass","IsIndependent","Mask","OriginLineId","MasterProductId","ListingId","TotalPercentageDiscount","PeriodicDiscount","InventoryStatusId","LicensePlate","ReservationId","ReturnQuantity","ProductSourceValue","IsInvoiceSettled","IsPriceLocked","AgreementPrice","ReturnStore","ReturnTerminalId","ReturnChannelId","SalesDate","SavedQuantity","IsSavedDiscount","ElectronicDeliveryEmailAddress","LoyaltyPercentageDiscount","TenderDiscountPercentage","Found","DateToActivateItem","PeriodicPercentageDiscount","QuantityDiscounted","UnitQuantity","UnitOfMeasureConversion","UnitOfMeasureConversionClass","PriceLines","PriceLineClass","PeriodicDiscountPossibilities","ReturnLabelProperties","ReturnLabelContentClass","LineMultilineDiscOnItem","LineMultilineDiscOnItemValue","WasChanged","OriginalSalesOrderUnitOfMeasure","InventOrderUnitOfMeasure","IsLoyaltyDiscountApplied","ReturnLoyaltyRewardPointLines","FulfillmentStatus","FulfillmentStatusValue","DetailedLineStatus","DetailedLineStatusClass","LastReturnProcessedTime","SearchAreaClass","Radius","DistanceUnitValue","TenderTypeName","TenderCurrency","CountingRequired","StartingAmountOfStoreCurrency","StartingAmountOfTenderCurrency","FloatingEntryAmountOfStoreCurrency","FloatingEntryAmountOfTenderCurrency","SafeDropAmountOfStoreCurrency","SafeDropAmountOfTenderCurrency","BankDropAmountOfStoreCurrency","BankDropAmountOfTenderCurrency","RemoveTenderAmountOfStoreCurrency","RemoveTenderAmountOfTenderCurrency","DeclareTenderAmountOfStoreCurrency","DeclareTenderAmountOfTenderCurrency","TenderedAmountOfStoreCurrency","TenderedAmountOfTenderCurrency","ChangeAmountOfStoreCurrency","ChangeAmountOfTenderCurrency","Count","Notes","OverriddenFloatEntryAmountInTenderedCurrency","OverriddenBankDropAmountInTenderedCurrency","OverriddenChangeAmountInTenderedCurrency","OverriddenDeclaredTenderAmountInTenderedCurrency","OverriddenRemovedTenderAmountInTenderedCurrency","OverriddenSafeDropAmountInTenderedCurrency","OverriddenStartingAmountInTenderedCurrency","OverriddenTenderedAmountInTenderedCurrency","OverShortAmountOfTenderCurrency","OperationType","ProductRecordId","ItemName","Counted","EstimatedOnHandQuantity","OnHandCalculationDateTime","Unit","UserId","CountedDate","InventBatchId","WarehouseLocationId","InventoryStatus","WarehousePalletId","InventSiteId","ConfigId","InventSizeId","InventColorId","InventStyleId","InventSerialId","TrackingGuid","UpdatedInAx","IsExempt","TaxBasis","IsIncludedInPrice","TaxCode","RefundableAmount","CaptureToken","CardToken","IncomeExpenseAccountTypeValue","MaskedCardNumber","TenderDate","IsPreProcessed","IsDeposit","IsCustomerAccountFloorLimitUsed","AuthorizationReferenceId","IsIncrementalCaptureEnabled","IsReauthorizationEnabled","IncrementalOffsetAmount","Text","UnitOfMeasureClass","DecimalPrecision","Symbol","RecommendedElementClass","ElementId","ElementTypeValue","CustomerAccountNumber","ProductIds","ProductListId","UnitOfMeasure","CommerceListId","InvitationId","Invitee","IsSent","LastRequestDateTime","LastSentDateTime","InvitationTypeValue","SearchFilterClass","FilterTypeValue","SearchValues","SearchFilterValueClass","TransactionIds","CustomerFirstName","CustomerLastName","ReceiptEmailAddress","SearchIdentifiers","SearchLocationTypeValue","CustomFilters","SearchTypeValue","IncludeDetails","SalesTransactionTypeValues","TransactionStatusTypeValues","CustomerSearchCriteriaClass","Keyword","SearchOnlyCurrentCompany","SearchLocationValue","Refinements","CustomerRefinerValueClass","ProductPriceClass","TradeAgreementPrice","MaxVariantPrice","MinVariantPrice","CustomerContextualPrice","ProductLookupId","OrgUnitLocation","OrgUnitLocationClass","ItemAvailabilities","ItemAvailabilityClass","ProductVariantPropertiesAsList","PurchaseQuantity","PurchaseUnit","PurchaseReceived","PurchaseReceivedNow","WMSLocationId","WMSPalletId","IsCommitted","UniqueIdentifier","DeliveryMethod","QuantityTransferred","QuantityRemainShip","QuantityRemainReceive","Guid","VoucherId","UpdatedByWorker","PostingDate","Comments","JournalLines","TransferOrderJournalLineClass","AffiliationClass","AffiliationTypeValue","InProgressQuantity","TotalLineNumber","RegisteringQuantity","RegisteredQuantity","InventoryInboundOutboundDocumentLineClass","SourceDocumentRecordId","SourceDocumentLineRecordId","QuantityCancelled","QuantityToUpdate","LocationId","ItemPrimaryImageUrl","IsLocationActive","IsLocationAllowBlankReceiptEnabled","IsLocationBlankIssueAllowed","ProductDimensions","ProductDimensionClass","IsCloseLine","OriginTypeValue","SourceDocumentLine","InventoryInboundOutboundSourceDocumentLineClass","SerialNumberLines","InventoryDocumentSerialNumberLineClass","ToLocationId","AdjustmentTypeValue","DocumentTypeValue","TotalQuantityOrdered","TotalQuantityShipped","TotalQuantityReceived","TotalQuantityCancelled","TotalLines","IsChangeAllowed","DocumentRecordId","OverDeliveryPercentage","UnderDeliveryPercentage","HasSerialNumber","IsSerialNumberBlankReceiptAllowed","IsSerialNumberDuplicateCheckEnabled","InventoryDocumentSourceSerialNumberLineClass","ToProductId","ToInventoryDimensionId","ActionTypeValue","ModeValue","SourceDocumentId","AvailableSerializedLineOnly","DocumentLineIds","DocumentOperationTypeValue","DocumentStateValue","DocumentTypeValues","DocumentLineId","UpdatedLines","TotalLinesUpdated","WarehouseIds","IsLocationProfileRequired","SearchText","WorkDocumentLineId","SourceLineId","SourceLine","InventoryDocumentValidationCategoryResultsSummaryClass","CategoryName","SeverityValue","TotalValidationResultCount","DocumentVersion","CategorySummaries","DocumentValidationResultLineId","ErrorCode","ErrorMessage","DocumentLongVersion","Categories","ProductDimensionValueInventoryAvailabilityClass","DimensionTypeValue","DimensionValue","ProductDimensionValueClass","TotalAvailableInventoryLevelLabel","TotalAvailableInventoryLevelCode","PhysicalAvailableInventoryLevelLabel","PhysicalAvailableInventoryLevelCode","DimensionId","ColorHexCode","ImageUrl","RefinerGroup","SearchRefinerClass","RefinerTypeValue","DisplayTemplateValue","SearchRefinerValueClass","RefinerRecordId","LeftValueBoundString","RightValueBoundString","UnitText","RowNumber","LeftValueBoundLocalizedString","RightValueBoundLocalizedString","ProductRefinerClass","SourceValue","Values","ProductRefinerValueClass","RefinerSourceValue","SwatchImageUrl","SwatchColorHexCode","ClientBookRefinerValueClass","ProductRelationTypeClass","ComponentInSlotRelationClass","ComponentId","SlotId","IsSerialized","IsActiveInSalesProcess","DateOfBlocking","DateToActivate","DateToBlock","PriceKeyingRequirementValue","QuantityKeyingRequirementValue","MustKeyInComment","CanQuantityBecomeNegative","MustScaleItem","CanPriceBeZero","LocalizedStringClass","TextId","CardTenderTypeValue","CustomerAccount","LoyaltyGroups","LoyaltyGroupClass","RewardPoints","LoyaltyRewardPointClass","LoyaltyEnrollmentDate","LoyaltyEnrollmentDateLocal","LoyaltyEnrollmentTime","LoyaltyEnrollmentTimeLocal","OmOperatingUnitId","ProductComponentClass","AdditionalChargeForComponent","Behavior","ProductBehaviorClass","Dimensions","ProductTypeValue","Components","IsGiftCard","SimpleLinkedProductClass","PrimaryImageUrl","ItemTypeValue","ItemServiceTypeValue","IsDiscountAllowed","IsManualDiscountAllowed","IsKitDisassemblyAllowed","IsNegativeQuantityAllowed","IsReturnAllowed","IsSaleAtPhysicalStoresAllowed","IsZeroSalePriceAllowed","KeyInPriceValue","KeyInQuantityValue","MustPrintIndividualShelfLabelsForVariants","MustPromptForSerialNumberOnlyAtSale","MustWeighProductAtSale","ValidFromDateForSaleAtPhysicalStores","ValidToDateForSaleAtPhysicalStores","IsStorageDimensionGroupLocationActive","IsStorageDimensionGroupLocationAllowBlankReceiptEnabled","AllowNegativePhysicalInventory","IsStockedProduct","IsBlankSerialNumberAllowed","IsBlankSerialNumberReceiptAllowed","IsSerialNumberControlEnabled","IsStorageDimensionGroupLocationBlankIssueAllowed","IsSerialNumberRequired","DefaultQuantity","MinimumQuantity","MultipleOfQuantity","ProductSearchResultClass","AverageRating","TotalRatings","SearchSuggestionClass","Value2","Value3","Value4","SuggestionType","LoyaltyPointRedemptionEstimateClass","MaxCurrencyValueOfLoyaltyPoints","RewardPointToRedeemList","LoyaltyTiers","LoyaltyTierClass","LoyaltyCardTiers","LoyaltyCardTierClass","HighestActiveLoyaltyCardTier","TierId","TierLevel","LoyaltyTierRecordId","IsRedeemable","RewardPointCurrency","RewardPointTypeValue","RewardPointId","IssuedPoints","UsedPoints","ExpiredPoints","ActivePoints","PointsExpiringSoon","UnvestedPoints","LoyaltyCardTransactionClass","EntryDateTime","EntryTypeValue","ExpirationDate","RewardPointAmountQuantity","BalanceCurrencyCode","BalanceInCardCurrency","CardCurrencyCode","OperationPermissionClass","OperationName","OperationId","CheckUserAccess","AllowAnonymousAccess","AllowCustomerAccess","AllowApplicationAccess","IsEnabledForTaskManagement","StateProvinceInfoClass","TransactionLogClass","KitTransactionClass","KitTransactionLines","KitTransactionLineClass","SalesTaxGroupClass","TaxGroupName","ProductPropertyClass","ValueString","PropertyTypeValue","IsDimensionProperty","GroupTypeValue","GroupName","VariantInformation","ProductVariantInformationClass","KitDefinition","KitDefinitionClass","ActiveVariantProductId","Variants","ProductVariantClass","ProductDimensionSetClass","ChangeActionValue","RequestedActionValue","DimensionKey","DimensionValues","ProductDimensionValueSetClass","VariantSet","SwatchRefinerGroupValue","SwatchRefinerGroupTranslation","SwatchRefinerGroupImageUrl","SwatchRefinerGroupColorHexCode","Items","RichMediaLocationsRichMediaLocationClass","AltText","IsSelfHosted","IsDefault","DisassembleAtRegister","KitLineDefinitions","KitLineDefinitionClass","KitLineProductToVariantMap","ComponentKitVariantSetClass","KitVariantToComponentMap","KitVariantContentClass","KitLineProductId","KitVariantIdList","ComponentProductId","KitLineIdentifier","SubstituteProductIds","ComponentProperties","KitLineProductPropertyClass","Charge","KitComponentKeyClass","DistinctProductId","KitVariantId","KitComponentKeyList","ProductLookupClauseClass","InventDimensionId","ProductAssortmentIntervalClass","OrgUnitContactClass","Distance","InventorySiteId","PostalAddressId","OpenFrom","OpenTo","Locator","LocatorExtension","ContactTypeValue","SalesLineDeliveryOptionClass","SalesLineId","DeliveryOptions","DeliveryOptionClass","DeliveryChargeLines","DeliveryChargeLineClass","TotalChargeAmount","ChannelDeliveryOptionClass","ChannelIdentityClass","ChannelType","ExtensibleRetailChannelTypeClass","OperatingUnitNumber","ChannelProfilePropertyClass","ChannelConfigurationClass","ChannelNaturalId","MinimumDepositPercentage","QuoteExpirationDays","PickupDeliveryModeCode","CarryoutDeliveryModeCode","CancellationChargePercentage","InventLocationDataAreaId","BingMapsApiKey","BingMapsEnabled","CatalogDefaultImageTemplate","CompanyCurrency","PriceIncludesSalesTax","ChannelCountryRegionISOCode","DefaultLanguageId","TimeZoneInfoId","EmailDeliveryModeCode","GiftCardItemId","EnableProductRecommendations","RefundableShippingAmountWithoutApproval","RefundShippingCharges","ReceiptSettingsValue","CustomerAttributeGroupId","ClientBookAttributeGroupId","NotificationRefreshInterval","AllowExchangeOnReturnOrders","IsInventoryAutomaticValidationEnabled","ProfileProperties","Properties","ChannelPropertyClass","ChannelLanguageClass","UseAdvancedAutoCharges","UseRTSForOnlineOrderCreation","IsWarrantyAutoPromptEnabled","EnableProductRatingsForRetailStores","EnableFetchingPickingListsForPickingAndReceiving","EnableReturnsForMultipleOrderInvoices","EnableAnonymousOrderLookupByChannelReferenceId","EnableOmniChannelPayments","EnableFiscalRegistrationStorageBackup","UseSalesReceiptAsDefaultReceiptTypeInJournal","SalesOrderHeaderAttributeGroups","SalesOrderLinesAttributeGroups","CustomerAddressBooks","StoreAddressBookClass","EnableReturnPolicies","InventAvailabilityCalculationMode","IsPriceInclusiveTaxExemptCalculationEnabled","EnableValidationOfSerialNumbersForInStoreReturns","Channel","ChannelDeliveryOptionConfigurationClass","PickupDeliveryModeCodes","NonSalesTransactionClass","ForeignCurrency","DenominationDetails","DenominationDetailClass","DropAndDeclareTransactionClass","TenderDetails","TenderDetailClass","ProductSearchCriteriaClass","Ids","IncludeProductsFromDescendantCategories","SearchCondition","SkipVariantExpansion","IncludeAttributes","Barcodes","ItemIds","Refinement","RecommendationListId","DownloadProductData","Context","IsOnline","SynchronizationToken","AsListings","Session","ReadChangedProductsSessionClass","FromDateTimeOffset","ToDateTimeOffset","EmployeeActivityTypeValues","ProductSearchCriteria","CustomerSearchCriteria","HitPrefix","HitSuffix","CartLineDeliveryPreferenceClass","DeliveryPreferenceTypeValues","CartLinePromotionClass","Promotions","Color","Style","Size","Configuration","ColorId","StyleId","SizeId","DistinctProductVariantId","PropertiesAsList","DeviceTypeValue","DeviceName","DeviceMake","DeviceModel","DeviceDescription","CharacterSet","ReceiptProfileId","BinaryConversion","DocInsertRemovalTimeout","Logo","LogoAlignment","DecodeData","IsSharedShiftDrawer","CashChangerLayoutXml","CustomerLayoutId","CustomerLayoutXml","Height","LayoutTypeValue","LayoutXml","LayoutXmlPortrait","ReceiptItemsLayoutXml","ReceiptPaymentLayoutXml","TotalId","TotalsLayoutXml","StartScreen","ButtonGridZones","ButtonGridZoneClass","ImageZones","ImageZoneClass","ReportZones","ReportZoneClass","SalesInvoiceClass","SalesType","InvoiceDate","DueDate","InvoiceSubtotal","TotalCharges","TotalTaxAmount","TotalLineDiscount","AmountBalance","Account","SalesInvoiceLine","SalesInvoiceLineClass","OrderAccount","OrderInvoiceClass","InvoiceDueDate","InvoicePaidStatusValue","TaxOverrideClass","SourceTaxGroup","DestinationTaxGroup","SourceItemTaxGroup","DestinationItemTaxGroup","AdditionalDescription","TenderTypeClass","Function","ChangeTenderTypeId","AboveMinimumChangeAmount","AboveMinimumChangeTenderTypeId","UseSignatureCaptureDevice","MinimumSignatureCaptureAmount","IsOvertenderAllowed","IsUndertenderAllowed","MaximumOvertenderAmount","MaximumUndertenderAmount","MaximumAmountPerTransaction","MaximumAmountPerLine","MinimumAmountPerTransaction","MinimumAmountPerLine","RoundOff","TakenToBank","TakenToSafe","ConnectorId","GiftCardItem","GiftCardCashoutOutThreshold","ChangeLineOnReceipt","HideCardInputDetails","CashDrawerLimitEnabled","CashDrawerLimit","RestrictReturnsWithoutReceipt","DefaultCardTypeId","UseForDeclareStartAmount","ReasonCodeClass","InputRequired","LinkedReasonCodeId","MaximumLength","MaximumValue","MinimumLength","MinimumValue","OncePerTransaction","PrintInputNameOnReceipt","PrintInputToReceipt","PrintPromptToReceipt","Prompt","RandomFactor","RetailUseReasonCode","ActivityValue","IsMultiLineText","ReasonSubCodes","ReportDataSetClass","ReportId","Parameters","Output","ReportRowClass","HasTotalRow","HasDisclaimer","ZipCodeInfoClass","ZipPostalCode","StreetName","CityAlias","District","ReasonCodeRequirementClass","SourceId","TableRefTypeValue","PagingInfoClass","SortingInfoClass","NextPageToken","TranslationLanguage","TranslatedProperties","NumberSequenceSeedDataClass","DataValue","LastTransactionDataValue","LastTransactionCreatedDateTime","LastTransactionId","ReceiptNumberResetInfoClass","ResetDate","TypeValue","Enabled","DeviceActivationResultClass","Device","PurchaseHistoryClass","DatePurchased","NodeClass","ParentScopeId","ParentSequence","Sequence","ScreenshotUri","LineClass","ChildrenIds","IsLinked","LineMetadataId","Artifacts","ArtifactSummaryClass","MetadataPropertyValues","MetadataPropertyValueClass","MetadataTextClass","MetadataHypertextLinkClass","ScopeClass","ScopeTypeValue","Children","ActiveCount","IsForm","FrameworkClass","Access","Hierarchy","Publisher","UserActionClass","SystemGenerated","GlobalId","Annotations","AnnotationClass","UserActionTypeValue","TaskId","FormUserActionClass","FormId","ControlLabel","ReturnTypeValue","CommandName","ControlName","ControlType","Arguments","CommandArgumentClass","LabelId","ReturnValue","RecordingClass","Scopes","FormContextEntries","FormContextDictionaryEntryClass","RootScope","FormContext","FormContextClass","ProductVariantResolutionContextClass","SelectedComponents","IsLicensePlateControlled","TransDateTime","RegisterResponse","ReceiptCopy","RecordGUID","RegisterStoreId","RegisterTerminalId","RegistrationStatusValue","RegistrationProcessId","ConnectorGroup","ConnectorFunctionalityProfileId","RegisterInfo","DocumentNumber","RegistrationTypeValue","ServiceName","TenderLineAdjustments","FiscalTransactionTenderLineAdjustmentClass","SalesLineAdjustments","FiscalTransactionSalesLineAdjustmentClass","FulfillmentLineClass","SalesPersonStoreId","SalesPersonId","SalesPersonFirstName","SalesPersonLastName","SalesLineNumber","EmailAddress","DeliveryModeCode","FulfillmentDeliveryType","DeliveryTypeValue","StoreInventoryTotalQuantity","StoreInventoryReservedQuantity","StoreInventoryOrderedQuantity","ProductVariant","RequestedShipDate","RequestedReceiptDate","CreatedDate","ChannelTypeValue","OrderCreatedStartDate","OrderCreatedEndDate","RequestedReceiptStartDate","RequestedReceiptEndDate","RequestedDeliveryStartDate","RequestedDeliveryEndDate","FulfillmentStatusValues","CustomerPhoneNumber","AuthorStaffId","AuthorName","AddressPurposeClass","AddressType","ExtensionPackageDefinitionClass","ReturnPolicyClass","TenderTypePolicies","TenderTypePolicyClass","IsManagerOverrideEnabled","TenderTypeAmountClass","FeatureStateClass","WarrantyClass","DurationUnitValue","Duration","ApplicablePriceRangeBaseTypeValue","ApplicablePriceRangeMin","ApplicablePriceRangeMax","InvoicedLineId","IgnoreSerialNumberMismatch","WarrantyGroupClass","Warranties","ProductWarrantiesMappingClass","WarrantyGroups","WarrantableProductId","FulfillmentLine","UserAlertClass","AlertSourceIdValue","LocalizedMessage","IsBlocking","CartLineUserAlertsClass","LineIndex","UserAlerts","FulfillmentLineUserAlertsClass","BusinessPartnerProspectClass","CompanyName","JobTitle","Department","CompanySize","BusinessPartnerOperationRequestClass","Details","BusinessPartnerOperationRequestDetailsClass","UserFirstName","UserLastName","ReceiptTypesByFormatTypeClass","ReceiptOutputFormatType","ReceiptTypesValues","JournalNameIds","AssortedProductIdentityClass","IsRemoteProduct","ProductExistenceIdClass","InstructionsVersion","AssignedToPersonnelNumbers","AssignedToExternalSubId","DeepLinkTypeValue","DeepLink","DeepLinkPosOperationName","ContactPersonPersonnelNumber","Instructions","CompletionDateTime","ResolvedByPersonnelNumber","ChecklistId","Uri","Priority","StaffName","Activity","ActivityDateTimeOffset","EmployeeActivityTypeValue","BreakCategory","CustomerRefinerClass","TenderType","CardTokenInfo","CardTokenInfoClass","RequestedDimensionTypeValue","MatchingDimensionValues","DefaultWarehouseOnly","FilterByChannelFulfillmentGroup","DeliveryModeTypeFilterValue","CartDeliveryPreferencesClass","HeaderDeliveryPreferenceTypeValues","CartLineDeliveryPreferences","DeliverySpecification","DeliverySpecificationClass","DeliveryPreferenceTypeValue","PickUpStoreId","ShipFromStoreId","OrderStatusValues","OrderType","FulfillmentTypeValues","PickupStartDate","PickupEndDate","PickupTimeslotStartTime","PickupTimeslotEndTime","PersonnelNumber","ChecklistIds","StatusValues","TaskIds","FilterMyTasks","FilterOverdueTasks","MicrosoftGraphResource","TenderDiscountLineClass","IsCopy","IsRemoteTransaction","IsPreview","QueryBySalesId","HardwareProfileId","CartId","ExpectedCartVersion","IncludeAnonymous","SuspendedOnly","LastModifiedDateTimeFrom","LastModifiedDateTimeTo","ReturnUrl","ReceiptTypesByFormatTypeCollection","GiftReceiptLineNumbers","ExtensibleEAddressType","ChannelReferenceAdditionalLookupCriteria","ChannelReferenceAdditionalLookupCriteriaClass","FulfillmentLineParameterClass","RejectedQuantity","InfoCodeId","SubInfoCodeId","TotalNumberOfProducts","NumberOfProductsRead","NumberOfProductsReadInCurrentPage","NextSynchronizationToken","IsInitialSync","DeletedListingsResultClass","HasMorePublishedListings","DeletedListings","ListingIdentityClass","ProductRatingClass","RatingDistribution","ProductRatingCountClass","ProductDeliveryOptionsClass","PublishStatusValue","ListingModifiedDateTime","ChannelListingId","AppliedActionValue","StatusMessage","InventoryLocationIds","StoreHoursClass","RegularStoreHours","RegularStoreHoursClass","CartPromotionsClass","HeaderPromotions","CartLinePromotions","CartPromotionLineClass","Promotion","PromotionClass","VariantInventoryDimensionId","DistinctProductVariant","ProductAvailableQuantityClass","AvailableQuantity","InvoiceIds","InvoiceTypeValues","InvoicePaidStatusValues","ProductListType","AffiliationId","LoyaltyTierId","FilterByCurrentEmployee","ImageUris","Changes","ClientBookChangeClass","ChargeCodeClass","PaymentConnectorPropertiesXml","MerchantPropertiesHashValue","ServiceAccountId","StoreSafeClass","SafeNumber","SafeBalance","LastUpdatedTime","UpdateNowQuantity","CreateHardwareStationTokenResultClass","HardwareStationToken","PairingKey","ValidateHardwareStationTokenResultClass","MediaBlobClass","MediaType","Content","PictureId","OnlineChannelClass","OnlineChannelName","OrgUnitTypeValue","ChannelProfile","ChannelProfileClass","ChannelProperties","ChannelLanguages","CountryRegions","countryRegionsPropertyName","RequiresDataInitialization","HasBeenInitializedBefore","DataDownloadParametersClass","DownloadInterval","DownloadSessions","DownloadSessionClass","FeatureControlList","RetailSharedConfigurationParameterClass","DataStore","CDXDataStoreClass","DataUploadParametersClass","UploadInterval","UploadJobPackageRequests","UploadJobPackageRequestClass","JobId","JobDescription","FileSize","RowsAffected","Checksum","DateDownloaded","DateRequested","DataStoreName","DownloadLink","LoyaltyRewardPointActivityClass","ActivityDate","LoyaltyRewardPointTimelineEntryType","ExtensibleLoyaltyRewardPointActivityEntryTypeValue","LoyaltyPoints","AmountToConvert","HardwareStationProfileClass","HardwareStationId","HardwareStationTypeValue","HardwareStationName","HardwareStationDescription","HardwareStationUrl","HardwareStationHostName","HardwareStationEftTerminalId","LinkToExistingCustomerResultClass","ExternalIdentityProvider","ExternalIdentityLinkRecordId","OfflineSyncStatsLineClass","IsUploadJob","LastSyncDateTime","StorageAccessTokenClass","SasKey","TaskGuidesSearchResultClass","FrameworkPublisherName","AuditEventClass","EventId","EventIdString","Store","UploadType","EventType","EventDateTime","DurationInMilliseconds","Source","EventMessage","LogLevel","Staff","ClosedShiftId","ReferenceId","RefChannel","RefStore","RefTerminal","RefTransactionId","AuditEventTypeValue","AuditEventFiscalTransactionClass","FiscalRegistrationLines","AuditEventFiscalRegistrationLineClass","OrderedSum","PhysicalReserved","InventoryUnitOfMeasure","InventoryUnitOfMeasureDescription","InventoryAvailableToPromiseClass","NotificationItemClass","Action","ActionName","NotificationDetails","NotificationDetailClass","FiscalRegistrationEventTypeValue","DocumentContext","FiscalIntegrationDocumentContextClass","FiscalIntegrationDocumentClass","Document","DocumentGenerationResultTypeValue","FiscalConnectorTechnicalProfile","DocumentAdjustment","FiscalIntegrationDocumentAdjustmentClass","SequentialSignatureDataContext","FiscalIntegrationSignatureDataContextClass","TransactionID","AuditEventId","Response","SubmittedDocument","SequentialSignatureData","FiscalIntegrationSequentialSignatureDataClass","FiscalIntegrationRegistrationProcessClass","RegistrationProcessLines","FiscalIntegrationRegistrationProcessLineClass","FiscalIntegrationSupportedEventsClass","FunctionalityProfileGroupId","SupportedFiscalEventTypes","SupportedNonFiscalEventTypes","ConnectorTypeValue","TechnicalProfile","ExcludeOptionalProcessLines","FunctionalityProfileGroupIds","ServiceProperties","FiscalIntegrationServiceStatusClass","IsReady","FiscalIntegrationServiceCommunicationResultClass","CommunicationResultTypeValue","FailureDetails","FiscalIntegrationServiceFailureDetailsClass","FiscalIntegrationServiceInfo","UserNotificationMessage","LastRegisterResponse","SequenceKey","IsOffline","SequentialNumber","StartDate","EndDate","ValidationPeriodId","AdditionalRestrictions","ValidFromDate","ValidToDate","ValidationPeriod","ValidationPeriodClass","CouponCodes","CategoryPathResultClass","CategoryPath","CategoryPathClass","SearchOptionValue","PickupTimeslotAvailabilityClass","AvailableCapacity","CheckInForOrderPickupConfirmationClass","ExtensionProfileClass","ExtensionServiceUrl","AttachedServices","AttachedServiceClass","ChannelInventoryConfigurationClass","AllowTransferOrderOverDelivery","AllowTransferOrderUnderDelivery","UserLocationProfileId","InventoryProductAttributeRecordId","InventoryOutOfStockAttributeValueText","ChannelPurchaseConfigurationClass","AllowOverDelivery","AllowSubDelivery","InventoryJournalNameClass","JournalNameId","InventoryJournalTypeValue","DefaultAdjustmentTypeValue","ShiftStatusValue","FilterByUserRole","IncludeAllShiftsForStore","UserDefinedSecretCertificateResultClass","CertificateData","CustomerTimelineItemTypeMapClass","Types","CustomerTimelineItemTypeClass","CustomerTimelineRefinerClass","RefinedResultsCount","CustomerTitleClass","ProductWarehouseInventoryInformationClass","ProductWarehouseInventoryAvailabilities","ProductWarehouseInventoryAvailabilityClass","AggregatedProductInventoryAvailabilities","ProductInventoryAvailabilityClass","SearchArea","QuantityUnitTypeValue","ExtensibleEnumerationContainerClass","TypeName","ExtensibleEnumerations","PackingSlipDataClass","EmailReceiptSettingsClass","EmailBehaviorValue","SwatchValue","ProductImageUrls","UnitSymbol","TextValueTranslations","ActionProperty","BackColorAsARGB","ARGBColorClass","BorderColorAsARGB","Column","ColumnSpan","DisplayText","FontColorAsARGB","ButtonId","Row","RowSpan","UseCustomLookAndFeel","PictureAsBase64","FontStyle","FontSize","EnableCustomFontForPOS","HideButtonText","Tooltip","EnableLiveContent","NotificationContentAlignment","ImageAlignment","A","R","G","B","OriginalAmount","OverrideAmount","OverrideReasonDescription","OverrideDateTime","TaxComponent","Path","UniqueCardId","IsLocalized","IsSearchable","IsRetrievable","IsQueryable","IsRefinable","IsSortable","IsTokenNormalization","IsCompleteMatch","FromUnitOfMeasureId","ToUnitOfMeasureId","FromUnitOfMeasureSymbol","ToUnitOfMeasureSymbol","IsBackward","Factor","Numerator","Denominator","InnerOffset","OuterOffset","PriceMethod","OriginId","PriceChangedByExtensions","Concurrency","ReturnLocationText","ReturnWarehouseText","ReturnReasonText","ReturnPalleteText","LoyaltyGroupRecordId","EntryDate","EntryTime","RewardPointRecordId","RewardPointIsRedeemable","RewardPointType","ServiceType","PackageWeight","WeightClass","ShippedOnDate","DeliveredOnDate","EstimatedDeliveryDate","PackagingType","DestinationAddress","OriginAddress","ShipmentProgress","ShipmentProgressClass","ShippingCharge","Location","DateTime","AddressComponentNameValue","IsDataEntryOnly","NewLine","Expand","Inactive","Special","NumberOfSpaces","Separator","CashDrawerConfigurations","HardwareConfigurationClass","PrinterConfigurations","PinPadConfiguration","HardwareStationRecordId","IPAddress","Port","PrinterType","PrintBehaviorValue","ReceiptLayoutId","ReceiptType","TransferQuantity","DocumentLineRecordId","InventTransRecordId","AddressBookId","AddressBookTypeValue","AmountInForeignCurrency","ForeignCurrencyExchangeRate","BankBagNumber","TenderRecount","Type","DenominationAmount","QuantityDeclared","AmountDeclared","ButtonGridId","ZoneId","ZoneName","ReportRecordId","InventTransactionId","DiscountPercent","Site","Warehouse","SerialId","ColorName","SizeName","StyleName","ConfigName","ItemTaxGroup","SalesMarkup","RowData","MenuItemLabel","MenuItemName","MenuItemType","RecordingValueType","ExampleText","Hidden","IsReference","ValueLabel","PropertyName","UserActionType","ControlLabelId","NavigationPath","ArtifactType","LanguageTags","PropertyId","SingleValue","MultiValue","Tags","ComboBox","MultiSelect","Links","FormID","FormName","RecordingName","HasMetadata","TenderLineNumber","AdjustmentAmount","RecordGuid","Exclude","LineValidationResultClass","ValidationFailures","DataValidationFailureClass","TaxId","CodeId","DiscountOfferId","Units","PartyLocationRecordId","PartyRecordId","ValueExtension","ParentLocation","IsMobilePhone","IsOptedInMarketing","QuantityReturned","TaxRate","IsRegistrationNumberUnique","IsPrimaryAddressRestricted","TypeApplicabilityRuleRecordId","DirPartyLocationRecordId","RegistrationNumber","IssueDate","Section","LinkedProductRecordId","CategoryRecordId","RelatedProductRecordId","RelationName","IsExcludedRelation","IsDirectRelation","OrderLookupAdditionalCriteriaTypeValue","OrderLookupAdditionalCriteriaTypeParameterValue","SerialNumberInLatestFulfillmentTransaction","LatestFulfillmentTransactionOperationTypeValue","Rating","MondayOpenTime","MondayCloseTime","IsClosedOnMonday","TuesdayOpenTime","TuesdayCloseTime","IsClosedOnTuesday","WednesdayOpenTime","WednesdayCloseTime","IsClosedOnWednesday","ThursdayOpenTime","ThursdayCloseTime","IsClosedOnThursday","FridayOpenTime","FridayCloseTime","IsClosedOnFriday","SaturdayOpenTime","SaturdayCloseTime","IsClosedOnSaturday","SundayOpenTime","SundayCloseTime","IsClosedOnSunday","PeriodId","StartingTime","EndingTime","IsTimeBounded","MondayStartingTime","MondayEndingTime","IsMondayTimeBounded","TuesdayStartingTime","TuesdayEndingTime","IsTuesdayTimeBounded","WednesdayStartingTime","WednesdayEndingTime","IsWednesdayTimeBounded","ThursdayStartingTime","ThursdayEndingTime","IsThursdayTimeBounded","FridayStartingTime","FridayEndingTime","IsFridayTimeBounded","SaturdayStartingTime","SaturdayEndingTime","IsSaturdayTimeBounded","SundayStartingTime","SundayEndingTime","IsSundayTimeBounded","IsEndTimeAfterMidnight","IsMondayEndTimeAfterMidnight","IsTuesdayEndTimeAfterMidnight","IsWednesdayEndTimeAfterMidnight","IsThursdayEndTimeAfterMidnight","IsFridayEndTimeAfterMidnight","IsSaturdayEndTimeAfterMidnight","IsSundayEndTimeAfterMidnight","FromStaffId","ToStaffId","RecId","RerunUploadSessionId","TargetStorage","UploadJobDefintion","UploadUrl","TransactionDateTime","UploadTypeValue","ItemCount","IsNew","LastUpdatedDateTimeStr","IsSuccess","IsLiveContentOnly","AuditEvent","SequentialSignatureKey","SequenceNumber","AllowSkip","AllowMarkAsRegistered","AllowPostpone","Optional","RegistrationSettings","FiscalIntegrationRegistrationSettingsClass","SequentialKeys","SkipReasonCode","MarkAsRegisteredReasonCode","PostponeReasonCode","FailureTypeValue","IsRetryAllowed","Segments","CategoryPathSegmentClass","CategoryId","BaseUrl","ServiceId","PhysicalInventory","TotalAvailable","OrderedInTotal","PhysicalAvailable","LastInventoryTransactionId","UnpostedOnlineOrderedQuantity","UnpostedFulfilledQuantity","IsInventoryAvailabilityQuantityReturned","UnprocessedQuantity","SumUncountedTransactions","TotalAvailableQuantity","PhysicalAvailableQuantity","CartLineValidationResultsClass","ValidationResultsByLineId","CartLineValidationResultsByLineIdClass","ValidationFailuresByCartLines","LineDataValidationFailureClass","CommerceExceptionClass","ErrorResourceId","DataValidationExceptionClass","ValidationResults","RequiredReasonCodes","TransactionRequiredReasonCodeIds","ReasonCodeRequirements","SecurityExceptionClass","UserAuthenticationExceptionClass","TaskManagementExceptionClass","TaskManagementErrors","TaskManagementErrorClass","ErrorContext","MemberNames","RemovedUnavailableItemIds","WorkingTerminalId","LineIdToProductBehaviorMap","KeyValuePair_2OfString_ProductBehaviorClass","ValidationResultsPairs","ActualLength","MinLength","PaymentConfigurationSdkErrors","OriginalTenderType","AllowedReturnTenderTypes","RequestedUserId","IsForFullOrganization","FromDate","ToDate","RequestingUserEmail","AccountStatementStartDateTime","AccountStatementEndDateTime","DataValidationFailure","RedirectUri","ApiVersion","EntityIdentifier","AutoExitMethodType","CardType","PublishingAction","ListingPublishingActionStatus","OnlineChannelPublishStatusType","ReceiptTransactionType","EmployeePriceOverrideType","KeyInPriceRestriction","KeyInQuantityRestriction","ProductDimensionType","ProductType","NumberSequenceSeedType","ReasonCodeSourceType","TriggerFunctionType","QueryType","ChangeAction","PeriodicDiscountOfferType","SearchFilterType","InfoCodeActivity","SrsReportFileFormat","ShiftReconciliationLineStatus","ProductSearchServiceType","SearchSuggestionType","SalesStatus","EFTType","FilterDeliveryModeOption","InventoryDocumentLineOperationResultMode","InventoryDocumentStatus","InventoryDocumentUpdateLinesActionType","InventoryInboundOutboundDocumentOperationType","InventoryInboundOutboundSourceDocumentStatus","InventorySourceDocumentType","InventoryInboundOutboundDocumentState","ReceiptNumberResetType","PeriodUnit","WarrantyPriceRangeBaseType","LogOnKeyboardType","LogOnLayoutType","DeliveryModeTypeFilter","InventoryDocumentValidationResultSeverity","InventoryDocumentOverreceivingErrors","InventoryDocumentSerialNumberErrors","EmployeeIdentityType","FulfillmentOperationType","PaymentStatus","UserAlertSourceType","CustomerOrderMode","InventoryValidationErrors","InventoryJournalPosAdjustmentType","ProductDataValidationErrors","AddressOperationType","AttributeDataType","BarcodeEntryMethodType","BarcodeMaskType","TransactionStatus","GiftCardOperationType","RetailGiftCardType","DiscountLineType","ManualDiscountType","CustomerDiscountType","ReasonCodeInputType","ReasonCodeLineType","ChargeModule","ChargeType","ChargeMethod","CashType","IncomeExpenseAccountType","TenderLineStatus","TenderLineVoidStatus","PaymentProcessingType","CreditCardProcessorStatus","ContactInformationType","CommerceEntityDataLevel","ProductPropertyType","AttributeGroupType","ProductSource","RoundingMethod","LineMultilineDiscountOnItem","LoyaltyRewardPointEntryType","LoyaltyRewardPointType","TransactionType","CashManagementTransactionContext","CustomerTimelineItemEntityType","EmployeePermissionsAllowPrintingReceiptCopy","AddressFormatLineType","SalesRepPromptType","RetailProductSearchType","RetailDenominationsToDisplay","EmployeeLogonType","RetailCustomerSearchMode","RequirePaymentForFulfillment","CardNotPresentProcessingConfiguration","ChangeDueBehavior","FontSchemeType","DeviceActivationStatus","DualDisplayType","FiscalRegisterType","PrinterLogotype","PrinterLogoAlignmentType","FiscalIntegrationConnectorType","PrintBehavior","DistanceUnit","StockCountStatus","RecommendedElementType","CommerceListInvitationStatus","CommerceListInvitationType","SearchLocation","OrderSearchType","SalesTransactionType","CustomerRefinerSource","RetailAffiliationType","InventoryDocumentLineOriginType","InventorySerialNumberLineStatus","InventorySourceDocumentLineStatus","RefinerType","DisplayTemplate","ClientBookRefinerSource","ProductRefinerSource","LoyaltyCardTenderType","ReleasedProductType","RetailChannelType","LogOnConfiguration","TransactionServiceAuthenticationType","IncludePersonalDataInGuestOrderLookupPolicy","RetailAddressBookType","InventoryAvailabilityClientDisplayMode","EmployeeActivityType","DeliveryPreferenceType","LayoutType","SalesInvoiceType","InvoiceType","InvoicePaidStatus","TaxOverrideType","TaxOverrideBy","RetailOperation","ReasonCodeInputRequiredType","FrameworkAccess","MetadataControl","FiscalIntegrationRegistrationStatus","CustomerOrderOperation","BusinessPartnerOperationType","BusinessPartnerOperationStatus","CartType","CartStatus","PeriodicDiscountsCalculateScope","CustomerType","ContactInfoType","ChecklistStatus","ChecklistTaskDeepLinkType","ChecklistTaskStatus","DocumentStatus","CustomerOrderType","LineDiscountCalculationType","TaxCalculationType","ShiftStatus","TaxRegistrationType","CommerceListType","RecommendationType","PurchaseTransferOrderType","BusinessPartnerUserStatus","ElectronicAddressType","DownloadSessionStatus","HardwareStationType","AuditEventUploadType","AuditEventType","AuditLogTraceLevel","FiscalIntegrationEventType","FiscalIntegrationDocumentGenerationResultType","FiscalIntegrationServiceCommunicationResultType","FiscalIntegrationServiceFailureType","PickupTimeslotAvailabilitySearchOption","AttachedServiceStatus","ReceiptEmailBehavior","CartLineQuantityLimitsErrors","CommunicationErrors","ConfigurationErrors","DataValidationErrors","FeatureNotSupportedErrors","SecurityErrors","StorageErrors","VersionNotSupportedErrors","PaymentErrors","FiscalIntegrationServiceErrors","CommerceDataExchangeErrors","TaskManagementErrorCode","PaymentConfigurationErrors","BusinessPartnerOperationDeliveryType","OnlineStoreCustomerType","WrongEndpointErrors","RetailServerApiErrors","ExceptionSeverity","ICacheSource","isAsyncResult","item","AsyncResult","executor","metadata","_type","_handlers","_attachHandler","handler","_executeHandlers","onFail","onSuccess","_resolve","_updateStatus","_reject","reason","e","asyncResult","onfinally","failed","toStringTag","newStatus","isError","setTimeout","obj","ErrorTypeEnum","SERVER_ERROR","SERVICE_UNAVAILABLE","SERVER_TIMEOUT","RETAIL_SERVER_REDIRECT_ERROR","GENERICERRORMESSAGE","MICROSOFT_DYNAMICS_SERVER_INTERNAL_ERROR","BAD_REQUEST","NOT_AUTHORIZIED","FORBIDDEN","PRECONDITION_FAILED","RETURN_NO_ORDERS_FOUND","DeviceActivationErrorsForwardLinks","MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_CHANNELDATABASECONNECTIONFAILED","MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_REALTIMESERVICECONNECTIONFAILED","MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_TERMINALNOTASSIGNEDTOSTORE","MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_USERNOTASSIGNEDTOSTORE","MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_INCORRECTSTAFFIDORPASSWORD","MICROSOFT_DYNAMICS_COMMERCE_RUNTIME_DEVICEALREADYACTIVATED","ErrorHelper","errorResourceId","AGGREGATED_ERROR_RESOUCEIDS","errorMessage","statusCode","err","errorCode","canRetry","body","toUpperCase","numErrors","isRetryable","CanRetry","errorResourceIds","LocalizedErrorMessage","ErrorParser","handled","redirectUrl","statusText","redirectCountQueryString","noRedirectQueryString","currentUrl","URL","location","href","searchParams","rdc","set","parseError","responseText","jsonResponse","parse","ex","errorString","errorResponse","commerceErrors","odataError","CorrelationId","localizedMessage","exceptionType","convertExceptionToErrors","serverException","DataValidationExceptionType","CartValidationExceptionType","dataValidation","getErrorsFromDataValidationFailures","StorageExceptionType","commerceException","failures","failure","contentType","bodyString","Exception","toLowerCase","parseJSONError","ProxyErrorSDK","localizedErrorMessage","formatData","setPrototypeOf","ProxyError","extraData","_canRetry","_errorCode","_errorMessage","_localizedErrorMessage","_commerceException","_formatData","_extraData","proxyError","errorName","exception","EMPTY","convertToString","accumulator","depth","stringifyValue","hasElements","isObjectNotEmptyOrNull","isEmpty","isNullOrWhitespace","returnValue","trim","format","params","index","param","regexp","RegExp","normalHeaders","accept","normalizeHeaders","lowerName","normalName","defaultHttpClient","callbackParameterName","formatQueryString","enableJsonpCallback","success","abort","handleTimeout","cancelToken","done","cancel","url","isAbsoluteUrl","authenticationCreds","username","password","axiosTimeout","timeoutMS","window","___initialData___","_clientPlatformSetting","clientSideDataActionTimeoutInMs","auth","timeout","axiosResponse","axiosError","ODataHttpRequest","recognizeDates","useJsonLight","inferJsonLightFeedAsObject","Accept","write","maxDataServiceVersion","prepareRequest","httpClient","invokeRequest","jsonMediaType","ODATA_VERSION","ODATA_MAX_VERSION","str","contentTypeParts","properties","len","contentTypeParams","mediaType","jsonContentType","createReadWriteContext","contentTypeStr","dataServiceVersion","rwContext","versionRE","getDataServiceVersion","headerVersion","matches","exec","handlerWrite","cType","CONTENT_TYPE_HEADER_NAME","version","writeContext","left","right","leftParts","rightParts","leftVersion","rightVersion","maxVersion","ContentType","contentTypeObj","contentTypeToString","jsonHandler","handlerRead","formatNumberWidth","append","parseTimeRE","parseDateTimeRE","parseDateTimeOffset","withOffset","nullOnError","parts","timezone","year","ms","ns","substring","seconds","direction","d","h","m","parseTimezone","setUTCFullYear","setUTCHours","isNaN","valueOf","__ns","jsonLightReadStringPropertyValue","propertyType","EDM","propertyValue","duration","years","months","days","parseDuration","dateStr","time","timezoneOffsetIndex","catalogsQuery","createProductCatalogAsync","createGetCatalogsInput","activeOnly","getCatalogsAsync","EventLevel","EventChannel","Utils","func","DebuggingConsoleSink","userId","tenantId","offlineAvailability","offlineCurrentMode","instrumentationKey","event","eventId","channel","level","keywords","task","opCode","loggingSink","enumType","modelManagersRetailServerRequestStarted","requestUrl","modelManagersRetailServerRequestError","modelManagersRetailServerRequestFinished","genericWarning","Tracer","sink","informationformat","TracingOn","args","GetMessage","apply","TracerDynamicsError","warningFormat","errorFormat","formatString","uniqueFunctionName","counter","Counters","PerformanceCounters","now","getTime","Timers","startTime","pop","TotalTime","type","TracerDynamics","slice","_initialized","init","retailAction","input","execute","callActionOrExecute","chainAction","executeAction","isObservable"],"sourceRoot":""}