{"version":3,"file":"static/js/326b78f08f97a45f9fc7.bundle.js","mappings":"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","sources":["webpack://@msdyn365-commerce-partners/fabrikam/../../src/action-registrar.ts?ed12","webpack://@msdyn365-commerce-partners/fabrikam/../../src/create-data-action.vnext.ts?cb4f","webpack://@msdyn365-commerce-partners/fabrikam/../../src/wrap-data-action.ts?c6a2","webpack://@msdyn365-commerce-partners/fabrikam/../../src/create-data-action-hook.ts?619e","webpack://@msdyn365-commerce-partners/fabrikam/../../src/action-error.ts?76a5","webpack://@msdyn365-commerce-partners/fabrikam/../../src/action-runtime-utils.ts?df0b","webpack://@msdyn365-commerce-partners/fabrikam/../../../src/cache/retail-cache-helper.ts?35f4","webpack://@msdyn365-commerce-partners/fabrikam/../../src/event-emitter.ts?da67","webpack://@msdyn365-commerce-partners/fabrikam/../../src/action-executor.ts?e3c4","webpack://@msdyn365-commerce-partners/fabrikam/../../../src/actions/get-catalogs.ts?b35c","webpack://@msdyn365-commerce-partners/fabrikam/../../src/helpers.ts?e5d2","webpack://@msdyn365-commerce-partners/fabrikam/../../src/action-context.ts?0ab9","webpack://@msdyn365-commerce-partners/fabrikam/../../src/mock-helper.ts?6126","webpack://@msdyn365-commerce-partners/fabrikam/../../../src/actions/get-media-locations.ts?b49d","webpack://@msdyn365-commerce-partners/fabrikam/../../../src/actions/get-medialocations-helper.ts?d605","webpack://@msdyn365-commerce-partners/fabrikam/../../../src/actions/get-customer.ts?6b9b","webpack://@msdyn365-commerce-partners/fabrikam/../../src/ICache.ts?b706","webpack://@msdyn365-commerce-partners/fabrikam/../../src/cache-utils.ts?471a","webpack://@msdyn365-commerce-partners/fabrikam/../../src/request-cache.ts?b274","webpack://@msdyn365-commerce-partners/fabrikam/../../src/index.ts?0e3e","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/CatalogsDataActions.g.ts?8b5c","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/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/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","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/internals/delete-property-or-throw.js?8052","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/internals/engine-ff-version.js?960c","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/internals/engine-is-ie-or-edge.js?874f","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/internals/engine-webkit-version.js?9560","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/internals/number-parse-float.js?33d3","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.array.sort.js?67f8","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.parse-float.js?752a","webpack://@msdyn365-commerce-partners/fabrikam/./node_modules/@msdyn365-commerce/bootloader/node_modules/core-js/modules/es.promise.finally.js?2389"],"sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n ActionPostHook,\n ActionPostReaderHook,\n ActionPreHook,\n ActionPreReaderHook,\n IAnyAction,\n msdyn365Commerce\n} from '@msdyn365-commerce/core-internal';\nimport { LogLevel, StaticTelemetry } from '@msdyn365-commerce/telemetry-internal';\n\nconst DEPRECATED_HOOK_TYPES = ['pre', 'post', 'preRead', 'postRead'];\n\nexport namespace ActionRegistrar {\n type ActionHook = ActionPreHook | ActionPostHook;\n\n export type ActionRegistration = {\n action?: IAnyAction;\n pre?: Set;\n post?: Set>;\n preRead?: Set;\n postRead?: Set>;\n preReader?: Set;\n postReader?: Set>;\n };\n\n interface IActionDictionary {\n [actionKey: string]: ActionRegistration;\n }\n\n const dataActionRegister: IActionDictionary = {};\n\n export const getRegistration = (id?: string): ActionRegistration | undefined => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if ((msdyn365Commerce).getPartnerOverrideAction && id) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const partnerDataAction = (msdyn365Commerce).getPartnerOverrideAction(id);\n if (partnerDataAction && partnerDataAction.default) {\n dataActionRegister[id].action = partnerDataAction.default;\n } else if (partnerDataAction && partnerDataAction.prototype && partnerDataAction.prototype.Action) {\n dataActionRegister[id].action = partnerDataAction;\n }\n }\n\n if (id) {\n return dataActionRegister[id];\n }\n\n return undefined;\n };\n\n export const unwrapAction = (action: IAnyAction): IAnyAction => {\n if (action && action.prototype && !action.prototype.isAction) {\n // registered action is an action wrapper. Unwrap it.\n return >action.prototype.Action;\n }\n return action;\n };\n /**\n * Gets the action registered with id\n * @param id - ID to look up action\n */\n export const getAction = (id?: string): IAnyAction | undefined => {\n if (!id) {\n return;\n }\n const registeredAction = getRegistration(id);\n if (registeredAction) {\n return >registeredAction.action;\n }\n return;\n };\n\n /**\n * registers action. Does nothing if action is already registered\n * @param id - ID to register action with\n * @param action - action to register\n */\n export const registerAction = (id: string, dataAction: IAnyAction): IAnyAction | undefined => {\n if (!id || !dataAction) {\n // unable to register no id or action\n return;\n }\n\n const actionRegister = dataActionRegister;\n\n if (actionRegister[id]) {\n const registration = actionRegister[id];\n registration.action = dataAction;\n return >actionRegister[id].action;\n } else {\n const registration = { action: dataAction };\n actionRegister[id] = registration;\n return dataAction;\n }\n };\n\n const registerHook = (\n hookType: 'pre' | 'post' | 'preRead' | 'postRead' | 'preReader' | 'postReader'\n ) => (id: string, hook: HookType) => {\n // deprecate read only hook\n if (!msdyn365Commerce.isBrowser && DEPRECATED_HOOK_TYPES.indexOf(hookType) > -1) {\n StaticTelemetry.log(\n LogLevel.Warning,\n `Data action hooks are deprecated and will be removed in later versions. Please use data action overrides to extend data actions. The related action of this ${hookType} hook is - ${id}`\n );\n }\n\n const registration = getRegistration(id);\n // coerce hook into an iterable\n const hooks = Array.isArray(hook) ? hook : [hook];\n if (!registration) {\n // If the registration does not exist init one with just the hooks\n const newRegistration: { [id: string]: unknown } = {};\n newRegistration[hookType] = new Set(hooks);\n dataActionRegister[id] = newRegistration;\n } else {\n // If the registration does exist merge new hooks with existing hooks\n const hookRegistration = registration[hookType] || new Set();\n hooks.forEach(h => {\n hookRegistration.add(h);\n });\n // @ts-ignore\n registration[hookType] = hookRegistration;\n }\n return hook;\n };\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export const registerPostHook = registerHook | ActionPostHook[]>('post');\n export const registerPreHook = registerHook('pre');\n export const registerPreReadOnlyHook = registerHook('preRead');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export const registerPostReadOnlyHook = registerHook | ActionPostHook[]>('postRead');\n export const registerPreReaderHook = registerHook('preReader');\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n export const registerPostReaderHook = registerHook | ActionPostReaderHook[]>('postReader');\n\n export const getPreHooks = (id: string) => {\n const actionRegistration = getRegistration(id);\n return actionRegistration && actionRegistration.pre;\n };\n\n export const getPostHooks = (id: string) => {\n const actionRegistration = getRegistration(id);\n return actionRegistration && actionRegistration.post;\n };\n\n export const getPreReadHooks = (id: string) => {\n const actionRegistration = getRegistration(id);\n return actionRegistration && actionRegistration.preRead;\n };\n\n export const getPostReadHooks = (id: string) => {\n const actionRegistration = getRegistration(id);\n return actionRegistration && actionRegistration.postRead;\n };\n\n export const getPreReaderHooks = (id: string) => {\n const actionRegistration = getRegistration(id);\n return actionRegistration && actionRegistration.preReader;\n };\n export const getPostReaderHooks = (id: string) => {\n const actionRegistration = getRegistration(id);\n return actionRegistration && actionRegistration.postReader;\n };\n\n /**\n * Resolves the action and returns first action in action chain. Registers action if not yet registered\n * @param id - Action id to look up or register under\n * @param action - Action function\n */\n export const resolveAction = (id: string, action: IAnyAction): IAnyAction | undefined => {\n return getAction(id) || >registerAction(id, action) || action;\n };\n\n export const resolveRegistration = (\n id: string,\n action: IAnyAction,\n preHooks?: ActionPreHook[],\n postHooks?: ActionPostHook[],\n preReadHooks?: ActionPreHook[],\n postReadHooks?: ActionPostHook[],\n preReaderHooks?: ActionPreReaderHook[],\n postReaderHooks?: ActionPostReaderHook[]\n ) => {\n const resolvedAction = resolveAction(id, action);\n if (!resolvedAction) {\n return;\n }\n preHooks && registerPreHook(id, preHooks);\n postHooks && registerPostHook(id, postHooks);\n preReadHooks && registerPreReadOnlyHook(id, preReadHooks);\n postReadHooks && registerPostReadOnlyHook(id, postReadHooks);\n preReaderHooks && registerPreReaderHook(id, preReaderHooks);\n postReaderHooks && registerPostReaderHook(id, postReaderHooks);\n return getRegistration(id);\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IActionContext, IActionInput, IActionWrapperPrototype, IObservableAction } from '@msdyn365-commerce/core-internal';\nimport { AsyncResult } from '@msdyn365-commerce/retail-proxy';\nimport { dataActionOptions, wrapDataAction } from './wrap-data-action';\n\n/**\n * Higher order function which exposes the current method as an action\n * @param action The action method\n * @param isBatched If the service call can handle batched requests efficiently\n * @param input Optional parameter of a single instance or an array of IActionInputs that will be passed to the action method.\n */\nexport const createObservableDataAction = (options: dataActionOptions): IObservableAction => {\n const wrappedAction = wrapDataAction(\n options,\n (arg1: IActionInput | IActionInput[], arg2: IActionContext): AsyncResult => {\n return new AsyncResult((resolve, reject) => {\n arg2.chainAction(options.action, arg1)\n .then(result => {\n resolve(result);\n })\n .catch(error => {\n reject(error);\n });\n });\n }\n );\n (wrappedAction.prototype).setProperty('isObservable', true);\n return >wrappedAction;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IAction, IActionInput, IObservableAction } from '@msdyn365-commerce/core-internal';\nimport { ActionRegistrar } from './action-registrar';\n\nexport type dataActionOptions = {\n action: IAction;\n isBatched?: boolean;\n id?: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n input?: (...args: any[]) => IActionInput | IActionInput[];\n};\n\ntype IActionWrap = IAction | IObservableAction;\n\n/**\n * Wraps a data action with the associated action wrap.\n * @param options\n * @param actionWrap\n */\nexport const wrapDataAction = (options: dataActionOptions, actionWrap: IActionWrap): IActionWrap => {\n if (!options) {\n throw new Error('wrapDataAction called with invalid options. Options should have atleast action defined');\n }\n\n if (!options.action) {\n throw new Error(\n `Received invalid actions when attempting to parse options. Input name: ${options.input ? options.input.name : 'undefined'}`\n );\n }\n\n let inputFunc = options.input!;\n let id = options.id;\n let isBatched = options.isBatched!;\n options.action.prototype = {\n id,\n isBatched,\n isAction: true\n };\n\n actionWrap.prototype = {\n id,\n isAction: false,\n _action: options.action,\n set RegistrationId(registrationId: string) {\n options.action.prototype.RegistrationId = registrationId;\n },\n get RegistrationId(): string {\n return options.action.prototype.RegistrationId || '';\n },\n set inputFunc(func: Function) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (inputFunc) = func;\n },\n get inputFunc(): Function {\n return inputFunc;\n },\n get isBatched(): boolean {\n return isBatched;\n },\n set isBatched(_isBatched: boolean) {\n isBatched = _isBatched;\n },\n get Action(): IAction {\n return options.action;\n },\n set Action(newAction: IAction) {\n // There are no getter/setters on the action function prototype so this behaves as expected.\n inputFunc = newAction.prototype.input || inputFunc;\n id = newAction.prototype.id || id;\n isBatched = newAction.prototype.isBatched || isBatched;\n newAction.prototype = { ...newAction.prototype, ...options.action.prototype };\n options.action = newAction;\n },\n setProperty: (propertyName: string, value: unknown) => {\n options.action.prototype[propertyName] = value;\n actionWrap.prototype[propertyName] = options.action.prototype[propertyName];\n }\n };\n if (actionWrap.prototype.id) {\n ActionRegistrar.registerAction(actionWrap.prototype.id, actionWrap);\n }\n\n return actionWrap;\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ActionPostHook, ActionPostReaderHook, ActionPreHook, ActionPreReaderHook } from '@msdyn365-commerce/core-internal';\nimport { ActionRegistrar } from './action-registrar';\n\ntype dataActionHook = {\n actionId: string;\n preHook?: ActionPreHook;\n postHook?: ActionPostHook;\n preReadonlyHook?: ActionPreHook;\n postReadonlyHook?: ActionPostHook;\n preReaderHook?: ActionPreReaderHook;\n postReaderHook?: ActionPostReaderHook;\n};\n\nexport const createDataActionHook = (options: dataActionHook): void => {\n options.preHook && ActionRegistrar.registerPreHook(options.actionId, options.preHook);\n options.postHook && ActionRegistrar.registerPostHook(options.actionId, options.postHook);\n options.preReadonlyHook && ActionRegistrar.registerPreReadOnlyHook(options.actionId, options.preReadonlyHook);\n options.postReadonlyHook && ActionRegistrar.registerPostReadOnlyHook(options.actionId, options.postReadonlyHook);\n options.preReaderHook && ActionRegistrar.registerPreReaderHook(options.actionId, options.preReaderHook);\n options.postReaderHook && ActionRegistrar.registerPostReaderHook(options.actionId, options.postReaderHook);\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/**\n * Known action error failure states\n */\nexport const enum ActionErrorStatus {\n Timeout = 'Timeout',\n HookTimeout = 'Hook Timeout',\n ServiceUnavailable = 'Service Unavailable'\n}\n\n/**\n * Action Error Wrapper\n */\nexport class ActionError extends Error {\n public static readonly Name: string = 'ActionError';\n\n public error?: unknown;\n public status?: ActionErrorStatus;\n\n /**\n * Checks if an object is an action error\n */\n public static isActionError(error: unknown): boolean {\n return error instanceof Error && (error).name === ActionError.Name;\n }\n\n public static isTimeoutError(error: unknown): boolean {\n return error && (error).status === ActionErrorStatus.Timeout;\n }\n\n public static isServiceUnavailable(error: unknown): boolean {\n return error && (error).status === ActionErrorStatus.ServiceUnavailable;\n }\n\n /**\n * Action Errors\n * @param error Original Error\n */\n constructor(error: ActionErrorStatus | Error);\n constructor(error: Error) {\n super();\n this.name = ActionError.Name;\n if (error instanceof Error) {\n this.message = error.message;\n this.error = error;\n } else {\n if (error === ActionErrorStatus.Timeout) {\n this.status = error;\n this.message = 'Action Timeout';\n } else if (error === ActionErrorStatus.HookTimeout) {\n this.status = error;\n this.message = 'Action hook Timeout';\n } else if (error === ActionErrorStatus.ServiceUnavailable) {\n this.status = error;\n this.message = 'Action failed due to service unavailable';\n } else if (typeof error === 'string') {\n this.message = error;\n } else {\n this.error = error;\n }\n }\n\n // As of Typescript 2.1 if we extend the Error object the prototype must be set explicitly\n // See: https://github.com/Microsoft/TypeScript-wiki/blob/master/Breaking-Changes.md#extending-built-ins-like-error-array-and-map-may-no-longer-work\n Object.setPrototypeOf(this, ActionError.prototype);\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { AppCache, ICache } from '@msdyn365-commerce/cache-internal';\nimport { IActionInput } from '@msdyn365-commerce/core-internal';\n\n/**\n * Method to indicate if the action should look in app cache for data\n * @param input ActionInput\n */\nexport const shouldReadFromAppCache = (input: IActionInput, appCache: ICache | null): boolean => {\n return !!appCache && input && input.dataCacheType !== undefined && input.dataCacheType() !== 'none';\n};\n\n/**\n * Method to indicate if the action should write in app cache\n * @param input ActionInput\n */\nexport const shouldWriteToAppCache = (input: IActionInput, appCache: ICache | null): boolean => {\n return isAppCacheData(input, appCache);\n};\n\n/**\n * Method to indicate if the action's cache type is application\n * @param input ActionInput\n */\nexport const isAppCacheData = (input: IActionInput, appCache: ICache | null): boolean => {\n if (!appCache) {\n return false;\n }\n\n if (input) {\n if (input.dataCacheType !== undefined && input.dataCacheType() === 'application') {\n return true;\n }\n\n // if an entity has a cache setting defined, we cache that entity - caching retail proxy actions\n return (appCache).hasCacheSetting(input.getCacheObjectType());\n }\n\n return false;\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 { ICache, ICacheItem, ICacheSource } from '@msdyn365-commerce/cache-internal';\nimport { IActionInput, IRequestContext, msdyn365Commerce, verboseLogger } from '@msdyn365-commerce/core-internal';\nimport { AsyncResult, DataServiceRequest, isAsyncResult } from '@msdyn365-commerce/retail-proxy';\nimport { IInternalTelemetry, ITelemetry } from '@msdyn365-commerce/telemetry-internal';\n\nconst GET_FROM_RETURNIDENTIFIER: string = '___GET__FROM__RETURNIDENTIIER___';\n\nexport const addLocaleInformation = (inputs: IActionInput | IActionInput[], locale: string): void => {\n const isArray = Array.isArray(inputs);\n if (isArray) {\n const actionInputs = (inputs || []) as IActionInput[];\n actionInputs.forEach(input => {\n if (input instanceof DataServiceRequest && !input.getCacheKey().endsWith(`-${locale}`)) {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const tmp = input._cacheKeyFromInput;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n input._cacheKeyFromInput = `${tmp}-${locale}`;\n }\n });\n } else {\n if (inputs instanceof DataServiceRequest && !inputs.getCacheKey().endsWith(`-${locale}`)) {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const tmp = inputs._cacheKeyFromInput;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n inputs._cacheKeyFromInput = `${tmp}-${locale}`;\n }\n }\n};\n\nconst _resolveCacheEntryReference = (\n dataServiceRequest: DataServiceRequest,\n item: any,\n requestCache: ICache,\n appCache: ICache,\n shouldReadFromAppCache?: boolean,\n isWrappingPromise?: boolean,\n isObservable: boolean = true\n) => {\n const cacheValueAsArray = (item.key as string[])\n .map(key => {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType;\n\n const value = requestCache.get({ typeName: cacheObjectType, key });\n if (!value && shouldReadFromAppCache && appCache) {\n appCache.copyTo({ typeName: cacheObjectType, key }, requestCache, isObservable);\n }\n\n if (!value || !value.item) {\n return undefined;\n }\n\n const valueItem: any = value.item;\n\n if (isAsyncResult(valueItem)) {\n return valueItem.result;\n }\n\n return valueItem;\n })\n .filter(data => data !== undefined && data !== null);\n\n if ((item.key as string[]).length > cacheValueAsArray.length) {\n return;\n }\n\n // If we are returning a Promise that represents a future collection, we need to unwrap it\n // @ts-ignore -- accessing a private class variable (_query) which is a valid JS\n const isReturnTypeACollection = dataServiceRequest._query.isReturnTypeACollection;\n\n return cacheValueAsArray && cacheValueAsArray.length > 0\n ? isReturnTypeACollection && !isWrappingPromise\n ? cacheValueAsArray\n : cacheValueAsArray[0]\n : undefined;\n};\n\nconst logTelemetrySource = (\n cacheValue: ICacheItem,\n dataServiceRequest: DataServiceRequest,\n cacheKey: string,\n context: IRequestContext,\n telemetry?: ITelemetry | IInternalTelemetry\n) => {\n if (!telemetry) {\n return;\n }\n if (!msdyn365Commerce.isBrowser) {\n switch (cacheValue.s!) {\n case ICacheSource.AppCache: {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType || 'none';\n\n verboseLogger(context, telemetry, 'dataAction with {actiontype}, {cacheKey}. source {cacheSource}', {\n values: [cacheObjectType, cacheKey, 'AppCache']\n });\n break;\n }\n case ICacheSource.RequestCache: {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType || 'none';\n\n verboseLogger(context, telemetry, 'dataAction with {actiontype}, {cacheKey}. source {cacheSource}', {\n values: [cacheObjectType, cacheKey, 'RequestCache']\n });\n break;\n }\n default: {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType || 'none';\n\n verboseLogger(context, telemetry, 'dataAction with {actiontype}, {cacheKey}. source {cacheSource}', {\n values: [cacheObjectType, cacheKey, 'Default']\n });\n break;\n }\n }\n }\n};\n\nconst readCacheEntriesBasedOnCacheKeyFromReturnType = (\n dataServiceRequest: DataServiceRequest,\n requestCache: ICache,\n appCache: ICache,\n shouldReadFromAppCache: boolean,\n context: IRequestContext,\n telemetry?: ITelemetry | IInternalTelemetry,\n isObservable: boolean = true\n): any => {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyFromReturnType = dataServiceRequest._cacheKeyFromReturnType;\n\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyIdentifierFromReturnType = dataServiceRequest._cacheKeyIdentifierFromReturnType;\n\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType;\n\n if (cacheKeyFromReturnType.length === 0) {\n return { entry: null, shouldRefresh: false };\n }\n let shouldRefreshAll = true;\n const cacheEntries = cacheKeyFromReturnType\n .map((entry: any) => {\n const key = `${cacheKeyIdentifierFromReturnType}-${entry}`;\n\n let cacheValue = requestCache.get({ typeName: cacheObjectType, key });\n\n if (!cacheValue && shouldReadFromAppCache && appCache) {\n cacheValue = appCache.copyTo({ typeName: cacheObjectType, key }, requestCache, isObservable);\n }\n\n if (!cacheValue || !cacheValue.item) {\n return null;\n }\n // according to the logic, will treat the entries to shouldRefresh when all entries have shouldRefresh.\n if (!cacheValue.shouldRefresh) {\n shouldRefreshAll = false;\n }\n logTelemetrySource(cacheValue, dataServiceRequest, key, context, telemetry);\n\n return cacheValue.item;\n })\n .filter(Boolean);\n\n // @ts-ignore -- accessing a private class variable (_query) which is a valid JS\n const isReturnTypeACollection = dataServiceRequest._query.isReturnTypeACollection;\n const cacheEntriesReturn = cacheEntries && cacheEntries.length > 0 ? (isReturnTypeACollection ? cacheEntries : cacheEntries[0]) : null;\n return { entry: cacheEntriesReturn, shouldRefresh: shouldRefreshAll };\n};\n\nexport const readCacheEntries = (\n dataServiceRequest: DataServiceRequest,\n requestCache: ICache,\n appCache: ICache,\n shouldReadFromAppCache: boolean = false,\n context: IRequestContext,\n telemetry?: ITelemetry | IInternalTelemetry,\n isObservable: boolean = true\n): any => {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyFromReturnType = dataServiceRequest._cacheKeyFromReturnType;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType;\n\n if (!requestCache || (!dataServiceRequest.getCacheKey() && cacheKeyFromReturnType.length === 0) || !cacheObjectType) {\n return { entry: null, shouldRefresh: false };\n }\n\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyFromInput = dataServiceRequest._cacheKeyFromInput;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyIdentifierFromReturnType = dataServiceRequest._cacheKeyIdentifierFromReturnType;\n\n if (cacheKeyFromInput === GET_FROM_RETURNIDENTIFIER || (cacheKeyIdentifierFromReturnType && cacheKeyFromReturnType.length !== 0)) {\n const entries = readCacheEntriesBasedOnCacheKeyFromReturnType(\n dataServiceRequest,\n requestCache,\n appCache,\n shouldReadFromAppCache,\n context,\n telemetry,\n isObservable\n );\n if (entries && entries.entry) {\n return entries;\n }\n }\n const cacheKey = { typeName: cacheObjectType, key: cacheKeyFromInput };\n\n let cachedValueBasedOnInput = requestCache.get(cacheKey);\n if (cachedValueBasedOnInput) {\n cachedValueBasedOnInput = { ...cachedValueBasedOnInput };\n } else if (shouldReadFromAppCache && appCache) {\n cachedValueBasedOnInput = appCache.copyTo(cacheKey, requestCache, isObservable);\n }\n\n if (!cachedValueBasedOnInput) {\n return readCacheEntriesBasedOnCacheKeyFromReturnType(\n dataServiceRequest,\n requestCache,\n appCache,\n shouldReadFromAppCache,\n context,\n telemetry,\n isObservable\n );\n }\n logTelemetrySource(cachedValueBasedOnInput, dataServiceRequest, cacheKeyFromInput, context, telemetry);\n\n if (cachedValueBasedOnInput.item instanceof AsyncResult) {\n if (cachedValueBasedOnInput.item.status !== 'LOADING') {\n cachedValueBasedOnInput.item = cachedValueBasedOnInput.item.result || cachedValueBasedOnInput.item.error;\n } else {\n const asyncResult = cachedValueBasedOnInput.item.then(result => {\n if (typeof result !== 'object' || result.$ref !== true) {\n return result;\n }\n\n return _resolveCacheEntryReference(\n dataServiceRequest,\n result,\n requestCache,\n appCache,\n shouldReadFromAppCache,\n isObservable\n );\n });\n return { entry: asyncResult, shouldRefresh: cachedValueBasedOnInput.shouldRefresh };\n }\n }\n\n if (\n typeof cachedValueBasedOnInput.item !== 'object' ||\n (cachedValueBasedOnInput.item &&\n // @ts-ignore -- $ref property does not exists in type object\n cachedValueBasedOnInput.item.$ref !== true)\n ) {\n return { entry: cachedValueBasedOnInput.item, shouldRefresh: cachedValueBasedOnInput.shouldRefresh };\n }\n\n const cachedValueBasedOnInputItem: any = cachedValueBasedOnInput.item;\n\n const resolvedRef = _resolveCacheEntryReference(\n dataServiceRequest,\n cachedValueBasedOnInput.item,\n requestCache,\n appCache,\n shouldReadFromAppCache,\n isAsyncResult(cachedValueBasedOnInputItem),\n isObservable\n );\n return { entry: resolvedRef, shouldRefresh: cachedValueBasedOnInput.shouldRefresh };\n};\n\nconst _saveEntityToCache = (\n dataServiceRequest: DataServiceRequest,\n data: any,\n requestCache: ICache,\n appCache: ICache,\n isCacheTypeApplication: boolean,\n isInstance: boolean = false\n): { [cacheKey: string]: any } | undefined => {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyFromInput = dataServiceRequest._cacheKeyFromInput;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyIdentifierFromReturnType = dataServiceRequest._cacheKeyIdentifierFromReturnType;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const dataServiceRequestQuery = dataServiceRequest._query;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType;\n\n if (!data || (!cacheKeyFromInput && !cacheKeyIdentifierFromReturnType)) {\n return;\n }\n\n const cacheEntries: any = {};\n const results = data;\n\n // using Object.prototype instead of Array.isArray because results can be Observable Array which can't be detected with Array.isArray\n if (!dataServiceRequestQuery.isReturnTypeACollection || Object.prototype.toString.call(results) !== '[object Array]') {\n if (cacheKeyIdentifierFromReturnType) {\n const key = `${cacheKeyIdentifierFromReturnType}-${results[cacheKeyIdentifierFromReturnType]}`;\n cacheEntries[key] = results;\n if (cacheKeyFromInput) {\n let existingCacheItem = requestCache.get({\n typeName: cacheObjectType,\n key: cacheKeyFromInput\n });\n if (existingCacheItem) {\n existingCacheItem = { ...existingCacheItem };\n }\n\n if (\n existingCacheItem &&\n existingCacheItem.item &&\n (!(existingCacheItem.item instanceof AsyncResult) || existingCacheItem.item.status === 'SUCCESS') &&\n (typeof existingCacheItem.item !== 'object' ||\n (existingCacheItem &&\n existingCacheItem.item &&\n // @ts-ignore -- $ref property does not exists in type object\n existingCacheItem?.item?.$ref !== true))\n ) {\n cacheEntries[cacheKeyFromInput] = results;\n } else {\n cacheEntries[cacheKeyFromInput] = {\n $ref: true,\n type: cacheObjectType,\n identifier: cacheKeyIdentifierFromReturnType,\n key: [key],\n // @ts-ignore -- accessing a private class variable which is a valid JS\n count: dataServiceRequest._totalCount\n };\n }\n }\n } else {\n cacheEntries[cacheKeyFromInput] = results;\n }\n } else if (!cacheKeyIdentifierFromReturnType) {\n cacheEntries[cacheKeyFromInput] = results;\n } else {\n const cacheValue = results\n .map((result: { [x: string]: any }) => {\n const identifierValue = result[cacheKeyIdentifierFromReturnType];\n if (identifierValue) {\n const key = `${cacheKeyIdentifierFromReturnType}-${identifierValue}`;\n cacheEntries[key] = result;\n return key;\n }\n })\n .filter(Boolean);\n let existingCacheItem = requestCache.get({\n typeName: cacheObjectType,\n key: cacheKeyFromInput\n });\n if (existingCacheItem) {\n existingCacheItem = { ...existingCacheItem };\n }\n if (\n existingCacheItem &&\n existingCacheItem.item &&\n (!(existingCacheItem.item instanceof AsyncResult) || existingCacheItem.item.status === 'SUCCESS') &&\n (typeof existingCacheItem.item !== 'object' ||\n (existingCacheItem &&\n existingCacheItem.item &&\n // @ts-ignore -- $ref property does not exists in type object\n existingCacheItem.item.$ref !== true))\n ) {\n cacheEntries[cacheKeyFromInput] = results;\n } else {\n if (existingCacheItem) {\n // @ts-ignore - _cacheObjectType does not exist in type ICacheItem\n const existingCacheObjectType = existingCacheItem._cacheObjectType;\n // @ts-ignore - _cacheKeyIdentifierFromReturnType does not exist in type ICacheItem\n const existingCacheKeyIdentifierFromReturnType = existingCacheItem._cacheKeyIdentifierFromReturnType;\n // @ts-ignore - _query does not exist in type ICacheItem\n const existingCacheIsReturnTypeACollection = existingCacheItem._query.isReturnTypeACollection;\n // @ts-ignore - _totalCount does not exist in type ICacheItem\n const existingCacheTotalCount = existingCacheItem._totalCount;\n\n cacheEntries[cacheKeyFromInput] = {\n $ref: true,\n type: existingCacheObjectType,\n identifier: existingCacheKeyIdentifierFromReturnType,\n isCollection: existingCacheIsReturnTypeACollection,\n key: cacheValue,\n count: existingCacheTotalCount\n };\n }\n }\n }\n\n if (cacheEntries) {\n Object.keys(cacheEntries).map(entryKey => {\n requestCache.put(\n { typeName: cacheObjectType, key: entryKey },\n { item: cacheEntries[entryKey], ...(isInstance && { instance: 'instance' }) }\n );\n\n if (appCache && isCacheTypeApplication) {\n appCache.put(\n { typeName: cacheObjectType, key: entryKey },\n { item: cacheEntries[entryKey], ...(isInstance && { instance: 'instance' }) }\n );\n }\n });\n }\n\n return cacheEntries;\n};\n\nexport const saveCacheEntries = (\n dataServiceRequest: DataServiceRequest,\n data: AsyncResult | any,\n requestCache: ICache,\n appCache: ICache,\n isCacheTypeApplication: boolean,\n isInstance: boolean = false\n): { [cacheKey: string]: any } | undefined => {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyFromInput = dataServiceRequest._cacheKeyFromInput;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheKeyIdentifierFromReturnType = dataServiceRequest._cacheKeyIdentifierFromReturnType;\n // @ts-ignore -- accessing a private class variable which is a valid JS\n const cacheObjectType = dataServiceRequest._cacheObjectType;\n\n // if return Entity is collection\n // if entity type has identifier/primary key\n // 1. cache array of primay key value of returned entity collection on input cache key\n // 2. cache individual entity on primary key\n // else\n // 1. cache output on input cache key\n //\n // else if entity type has identifier/primary key\n // 2. cache output entity on primary key\n if (!data || (!cacheKeyFromInput && !cacheKeyIdentifierFromReturnType) || !cacheObjectType) {\n return;\n }\n\n if (data instanceof AsyncResult) {\n // For a loading Promise, cache based on input cachekey, and then cache output again once complete\n if (data.status === 'LOADING') {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n data.then((result: any) => {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n if (dataServiceRequest._totalCount !== undefined) {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n data.metadata.count = dataServiceRequest._totalCount;\n }\n // @ts-ignore -- accessing a private class variable which is a valid JS\n if (dataServiceRequest && dataServiceRequest._otherOdata) {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n data.metadata.others = dataServiceRequest._otherOdata;\n }\n\n _saveEntityToCache(dataServiceRequest, result, requestCache, appCache, isCacheTypeApplication, isInstance);\n return result;\n });\n requestCache.put(\n { typeName: cacheObjectType, key: cacheKeyFromInput },\n { item: data, ...(isInstance && { instance: 'instance' }) }\n );\n\n if (appCache && isCacheTypeApplication) {\n appCache.put(\n { typeName: cacheObjectType, key: cacheKeyFromInput },\n { item: data, ...(isInstance && { instance: 'instance' }) }\n );\n }\n // For a completed promise, save the action results to the cache\n } else {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n if (dataServiceRequest._totalCount !== undefined) {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n data.metadata.count = dataServiceRequest._totalCount;\n }\n // @ts-ignore -- accessing a private class variable which is a valid JS\n if (dataServiceRequest && dataServiceRequest._otherOdata) {\n // @ts-ignore -- accessing a private class variable which is a valid JS\n data.metadata.others = dataServiceRequest._otherOdata;\n }\n _saveEntityToCache(dataServiceRequest, data.result, requestCache, appCache, isCacheTypeApplication, isInstance);\n return data.result;\n }\n } else {\n return _saveEntityToCache(dataServiceRequest, data, requestCache, appCache, isCacheTypeApplication, isInstance);\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 { EventEmitter } from 'events';\n\n/** EventEmitter is available in node, but not on the browser,\n * this class attempts to polyfill that so the action context can remain Isomorphic\n */\n/* @internal*/\n\n/**\n * Type for event emitter listener callback\n */\nexport type ListenerCallback = (...args0: T) => void;\n\n/**\n * Generic cast type\n */\nexport type GenericCallback = (...args: any) => void;\n\n/**\n * Custom isomorphic event emitter implementation\n *\n * @export\n * @class CustomEventEmitter\n */\nclass CustomEventEmitter {\n private listeners: Map = new Map();\n private eventEmitter: EventEmitter | null = typeof window !== undefined ? null : new EventEmitter();\n\n public on(event: string, callback: ListenerCallback): void {\n if (!!this.eventEmitter) {\n this.eventEmitter.on(event, callback);\n } else {\n let listeners = this.listeners.get(event);\n if (!!!listeners) {\n listeners = [];\n this.listeners.set(event, listeners);\n }\n\n listeners.push(callback);\n }\n }\n\n public emit(event: string, ...args: T): boolean {\n if (!!this.eventEmitter) {\n return this.eventEmitter.emit(event, args);\n }\n\n const listeners = this.listeners.get(event);\n\n if (listeners && listeners.length) {\n listeners.forEach(listener => {\n listener(...args);\n });\n return true;\n }\n\n return false;\n }\n\n public removeAllListeners(event: string): void {\n if (!!this.eventEmitter) {\n this.eventEmitter.removeAllListeners(event);\n } else {\n this.listeners.delete(event);\n }\n }\n}\n\nexport default new CustomEventEmitter();\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\n/* eslint-disable max-lines */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { ICache, ICacheItem, ICacheKey } from '@msdyn365-commerce/cache-internal';\nimport {\n CacheType,\n IActionContext,\n IActionInput,\n IAnyAction,\n IDataActionOptions,\n msdyn365Commerce,\n verboseLogger,\n checkVersionForFeature,\n getPerformanceUtils\n} from '@msdyn365-commerce/core-internal';\nimport { AsyncResult, DataServiceRequest, ErrorTypeEnum, isAsyncResult, ProxyError } from '@msdyn365-commerce/retail-proxy';\nimport { asSystemMetadata, ITelemetry, LogLevel, StaticTelemetry } from '@msdyn365-commerce/telemetry-internal';\nimport { get as _get, uniqWith } from 'lodash';\nimport { toJS } from 'mobx';\nimport uuidv1 from 'uuid/v1';\n\nimport { ActionError, ActionErrorStatus } from './action-error';\nimport { ActionRegistrar } from './action-registrar';\nimport { isAppCacheData, shouldReadFromAppCache, shouldWriteToAppCache } from './action-runtime-utils';\nimport { readCacheEntries, saveCacheEntries } from './cache/retail-cache-helper';\nimport EventHelper from './event-emitter';\n\nconst defaultTimeoutInMS: number = 4000;\nconst defaultHookTimeoutInMS: number = 1000;\nexport const CLIENT_HYDRATE_KEY = 'clientHydrateKey';\nexport const CLIENT_HYDRATE_TYPE = 'clientHydrate';\n\nconst Timer = (timeoutInMS: number, message: unknown) => new Promise(resolve => setTimeout(resolve.bind(resolve, message), timeoutInMS));\n\nconst ActionTimer = (timeoutInMS: number) =>\n new Promise((_resolve, reject) => setTimeout(reject.bind(reject, ActionErrorStatus.Timeout), timeoutInMS));\n\nconst ObservableActionTimer = (timeoutInMS: number) =>\n new AsyncResult((_resolve, reject) => setTimeout(reject.bind(reject, ActionErrorStatus.Timeout), timeoutInMS));\n\n/* @internal */\n/**\n * This class contains the logic to batch and de-dupe the actions that can be executed.\n * This class is also responsible for checking and saving the action response to cache.\n */\nexport default class ActionExecutor {\n public readonly action: Function;\n public readonly cacheType: CacheType;\n private readonly isBatched: boolean;\n private readonly eventId: string;\n private readonly isObservable: boolean;\n\n private inputs: IActionInput[];\n /**\n * @param action the action to execute\n * @param inputs the action input\n */\n constructor(action: Function, inputs: IActionInput[], telemetry: ITelemetry, dataActionOption?: IDataActionOptions) {\n this.action = action;\n this.eventId = uuidv1();\n this.inputs = [...inputs]; // Cloning it DO NOT use the reference\n this.isBatched = action.prototype.isBatched;\n\n this.isObservable = action.prototype.isObservable;\n\n // Cache all the calls on browser\n const masterInput = inputs[0];\n\n if (masterInput && masterInput.dataCacheType) {\n this.cacheType = masterInput.dataCacheType();\n } else if (masterInput && masterInput.shouldCacheOutput) {\n this.cacheType = masterInput.shouldCacheOutput() ? 'request' : 'none';\n telemetry.trace('shouldCacheOutput property has been deprecated. Please update the IActionInput to use dataCacheType');\n } else {\n this.cacheType = (dataActionOption && dataActionOption.cacheType) || 'none';\n // for data actions who do not have dataCacheType function, we add customer defined cachtype to the action.\n // this is used for later check if the data acton should be read from app cache.\n inputs.forEach(input => {\n input.dataCacheType = () => this.cacheType;\n });\n telemetry.trace('Neither dataCacheType nor shouldCacheOutput are set. Caching strategy will fall back to \"none\"');\n }\n }\n\n /**\n *\n * @param inputs add more inputs\n */\n public addInputs(inputs: IActionInput[]): void {\n this.inputs.push(...inputs);\n }\n\n /** Execute the action */\n public async execute(\n context: IActionContext,\n requestCache: ICache,\n appCache: ICache | null,\n bypassAppCache?: boolean,\n refreshingInputs: IActionInput[] = []\n ): Promise {\n const unique: IActionInput[] =\n refreshingInputs && refreshingInputs.length > 0\n ? this._removeDuplicates(refreshingInputs)\n : this._removeDuplicates(this.inputs);\n if (!unique.length) {\n return [];\n }\n\n const actionId = this._getActionIdFromInputs(unique);\n\n const performanceUtils = getPerformanceUtils(msdyn365Commerce, context);\n const executionId = performanceUtils?.performanceUtilsPackage.Random.Guid.generateGuid();\n\n performanceUtils?.performanceUtilsPackage.runPreReadonlyDataActionPerformanceHook({\n actionId,\n executionId,\n internalCache: performanceUtils.cache\n });\n\n const result = await this._executeDataAction(context, requestCache, appCache, bypassAppCache, refreshingInputs, unique, actionId);\n\n performanceUtils?.performanceUtilsPackage.runPostReadonlyDataActionPerformanceHook({\n actionId,\n executionId,\n internalCache: performanceUtils.cache\n });\n\n return result;\n }\n\n private async _executeDataAction(\n context: IActionContext,\n requestCache: ICache,\n appCache: ICache | null,\n bypassAppCache: boolean | undefined,\n refreshingInputs: IActionInput[],\n unique: IActionInput[],\n actionId: string\n ): Promise {\n const isRefreshingAction = refreshingInputs && refreshingInputs.length > 0;\n\n this._runPreReadHooks(actionId, unique, context)\n .then(() => null)\n .catch(err => null);\n\n // execte preReaderHook\n this._runPreReaderHooks(actionId, unique, context)\n .then(() => null)\n .catch(err => null);\n const [uncached, needsRefresh]: IActionInput[][] = this._checkForCachedData(\n unique,\n context,\n requestCache,\n appCache,\n bypassAppCache,\n isRefreshingAction\n );\n\n if (!uncached.length) {\n // excute readOnly post hook with all cached actions ouptput\n await this._fetchOutputsAndRunPostReadHook(actionId, unique, requestCache, context);\n return needsRefresh;\n } else {\n const cachedActions = unique.filter(value => !uncached.includes(value));\n if (cachedActions.length) {\n // fetch the output for all cached data action, and run readOnly hooks. The uncached actions will be excuted later.\n await this._fetchOutputsAndRunPostReadHook(actionId, cachedActions, requestCache, context);\n }\n }\n\n let outputs: any[] = [];\n\n // VNext observable promise based flow\n // Create the AsyncResult and immediately return it\n if (this.isObservable) {\n if (this.isBatched) {\n this._executeBatchedObservableActions(uncached, requestCache, appCache, context, isRefreshingAction);\n } else {\n this._executeObservableAction(uncached[0], requestCache, appCache, context, isRefreshingAction);\n }\n return needsRefresh;\n }\n\n if (this.isBatched) {\n // TODO: Have a max batch count on the action\n outputs = await this._actionWrapper(uncached, context, isRefreshingAction);\n\n if (outputs && outputs.length !== uncached.length) {\n // TODO Throw\n context.telemetry.log(\n LogLevel.Trace,\n 'Length of input array {uncached_length} does not meet the output array {outputs_length}',\n { values: [uncached.length, outputs.length] }\n );\n }\n } else {\n outputs[0] = await this._actionWrapper(uncached[0], context, isRefreshingAction);\n }\n\n if (!outputs || outputs.length === 0) {\n return needsRefresh;\n }\n\n this._saveResponseToCache(uncached, outputs, context, requestCache, appCache);\n return needsRefresh;\n }\n\n // the retail proxy data actions who do not have return type should not interact with cache.\n private _checkShouldInteractWithCache(input: IActionInput, typeName: string | undefined): boolean {\n return !(input instanceof DataServiceRequest) || !!typeName;\n }\n\n private async _fetchOutputsAndRunPostReadHook(\n actionId: string,\n inputs: IActionInput[],\n requestCache: ICache,\n context: IActionContext\n ): Promise {\n const outputs = inputs.map(i => {\n const cacheKey = { typeName: i.getCacheObjectType(), key: i.getCacheKey() };\n // if the retail data action does not have return type, we do not read the output from cache.\n let cacheItem;\n if (this._checkShouldInteractWithCache(i, cacheKey.typeName)) {\n cacheItem = requestCache.get>(cacheKey);\n }\n return !!cacheItem ? requestCache.getValue(cacheKey) : null;\n });\n this._runPostReadHooks(actionId, inputs, outputs, context)\n .then(() => null)\n .catch(err => null);\n this._runPostReaderHooks(actionId, inputs, outputs, context)\n .then(() => null)\n .catch(err => null);\n }\n private _removeDuplicates(inputs: IActionInput[]): IActionInput[] {\n if (!this.isBatched) {\n return inputs;\n }\n\n return uniqWith(\n inputs,\n (inputA: IActionInput, inputB: IActionInput) =>\n inputA.getCacheKey() === inputB.getCacheKey() && inputA.getCacheObjectType() === inputB.getCacheObjectType()\n );\n }\n\n private _getActionIdFromInputs(inputs: IActionInput | IActionInput[]): string {\n let inputsActionId;\n for (const input of Array.isArray(inputs) ? inputs : [inputs]) {\n if (typeof input.getActionId === 'function') {\n inputsActionId = input.getActionId();\n }\n }\n return inputsActionId || (>this.action).prototype.id;\n }\n\n private _getActionFromId(actionId?: string): Function {\n let { action } = this;\n if (actionId) {\n const registration = ActionRegistrar.resolveRegistration(actionId, >action);\n if (registration) {\n action = >registration.action;\n return ActionRegistrar.unwrapAction(>action);\n }\n }\n return action;\n }\n\n private async _runPreReadHooks(id: string, inputs: IActionInput | IActionInput[], context: IActionContext): Promise {\n const preReadHooks = ActionRegistrar.getPreReadHooks(id);\n if (!preReadHooks) {\n return;\n }\n\n const hookTimeout = Number(_get(context, 'requestContext.query.actionHookTimeout')) || defaultHookTimeoutInMS;\n const timer = Timer(hookTimeout, ActionErrorStatus.HookTimeout);\n\n const preReadHooksArray = Array.from(preReadHooks);\n return preReadHooksArray.reduce(async (previousTask, currentTask) => {\n await previousTask;\n try {\n await Promise.race([timer, currentTask(inputs, context)]);\n } catch (error) {\n const actionId = id || 'unnamed';\n verboseLogger(\n context && context.requestContext,\n context.telemetry,\n \"Error execution hook of action_id '{id}', returning null\",\n {\n values: [asSystemMetadata(actionId)],\n exception: error\n },\n LogLevel.Trace\n );\n }\n return Promise.resolve();\n }, Promise.resolve());\n }\n\n private async _runPostReaderHooks(\n id: string,\n inputs: IActionInput | IActionInput[],\n actionResult: unknown,\n context: IActionContext\n ): Promise {\n const postReaderHooks = ActionRegistrar.getPostReaderHooks(id);\n if (!postReaderHooks) {\n return;\n }\n\n const hookTimeout = Number(_get(context, 'requestContext.query.actionHookTimeout')) || defaultHookTimeoutInMS;\n const timer = Timer(hookTimeout, ActionErrorStatus.HookTimeout);\n const postReaderHooksArray = Array.from(postReaderHooks);\n return postReaderHooksArray.reduce(async (previousTask, currentTask) => {\n await previousTask;\n try {\n await Promise.race([timer, currentTask(inputs, actionResult, context)]);\n } catch (error) {\n const actionId = id || 'unnamed';\n verboseLogger(\n context && context.requestContext,\n context.telemetry,\n \"Error execution hook of action_id '{id}', returning null\",\n {\n values: [asSystemMetadata(actionId)],\n exception: error\n },\n LogLevel.Trace\n );\n }\n return Promise.resolve();\n }, Promise.resolve());\n }\n\n private async _runPreReaderHooks(id: string, inputs: IActionInput | IActionInput[], context: IActionContext): Promise {\n const preReaderHooks = ActionRegistrar.getPreReaderHooks(id);\n if (!preReaderHooks) {\n return;\n }\n\n const hookTimeout = Number(_get(context, 'requestContext.query.actionHookTimeout')) || defaultHookTimeoutInMS;\n const timer = Timer(hookTimeout, ActionErrorStatus.HookTimeout);\n\n const preReaderHooksArray = Array.from(preReaderHooks);\n return preReaderHooksArray.reduce(async (previousTask, currentTask) => {\n await previousTask;\n try {\n await Promise.race([timer, currentTask(inputs, context)]);\n } catch (error) {\n const actionId = id || 'unnamed';\n verboseLogger(\n context && context.requestContext,\n context.telemetry,\n \"Error execution hook of action_id '{id}', returning null\",\n {\n values: [asSystemMetadata(actionId)],\n exception: error\n },\n LogLevel.Trace\n );\n }\n return Promise.resolve();\n }, Promise.resolve());\n }\n\n private async _runPreHooks(\n id: string,\n inputs: IActionInput | IActionInput[],\n context: IActionContext\n ): Promise {\n const preHooks = ActionRegistrar.getPreHooks(id);\n if (!preHooks) {\n return;\n }\n const hookTimeout = Number(_get(context, 'requestContext.query.actionHookTimeout')) || defaultHookTimeoutInMS;\n const timer = Timer(hookTimeout, ActionErrorStatus.HookTimeout);\n\n const preHooksArray = Array.from(preHooks);\n return preHooksArray.reduce(async (previousTask, currentTask) => {\n const prevInput = await previousTask;\n let tmpNextInput: unknown;\n try {\n tmpNextInput = await Promise.race([timer, currentTask(prevInput, context)]);\n } catch (error) {\n throw error;\n }\n const finalNextInput: IActionInput | IActionInput[] =\n tmpNextInput === ActionErrorStatus.HookTimeout || !tmpNextInput ? prevInput : tmpNextInput;\n return Promise.resolve(finalNextInput);\n }, Promise.resolve(inputs));\n }\n\n private async _runPostReadHooks(\n id: string,\n inputs: IActionInput | IActionInput[],\n actionResult: unknown,\n context: IActionContext\n ): Promise {\n const postHooks = ActionRegistrar.getPostReadHooks(id);\n\n if (!postHooks) {\n return;\n }\n\n const hookTimeout = Number(_get(context, 'requestContext.query.actionHookTimeout')) || defaultHookTimeoutInMS;\n const timer = Timer(hookTimeout, ActionErrorStatus.HookTimeout);\n const postReadHooksArray = Array.from(postHooks);\n return postReadHooksArray.reduce(async (previousTask, currentTask) => {\n await previousTask;\n try {\n await Promise.race([timer, currentTask(inputs, actionResult, context)]);\n } catch (error) {\n const actionId = id || 'unnamed';\n verboseLogger(\n context && context.requestContext,\n context.telemetry,\n \"Error execution hook of action_id '{id}', returning null\",\n {\n values: [asSystemMetadata(actionId)],\n exception: error\n },\n LogLevel.Trace\n );\n }\n return Promise.resolve();\n }, Promise.resolve());\n }\n\n private async _runPostHooks(\n id: string,\n inputs: IActionInput | IActionInput[],\n actionResult: unknown,\n context: IActionContext\n ): Promise {\n const postHooks = ActionRegistrar.getPostHooks(id);\n if (!postHooks) {\n return;\n }\n const hookTimeout = Number(_get(context, 'requestContext.query.actionHookTimeout')) || defaultHookTimeoutInMS;\n const timer = Timer(hookTimeout, ActionErrorStatus.HookTimeout);\n const postHooksArray = Array.from(postHooks);\n return postHooksArray.reduce(async (previousTask, currentTask) => {\n const prevOutput = await previousTask;\n let tmpNextOutput: unknown;\n try {\n tmpNextOutput = await Promise.race([timer, currentTask(inputs, prevOutput, context)]);\n } catch (error) {\n throw error;\n }\n const finalNextOutput = tmpNextOutput === ActionErrorStatus.HookTimeout || !tmpNextOutput ? prevOutput : tmpNextOutput;\n return Promise.resolve(finalNextOutput);\n }, Promise.resolve(actionResult));\n }\n\n /**\n * Add performance logging before and after calling the action?\n */\n // eslint-disable-next-line complexity\n private async _actionWrapper(inputs: IActionInput | IActionInput[], context: IActionContext, isRefreshing?: boolean): Promise {\n const actionId = this._getActionIdFromInputs(inputs);\n const action = this._getActionFromId(actionId);\n\n try {\n // Run pre data action hooks\n const _inputs = await this._runPreHooks(actionId, inputs, context);\n if (_inputs) {\n inputs = _inputs;\n }\n } catch (e) {\n const convertedError = this._convertToJSError(e);\n StaticTelemetry.log(\n LogLevel.Error,\n `Error executing pre-hooks for ${\n isRefreshing ? 'Refreshing' : ''\n } action '{actionName}', returning null. Error '{errorName}'. CorrelationId: '{CorrelationId}'`,\n {\n values: [\n actionId || (action && action.name) || 'unnamed',\n convertedError.name || convertedError.message,\n (convertedError).data ? (convertedError).data.CorrelationId : ''\n ],\n exception: e\n }\n );\n return new ActionError(e);\n }\n let actionResult;\n try {\n const timeOut = Number(_get(context, 'requestContext.query.actionTimeout'));\n const features = _get(context, 'requestContext.features', {});\n const serverSideCustomerTimeout =\n msdyn365Commerce.platformSettings && msdyn365Commerce.platformSettings.serverSideDataActionTimeoutInMs;\n const clientSideCustomerTimeout =\n msdyn365Commerce.platformSettings && msdyn365Commerce.platformSettings.clientSideDataActionTimeoutInMs;\n let promises;\n if (process.env.CURRENT_ENVIRONMENT === 'node' && (features.action_timeout || serverSideCustomerTimeout)) {\n const timeOutValue = (features.action_timeout && timeOut ? timeOut : serverSideCustomerTimeout) || defaultTimeoutInMS;\n promises = [this.isObservable ? ObservableActionTimer(timeOutValue) : ActionTimer(timeOutValue), action(inputs, context)];\n } else if (typeof window !== 'undefined' && msdyn365Commerce.isBrowser && clientSideCustomerTimeout) {\n promises = [\n this.isObservable ? ObservableActionTimer(clientSideCustomerTimeout) : ActionTimer(clientSideCustomerTimeout),\n action(inputs, context)\n ];\n } else {\n promises = [action(inputs, context)];\n }\n // run the data action\n actionResult = await Promise.race(promises);\n } catch (e) {\n if (e.message && e.message.length > 0 && !e.message.includes('Action id')) {\n e.message = `Action id: ${actionId}, Error message: ${e.message}`;\n }\n const convertedError = this._convertToJSError(e);\n StaticTelemetry.log(\n LogLevel.Error,\n `Error executing ${\n isRefreshing ? 'Refreshing' : ''\n } action '{actionName}', returning null. Error '{errorName}'. CorrelationId: '{CorrelationId}'`,\n {\n values: [\n actionId || (action && action.name) || 'unnamed',\n convertedError.name || convertedError.message,\n (convertedError).data ? (convertedError).data.CorrelationId : ''\n ],\n exception: e\n }\n );\n let error = new ActionError(e);\n // For AsyncResult, we need to signal that this was a rejection by throwing\n if (this.isObservable) {\n // Proxy Errors come wrapped as an array\n if (Array.isArray(e)) {\n error =\n e[0]._errorCode === ErrorTypeEnum.SERVICE_UNAVAILABLE\n ? new ActionError(ActionErrorStatus.ServiceUnavailable)\n : ProxyError.toError(e[0]);\n } else {\n error =\n e._errorCode === ErrorTypeEnum.SERVICE_UNAVAILABLE\n ? new ActionError(ActionErrorStatus.ServiceUnavailable)\n : new ActionError(e);\n }\n }\n\n throw error;\n }\n\n try {\n // Run post data action hooks\n const result = await this._runPostHooks(actionId, inputs, actionResult, context);\n if (result) {\n actionResult = result;\n }\n this._runPostReadHooks(actionId, inputs, actionResult, context)\n .then(() => null)\n .catch(err => null);\n this._runPostReaderHooks(actionId, inputs, actionResult, context)\n .then(() => null)\n .catch(err => null);\n } catch (e) {\n const convertedError = this._convertToJSError(e);\n StaticTelemetry.log(\n LogLevel.Error,\n `Error executing post-hooks for ${\n isRefreshing ? 'Refreshing' : ''\n } action '{actionName}', returning null. Error '{errorName}'. CorrelationId: '{CorrelationId}'`,\n {\n values: [\n actionId || (action && action.name) || 'unnamed',\n convertedError.name || convertedError.message,\n (convertedError).data ? (convertedError).data.CorrelationId : ''\n ],\n exception: e\n }\n );\n }\n return actionResult;\n }\n\n private _shouldUseInstanceCache = () => {\n return checkVersionForFeature('instance_cache') || msdyn365Commerce.platformSettings?.shouldUseInstanceCache;\n };\n\n private _saveResponseToCache(\n uncached: IActionInput[],\n outputs: any[],\n context: IActionContext,\n requestCache: ICache,\n appCache: ICache | null\n ): void {\n uncached.forEach((i, idx) => {\n const actionId = this._getActionIdFromInputs(i);\n if (i instanceof DataServiceRequest && !!i.getCacheObjectType()) {\n try {\n const appCacheData = appCache;\n const disableUsingInstanceCache =\n context.requestContext.features && context.requestContext.features.disable_instance_cache;\n const usingInstanceCache = !disableUsingInstanceCache && this._shouldUseInstanceCache();\n saveCacheEntries(i, outputs[idx], requestCache, appCacheData, shouldWriteToAppCache(i, appCache), usingInstanceCache);\n } catch (e) {\n const { action } = this;\n const actionName = actionId || (action && action.name) || 'unnamed';\n verboseLogger(\n context && context.requestContext,\n context.telemetry,\n \"Error execution action '{actionName}', returning null\",\n {\n values: [asSystemMetadata(actionName)],\n exception: e\n },\n LogLevel.Trace\n );\n\n return null;\n }\n } else {\n const entityId = i.getCacheKey();\n const entityType = i.getCacheObjectType();\n\n if (!!entityId && !!entityType) {\n const entry = outputs[idx];\n const cacheKey = { typeName: entityType, key: entityId };\n if (ActionError.isActionError(entry)) {\n if (!ActionError.isTimeoutError(entry)) {\n requestCache.put(cacheKey, { item: ((entry)).error, error: true });\n }\n // else do nothing\n } else {\n if (appCache && shouldWriteToAppCache(i, appCache)) {\n appCache.put(cacheKey, { item: entry });\n }\n const cacheEntry = { item: entry };\n if (i.dataCacheType && i.dataCacheType() === 'instance') {\n Object.assign(cacheEntry, { instance: 'instance' });\n }\n requestCache.put(cacheKey, cacheEntry);\n }\n }\n }\n });\n }\n\n /**\n * Method that executes a set of batchable observable data actions\n * @param uncached The uncached action inputs\n * @param requestCache The request cache\n * @param appCache The application cache, if available\n * @param context The action context\n */\n private _executeBatchedObservableActions(\n uncached: IActionInput[],\n requestCache: ICache,\n appCache: ICache | null,\n context: IActionContext,\n isRefreshing: boolean = false\n ): void {\n const unresolvedSet = new Set();\n const uncachedInputs: IActionInput[] = [];\n // Create an OP for each input in the batch that does not yet exist in cache\n const asyncOutputs = uncached\n .map((input, index) => {\n unresolvedSet.add(index);\n const executor = (resolve: any, reject: any) => {\n // When the side promise completes, update each individual OP to have it's piece of the entire batched result\n new Promise((innerResolve, innerReject) => {\n const onEventIdCompletion = (value: any) => {\n innerResolve(<{}>value);\n };\n\n const onEventIdFinalCompletion = () => {\n innerResolve();\n };\n\n const onEventIdFailure = (error: any) => {\n innerReject(error);\n };\n\n // Standard success event\n EventHelper.on(`${this.eventId}-complete-${index}-${input.getCacheKey()}`, onEventIdCompletion);\n\n // No response closing event\n EventHelper.on(`${this.eventId}-final-complete-${index}-${input.getCacheKey()}`, onEventIdFinalCompletion);\n\n // Failure event\n EventHelper.on(`${this.eventId}-failure`, onEventIdFailure);\n })\n .then(result => {\n EventHelper.removeAllListeners(`${this.eventId}-complete-${index}-${input.getCacheKey()}`);\n EventHelper.removeAllListeners(`${this.eventId}-final-complete-${index}-${input.getCacheKey()}`);\n resolve(result);\n })\n .catch(error => {\n EventHelper.removeAllListeners(`${this.eventId}-failure`);\n reject(error);\n });\n };\n\n // Already cached OP logic (rerun)\n // we only try to fetch the saved promise from cache when the retail proxy data action has cached type\n let cachedPromise;\n if (this._checkShouldInteractWithCache(input, input.getCacheObjectType())) {\n cachedPromise = requestCache.getValue({ key: input.getCacheKey(), typeName: input.getCacheObjectType() });\n }\n if (cachedPromise && isAsyncResult(cachedPromise) && !isRefreshing) {\n (>cachedPromise).run(executor);\n return;\n }\n\n // Not yet cached OP logic (initialize, run)\n uncachedInputs.push(input);\n return new AsyncResult(executor);\n })\n .filter(Boolean);\n\n // Save never before cached OPs to cache\n this._saveResponseToCache(uncachedInputs, asyncOutputs, context, requestCache, appCache);\n\n // Run the actual action\n this._actionWrapper(uncached, context, isRefreshing)\n .then((actionResults: unknown[]) => {\n // Emit events with the associated result so that each individual OP in the cache\n // can be updated appropriately\n actionResults.forEach((actionResult, index) => {\n unresolvedSet.delete(index);\n EventHelper.emit(`${this.eventId}-complete-${index}-${uncached[index].getCacheKey()}`, actionResult);\n });\n })\n .catch(error => {\n EventHelper.emit(`${this.eventId}-failure`, error);\n })\n .finally(() => {\n // In the event some inputs do not have results, we need to resolve the promises anyhow\n unresolvedSet.forEach(unresolvedIndex => {\n const index = unresolvedIndex;\n EventHelper.emit(`${this.eventId}-final-complete-${index}-${uncached[index].getCacheKey()}`);\n });\n });\n }\n\n /**\n * Executes a standard (non-batched) observable data action\n * @param input The action input\n * @param requestCache The request cache\n * @param appCache The application cache, if available\n * @param context The action context\n */\n private _executeObservableAction(\n input: IActionInput,\n requestCache: ICache,\n appCache: ICache | null,\n context: IActionContext,\n isRefreshing: boolean = false\n ): void {\n const cacheKey = { key: input.getCacheKey(), typeName: input.getCacheObjectType() };\n const executor = (resolve: any, reject: any) => {\n this._actionWrapper(input, context, isRefreshing)\n .then(result => {\n resolve(result);\n })\n .catch(error => {\n // If error is timeout error, lookup app-cache if there\n // is a valid entity for the given cacheKey in app-cache\n if (ActionError.isServiceUnavailable(error) && isAppCacheData(input, appCache)) {\n const cachedItem = appCache?.getValue(cacheKey);\n if (cachedItem) {\n return resolve(cachedItem);\n }\n }\n return reject(error);\n });\n };\n // we only try to fetch the saved promise from cache when the retail proxy data action has cached type\n let cachedPromise;\n if (this._checkShouldInteractWithCache(input, input.getCacheObjectType())) {\n cachedPromise = requestCache.getValue({ key: input.getCacheKey(), typeName: input.getCacheObjectType() });\n }\n // If OP is already in cache, just rerun it\n if (cachedPromise && isAsyncResult(cachedPromise) && !isRefreshing) {\n (>cachedPromise).run(executor);\n return;\n }\n\n // Uncached promises need to be saved to cache\n const asyncOutput = new AsyncResult(executor);\n this._saveResponseToCache([input], [asyncOutput], context, requestCache, appCache);\n }\n\n private _checkForCachedData(\n inputs: IActionInput[],\n context: IActionContext,\n requestCache: ICache,\n appCache: ICache | null,\n bypassCache?: boolean,\n refreshing?: boolean\n ): IActionInput[][] {\n const mock = _get(context, 'requestContext.query.actionMock');\n\n if (mock) {\n inputs = this._interceptCacheForMocks(inputs, context, requestCache);\n }\n\n const clientHydrateCacheKey: ICacheKey = {\n key: CLIENT_HYDRATE_KEY,\n typeName: CLIENT_HYDRATE_TYPE\n };\n const isClientHydrate = requestCache.getValue(clientHydrateCacheKey);\n const disableUsingInstanceCache = context.requestContext.features && context.requestContext.features.disable_instance_cache;\n const usingInstanceCache = !disableUsingInstanceCache && this._shouldUseInstanceCache();\n // if the cache type is set a none don't check cache for data and return inputs for execution\n // lazyresponse == true means it has been called from load-data on browser. In this case, data is already present in request-cache due to run on server side\n if (this.cacheType === 'none' || refreshing) {\n // we should keep read from cache when a dataAction\n // 1. run on server\n // 2. none cache type\n // 3. action running as part of initial page load (client hydration).\n // This is important to stay consistent with what we render on server.\n // 4. when instance cache feature is on.\n if (!(this.cacheType === 'none' && inputs[0].runOn === 'server' && isClientHydrate && usingInstanceCache) || refreshing) {\n return [inputs, []];\n }\n }\n\n const uncached: IActionInput[] = [];\n const refresh: IActionInput[] = [];\n // eslint-disable-next-line complexity\n inputs.forEach((i, idx) => {\n const actionId = this._getActionIdFromInputs(i);\n const cacheKey = { typeName: i.getCacheObjectType(), key: i.getCacheKey() };\n // if the retail proxy action does not have return type, we do not check if its in the cache\n if (i instanceof DataServiceRequest && !cacheKey.typeName) {\n uncached.push(i);\n return;\n }\n let cacheItem: ICacheItem | undefined = requestCache.get(cacheKey);\n if (cacheItem && isAsyncResult(cacheItem.item) && (>cacheItem.item).status === 'FAILED') {\n if (!i.runOn || i.runOn !== 'serverOnly') {\n uncached.push(i);\n }\n } else if (cacheItem && cacheItem.item && cacheItem.item.status === 'LOADING' && cacheItem.item.runOn === 'client') {\n // Ideally, an action configured to runOn client should never interfere with actions running on server.\n // However, it is possible that parent action with runon 'server' could be dependent on an action that is configured\n // by partner to be runOn 'client'. In this case, the child action implicitly becomes a server action. Therefore, lets\n // include such actions in the uncached list so that it gets picked and executed later.\n uncached.push(i);\n } else if (i instanceof DataServiceRequest) {\n try {\n if (bypassCache && context.requestContext.features && !!!context.requestContext.features.disable_bypass_request_cache) {\n uncached.push(i);\n } else {\n const appCacheData = appCache;\n const cacheEntries = readCacheEntries(\n i,\n requestCache,\n appCacheData,\n !!!bypassCache && shouldReadFromAppCache(i, appCache),\n context.requestContext,\n undefined,\n !!this.isObservable\n );\n if (!cacheEntries.entry) {\n uncached.push(i);\n }\n if (cacheEntries && cacheEntries.shouldRefresh) {\n refresh.push(i);\n }\n }\n } catch (e) {\n const { action } = this;\n const actionName = actionId || (action && action.name) || 'unnamed';\n verboseLogger(\n context && context.requestContext,\n context.telemetry,\n \"Error execution action '{actionName}', returning null\",\n {\n values: [asSystemMetadata(actionName)],\n exception: e\n },\n LogLevel.Trace\n );\n uncached.push(i);\n }\n } else {\n if (bypassCache && context.requestContext.features && !context.requestContext.features.disable_bypass_request_cache) {\n uncached.push(i);\n } else {\n if (!cacheItem && !!!bypassCache && appCache && shouldReadFromAppCache(i, appCache)) {\n cacheItem = appCache.copyTo(cacheKey, requestCache, !!this.isObservable);\n if (cacheItem && cacheItem.shouldRefresh) {\n refresh.push(i);\n }\n }\n\n if (!cacheItem || !cacheItem.item) {\n uncached.push(i);\n return;\n }\n }\n }\n });\n return [uncached, refresh];\n }\n\n /**\n * Searches cache for mocks matching the inputs\n * @param inputs Current action inputs\n * @param context Current action context\n * @param requestCache Current request cache\n */\n private _interceptCacheForMocks(inputs: IActionInput[], context: IActionContext, requestCache: ICache): IActionInput[] {\n const uncached: IActionInput[] = [];\n const actionId: string = this.action.prototype.id;\n inputs.forEach(i => {\n let mockItem = this._getMockItem(i.getCacheObjectType(), i.getCacheKey(), requestCache);\n if (!mockItem && actionId) {\n mockItem = this._getMockItem(actionId, i.getCacheKey(), requestCache);\n }\n let existingItem;\n if (this._checkShouldInteractWithCache(i, i.getCacheObjectType())) {\n existingItem = requestCache.get({ typeName: i.getCacheObjectType(), key: i.getCacheKey() });\n }\n\n if (!!mockItem && !!mockItem.item && !existingItem) {\n const mockItemJSObject = toJS(mockItem.item);\n if (this.isObservable) {\n requestCache.put(\n { typeName: i.getCacheObjectType(), key: i.getCacheKey() },\n { item: AsyncResult.resolve(mockItemJSObject) }\n );\n } else {\n requestCache.put({ typeName: i.getCacheObjectType(), key: i.getCacheKey() }, { item: toJS(mockItemJSObject) });\n }\n } else {\n uncached.push(i);\n }\n });\n return uncached;\n }\n\n private _getMockItem(cacheNamespace: string, cacheKey: string, requestCache: ICache): ICacheItem | undefined {\n return (\n requestCache.get({ typeName: '__MOCK', key: `${cacheNamespace}:${cacheKey}` }) ||\n requestCache.get({ typeName: '__MOCK', key: `${cacheNamespace}:*` })\n );\n }\n\n private _convertToJSError(e: any): Error {\n // Proxy Error usually comes wrapped in an array\n // If it is, unbox it and conver to regular Error\n if (Array.isArray(e)) {\n const proxyError: ProxyError = e[0];\n if (proxyError.ErrorCode) {\n return ProxyError.toError(proxyError);\n }\n } else if (e.ErrorCode) {\n return ProxyError.toError(e);\n }\n // Return regular Error if not ProxyError\n return new Error(e.message || '');\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport {\n CacheType,\n IAction,\n IActionContext,\n IActionInput,\n IAny,\n ICommerceApiSettings,\n ICreateActionContext,\n IGeneric,\n IRequestContext\n} from '@msdyn365-commerce/core-internal';\nimport { getCatalogsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CatalogsDataActions.g';\nimport { createObservableDataAction } from '../create-data-action.vnext';\n\nconst buildCacheKey = (base: string, apiSettings: ICommerceApiSettings, locale?: string): string => {\n return `${base}-chanId:${apiSettings.channelId}-catId:${apiSettings.catalogId}${locale ? `-${locale}` : ''}`;\n};\n\n/**\n * Input for get-catalogs data action.\n */\nexport class CatalogsInput implements IActionInput {\n public readonly channelId: number;\n\n public readonly customerAccountNumber?: string;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n private readonly locale?: string;\n\n public constructor(context: IRequestContext, customerAccountNumber?: string) {\n this.channelId = context.apiSettings.channelId ? Number(context.apiSettings.channelId) : 0;\n this.customerAccountNumber = customerAccountNumber ? customerAccountNumber : context.user.customerAccountNumber;\n this.apiSettings = context.apiSettings;\n this.locale = context.locale || '';\n }\n\n /**\n * Get Cache Key.\n * @returns - Cache key string.\n */\n // eslint-disable-next-line @typescript-eslint/restrict-template-expressions -- customer account number can be undefined.\n // Removing customer account number dependency as API does not need customer account number and cache is of request type.\n // Keeping the contract same not to break backward compatibility.\n public getCacheKey = (): string => buildCacheKey(`${this.channelId}`, this.apiSettings, this.locale);\n\n /**\n * Get Cache object type.\n * @returns - Cache object type.\n */\n public getCacheObjectType = (): string => 'productCatalogs';\n\n /**\n * Get data cache type.\n * @returns - Cache type enum.\n */\n public dataCacheType = (): CacheType => 'request';\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData - The input data passed to the createInput method.\n * @param customerAccountNumber - Customer account number.\n * @returns - Catalogs input.\n */\nexport const createCatalogsInput = (inputData: ICreateActionContext>, customerAccountNumber?: string): IActionInput => {\n if (!inputData.requestContext.user.isAuthenticated) {\n throw new Error('Unable to get product catalog. User is not authenticated.');\n }\n return new CatalogsInput(inputData.requestContext, customerAccountNumber);\n};\n\n/**\n * Calls the Retail API and returns the product catalog for an user.\n * @param input - Catalogs Input.\n * @param context - Current context.\n * @returns - Product catalog for the user.\n */\nexport async function getCatalogAction(input: CatalogsInput, context: IActionContext): Promise {\n const productCatalogs = await getCatalogsAsync({ callerContext: context }, input.channelId, true);\n return productCatalogs;\n}\n\n/**\n * The GetProductCatalogs Data Action\n * Returns product catalogs.\n */\nexport const getCatalogActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce/get-catalogs',\n action: getCatalogAction as IAction,\n input: createCatalogsInput\n});\n\nexport default getCatalogActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IActionContext, IRequestContext, IRequestContextParams } from '@msdyn365-commerce/core-internal';\nimport { ProductCatalog } from '@msdyn365-commerce/retail-proxy';\nimport { CatalogsInput, getCatalogActionDataAction } from './actions/get-catalogs';\n\n/**\n * Returns catalog name for a given catalog id\n * @param context Action Context\n * @param context Catalog Id\n */\nexport const getCatalogName = async (context: IActionContext, catalogId: number): Promise => {\n if (!context || !context.requestContext || !context.requestContext.apiSettings) {\n return '';\n }\n\n const customerAccountNumber = context.requestContext.user.customerAccountNumber;\n const productCatalogs = await getCatalogActionDataAction(new CatalogsInput(context.requestContext, customerAccountNumber), context);\n\n return findCatalogName(productCatalogs, catalogId);\n};\n\n/**\n * Returns true if data action cache needs to be bypassed\n * @param requestContext rendering context\n * @returns cachebypass status\n */\nexport const shouldByPassCache = (requestContext: IRequestContext) => {\n return (requestContext.query && !!requestContext.query.cachebypass) || isPageInsightsEnabled(requestContext.params);\n};\n\nconst isPageInsightsEnabled = (params: IRequestContextParams): boolean => {\n return params?.pageInsights === 'all' || params?.pageInsights === 'info' || params?.pageInsights === 'error';\n};\n\n/**\n * Matches the catalog if with the productCatalogs response and returns catalog name\n * @param productCatalogs Product catalogs response\n * @param catalogId Catalog id to search in Product catalogs response\n * @returns Catalog name\n */\nexport const findCatalogName = (productCatalogs: ProductCatalog[], catalogId: number): string => {\n let catalogName = '';\n productCatalogs &&\n productCatalogs.forEach((catalog: ProductCatalog) => {\n if (catalog.RecordId === catalogId && catalog.Name) {\n catalogName = catalog.Name;\n }\n });\n return catalogName;\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 { ICache, ICacheItem, ICacheKey, ICacheSource, RequestCache } from '@msdyn365-commerce/cache-internal';\nimport {\n IAction,\n IActionContext,\n IActionInput,\n IDataActionOptions,\n msdyn365Commerce,\n verboseLogger\n} from '@msdyn365-commerce/core-internal';\nimport { AsyncResult, DataServiceRequest, isAsyncResult } from '@msdyn365-commerce/retail-proxy';\nimport {\n asSystemMetadata,\n GenericConsoleLogger,\n ITelemetry,\n LogLevel,\n StaticTelemetry,\n Telemetry\n} from '@msdyn365-commerce/telemetry-internal';\nimport uuidv1 from 'uuid/v1';\nimport ActionExecutor from './action-executor';\nimport { ActionRegistrar } from './action-registrar';\nimport { shouldWriteToAppCache } from './action-runtime-utils';\nimport { addLocaleInformation, readCacheEntries, saveCacheEntries } from './cache/retail-cache-helper';\nimport EventHelper from './event-emitter';\nimport { shouldByPassCache } from './helpers';\n\n/**\n * Cache key for actions which needs to be refreshed after page render\n */\nexport const REFRESH_ACTIONS_CACHE_KEY: ICacheKey = {\n typeName: '__REFRESH_CONFIGS_TYPE__',\n key: '__refresh_cache_key'\n};\n\n/**\n * This interface is used in ActionContext only, for saving information needed to refresh data actions.\n *\n */\nexport interface IRefreshConfigs {\n actionInputs: IActionInput[];\n paramExecutor: ActionExecutor;\n}\n/**\n * This class contains the primary logic which controls the execution flow of the action runtime\n *\n */\n/* @internal*/\n/**\n *\n */\nexport class ActionContext implements IActionContext {\n public static maxDepth: number = 200;\n\n public readonly executionParams: ActionExecutor[] = [];\n public readonly requestContext: any;\n\n /**\n * Telemetry object to log information\n */\n public telemetry: ITelemetry;\n\n private readonly requestCache: ICache;\n private readonly appCache: ICache | null = null;\n private readonly cacheKeyMap: string[] = [];\n private readonly refreshConfigs: IRefreshConfigs[] = [];\n\n /**\n * Action context creates a new instance for every tier of execution,\n * This number specifies the depth/current tier in the execution flow\n */\n private readonly currentExecutionTier: number;\n\n /**\n * Thread ID\n */\n private readonly threadId: string;\n\n /**\n * Event ID\n * Unique ID for each action context, automatically generated\n */\n private readonly eventId: string;\n\n /**\n * Whether the current context as executed\n */\n private hasRun: boolean = false;\n\n /**\n * When this number is > 0, the current context will wait for all the actions to\n * be queued before kicking off execution.\n * This number is decremented for every action that is successful in current tier.\n */\n private expectedActionsInCurrentTier: number;\n\n /**\n * variable tracking the current number of actions that are in queue, context will wait for this to match the expected count\n */\n private currentActionsInQueue: number = 0;\n\n /**\n * Object to track the next tier number.\n */\n private nextTierCounter: { next: number } = { next: 0 };\n\n /**\n * When true will span a new independent action context when an action is executed resetting depth limits\n * Otherwise will invoke the action in the current context.\n */\n private spawnChildOnExecute: boolean = false;\n\n /**\n * @param currentExecutionTier: Current execution tier in the data fetch pipeline, max is currently 7\n * @param expectedActionCount: This value specifies the expected number of actions to be queued before\n * we kick off execution in the current tier\n */\n constructor(args: {\n id: string;\n requestContext: any;\n requestCache: ICache;\n appCache: ICache | null;\n currentExecutionTier?: number;\n expectedActionCount?: number;\n spawnChildOnExecute?: boolean;\n telemetry?: ITelemetry;\n }) {\n const {\n id,\n requestContext,\n requestCache,\n appCache,\n currentExecutionTier,\n expectedActionCount,\n spawnChildOnExecute,\n telemetry\n } = args;\n this.threadId = id;\n this.eventId = uuidv1();\n\n this.currentExecutionTier = currentExecutionTier || 0;\n if (this.currentExecutionTier === 0) {\n this.nextTierCounter = { next: 0 };\n }\n\n this.expectedActionsInCurrentTier = expectedActionCount || 0;\n this.requestCache = requestCache;\n this.requestContext = requestContext || {};\n this.spawnChildOnExecute = Boolean(spawnChildOnExecute);\n\n // If a telemetry object has been passed in use that telemetry object, otherwise create a new Telemetry object\n if (telemetry) {\n this.telemetry = telemetry;\n } else {\n // register default console logger\n const moduleTelemetry = new Telemetry();\n const isDebug = requestContext.params && requestContext.params.isDebug;\n\n // register tracelogger only in development environment or debug is true.\n (process.env.NODE_ENV === 'development' || isDebug) &&\n moduleTelemetry.registerTraceLogger({ traceLogger: GenericConsoleLogger, options: { isDebug: isDebug } });\n\n this.telemetry = moduleTelemetry;\n }\n\n /**\n * @deprecated\n * Trace is an alias for telemetry.log(LogLevel.Trace, message)\n * Use the telemetry object directly.\n */\n this.trace = (message: string) => {\n this.telemetry.log(LogLevel.Debug, message);\n };\n\n // enable app cache only if the disable_app_cache feature switch is false\n if (requestContext.features && !!!requestContext.features.disable_app_cache) {\n this.appCache = appCache;\n }\n }\n\n public getRefreshActions(): IRefreshConfigs[] {\n return this.refreshConfigs;\n }\n\n /**\n * Chains an action method to the current context for execution\n * @param action - action method\n * @param inputs - action input\n */\n public chainAction(\n _action: IAction,\n inputs: IActionInput | IActionInput[],\n actionOption?: IDataActionOptions\n ): Promise {\n const action = ActionRegistrar.unwrapAction(_action);\n addLocaleInformation(inputs, this.requestContext.locale);\n if (!action || !inputs) {\n // Decrement the expected actions on this tier since this action was incorrectly configured\n this.expectedActionsInCurrentTier--;\n if (this.currentActionsInQueue < this.expectedActionsInCurrentTier) {\n return Promise.resolve(null);\n }\n\n if (!this.hasRun) {\n return this.runAllActionsInQueue().then(() => null);\n }\n\n return Promise.resolve(null);\n }\n\n if (this.isMaxDepthExceeded()) {\n this.debug('Max depth exceeded - not running further.');\n return Promise.resolve(null);\n }\n\n if (this.hasRun) {\n // If the parent action decides to queue another action after the current tier completes execution\n // then set the hasRun to false, so the action can fire right away\n this.hasRun = false;\n this.executionParams.length = 0;\n this.currentActionsInQueue = 0;\n }\n\n this.currentActionsInQueue++;\n const isBatched = action.prototype.isBatched;\n const inputsArray = (isBatched ? inputs : [inputs]);\n\n let current = this.executionParams.find(a => a.action === action);\n if (current && isBatched) {\n current.addInputs(inputsArray);\n } else {\n const inputIdentifier = `${inputsArray[0].getCacheObjectType()}||${inputsArray[0].getCacheKey()}`;\n if (!this.cacheKeyMap.find(key => key === inputIdentifier)) {\n current = new ActionExecutor(action, inputsArray, this.telemetry, actionOption);\n this.executionParams.push(current);\n this.cacheKeyMap.push(inputIdentifier);\n }\n }\n\n const asyncResult = new AsyncResult(async (resolve, reject) => {\n if (this.currentActionsInQueue < this.expectedActionsInCurrentTier) {\n // Hold the thread until the entire tier is populated\n await new Promise((innerResolve: Function) => {\n const onEventIdCompletion = (tierNum: number) => {\n if (tierNum === this.currentExecutionTier) {\n innerResolve();\n }\n };\n EventHelper.on<[number]>(`${this.eventId}:completed`, onEventIdCompletion);\n });\n EventHelper.removeAllListeners(`${this.eventId}:completed`);\n }\n\n if (!this.hasRun) {\n await this.runAllActionsInQueue();\n }\n\n const outputs = inputsArray.map(i => {\n if (i instanceof DataServiceRequest) {\n try {\n const appCacheData = this.appCache;\n const entry = readCacheEntries(i, this.requestCache, appCacheData, false, this.requestContext, StaticTelemetry);\n return entry.entry;\n } catch (e) {\n this.debug(\n `Error execution action type '[${i && i.getCacheObjectType()}' and cache key '[{${i &&\n i.getCacheKey()}}]', returning null`\n );\n return null;\n }\n } else {\n const cacheKey = { typeName: i.getCacheObjectType(), key: i.getCacheKey() };\n const cacheItem = this.requestCache.get>(cacheKey);\n const cacheValue = !!cacheItem ? this.requestCache.getValue(cacheKey) : null;\n\n if (cacheItem && !!cacheItem.error) {\n throw cacheValue;\n } else {\n if (cacheItem && !msdyn365Commerce.isBrowser) {\n if (cacheItem.refreshStartTimeInMS) {\n verboseLogger(\n this.requestContext,\n StaticTelemetry,\n 'dataAction with {actiontype}, {cacheKey}. last refresh time {lastRefresh}',\n {\n values: [\n asSystemMetadata(i.getCacheObjectType() || 'none'),\n asSystemMetadata(i.getCacheKey()),\n asSystemMetadata(cacheItem.refreshStartTimeInMS)\n ]\n }\n );\n }\n switch (cacheItem.s!) {\n case ICacheSource.AppCache: {\n verboseLogger(\n this.requestContext,\n StaticTelemetry,\n 'dataAction with {actiontype}, {cacheKey}. source {cacheSource}',\n {\n values: [\n asSystemMetadata(i.getCacheObjectType() || 'none'),\n asSystemMetadata(i.getCacheKey()),\n asSystemMetadata('AppCache')\n ]\n }\n );\n break;\n }\n case ICacheSource.RequestCache: {\n verboseLogger(\n this.requestContext,\n StaticTelemetry,\n 'dataAction with {actiontype}, {cacheKey}. source {cacheSource}',\n {\n values: [\n asSystemMetadata(i.getCacheObjectType() || 'none'),\n asSystemMetadata(i.getCacheKey()),\n asSystemMetadata('RequestCache')\n ]\n }\n );\n break;\n }\n default: {\n verboseLogger(\n this.requestContext,\n StaticTelemetry,\n 'dataAction with {actiontype}, {cacheKey}. source {cacheSource}',\n {\n values: [\n asSystemMetadata(i.getCacheObjectType() || 'none'),\n asSystemMetadata(i.getCacheKey()),\n asSystemMetadata('Undefined')\n ]\n }\n );\n }\n }\n }\n return cacheValue;\n }\n }\n });\n\n this.cacheKeyMap.splice(0, this.cacheKeyMap.length);\n\n // Batched observable actions need to be merged into a single AsyncResult\n if (isBatched && action.prototype.isObservable) {\n resolve(\n Promise.all(outputs).then(results => {\n // Because AsyncResult sometimes get mangled by MobX, we need to ensure mangled ones are still unwrapped\n return results.map(result => {\n return result && result._type === 'AsyncResult' ? result.result : result;\n });\n })\n );\n } else {\n // We need to pass along the metadata explicitly to the outer AsyncResult\n if (isAsyncResult(outputs[0]) && !isBatched) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n outputs[0].then(() => {\n asyncResult.metadata = outputs[0].metadata;\n });\n }\n\n resolve(isBatched ? outputs : (outputs.length && outputs[0]) || null);\n }\n });\n\n return asyncResult;\n }\n\n /**\n * Helper method to update cache\n * @param input The input\n * @param data The data\n */\n public update(inputs: IActionInput | IActionInput[], data: T): T {\n if (inputs && data) {\n // If an array of actionInputs has been passed, an equal amount of data items must be present\n const dataArray = (Array.isArray(inputs) ? data : [data]);\n const inputArray = Array.isArray(inputs) ? inputs : [inputs];\n if (inputArray.length !== dataArray.length) {\n throw new Error('Array of action inputs was passed to actionContext Update, and did not match length of input data array.');\n }\n addLocaleInformation(inputArray, this.requestContext.locale);\n inputArray.map((i, idx) => {\n if (i instanceof DataServiceRequest) {\n try {\n const appCacheData = this.appCache;\n saveCacheEntries(i, dataArray[idx], this.requestCache, appCacheData, shouldWriteToAppCache(i, this.appCache));\n } catch (e) {\n this.debug(\n `Error in updating cache with input '[${i.getCacheObjectType()}]' - '[${i.getCacheKey()}]', returning null`\n );\n this.error(e);\n }\n } else {\n // When updating OPs, only result can be updated, passed OPs will also be unwrapped.\n if (isAsyncResult(dataArray[idx])) {\n dataArray[idx] = (>dataArray[idx]).result;\n }\n\n const cacheKey = { typeName: i.getCacheObjectType(), key: i.getCacheKey() };\n this.requestCache.put(cacheKey, { item: dataArray[idx] });\n if (this.appCache && shouldWriteToAppCache(i, this.appCache)) {\n this.appCache.put(cacheKey, { item: dataArray[idx] });\n }\n }\n });\n\n if (Array.isArray(inputs)) {\n return (inputs.map(input => {\n return this.requestCache.getValue({ typeName: input.getCacheObjectType(), key: input.getCacheKey() });\n }));\n } else {\n return this.requestCache.getValue({ typeName: inputs.getCacheObjectType(), key: inputs.getCacheKey() });\n }\n }\n\n // For scenarios where data/input was bad, we just return original data\n return data;\n }\n\n /**\n * Helper method to log trace using telemetry\n * @param message message to log to console\n */\n public trace = (message: string): void => {\n this.telemetry.log(LogLevel.Debug, 'Depth: {currentExecutionTier}\\tID: {threadId}\\tMessage: {message}', {\n values: [this.currentExecutionTier, this.threadId, message]\n });\n };\n\n /**\n * Helper method to log error using telemetry\n * @param message message to log to console\n */\n public error = (message: string): void => {\n this.telemetry.log(LogLevel.Error, 'Depth: {currentExecutionTier}\\tID: {threadId}\\tMessage: {message}', {\n values: [this.currentExecutionTier, this.threadId, message]\n });\n };\n\n /**\n * Helper method to log debug using telemetry\n * @param message message to log to console\n */\n public debug = (message: string): void => {\n this.telemetry.log(LogLevel.Debug, 'Depth: {currentExecutionTier}\\tID: {threadId}\\tMessage: {message}', {\n values: [this.currentExecutionTier, this.threadId, message]\n });\n };\n\n /**\n * Helper method to data cache from cache\n * if cachekey is null or empty, it returns all entries of cacheObjectType\n * @param cacheObjectType entity type that was cached\n * @param cacheKey cache key against which the object is cached\n * @throws if cacheObjecttype is null or empty\n */\n public get(cacheObjectType: string, cacheKey: string): T | T[] | null {\n if (!cacheObjectType) {\n throw new Error('Cannot have null or empty cacheObjectType');\n }\n\n if (!cacheKey) {\n throw new Error('Cannot have null or empty cacheKey');\n }\n\n const preparedCacheKey = { typeName: cacheObjectType, key: cacheKey };\n let cachedItem = this.requestCache.get(preparedCacheKey);\n\n if (process.env.CURRENT_ENVIRONMENT === 'node' && !cachedItem && this.appCache) {\n cachedItem = this.appCache.get(preparedCacheKey);\n }\n\n if (!cachedItem) {\n return null;\n }\n\n if (typeof cachedItem.item !== 'object' || cachedItem.item.$ref !== true) {\n return cachedItem.item;\n }\n\n return Array.isArray(cachedItem.item.key) ? (cachedItem.item.key)\n .map(key => this.getItemFromCache({ typeName: cacheObjectType, key }))\n .filter(Boolean) : null;\n }\n\n /**\n * Helper method to data cache from cache\n * if cachekey is null or empty, it returns all entries of cacheObjectType\n * @param input The input\n * @param data The data\n * @throws if cacheObjecttype is null or empty\n */\n public getAll(cacheObjectType: string): T[] | null {\n if (!cacheObjectType) {\n throw new Error('Cannot have null or empty cacheObjectType');\n }\n\n let cachedEntries = this.requestCache.getAllItems(cacheObjectType);\n if (!cachedEntries) {\n if (process.env.CURRENT_ENVIRONMENT === 'node' && this.appCache) {\n cachedEntries = this.appCache && this.appCache.getAllItems(cacheObjectType);\n }\n\n if (!cachedEntries) {\n return null;\n }\n }\n\n return Object.keys(cachedEntries)\n .filter(key => typeof cachedEntries![key].item !== 'object' || cachedEntries![key].item.$ref !== true)\n .map(key => cachedEntries![key].item);\n }\n\n /**\n * Executes all the actions in the current context in parallel\n */\n public async runAllActionsInQueue(): Promise {\n const { threadId, requestContext, requestCache, appCache, nextTierCounter, executionParams } = this;\n if (!executionParams.length) {\n this.trace('No actions to execute - not running further.');\n return;\n }\n // Increment the tier each pass through run all actions\n if (this.isMaxDepthExceeded()) {\n this.trace('Max depth exceeded - not running further.');\n return;\n }\n\n // When kicking off the next tier,\n // set the max number of chain actions the can be expected from child actions\n // equal to the number of actions that are executing in current tier\n const expectedNumberOfChildThreads = executionParams.length;\n\n let nextTierStartingDepth;\n if (this.spawnChildOnExecute) {\n nextTierStartingDepth = nextTierCounter.next + 1;\n } else {\n nextTierStartingDepth = ++nextTierCounter.next;\n }\n\n const nextTier = new ActionContext({\n id: threadId,\n requestContext: requestContext,\n requestCache: requestCache,\n appCache: appCache,\n currentExecutionTier: nextTierStartingDepth,\n expectedActionCount: expectedNumberOfChildThreads,\n telemetry: this.telemetry\n });\n\n const refreshconfigslocal: Set = new Set();\n\n nextTier.nextTierCounter = { next: nextTierStartingDepth };\n // DO NOT Trace using current action context, use only secondaryContext to remain consistent with actions\n const promises: Promise[] = executionParams.map(param => {\n // TODO: should we read from input about the cacheability?\n return param.execute(nextTier, requestCache, appCache, shouldByPassCache(this.requestContext), []).then(refreshActions => {\n // refresh the data actions which need to be refreshed.\n if (refreshActions.length) {\n refreshconfigslocal.add({\n paramExecutor: param,\n actionInputs: refreshActions\n });\n\n this.refreshConfigs.push({\n paramExecutor: param,\n actionInputs: refreshActions\n });\n\n const cacheValue = requestCache.get(REFRESH_ACTIONS_CACHE_KEY);\n const refreshConfigs = cacheValue ? cacheValue.item : [];\n refreshConfigs.push({\n paramExecutor: param,\n actionInputs: refreshActions\n });\n requestCache.put(REFRESH_ACTIONS_CACHE_KEY, {\n item: refreshConfigs\n });\n }\n\n // If the current chain action completes execution\n // decrement the max number of threads that we expect\n // from the next tier\n nextTier.expectedActionsInCurrentTier--;\n\n if (!nextTier.hasRun) {\n // First check if the next tier has any actions\n // then check if the number of thread match expected\n if (nextTier.currentActionsInQueue > 0 && nextTier.currentActionsInQueue === nextTier.expectedActionsInCurrentTier) {\n return nextTier.runAllActionsInQueue();\n }\n }\n });\n });\n\n // Wait until all the actions in current tier are run to completion\n return Promise.all(promises)\n .then(() => {\n if (refreshconfigslocal.size > 0 && requestContext.features && !!requestContext.features.disable_appcache_refresh_await) {\n refreshconfigslocal.forEach(rf => {\n const refreshRequestCache = new RequestCache();\n const refreshContext = new ActionContext({\n id: 'Refresh Context',\n requestContext: requestContext,\n requestCache: new RequestCache(),\n telemetry: this.telemetry,\n appCache: appCache,\n spawnChildOnExecute: true\n });\n\n rf.paramExecutor\n .execute(\n refreshContext,\n refreshRequestCache,\n this.appCache,\n shouldByPassCache(this.requestContext),\n rf.actionInputs\n )\n .then(() =>\n verboseLogger(\n this.requestContext,\n StaticTelemetry,\n `BackgroundRefresh - Executed refresh with action input ${rf.actionInputs[0].getCacheObjectType()}-${rf.actionInputs[0].getCacheKey()}`\n )\n )\n .catch(error => {\n StaticTelemetry.log(\n LogLevel.Warning,\n `BackgroundRefresh - Error execution refresh with action input ${rf.actionInputs[0].getCacheObjectType()}-${rf.actionInputs[0].getCacheKey()}`\n );\n });\n });\n }\n this._endCurrentTier();\n })\n .catch(error => {\n this._endCurrentTier();\n throw error;\n });\n }\n\n /**\n * Returns true if current tier has exceeded max depth\n */\n private isMaxDepthExceeded = (): boolean => {\n const maxDepth =\n (this.requestContext &&\n this.requestContext.app &&\n this.requestContext.app.platform &&\n this.requestContext.app.platform.maxDepth) ||\n ActionContext.maxDepth;\n return this.nextTierCounter.next > maxDepth;\n };\n\n /**\n * Retrieves item from request cache and fallsback to app cache if not found\n */\n private getItemFromCache = (cacheKey: ICacheKey): T | undefined => {\n let cachedItem = this.requestCache.get(cacheKey);\n\n if (cachedItem) {\n return cachedItem.item;\n }\n\n if (process.env.CURRENT_ENVIRONMENT === 'node' && this.appCache) {\n cachedItem = this.appCache.get(cacheKey);\n }\n\n return cachedItem ? cachedItem.item : undefined;\n };\n\n /**\n * Signals the end of current tier so actions can return the response\n */\n private _endCurrentTier = (): void => {\n this.hasRun = true;\n EventHelper.emit(`${this.eventId}:completed`, this.currentExecutionTier);\n };\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { RequestCache } from '@msdyn365-commerce/cache-internal';\nimport { IActionContext } from '@msdyn365-commerce/core-internal';\nimport { ActionContext } from './action-context';\n\n/**\n * Creates a mock but usable ActionContext.\n * @param context The partial context to add to the return action context.\n *\n * DEPRECATED: Please use buildMockActionContext and pass in a constructed\n * ActionContext to build a hydrated mock action context\n * Example:\n * const actionContext = buildMockActionContext(new ActionContext({\n * id: 'mock-context',\n * requestCache: new RequestCache(),\n * requestContext: {},\n * appCache: null\n * }));\n *\n */\nexport const buildHydratedMockActionContext = (context?: Partial): IActionContext => {\n return new ActionContext({\n id: 'mock-context',\n requestCache: new RequestCache(),\n requestContext: (context && context.requestContext) || {},\n appCache: null\n });\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n generateImageUrlForOmniChanel,\n IAction,\n IActionContext,\n IActionInput,\n IRequestContext,\n versionGte\n} from '@msdyn365-commerce/core-internal';\nimport { getMediaLocationsAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/ProductsDataActions.g';\n// @ts-ignore\nimport { MediaLocation, MediaType } from '@msdyn365-commerce/retail-proxy';\nimport { createObservableDataAction } from '../create-data-action.vnext';\nimport { getOmniChannelMediaInfoAsync } from './get-medialocations-helper';\n\n/**\n * The action input class for the getMediaLocationsForSelectedVariant data action.\n */\nexport class MediaLocationsInput implements IActionInput {\n public productId: number;\n\n public channelId: number;\n\n public catalogId: number;\n\n private readonly locale?: string;\n\n constructor(context: IRequestContext, productId: number, channelId: number, catalogId?: number) {\n this.productId = productId;\n this.channelId = channelId;\n this.catalogId = catalogId || 0;\n this.locale = context.locale;\n }\n\n public getCacheKey = () => `${this.productId}-${this.channelId}-${this.catalogId}-${this.locale}}`;\n\n public getCacheObjectType = () => 'ProductMediaLocations';\n\n public dataCacheType = (): CacheType => 'application';\n}\n\n/**\n * The action method for the getMediaLocationsForSelectedVariant data action.\n * @param input\n * @param ctx\n */\nexport async function getMediaLocationsForProductAction(input: MediaLocationsInput, ctx: IActionContext): Promise {\n const rsVersion =\n !process.env.MSDyn365Commerce_RSVERSION || process.env.MSDyn365Commerce_RSVERSION === '--'\n ? '0.0'\n : process.env.MSDyn365Commerce_RSVERSION;\n const OmniChannelMediaFeatureVersion = versionGte(rsVersion, '9.43');\n if (!OmniChannelMediaFeatureVersion) {\n return [];\n }\n // eslint-disable-next-line @typescript-eslint/no-require-imports, @typescript-eslint/no-var-requires -- Need for Omni feature.,\n const types = require('@msdyn365-commerce/retail-proxy/dist/Entities/CommerceTypes.g');\n\n if (ctx.requestContext.params && ctx.requestContext.params.isEditor) {\n return getOmniChannelMediaInfoAsync(ctx.requestContext, input.productId);\n }\n\n let productMediaLocations = [];\n try {\n productMediaLocations = await getMediaLocationsAsync(\n {\n callerContext: ctx,\n queryResultSettings: {\n Paging: { Top: Number.parseInt(ctx.requestContext?.app?.platform?.defaultPageSizeForAPI ?? 100, 10) }\n }\n },\n input.productId,\n input.channelId,\n input.catalogId\n );\n } catch (error) {\n ctx.telemetry.error(`Error running getMediaLocationsAsync action: ${error}`);\n return [];\n }\n\n // Filtering product images only for now. wil update later once we integrate video.\n // @ts-ignore\n let productImagesOnly = productMediaLocations.filter(media => media.MediaTypeValue === types.MediaType.Image);\n if (productImagesOnly.length === 0) {\n return [];\n }\n\n // sorting the images by display order settings.\n productImagesOnly = productImagesOnly.sort((a, b) => {\n // @ts-ignore\n if (typeof a.DisplayOrder === 'undefined' && typeof b.DisplayOrder === 'undefined') {\n return 0;\n // @ts-ignore\n } else if (typeof a.DisplayOrder === 'undefined') {\n return 1;\n // @ts-ignore\n } else if (typeof b.DisplayOrder === 'undefined') {\n return -1;\n } else {\n // @ts-ignore\n return a.DisplayOrder - b.DisplayOrder;\n }\n });\n const productMedia = productImagesOnly.map((mediaLocation: MediaLocation) => {\n mediaLocation.Uri = generateImageUrlForOmniChanel(ctx.requestContext.apiSettings, mediaLocation.Uri);\n mediaLocation.AltText = mediaLocation.AltText;\n return mediaLocation;\n });\n return productMedia;\n}\n\n/**\n * The getMediaLocationsForSelectedVariant data action\n * Gets the currently selected variant for the page via the getSelectedVariant data action,\n * and then gets the media location information for the variant via the MediaLocations RetailServer API.\n */\nexport const getMediaLocationsForSelectedVariantActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce/get-mediaLocations',\n action: >getMediaLocationsForProductAction\n});\n\nexport default getMediaLocationsForProductAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IRequestContext } from '@msdyn365-commerce/core-internal';\nimport { MediaLocation } from '@msdyn365-commerce/retail-proxy';\nimport { LogLevel, StaticTelemetry } from '@msdyn365-commerce/telemetry-internal';\nimport axios, { AxiosResponse } from 'axios';\n\nexport const getOmniChannelMediaInfoAsync = async (requestContext: IRequestContext, productId: number): Promise => {\n let cmsEndpoint = requestContext.apiSettings.CMSImagepreviewEndPoint;\n\n if (!cmsEndpoint) {\n return [];\n }\n\n cmsEndpoint = cmsEndpoint.replace('{ounid}', requestContext.apiSettings.oun);\n cmsEndpoint = cmsEndpoint.replace('{productid}', `${productId}`);\n\n let response: AxiosResponse;\n\n try {\n response = await axios.get(cmsEndpoint, {\n headers: {\n Authorization: `Bearer ${requestContext.user.c1AccessToken}`\n }\n });\n } catch (err) {\n StaticTelemetry.log(LogLevel.Error, `Could not fetch omni channel media info.`, { exception: err });\n return [];\n }\n\n if (response && response.data && response.status === 200) {\n return response.data as MediaLocation[];\n } else {\n StaticTelemetry.log(LogLevel.Error, `Error reading omni channel media info response`, {\n exception: new Error(`response status: ${response?.status}`)\n });\n }\n\n return [];\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport {\n CacheType,\n IAction,\n IActionContext,\n IActionInput,\n IAny,\n ICommerceApiSettings,\n ICreateActionContext,\n IGeneric\n} from '@msdyn365-commerce/core-internal';\nimport { Customer } from '@msdyn365-commerce/retail-proxy';\nimport { readAsync } from '@msdyn365-commerce/retail-proxy/dist/DataActions/CustomersDataActions.g';\nimport { createObservableDataAction } from '../create-data-action.vnext';\n\n/**\n * Input class for get customer data action.\n */\nexport class GetCustomerInput implements IActionInput {\n public customerAccountNumber?: string;\n\n private readonly apiSettings: ICommerceApiSettings;\n\n private readonly cacheType?: CacheType;\n\n public constructor(apiSettings: ICommerceApiSettings, accountNumber?: string, cacheType?: CacheType) {\n this.customerAccountNumber = accountNumber;\n this.apiSettings = apiSettings;\n this.cacheType = cacheType;\n }\n\n /**\n * GetCacheKey.\n * @returns - Returns string.\n */\n public getCacheKey = (): string => `Customer-${this.customerAccountNumber}-chanId:${this.apiSettings.channelId}`;\n\n /**\n * GetCacheObjectType.\n * @returns - Cache Object Type string.\n */\n public getCacheObjectType = (): string => 'Customer';\n\n /**\n * DataCacheType.\n * @returns - CacheType string.\n */\n public dataCacheType = (): CacheType => {\n return this.cacheType ? this.cacheType : 'request';\n };\n}\n\n/**\n * Creates the input required to make the retail api call.\n * @param inputData -- The input data passed to the createInput method.\n * @returns - GetCustomer input.\n */\nexport const createGetCustomerInput = (inputData: ICreateActionContext>): GetCustomerInput => {\n const { user, apiSettings } = inputData.requestContext;\n if (!user.token || !user.isAuthenticated) {\n throw new Error('[getCustomer][createInput]: User is not Authenticated.');\n }\n\n return new GetCustomerInput(apiSettings);\n};\n\n/**\n * GetCustomerAction.\n * @param input - GetCustomerInput.\n * @param ctx - Action Context.\n * @returns - Customer information.\n */\nconst getCustomerAction = async (input: GetCustomerInput, ctx: IActionContext): Promise => {\n if (input && ctx.requestContext.user.isAuthenticated) {\n try {\n return readAsync({ callerContext: ctx, bypassCache: 'get' }, '').then(response => {\n return Array.isArray(response) ? response[0] : response;\n });\n } catch (error) {\n ctx.telemetry.error(`Error running getCustomer action: ${error}`);\n return {};\n }\n }\n\n ctx.telemetry.warning('[getCustomer]Invalid input passed to action');\n return {};\n};\n\n/**\n * The customer data action.\n */\nexport const getCustomerActionDataAction = createObservableDataAction({\n id: '@msdyn365-commerce/get-customer',\n action: >getCustomerAction,\n input: createGetCustomerInput\n});\n\nexport default getCustomerActionDataAction;\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core-internal';\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 shouldRefresh?: boolean;\n error?: boolean;\n instance?: string;\n // property to indicate the source whether it is app/request\n s?: ICacheSource;\n /**\n * Flag to track the when the item start refreshing.\n */\n refreshStartTimeInMS?: number;\n lastRefreshTime?: Date;\n}\n\nexport interface ICompressCache {\n data: T;\n isCompressed: boolean;\n}\n\nexport interface ICacheItemOptions {\n ttr?: number;\n ttl?: number;\n cacheKeySuffix?: string;\n}\nexport interface ICacheStats {\n keys?: number;\n hits?: number;\n misses?: number;\n totalKeySize?: number;\n totalValueSize?: number;\n valueSizePerKey?: object;\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 * @param options {ICacheItemOptions} - Optional cache item options\n */\n put(cacheKey: ICacheKey, item: ICacheItem, options?: ICacheItemOptions): 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): IDictionary> | 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, isObservable?: boolean): 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 * @function {getStats} - Returns statstics about the cache (number of keys, value size in bytes, etc)\n */\n getStats?(): ICacheStats;\n\n /**\n * @function {flushStats} - Flush the stats\n */\n flushStats?(): void;\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { ICacheKey } from './ICache';\n\nexport const MODULE_CSS_CACHE_KEY = 'MODULE-CSS-CHUNKS';\nexport const MODULE_CSS_CACHE_TYPENAME = '__MODULECSSCHUNKS__';\n\nexport const normalizeCacheKey = (cacheKey: ICacheKey): ICacheKey => {\n return {\n typeName: cacheKey.typeName.toUpperCase(),\n key: cacheKey.key.toUpperCase()\n };\n};\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nimport { IDictionary } from '@msdyn365-commerce/core-internal';\nimport { isAsyncResult } from '@msdyn365-commerce/retail-proxy';\nimport { observable, set, transaction } from 'mobx';\nimport { normalizeCacheKey } from './cache-utils';\nimport { ICache, ICacheItem, ICacheKey, ICacheSource } from './ICache';\n\n/**\n * Client cache implementation\n */\nexport class RequestCache implements ICache {\n private internalCache: { [typeName: string]: IDictionary> } = {};\n\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 public put(cacheKey: ICacheKey, item: ICacheItem): boolean {\n if (!cacheKey.typeName) {\n throw new Error(`Invalid type (${cacheKey.typeName} specified)`);\n }\n\n if (!cacheKey.key) {\n throw new Error(`Invalid key (${cacheKey.key} specified) for typeName: ${cacheKey.typeName}`);\n }\n\n item.s = item.s !== undefined ? item.s : ICacheSource.RequestCache;\n const { typeName, key } = normalizeCacheKey(cacheKey);\n if (this.internalCache[typeName] === undefined) {\n this.internalCache[typeName] = {};\n }\n return transaction(() => {\n let cacheItem: ICacheItem = >this.internalCache[typeName][key];\n\n // For updating AsyncResults, only update result\n if (cacheItem && isAsyncResult(cacheItem.item)) {\n if (cacheItem.item.status !== 'LOADING') {\n set(cacheItem.item, 'status', 'LOADING');\n }\n set(cacheItem.item, 'result', item.item);\n // Auto resolve promises whos result is being set, as they are essentially being force-completed\n set(cacheItem.item, 'status', 'SUCCESS');\n } else if (cacheItem) {\n set(cacheItem, 'item', item.item);\n } else {\n if (!isAsyncResult(item.item)) {\n cacheItem = observable>({ ...item }, undefined, {\n deep: true,\n name: `T:${typeName}_K:${key}`\n });\n } else {\n cacheItem = item;\n }\n this.internalCache[typeName][key] = cacheItem;\n }\n\n return true;\n });\n }\n\n /**\n * @function {get} - Method to get the cached item\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @return {IAny} - cached value against the given cache key\n */\n public get(cacheKey: ICacheKey): ICacheItem | undefined {\n if (!cacheKey) {\n throw new Error(`Invalid cacheKey: ${cacheKey}`);\n }\n\n if (!cacheKey.typeName) {\n throw new Error(`Invalid cacheKey type: ${cacheKey.typeName}`);\n }\n\n cacheKey = normalizeCacheKey(cacheKey);\n return this.internalCache[cacheKey.typeName] ? >this.internalCache[cacheKey.typeName][cacheKey.key] : undefined;\n }\n\n /**\n * @function {get} - Method to get the cached item\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @return {IAny} - cached value against the given cache key\n */\n public getAllItems(typeName: string): IDictionary> | undefined {\n if (!typeName) {\n throw new Error(`typeName cannot be empty`);\n }\n\n return >>this.internalCache[typeName.toUpperCase()];\n }\n\n /**\n * @function {getValue} - Method to get the cached item\n * @param cacheKey {ICacheKey} - object to build the cache key\n * @return {IAny} - cached value against the given cache key\n */\n public getValue(cacheKey: ICacheKey): T | undefined {\n const cachedItem: ICacheItem | undefined = this.get(cacheKey);\n return cachedItem ? this._value(cachedItem) : undefined;\n }\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 public copyTo(cacheKey: ICacheKey, toCache: ICache): ICacheItem | undefined {\n throw new Error('Not Implemented');\n }\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 public del(cacheKey: ICacheKey): boolean {\n cacheKey = normalizeCacheKey(cacheKey);\n const cacheType = this.internalCache[cacheKey.typeName];\n if (cacheType && cacheType[cacheKey.key]) {\n delete cacheType[cacheKey.key];\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * @function {flushAll} - Method to flush all data from the cache\n */\n public flushAll(): void {\n this.internalCache = {};\n }\n\n /**\n * @function {keys} - Method to fetch all the keys in the cache\n * @return {string[]} - returns a list of all the keys in the cache\n */\n public keys(): string[] {\n return Object.keys(this.internalCache);\n }\n\n /**\n * Get the value out of a cache item\n * This returns the raw value of the item, it will *not* be a MobX observable value\n * @param item The observable cache item to retireve the value from\n */\n private _value(item: ICacheItem): T {\n return item.item;\n }\n}\n","/*!\n * Copyright (c) Microsoft Corporation.\n * All rights reserved. See LICENSE in the project root for license information.\n */\n\nexport * from './create-data-action';\nexport * from './create-data-action.vnext';\nexport * from './create-data-action-hook';\nexport * from './action-context';\nexport * from './action-executor';\nexport * from './cache/client-cache';\nexport * from './cache/simple-cache';\nexport * from './event-emitter';\nexport * from './mock-helper';\nexport * from './cache/retail-cache-helper';\nexport * from './action-registrar';\nexport * from './helpers';\nexport * from './actions/get-media-locations';\nexport * from './actions/get-customer';\n","\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 { 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, \r\n 'BusinessPartnerOperationRequestClass'\r\n , '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, \r\n 'BusinessPartnerUserClass'\r\n , '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 { 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, \r\n 'OrderShipmentsClass'\r\n , '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, \r\n 'BusinessPartnerProspectClass'\r\n , '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, \r\n 'BusinessPartnerClass'\r\n , '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 createGetManagedBusinessPartnersInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest { \r\n const query = businessPartnersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetManagedBusinessPartners', false, \r\n 'BusinessPartnerClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'BusinessPartner'}, { });\r\n } \r\n \r\n export function getManagedBusinessPartnersAsync(context: IContext, ):AsyncResult {\r\n const request = createGetManagedBusinessPartnersInput(context.queryResultSettings, );\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, \r\n 'BusinessPartnerUserClass'\r\n , '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, RecallOrderSearchCriteria, CartPromotions, CartPromotionLine, CartLineUserAlerts, ChargeCode, TenderTypeAmount, CartLineValidationResults } from '../Entities/CommerceTypes.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, \r\n 'CartClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'LoyaltyPointRedemptionEstimateClass'\r\n , '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, \r\n 'TenderLineClass'\r\n , '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, \r\n 'SalesLineDeliveryOptionClass'\r\n , '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, \r\n 'SalesLineDeliveryOptionClass'\r\n , '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, \r\n 'CartDeliveryPreferencesClass'\r\n , '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, \r\n 'DeliveryOptionClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'TenderDiscountLineClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'ReceiptClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CardPaymentAcceptPointClass'\r\n , '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, \r\n 'CardPaymentAcceptResultClass'\r\n , '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, recallOrderSearchCriteria?: RecallOrderSearchCriteria | null): IDataServiceRequest { \r\n const query = cartsQuery();\r\n return query.createDataServiceRequestForOperation('RecallOrder', true, \r\n 'CartClass'\r\n , 'false', {bypassCache: 'get', returnEntity: 'Cart'}, {transactionId: transactionId, salesId: salesId, recallOrderSearchCriteria: recallOrderSearchCriteria });\r\n } \r\n \r\n export function recallOrderAsync(context: IContext, transactionId?: string | null, salesId?: string | null, recallOrderSearchCriteria?: RecallOrderSearchCriteria | null):AsyncResult {\r\n const request = createRecallOrderInput(transactionId, salesId, recallOrderSearchCriteria);\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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartPromotionsClass'\r\n , '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, \r\n 'CartPromotionLineClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartLineUserAlertsClass'\r\n , '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, \r\n 'CartLineUserAlertsClass'\r\n , '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, \r\n 'ChargeCodeClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'CartClass'\r\n , '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, \r\n 'TenderTypeAmountClass'\r\n , '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, \r\n 'CartLineValidationResultsClass'\r\n , '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, \r\n 'TenderLineClass'\r\n , '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 { ProductCatalog } from '../Entities/CommerceTypes.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, \r\n 'ProductCatalogClass'\r\n , '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 ","\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 { 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, \r\n 'CategoryClass'\r\n , '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, \r\n 'AttributeCategoryClass'\r\n , '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, \r\n 'AttributeCategoryClass'\r\n , '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, \r\n 'CategoryClass'\r\n , '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 { 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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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, \r\n 'CommerceListClass'\r\n , '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 { 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, \r\n 'GlobalCustomerClass'\r\n , '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, \r\n 'GlobalCustomerClass'\r\n , '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, \r\n 'CustomerClass'\r\n , '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, \r\n 'CustomerTimelineItemClass'\r\n , '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, \r\n 'CustomerTimelineItemClass'\r\n , '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, \r\n 'CustomerRefinerClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'OrderShipmentsClass'\r\n , '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, \r\n 'PurchaseHistoryClass'\r\n , '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, \r\n 'CustomerSearchFieldClass'\r\n , '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, \r\n 'CustomerTimelineItemTypeMapClass'\r\n , '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, \r\n 'CustomerTimelineItemClass'\r\n , '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, \r\n 'CustomerTimelineRefinerClass'\r\n , '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, \r\n 'CustomerTitleClass'\r\n , '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 { 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, \r\n 'TillLayoutClass'\r\n , '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, \r\n 'OrgUnitClass'\r\n , '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, \r\n 'OrgUnitLocationClass'\r\n , '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, \r\n 'OrgUnitLocationClass'\r\n , '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, \r\n 'ChannelConfigurationClass'\r\n , '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, \r\n 'StoreHoursClass'\r\n , '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, \r\n 'ChannelDeliveryOptionClass'\r\n , '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, \r\n 'OrgUnitAvailabilityClass'\r\n , '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, \r\n 'OrgUnitAvailabilityClass'\r\n , '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, \r\n 'OrgUnitAvailabilityClass'\r\n , '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, \r\n 'OrgUnitAvailabilityClass'\r\n , '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, \r\n 'TerminalInfoClass'\r\n , '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, \r\n 'OrgUnitAvailabilityClass'\r\n , '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 { 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, \r\n 'ProductListClass'\r\n , '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, \r\n 'ProductListLineClass'\r\n , '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, \r\n 'ProductListLineClass'\r\n , '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, \r\n 'ProductListLineClass'\r\n , '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, \r\n 'ProductListClass'\r\n , '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 { 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, \r\n 'ProductClass'\r\n , '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, \r\n 'ProductRefinerClass'\r\n , '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, \r\n 'ProductDimensionValueClass'\r\n , '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, \r\n 'ProductDimensionValueInventoryAvailabilityClass'\r\n , '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, \r\n 'SimpleProductClass'\r\n , '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, \r\n 'SimpleProductClass'\r\n , '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, catalogId?: number | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByIds', true, \r\n 'SimpleProductClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId, productIds: productIds, inventLocationId: inventLocationId, catalogId: catalogId });\r\n } \r\n \r\n export function getByIdsAsync(context: IContext, channelId: number, productIds: number[], inventLocationId?: string | null, catalogId?: number | null):AsyncResult {\r\n const request = createGetByIdsInput(context.queryResultSettings, channelId, productIds, inventLocationId, catalogId);\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, \r\n 'ProductComparisonLineClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, \r\n 'ProductRefinerClass'\r\n , '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, \r\n 'ProductDeliveryOptionsClass'\r\n , '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, \r\n 'ProductClass'\r\n , '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, \r\n 'ReadChangedProductsSessionClass'\r\n , '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, skipProductPriceCalculation: boolean): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('ReadChangedProducts', true, \r\n 'ProductClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'Product'}, {productSearchCriteria: productSearchCriteria, skipProductPriceCalculation: skipProductPriceCalculation });\r\n } \r\n \r\n export function readChangedProductsAsync(context: IContext, productSearchCriteria: ChangedProductsSearchCriteria | null, skipProductPriceCalculation: boolean):AsyncResult {\r\n const request = createReadChangedProductsInput(context.queryResultSettings, productSearchCriteria, skipProductPriceCalculation);\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, \r\n 'DeletedListingsResultClass'\r\n , '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, \r\n 'AssortedProductIdentityClass'\r\n , '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, \r\n 'ProductExistenceIdClass'\r\n , '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, \r\n 'ProductRatingClass'\r\n , '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, \r\n 'ProductAssortmentIntervalClass'\r\n , '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, \r\n 'AttributeProductClass'\r\n , '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, \r\n 'ProductPriceClass'\r\n , '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, \r\n 'ProductAvailableQuantityClass'\r\n , '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, includeAttainablePricesAndDiscounts?: boolean | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetActivePrices', true, \r\n 'ProductPriceClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'ProductPrice'}, {projectDomain: projectDomain, productIds: productIds, activeDate: activeDate, customerId: customerId, affiliationLoyaltyTiers: affiliationLoyaltyTiers, includeSimpleDiscountsInContextualPrice: includeSimpleDiscountsInContextualPrice, includeVariantPriceRange: includeVariantPriceRange, includeAttainablePricesAndDiscounts: includeAttainablePricesAndDiscounts });\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, includeAttainablePricesAndDiscounts?: boolean | null):AsyncResult {\r\n const request = createGetActivePricesInput(context.queryResultSettings, projectDomain, productIds, activeDate, customerId, affiliationLoyaltyTiers, includeSimpleDiscountsInContextualPrice, includeVariantPriceRange, includeAttainablePricesAndDiscounts);\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, \r\n 'ProductComponentClass'\r\n , '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, \r\n 'ProductComponentClass'\r\n , '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, \r\n 'SearchSuggestionClass'\r\n , '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, \r\n 'CategoryPathResultClass'\r\n , '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, \r\n 'UnitOfMeasureClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, catalogId?: number | null): IDataServiceRequest { \r\n const query = productsQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetByLookupClauses', true, \r\n 'SimpleProductClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'SimpleProduct'}, {channelId: channelId, productLookupClauses: productLookupClauses, catalogId: catalogId });\r\n } \r\n \r\n export function getByLookupClausesAsync(context: IContext, channelId: number, productLookupClauses?: ProductLookupClause[] | null, catalogId?: number | null):AsyncResult {\r\n const request = createGetByLookupClausesInput(context.queryResultSettings, channelId, productLookupClauses, catalogId);\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, \r\n 'ProductRefinerClass'\r\n , '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, \r\n 'ProductRefinerClass'\r\n , '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, \r\n 'ProductRefinerValueClass'\r\n , '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, \r\n 'ProductRefinerValueClass'\r\n , '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, \r\n 'AttributeProductClass'\r\n , '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, \r\n 'SimpleProductClass'\r\n , '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, \r\n 'AttributeValueClass'\r\n , '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, \r\n 'MediaLocationClass'\r\n , '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, \r\n 'MediaBlobClass'\r\n , '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, \r\n 'ProductComponentClass'\r\n , '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, \r\n 'ProductComponentClass'\r\n , '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, \r\n 'ProductRelationTypeClass'\r\n , '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, \r\n 'ProductRelationTypeClass'\r\n , '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, \r\n 'ProductSearchResultClass'\r\n , '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, \r\n 'ProductWarrantiesMappingClass'\r\n , '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, \r\n 'ProductPriceClass'\r\n , '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, \r\n 'ProductPriceClass'\r\n , '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, \r\n 'ProductWarehouseInventoryInformationClass'\r\n , '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, \r\n 'ProductWarehouseInventoryInformationClass'\r\n , '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 { 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, \r\n 'RecommendedElementClass'\r\n , '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, OrderOriginatorSearchCriteria, OrderOriginator, ShipFulfillmentLine, FulfillmentLineParameter, RejectFulfillmentLine, SalesInvoice, OrderInvoice, InvoiceSearchCriteria, InvoiceDetailsSearchCriteria, SalesLine, InvoicedSalesLinesSearchCriteria, PickAndPackSalesLineParameter, PickingList, FulfillmentLineUserAlerts, CommerceProperty, CheckInForOrderPickupConfirmation, PackingSlipData } from '../Entities/CommerceTypes.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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'FulfillmentLineClass'\r\n , '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, customerOrderType: number): IDataServiceRequest { \r\n const query = salesOrdersQuery(id).resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetReceipts', true, \r\n 'ReceiptClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'Receipt'}, {receiptRetrievalCriteria: receiptRetrievalCriteria, customerOrderType: customerOrderType });\r\n } \r\n \r\n export function getReceiptsAsync(context: IContext, id: string, receiptRetrievalCriteria: ReceiptRetrievalCriteria | null, customerOrderType: number):AsyncResult {\r\n const request = createGetReceiptsInput(context.queryResultSettings, id, receiptRetrievalCriteria, customerOrderType);\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, \r\n 'ReceiptClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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 createGetOrderOriginatorsInput(queryResultSettings: IQueryResultSettings, orderOriginatorSearchCriteria?: OrderOriginatorSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOrderOriginators', true, \r\n 'OrderOriginatorClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'OrderOriginator'}, {orderOriginatorSearchCriteria: orderOriginatorSearchCriteria });\r\n } \r\n \r\n export function getOrderOriginatorsAsync(context: IContext, orderOriginatorSearchCriteria?: OrderOriginatorSearchCriteria | null):AsyncResult {\r\n const request = createGetOrderOriginatorsInput(context.queryResultSettings, orderOriginatorSearchCriteria);\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, \r\n 'ReceiptClass'\r\n , '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, \r\n 'ReceiptClass'\r\n , '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, \r\n 'ReceiptClass'\r\n , '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, \r\n 'SalesInvoiceClass'\r\n , '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, \r\n 'OrderInvoiceClass'\r\n , '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, \r\n 'OrderInvoiceClass'\r\n , '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, \r\n 'SalesInvoiceClass'\r\n , '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, \r\n 'SalesLineClass'\r\n , '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 createSearchInvoicedSalesLinesInput(queryResultSettings: IQueryResultSettings, invoicedSalesLinesSearchCriteria?: InvoicedSalesLinesSearchCriteria | null): IDataServiceRequest { \r\n const query = salesOrdersQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchInvoicedSalesLines', true, \r\n 'SalesLineClass'\r\n , 'true', {bypassCache: 'none', returnEntity: 'SalesLine'}, {invoicedSalesLinesSearchCriteria: invoicedSalesLinesSearchCriteria });\r\n } \r\n \r\n export function searchInvoicedSalesLinesAsync(context: IContext, invoicedSalesLinesSearchCriteria?: InvoicedSalesLinesSearchCriteria | null):AsyncResult {\r\n const request = createSearchInvoicedSalesLinesInput(context.queryResultSettings, invoicedSalesLinesSearchCriteria);\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, \r\n 'PickingListClass'\r\n , '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, \r\n 'FulfillmentLineUserAlertsClass'\r\n , '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, \r\n 'CheckInForOrderPickupConfirmationClass'\r\n , '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, \r\n 'PackingSlipDataClass'\r\n , '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 { 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, Shift, StorageAccessToken, Framework, TaskGuidesSearchResult, Recording, AttributeDefinitionCriteria, AttributeDefinition, AttributeGroupDefinitionCriteria, AttributeGroupDefinition, FiscalTransaction, SalesOrder, AuditEvent, InventoryAvailableToPromise, NotificationItem, PurchaseHistorySearchCriteria, PurchaseHistory, FiscalIntegrationDocumentRetrievalCriteria, FiscalIntegrationDocument, FiscalIntegrationRegistrationResult, FiscalIntegrationRegistrationProcess, FiscalIntegrationSupportedEvents, FiscalIntegrationTechnicalProfile, FiscalIntegrationFiscalRegistrationProcessSummary, FiscalIntegrationTechnicalProfileSearchCriteria, FiscalIntegrationServiceInfo, FiscalIntegrationServiceStatus, FiscalIntegrationServiceCommunicationResult, FeatureState, FiscalIntegrationSequentialSignatureData, PickupTimeslotAvailabilitySearchCriteria, PickupTimeslotAvailability, Cart, VendorSearchCriteria, Vendor, VendorValidationResult, BusinessVerticalsIndia, 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, FiscalIntegrationComplianceResult, } from '../Entities/CommerceTypes.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, \r\n 'DeliveryOptionClass'\r\n , '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, \r\n 'AffiliationClass'\r\n , '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, \r\n 'PromotionClass'\r\n , '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, \r\n 'PaymentMerchantInformationClass'\r\n , '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, \r\n 'StoreSafeClass'\r\n , '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, \r\n 'ShiftReconciliationLineClass'\r\n , '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, \r\n 'ReceiptMaskClass'\r\n , '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, \r\n 'SearchSuggestionClass'\r\n , '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, \r\n 'DeviceActivationResultClass'\r\n , '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, \r\n 'DeviceActivationResultClass'\r\n , '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, \r\n 'CreateHardwareStationTokenResultClass'\r\n , '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, \r\n 'ValidateHardwareStationTokenResultClass'\r\n , '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, \r\n 'BarcodeClass'\r\n , '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, \r\n 'ButtonGridClass'\r\n , '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, \r\n 'ButtonGridClass'\r\n , '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, \r\n 'ButtonGridClass'\r\n , '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, \r\n 'MediaBlobClass'\r\n , '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, \r\n 'CardTypeInfoClass'\r\n , '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, \r\n 'CardTypeInfoClass'\r\n , '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, \r\n 'CityInfoClass'\r\n , '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, \r\n 'CountryRegionInfoClass'\r\n , '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, \r\n 'CountryRegionInfoClass'\r\n , '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, \r\n 'OnlineChannelClass'\r\n , '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, \r\n 'CountyInfoClass'\r\n , '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, \r\n 'CreditMemoClass'\r\n , '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, \r\n 'DataDownloadParametersClass'\r\n , '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, \r\n 'DataUploadParametersClass'\r\n , '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, \r\n 'DownloadSessionClass'\r\n , '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, \r\n 'DownloadSessionClass'\r\n , '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, \r\n 'NumberSequenceSeedDataClass'\r\n , '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, \r\n 'ReceiptNumberResetInfoClass'\r\n , '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, \r\n 'LoyaltyRewardPointActivityClass'\r\n , '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, \r\n 'LoyaltyRewardPointActivityClass'\r\n , '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, \r\n 'CurrencyAmountClass'\r\n , '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, \r\n 'DiscountCodeClass'\r\n , '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, \r\n 'DiscountCodeClass'\r\n , '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, \r\n 'DiscountCodeClass'\r\n , '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, \r\n 'DistrictInfoClass'\r\n , '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, \r\n 'HardwareStationProfileClass'\r\n , '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, \r\n 'HardwareProfileClass'\r\n , '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, \r\n 'LocalizedStringClass'\r\n , '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, \r\n 'OperationPermissionClass'\r\n , '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, \r\n 'ReasonCodeClass'\r\n , '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, \r\n 'ReportDataSetClass'\r\n , '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, \r\n 'ReportDataSetClass'\r\n , '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, \r\n 'ReportDataSetClass'\r\n , '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, \r\n 'IncomeExpenseAccountClass'\r\n , '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, \r\n 'StateProvinceInfoClass'\r\n , '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, \r\n 'ZipCodeInfoClass'\r\n , '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, \r\n 'ZipCodeInfoClass'\r\n , '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, \r\n 'KitTransactionClass'\r\n , '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, \r\n 'LoyaltyCardClass'\r\n , '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, \r\n 'LoyaltyCardClass'\r\n , '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, \r\n 'LoyaltyCardClass'\r\n , '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, \r\n 'LoyaltyCardTransactionClass'\r\n , '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, \r\n 'LoyaltyRewardPointActivityClass'\r\n , '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, \r\n 'TransactionClass'\r\n , '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, \r\n 'GiftCardClass'\r\n , '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, \r\n 'GiftCardClass'\r\n , '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, \r\n 'NonSalesTransactionClass'\r\n , '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, \r\n 'NonSalesTransactionClass'\r\n , '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, \r\n 'DropAndDeclareTransactionClass'\r\n , '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, \r\n 'TaxOverrideClass'\r\n , '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, \r\n 'CustomerBalancesClass'\r\n , '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, \r\n 'LinkToExistingCustomerResultClass'\r\n , '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, \r\n 'LinkToExistingCustomerResultClass'\r\n , '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, \r\n 'OfflineSyncStatsLineClass'\r\n , '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 createGetOfflineOpenShiftsInput(queryResultSettings: IQueryResultSettings, filterByCurrentUser: boolean, includeAllShiftsForStore: boolean): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('GetOfflineOpenShifts', false, \r\n 'ShiftClass'\r\n , 'true', { bypassCache: 'none', returnEntity: 'Shift'}, {filterByCurrentUser: filterByCurrentUser, includeAllShiftsForStore: includeAllShiftsForStore });\r\n }\r\n\r\n export function getOfflineOpenShiftsAsync(context: IContext, filterByCurrentUser: boolean, includeAllShiftsForStore: boolean):AsyncResult {\r\n const request = createGetOfflineOpenShiftsInput(context.queryResultSettings, filterByCurrentUser, includeAllShiftsForStore);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createDeleteOfflineShiftsInput(): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('DeleteOfflineShifts', false, '', 'false', { bypassCache: 'get', returnEntity: ''}, { });\r\n }\r\n\r\n export function deleteOfflineShiftsAsync(context: IContext):AsyncResult {\r\n const request = createDeleteOfflineShiftsInput();\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, \r\n 'StorageAccessTokenClass'\r\n , '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, \r\n 'FrameworkClass'\r\n , '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, \r\n 'FrameworkClass'\r\n , '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, \r\n 'TaskGuidesSearchResultClass'\r\n , '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, \r\n 'RecordingClass'\r\n , '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, \r\n 'RecordingClass'\r\n , '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, \r\n 'AttributeDefinitionClass'\r\n , '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, \r\n 'AttributeGroupDefinitionClass'\r\n , '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, \r\n 'AuditEventClass'\r\n , '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, \r\n 'InventoryAvailableToPromiseClass'\r\n , '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, \r\n 'SalesOrderClass'\r\n , '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, \r\n 'NotificationItemClass'\r\n , '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 createSearchPurchaseHistoryInput(queryResultSettings: IQueryResultSettings, searchCriteria?: PurchaseHistorySearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchPurchaseHistory', true, \r\n 'PurchaseHistoryClass'\r\n , 'true', { bypassCache: 'none', returnEntity: 'PurchaseHistory'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function searchPurchaseHistoryAsync(context: IContext, searchCriteria?: PurchaseHistorySearchCriteria | null):AsyncResult {\r\n const request = createSearchPurchaseHistoryInput(context.queryResultSettings, searchCriteria);\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, \r\n 'FiscalIntegrationDocumentClass'\r\n , '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, \r\n 'FiscalIntegrationDocumentClass'\r\n , '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, \r\n 'FiscalIntegrationDocumentClass'\r\n , '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, \r\n 'FiscalIntegrationDocumentClass'\r\n , '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, \r\n 'FiscalIntegrationRegistrationProcessClass'\r\n , '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, \r\n 'FiscalIntegrationSupportedEventsClass'\r\n , '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, \r\n 'FiscalIntegrationTechnicalProfileClass'\r\n , '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, \r\n 'FiscalIntegrationTechnicalProfileClass'\r\n , '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 createGetFiscalRegistrationProcessSummaryInput(hardwareProfileId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('GetFiscalRegistrationProcessSummary', true, \r\n 'FiscalIntegrationFiscalRegistrationProcessSummaryClass'\r\n , 'false', { bypassCache: 'none', returnEntity: 'FiscalIntegrationFiscalRegistrationProcessSummary'}, {hardwareProfileId: hardwareProfileId });\r\n }\r\n\r\n export function getFiscalRegistrationProcessSummaryAsync(context: IContext, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createGetFiscalRegistrationProcessSummaryInput(hardwareProfileId);\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, \r\n 'FiscalIntegrationTechnicalProfileClass'\r\n , '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, \r\n 'FiscalIntegrationServiceStatusClass'\r\n , '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, \r\n 'FiscalIntegrationServiceCommunicationResultClass'\r\n , '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, \r\n 'FeatureStateClass'\r\n , '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, \r\n 'FiscalIntegrationSequentialSignatureDataClass'\r\n , '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, \r\n 'FiscalTransactionClass'\r\n , '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, \r\n 'PickupTimeslotAvailabilityClass'\r\n , '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 createCalculateSalesDocumentInput(salesDocument?: Cart | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CalculateSalesDocument', true, \r\n 'CartClass'\r\n , 'false', { bypassCache: 'get', returnEntity: 'Cart'}, {salesDocument: salesDocument });\r\n }\r\n\r\n export function calculateSalesDocumentAsync(context: IContext, salesDocument?: Cart | null):AsyncResult {\r\n const request = createCalculateSalesDocumentInput(salesDocument);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createSearchVendorsInput(queryResultSettings: IQueryResultSettings, searchCriteria?: VendorSearchCriteria | null): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('SearchVendors', true, \r\n 'VendorClass'\r\n , 'true', { bypassCache: 'none', returnEntity: 'Vendor'}, {searchCriteria: searchCriteria });\r\n }\r\n\r\n export function searchVendorsAsync(context: IContext, searchCriteria?: VendorSearchCriteria | null):AsyncResult {\r\n const request = createSearchVendorsInput(context.queryResultSettings, searchCriteria);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createValidateVendorApprovedForItemInput(itemId?: string | null, vendorAccountNumber?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('ValidateVendorApprovedForItem', true, \r\n 'VendorValidationResultClass'\r\n , 'false', { bypassCache: 'get', returnEntity: 'VendorValidationResult'}, {itemId: itemId, vendorAccountNumber: vendorAccountNumber });\r\n }\r\n\r\n export function validateVendorApprovedForItemAsync(context: IContext, itemId?: string | null, vendorAccountNumber?: string | null):AsyncResult {\r\n const request = createValidateVendorApprovedForItemInput(itemId, vendorAccountNumber);\r\n return executeAction(request, context);\r\n }\r\n \r\n export function createLocalizationIndiaGetBusinessVerticalsInput(queryResultSettings: IQueryResultSettings): IDataServiceRequest {\r\n const query = storeQuery().resultSettings(queryResultSettings);\r\n return query.createDataServiceRequestForOperation('LocalizationIndiaGetBusinessVerticals', true, \r\n 'BusinessVerticalsIndiaClass'\r\n , 'true', { bypassCache: 'get', returnEntity: 'BusinessVerticalsIndia'}, { });\r\n }\r\n\r\n export function localizationIndiaGetBusinessVerticalsAsync(context: IContext):AsyncResult {\r\n const request = createLocalizationIndiaGetBusinessVerticalsInput(context.queryResultSettings);\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, \r\n 'ButtonGridClass'\r\n , '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, \r\n 'ButtonGridClass'\r\n , '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, \r\n 'OperationalInsightsConfigurationClass'\r\n , '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, \r\n 'CashDeclarationClass'\r\n , '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, \r\n 'CountryRegionInfoClass'\r\n , '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, \r\n 'CustomerGroupClass'\r\n , '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, \r\n 'ChannelDeliveryOptionConfigurationClass'\r\n , '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, \r\n 'ChannelIdentityClass'\r\n , '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, \r\n 'ChannelIdentityClass'\r\n , '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, \r\n 'ChannelIdentityClass'\r\n , '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, \r\n 'EnvironmentConfigurationClass'\r\n , '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, \r\n 'SearchConfigurationClass'\r\n , '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, \r\n 'ExtensionPackageDefinitionClass'\r\n , '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, \r\n 'ExtensionProfileClass'\r\n , '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, \r\n 'DeviceConfigurationClass'\r\n , '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, \r\n 'VisualProfileClass'\r\n , '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, \r\n 'SupportedLanguageClass'\r\n , '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, \r\n 'AffiliationClass'\r\n , '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, \r\n 'OperationPermissionClass'\r\n , '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, \r\n 'ReasonCodeClass'\r\n , '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, \r\n 'ReasonCodeClass'\r\n , '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, \r\n 'SalesTaxGroupClass'\r\n , '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, \r\n 'TenderTypeClass'\r\n , '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, \r\n 'UnitOfMeasureClass'\r\n , '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, \r\n 'DiscountCodeClass'\r\n , '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, \r\n 'CurrencyClass'\r\n , '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, \r\n 'CurrencyAmountClass'\r\n , '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, \r\n 'CommissionSalesGroupClass'\r\n , '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, \r\n 'CommissionSalesGroupClass'\r\n , '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, \r\n 'PaymentMerchantInformationClass'\r\n , '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, \r\n 'PaymentMerchantInformationClass'\r\n , '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, \r\n 'ChannelInventoryConfigurationClass'\r\n , '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, \r\n 'ChannelPurchaseConfigurationClass'\r\n , '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, \r\n 'InventoryJournalNameClass'\r\n , '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, \r\n 'DeviceClass'\r\n , '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, \r\n 'UserDefinedSecretCertificateResultClass'\r\n , '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, \r\n 'MediaBlobClass'\r\n , '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, \r\n 'ExtensibleEnumerationContainerClass'\r\n , '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, \r\n 'AddressPurposeClass'\r\n , '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, \r\n 'ReturnPolicyClass'\r\n , '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, \r\n 'EmailReceiptSettingsClass'\r\n , '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 export function createCheckFiscalIntegrationComplianceInput(hardwareProfileId?: string | null): IDataServiceRequest {\r\n const query = storeQuery();\r\n return query.createDataServiceRequestForOperation('CheckFiscalIntegrationCompliance', false, \r\n 'FiscalIntegrationComplianceResultClass'\r\n , 'false', { bypassCache: 'get', returnEntity: 'FiscalIntegrationComplianceResult'}, {hardwareProfileId: hardwareProfileId });\r\n }\r\n\r\n export function checkFiscalIntegrationComplianceAsync(context: IContext, hardwareProfileId?: string | null):AsyncResult {\r\n const request = createCheckFiscalIntegrationComplianceInput(hardwareProfileId);\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 */\n/* eslint-disable @typescript-eslint/no-var-requires */\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\nlet serverWorkerNotUpdated = false;\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};\nconst OBO_REQUEST = 'isOBORequest';\nconst GET_ACCOUNT_SELECTION_COOKIE = 'getAccountSelectionCookie';\nconst CUSTOMER_ACCOUNT_NUMBER = 'CAN';\n\nconst fetchCommerceModels = async () => {\n return import('./Entities/CommerceModels.g');\n};\n\nconst isServiceWorkerSupportedOnClient = () => {\n return typeof navigator !== 'undefined' && 'serviceWorker' in navigator;\n};\n\nconst shouldSkipSerializationFromSW = (initialData: any, resultType: any) => {\n if (process.env.NODE_ENV === 'test' || process.env.DEPLOYMENT_ENV !== 'WEBAPP') {\n return true;\n }\n\n if (!initialData || !initialData.requestContext || !initialData.requestContext.features.enable_service_worker) {\n console.log('service worker turned off, skipping sw serialization');\n return true;\n }\n\n if (typeof resultType !== 'string') {\n return true;\n }\n\n // service worker could be old or pending update version\n if (serverWorkerNotUpdated) {\n return true;\n }\n\n if (isServiceWorkerSupportedOnClient()) {\n return initialData.requestContext.features.disableRetailProxySW || initialData.requestContext.query['skip-rp-sw'];\n }\n\n return false;\n};\n\nconst initServerWorker = async () => {\n if (process.env.CURRENT_ENVIRONMENT !== 'node') {\n if (isServiceWorkerSupportedOnClient()) {\n const serviceWorker = await navigator.serviceWorker.ready;\n return serviceWorker;\n }\n }\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 const parseOdataResult = async (data: any, resultType: any): Promise => {\n let serviceWorker;\n let Models;\n const initialData = typeof window !== 'undefined' && (window as any).___initialData___;\n const skipSerializationFromSW = shouldSkipSerializationFromSW(initialData, resultType);\n\n if (!skipSerializationFromSW) {\n serviceWorker = await initServerWorker();\n } else {\n // If service workder is skipped, load the commerce models object dynamically\n Models = await fetchCommerceModels();\n }\n\n if (!data) {\n return data;\n }\n\n if (!data.value) {\n if (typeof resultType === 'string') {\n if (process.env.CURRENT_ENVIRONMENT === 'node') {\n Models = require('./Entities/CommerceModels.g');\n return resultType ? new Models[resultType](data) : data;\n } else if (skipSerializationFromSW) {\n return resultType && Models[resultType] ? new Models[resultType](data) : data;\n } else {\n if (!resultType) {\n return data;\n }\n\n return getSerializedResponseFromServiceWorker(serviceWorker, resultType, data);\n }\n }\n\n return resultType ? new resultType(data) : data;\n }\n\n let resultSet = data.value;\n\n if (resultType) {\n if (Object.prototype.toString.call(resultSet) === '[object Array]') {\n if (typeof resultType === 'string') {\n // Include commercemodels in the bundle in the context of node only\n if (process.env.CURRENT_ENVIRONMENT === 'node') {\n Models = require('./Entities/CommerceModels.g');\n for (let i = 0; i < resultSet.length; i++) {\n resultSet[i] = new Models[resultType](resultSet[i]);\n }\n } else if (skipSerializationFromSW) {\n for (let i = 0; i < resultSet.length; i++) {\n resultSet[i] = new Models[resultType](resultSet[i]);\n }\n } else {\n resultSet = await getSerializedResponseFromServiceWorker(serviceWorker, resultType, resultSet);\n }\n } else {\n for (let i = 0; i < resultSet.length; i++) {\n resultSet[i] = new resultType(resultSet[i]);\n }\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 * @param serviceWorker serviceWorker instance\n * @param resultType CommerceModels type\n * @param data retail serve response to be serialized\n * @returns serialized CommerceModels object\n */\nconst getSerializedResponseFromServiceWorker = (serviceWorker: any, resultType: any, data: any | any[]) => {\n // Import commerce modesl dynamically and serialize, in case if the serialization response is not received\n // from service worker in time\n let timerId;\n const dynamicImportPromise = new Promise((resolve, reject) => {\n timerId = setTimeout(async () => {\n const Models = await fetchCommerceModels();\n serverWorkerNotUpdated = true;\n if (Array.isArray(data)) {\n for (let i = 0; i < data.length; i++) {\n data[i] = resultType && Models[resultType] ? new Models[resultType](data[i]) : data[i];\n }\n\n resolve(data);\n } else {\n resolve(resultType && Models[resultType] ? new Models[resultType](data) : data);\n }\n }, 2000);\n });\n\n const serializePromise = new Promise((resolve, reject) => {\n const messageChannel = new MessageChannel();\n\n messageChannel.port1.onmessage = e => {\n resolve(e.data.serializedData);\n clearTimeout(timerId);\n };\n\n serviceWorker.active.postMessage(\n {\n type: 'SERIALIZE_DATA',\n resultType,\n payload: data\n },\n [messageChannel.port2]\n );\n });\n\n return Promise.race([serializePromise, dynamicImportPromise]);\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 private _clientTimeoutInMs?: number;\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 = async (\n batchResponses: any[],\n requests: any[],\n responses: any[],\n callerContext?: ICallerContext\n ): Promise => {\n let errors: ProxyError[] = new Array();\n\n batchResponses.map(async response => {\n if (response.__changeResponses) {\n errors = errors.concat(\n await DataServiceRequest.parseBatchResponses(response.__changeResponses, requests, responses, callerContext)\n );\n } else {\n if (!response.message) {\n const requestId = parseInt(response.headers['Content-ID'], 10);\n\n responses[requestId] = await parseOdataResult(response.data, requests[requestId - 1]._query.returnType);\n } else {\n errors = errors.concat(ErrorParser.parseErrorMessage(response, callerContext));\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 public setClientTimeoutInMs = (timeout: number) => {\n this._clientTimeoutInMs = timeout;\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 DataServiceRequest.parseBatchResponses(data.__batchResponses, requests, responses, this._callerContext).then(\n (errors: ProxyError[]) => {\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 );\n },\n (error: any) => {\n Tracer.Error(this.batchRequestUri + ' failed');\n reject(ErrorParser.parseErrorMessage(error, this._callerContext));\n },\n this._query.returnType,\n this._clientTimeoutInMs,\n callerContext\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 const orderByColumns = [];\n this._query.resultSettings.Sorting.Columns.forEach((column: SortColumn) => {\n if (!isNullOrWhitespace(column.ColumnName || EMPTY)) {\n orderByColumns.push(format('{0}%20{1}', column.ColumnName, column.IsDescending ? 'desc' : 'asc'));\n }\n });\n if (orderByColumns.length > 0) {\n requestUri = DataServiceRequest.addParameter(requestUri, '$orderby', orderByColumns.join(','));\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 // OBO request\n const { user, cookies } = this._callerContext.requestContext;\n if (user.hasOwnProperty(OBO_REQUEST)) {\n const isOBORequest = user[OBO_REQUEST];\n if (cookies.hasOwnProperty(GET_ACCOUNT_SELECTION_COOKIE)) {\n const accountSelectionCookie = cookies[GET_ACCOUNT_SELECTION_COOKIE];\n const accountSelectionCustomerId = accountSelectionCookie();\n if (!isNullOrWhitespace(accountSelectionCustomerId) && isOBORequest) {\n const accountSelectionCustomerIdParts: string[] = accountSelectionCustomerId.split(':');\n headers[CUSTOMER_ACCOUNT_NUMBER] = accountSelectionCustomerIdParts[1];\n } else if (isOBORequest) {\n headers[CUSTOMER_ACCOUNT_NUMBER] = '';\n }\n }\n }\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 parseOdataResult(data, this._query.returnType).then(resultSet => {\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 },\n (error: any) => {\n modelManagersRetailServerRequestError(requestId, this._requestUri, error.message);\n reject(ErrorParser.parseErrorMessage(error, this._callerContext));\n },\n this._query.returnType,\n this._clientTimeoutInMs,\n this._callerContext\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((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 \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 * The CreatePurchaseOrder member.\r\n */\r\n CreatePurchaseOrder = 11,\r\n \r\n /**\r\n * The SavePurchaseOrder member.\r\n */\r\n SavePurchaseOrder = 12\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 * The Created member.\r\n */\r\n Created = 10\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 * The Microsoft_Dynamics_Commerce_Runtime_Inventory_ReceiverNotAllowedForInboundSearchCriteria member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_ReceiverNotAllowedForInboundSearchCriteria,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_SenderNotAllowedForOutboundSearchCriteria member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_SenderNotAllowedForOutboundSearchCriteria,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_FilterCannotContainTransferFromAndShipFromAtTheSameTime member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_FilterCannotContainTransferFromAndShipFromAtTheSameTime,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_CannotSearchPurchaseOrderByFilterTransferFrom member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_CannotSearchPurchaseOrderByFilterTransferFrom,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_CannotSearchTransferOrderByFilterShipFrom member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_CannotSearchTransferOrderByFilterShipFrom,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_NotValidStockCountJournal member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_NotValidStockCountJournal,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_SerialNumberLinesFailedToDownload member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_SerialNumberLinesFailedToDownload,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_DeliveryModeTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DeliveryModeTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_CannotReturnMultipleVendors member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_CannotReturnMultipleVendors,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ActionNotSupportedWhenChangeManagementIsEnabled member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ActionNotSupportedWhenChangeManagementIsEnabled,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_NotValidTransferOrderJournalXmlStr member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_NotValidTransferOrderJournalXmlStr,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_NotSupportedDocumentStateInSearchCriteria member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_NotSupportedDocumentStateInSearchCriteria,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_NotSupportedSearchCriteriaWhenSearchInventoryDocumentLines member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_NotSupportedSearchCriteriaWhenSearchInventoryDocumentLines,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_Inventory_SerialNumberLineQuantityExceedsLimit member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_Inventory_SerialNumberLineQuantityExceedsLimit\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_InvalidNumberOfProductBehaviorsFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidNumberOfProductBehaviorsFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_ProductBehaviorNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_ProductBehaviorNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_KitComponentNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_KitComponentNotFound,\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 * The Microsoft_Dynamics_Commerce_Runtime_CategoryAttributeTypeNotSupported member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CategoryAttributeTypeNotSupported,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_NotValidProductDataXml member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_NotValidProductDataXml\r\n }\r\n \r\n /**\r\n * MediaType enum type.\r\n */\r\n export enum MediaType {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Image member.\r\n */\r\n Image = 1,\r\n \r\n /**\r\n * The Video member.\r\n */\r\n Video = 2,\r\n \r\n /**\r\n * The File member.\r\n */\r\n File = 3\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 * 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 * 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 * The HighestCombinedPricingPriority member.\r\n */\r\n HighestCombinedPricingPriority = 4\r\n }\r\n \r\n /**\r\n * SalesAgreementLineType enum type.\r\n */\r\n export enum SalesAgreementLineType {\r\n \r\n /**\r\n * The ProductQuantity member.\r\n */\r\n ProductQuantity = 0,\r\n \r\n /**\r\n * The ProductVolume member.\r\n */\r\n ProductVolume = 1,\r\n \r\n /**\r\n * The ProductCategory member.\r\n */\r\n ProductCategory = 2,\r\n \r\n /**\r\n * The ProductRootCategory member.\r\n */\r\n ProductRootCategory = 3\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 * 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 * 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 * FiscalIntegrationConnectorLocation enum type.\r\n */\r\n export enum FiscalIntegrationConnectorLocation {\r\n \r\n /**\r\n * The HardwareStation member.\r\n */\r\n HardwareStation = 0,\r\n \r\n /**\r\n * The Pos member.\r\n */\r\n Pos = 1\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 * PriceSourceType enum type.\r\n */\r\n export enum PriceSourceType {\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 TradeAgreement member.\r\n */\r\n TradeAgreement = 2,\r\n \r\n /**\r\n * The PriceAdjustment member.\r\n */\r\n PriceAdjustment = 3,\r\n \r\n /**\r\n * The SalesAgreement member.\r\n */\r\n SalesAgreement = 4\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 * 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 CreatePurchaseOrder member.\r\n */\r\n CreatePurchaseOrder = 809,\r\n \r\n /**\r\n * The ConfirmPurchaseOrder member.\r\n */\r\n ConfirmPurchaseOrder = 810,\r\n \r\n /**\r\n * The CreateTransferOrder member.\r\n */\r\n CreateTransferOrder = 811,\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 * 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 * 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 * NatureOfAssessee enum type.\r\n */\r\n export enum NatureOfAssessee {\r\n \r\n /**\r\n * The Company member.\r\n */\r\n Company = 0,\r\n \r\n /**\r\n * The Huf member.\r\n */\r\n Huf = 1,\r\n \r\n /**\r\n * The Firm member.\r\n */\r\n Firm = 2,\r\n \r\n /**\r\n * The Individual member.\r\n */\r\n Individual = 3,\r\n \r\n /**\r\n * The Aop member.\r\n */\r\n Aop = 4,\r\n \r\n /**\r\n * The Boi member.\r\n */\r\n Boi = 5,\r\n \r\n /**\r\n * The LocalAuthority member.\r\n */\r\n LocalAuthority = 6,\r\n \r\n /**\r\n * The Others member.\r\n */\r\n Others = 7\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 * InventoryAccuracy enum type.\r\n */\r\n export enum InventoryAccuracy {\r\n \r\n /**\r\n * The Default member.\r\n */\r\n Default = 0,\r\n \r\n /**\r\n * The Low member.\r\n */\r\n Low = 1\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 * FiscalIntegrationRegistrationProcessMode enum type.\r\n */\r\n export enum FiscalIntegrationRegistrationProcessMode {\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 Excepted member.\r\n */\r\n Excepted = 2,\r\n \r\n /**\r\n * The Full member.\r\n */\r\n Full = 3\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 * VendorValidationResultLevel enum type.\r\n */\r\n export enum VendorValidationResultLevel {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The Approved member.\r\n */\r\n Approved = 1,\r\n \r\n /**\r\n * The ApprovedWithWarning member.\r\n */\r\n ApprovedWithWarning = 2,\r\n \r\n /**\r\n * The NotApproved member.\r\n */\r\n NotApproved = 3\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 * The Microsoft_Dynamics_Commerce_Runtime_DataSignatureRequestHandlerExecutionDeprecated member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_DataSignatureRequestHandlerExecutionDeprecated\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_InvalidExtendedAuthenticationCredentials member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_InvalidExtendedAuthenticationCredentials,\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_EmployeeIsConfiguredAsBlockLogin member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_EmployeeIsConfiguredAsBlockLogin,\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 * The Microsoft_Dynamics_Commerce_Runtime_OnBehalfOfNotAllowed member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OnBehalfOfNotAllowed\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 * The Microsoft_Dynamics_Commerce_Runtime_OrderManager_CreditMemo_MissingId member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_OrderManager_CreditMemo_MissingId,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableToReadCardTokenInfo member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableToReadCardTokenInfo,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_TenderLineIsNotAvailableInSalesTransaction member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_TenderLineIsNotAvailableInSalesTransaction,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsAvailableCreditLimit member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_CustomerAccountPaymentExceedsAvailableCreditLimit\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 * The Microsoft_Dynamics_Commerce_Runtime_UnableResolveRegistrationProcess member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableResolveRegistrationProcess,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_UnableResolveTechnicalProfileForRegistrationProcessLine member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_UnableResolveTechnicalProfileForRegistrationProcessLine\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 * PricingDataValidationErrors enum type.\r\n */\r\n export enum PricingDataValidationErrors {\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MixAndMatchDiscountWithInvalidLineGroups member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MixAndMatchDiscountWithInvalidLineGroups,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MixAndMatchDiscountWithNoLineGroups member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MixAndMatchDiscountWithNoLineGroups,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_StartDateTimeLaterThanEndDateTime member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_StartDateTimeLaterThanEndDateTime,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_PricingPropertyHandlerNotFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_PricingPropertyHandlerNotFound,\r\n \r\n /**\r\n * The Microsoft_Dynamics_Commerce_Runtime_MultiplePricingPropertyHandlerFound member.\r\n */\r\n Microsoft_Dynamics_Commerce_Runtime_MultiplePricingPropertyHandlerFound\r\n }\r\n \r\n /**\r\n * ProductPricingConfigurationErrorCode enum type.\r\n */\r\n export enum ProductPricingConfigurationErrorCode {\r\n \r\n /**\r\n * The None member.\r\n */\r\n None = 0,\r\n \r\n /**\r\n * The MissingItemId member.\r\n */\r\n MissingItemId = 1,\r\n \r\n /**\r\n * The MissingUnitOfMeasure member.\r\n */\r\n MissingUnitOfMeasure = 2,\r\n \r\n /**\r\n * The InvalidQuantity member.\r\n */\r\n InvalidQuantity = 4\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 * TaxLimitBase enum type.\r\n */\r\n export enum TaxLimitBase {\r\n \r\n /**\r\n * The LineWithoutVat member.\r\n */\r\n LineWithoutVat = 0,\r\n \r\n /**\r\n * The UnitWithoutVat member.\r\n */\r\n UnitWithoutVat = 1,\r\n \r\n /**\r\n * The InvoiceWithoutVat member.\r\n */\r\n InvoiceWithoutVat = 2,\r\n \r\n /**\r\n * The LineWithVat member.\r\n */\r\n LineWithVat = 3,\r\n \r\n /**\r\n * The UnitWithVat member.\r\n */\r\n UnitWithVat = 4,\r\n \r\n /**\r\n * The InvoiceWithVat member.\r\n */\r\n InvoiceWithVat = 5\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 * The Microsoft_Dynamics_RetailServer_MultipleValuesOfSameArgument member.\r\n */\r\n Microsoft_Dynamics_RetailServer_MultipleValuesOfSameArgument,\r\n \r\n /**\r\n * The Microsoft_Dynamics_RetailServer_ODataControllerError member.\r\n */\r\n Microsoft_Dynamics_RetailServer_ODataControllerError\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 LocalizedDescription?: string;\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 IsTaxIncludedInPrice?: boolean;\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 PrepaymentRoundingDifference?: 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 DefaultPaymentMethod?: string;\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 PrepaymentRoundingDifference?: 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 OriginalOrderTransactionId?: string;\r\n FiscalTransactions?: FiscalTransaction[];\r\n LanguageId?: string;\r\n SalesAgreementRecordId?: number;\r\n TransactionDate?: Date;\r\n TransactionTime?: number;\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 TransactionDate?: Date;\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 Name?: 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 * 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 PriceLines?: PriceLine[];\r\n DiscountLines?: DiscountLine[];\r\n RelatedDiscountedLineIds?: string[];\r\n ReasonCodeLines?: ReasonCodeLine[];\r\n ChargeLines?: ChargeLine[];\r\n TaxLines?: TaxLine[];\r\n ReturnTaxLines?: TaxLine[];\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 SalesAgreementLineRecordId?: 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 InventoryTransactionId?: string;\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 TransactionDateTime?: Date;\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 AmountInOriginalCurrency?: number;\r\n TransactionCurrencyCode?: string;\r\n TenderType?: string;\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 OfferDescription?: string;\r\n Amount?: number;\r\n DiscountCost?: number;\r\n EffectiveAmount?: number;\r\n EffectivePercentage?: number;\r\n LineNumber?: 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 PricingAttributeCombinationPriority?: 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 AllowCreatePurchaseOrder?: boolean;\r\n AllowConfirmPurchaseOrder?: 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 RequireShippingAddress?: boolean;\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 NotReloadAcceptPageContentWhenAmountChanged?: boolean;\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 Email?: string;\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 InventorySiteId?: string;\r\n WarehouseLocation?: string;\r\n InventoryStatusId?: string;\r\n LicensePlate?: string;\r\n InventoryDimensionId?: string;\r\n InventoryTransactionId?: 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 AttainablePriceLines?: 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 SalesAgreementPrice?: number;\r\n SalesAgreementLineRecordId?: number;\r\n IsSalesAgreementSkipped?: boolean;\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 Overridden?: boolean;\r\n OverriddenFloatEntryAmountInStoreCurrency?: number;\r\n OverriddenFloatEntryAmountInTenderedCurrency?: number;\r\n OverriddenBankDropAmountInStoreCurrency?: number;\r\n OverriddenBankDropAmountInTenderedCurrency?: number;\r\n OverriddenChangeAmountInStoreCurrency?: number;\r\n OverriddenChangeAmountInTenderedCurrency?: number;\r\n OverriddenDeclaredTenderAmountInStoreCurrency?: number;\r\n OverriddenDeclaredTenderAmountInTenderedCurrency?: number;\r\n OverriddenRemovedTenderAmountInStoreCurrency?: number;\r\n OverriddenRemovedTenderAmountInTenderedCurrency?: number;\r\n OverriddenSafeDropAmountInStoreCurrency?: number;\r\n OverriddenSafeDropAmountInTenderedCurrency?: number;\r\n OverriddenStartingAmountInStoreCurrency?: number;\r\n OverriddenStartingAmountInTenderedCurrency?: number;\r\n OverriddenTenderedAmountInStoreCurrency?: 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 IsTaxGroupRounding?: boolean;\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 RoundingDifference?: number;\r\n RemainingLinkedRefundAmount?: number;\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 SalesAgreementPrice?: number;\r\n PriceSourceTypeValue?: number;\r\n AttainablePriceLines?: PriceLine[];\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 StaffId?: 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 ItemIds?: string[];\r\n AvailableSerializedLineOnly?: boolean;\r\n DocumentLineIds?: string[];\r\n DocumentOperationTypeValue?: number;\r\n OperationTypeValue?: number;\r\n LocationId?: string;\r\n ToLocationId?: string;\r\n AdjustmentTypeValue?: number;\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 TransferFromWarehouse?: string;\r\n ShipFromWarehouse?: string;\r\n TransferToWarehouse?: string;\r\n Description?: string;\r\n DocumentTypeIds?: 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 ProductNumber?: string;\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 ProductNumber?: string;\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 Language?: string;\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 Priority?: number;\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 IsPickupLocation?: boolean;\r\n IsShippingLocation?: boolean;\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 HideSystemInventoryInStockCount: boolean;\r\n EnablePriceChangeTracking: 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 TenderTypeId?: 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 * OrderOriginator entity interface.\r\n */\r\n export interface OrderOriginator {\r\n TransactionId?: string;\r\n SalesId?: string;\r\n StaffId?: string;\r\n StaffName?: string;\r\n CustomerId?: string;\r\n CustomerName?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * OrderOriginatorSearchCriteria entity interface.\r\n */\r\n export interface OrderOriginatorSearchCriteria {\r\n TransactionIds?: string[];\r\n SalesIds?: string[];\r\n SearchLocationValue?: number;\r\n DataLevelValue?: number;\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 OrderedByCustomerName?: 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 * PurchaseHistorySearchCriteria entity interface.\r\n */\r\n export interface PurchaseHistorySearchCriteria {\r\n StartDate?: Date;\r\n EndDate?: Date;\r\n CustomerAccountNumber?: string;\r\n ItemId?: string;\r\n ProductNameFilter?: string;\r\n ReceiptId?: string;\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 * 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 * BusinessVerticalsIndia entity interface.\r\n */\r\n export interface BusinessVerticalsIndia {\r\n RecId: number;\r\n Name?: string;\r\n EntityCode?: string;\r\n Description?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * AddressTaxInformationIndia entity interface.\r\n */\r\n export interface AddressTaxInformationIndia {\r\n RecId?: number;\r\n Name?: string;\r\n RegistrationLocation?: number;\r\n Tin?: number;\r\n Gstin?: number;\r\n TinRegistrationNumber?: TaxRegistrationNumberIndia;\r\n GstinRegistrationNumber?: TaxRegistrationNumberIndia;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * CustomerTaxInformation entity interface.\r\n */\r\n export interface CustomerTaxInformation {\r\n CustomerId?: string;\r\n DataAreaId?: string;\r\n IsForeign?: boolean;\r\n IsPreferential?: boolean;\r\n NatureOfAssessee?: string;\r\n PanNumber?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * TaxRegistrationNumberIndia entity interface.\r\n */\r\n export interface TaxRegistrationNumberIndia {\r\n RecId?: number;\r\n RegistrationNumber?: string;\r\n RegistrationType?: number;\r\n TaxType?: number;\r\n Type?: number;\r\n BusinessVerticals?: number;\r\n ExtensionProperties?: CommerceProperty[];\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 IsAdditionalMedia?: boolean;\r\n MediaTypeValue?: number;\r\n DisplayOrder?: number;\r\n MediaPurpose?: string;\r\n IsApplicableForChildEntities?: boolean;\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 RequestedDimensionTypeValues?: number[];\r\n MatchingDimensionValues?: ProductDimension[];\r\n DefaultWarehouseOnly?: boolean;\r\n FilterByChannelFulfillmentGroup?: boolean;\r\n DeliveryModeTypeFilterValue?: number;\r\n CatalogId?: number;\r\n InventoryAccuracyValue?: 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 Price?: number;\r\n IsPriceKeyedIn?: boolean;\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 * RecallOrderSearchCriteria entity interface.\r\n */\r\n export interface RecallOrderSearchCriteria {\r\n TransactionId?: string;\r\n Id?: string;\r\n SearchLocationValue?: number;\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 * InvoicedSalesLinesSearchCriteria entity interface.\r\n */\r\n export interface InvoicedSalesLinesSearchCriteria {\r\n SalesIds?: string[];\r\n InvoiceIds?: 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 OnlineStoreCustomerTypeValue?: number;\r\n OnlineChannelName?: string;\r\n CurrencyCode?: string;\r\n CountryRegions?: CountryRegion[];\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 }\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 ModeValue?: number;\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 ConnectorLocationValue?: number;\r\n TechnicalProfile?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * FiscalIntegrationFiscalRegistrationProcessSummary entity interface.\r\n */\r\n export interface FiscalIntegrationFiscalRegistrationProcessSummary {\r\n RegistrationProcessId?: string;\r\n FiscalRegistrationProcessSummaryLines?: FiscalIntegrationFiscalRegistrationProcessSummaryLine[];\r\n ErrorCode?: number;\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 * VendorSearchCriteria entity interface.\r\n */\r\n export interface VendorSearchCriteria {\r\n SearchText?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * Vendor entity interface.\r\n */\r\n export interface Vendor {\r\n RecordId?: number;\r\n AccountNumber?: string;\r\n PartyId?: number;\r\n DataAreaId?: string;\r\n Name?: string;\r\n NameAlias?: string;\r\n PartyNumber?: string;\r\n ExtensionProperties?: CommerceProperty[];\r\n }\r\n \r\n /**\r\n * VendorValidationResult entity interface.\r\n */\r\n export interface VendorValidationResult {\r\n Message?: string;\r\n VendorValidationResultLevelValue?: number;\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 ProductAvailabilitySortableAttributeRecordId?: number;\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 * FiscalIntegrationComplianceResult entity interface.\r\n */\r\n export interface FiscalIntegrationComplianceResult {\r\n ErrorMessages?: string[];\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 * 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 * AttributePricingTradeAgreementPriceLine entity interface.\r\n */\r\n export interface AttributePricingTradeAgreementPriceLine extends TradeAgreementPriceLine {\r\n CanApplyPriceAdjustments?: boolean;\r\n }\r\n \r\n /**\r\n * SalesAgreementPriceLine entity interface.\r\n */\r\n export interface SalesAgreementPriceLine extends PriceLine {\r\n SalesAgreementName?: string;\r\n UnitPrice?: number;\r\n DiscountAmount?: number;\r\n DiscountPercent?: number;\r\n SalesAgreementLineTypeValue?: number;\r\n PriceUnit?: number;\r\n EffectiveDate?: Date;\r\n ExpirationDate?: Date;\r\n CommittedQuantity?: number;\r\n RemainingQuantity?: number;\r\n CommittedAmount?: number;\r\n RemainingAmount?: number;\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 * AttributePricingAdjustmentPriceLine entity interface.\r\n */\r\n export interface AttributePricingAdjustmentPriceLine extends PriceAdjustmentPriceLine {\r\n CanCompoundOnAdjustedPrice?: boolean;\r\n PricingPriorityNumber?: number;\r\n AdjustedAmount?: number;\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 * 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 * 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 * FiscalIntegrationFiscalRegistrationProcessSummaryLine entity interface.\r\n */\r\n export interface FiscalIntegrationFiscalRegistrationProcessSummaryLine {\r\n RegistrationProcessLine?: FiscalIntegrationRegistrationProcessLine;\r\n ConnectorName?: string;\r\n ConnectorTypeValue?: number;\r\n ConnectorLocationValue?: number;\r\n ConnectionProperties?: FiscalIntegrationConfigurationProperty[];\r\n ErrorCode?: number;\r\n }\r\n \r\n /**\r\n * FiscalIntegrationConfigurationProperty entity interface.\r\n */\r\n export interface FiscalIntegrationConfigurationProperty {\r\n LabelName?: string;\r\n Value?: 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 MaximumPurchasablePhysicalAvailableQuantity?: number;\r\n MaximumPurchasableTotalAvailableQuantity?: number;\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 MaximumPurchasablePhysicalAvailableQuantity?: number;\r\n MaximumPurchasableTotalAvailableQuantity?: number;\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 * ProductPricingConfigurationException entity interface.\r\n */\r\n export interface ProductPricingConfigurationException extends CommerceException {\r\n ProductPricingConfigurationErrors?: ProductPricingConfigurationError[];\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 * ProductPricingConfigurationError entity interface.\r\n */\r\n export interface ProductPricingConfigurationError {\r\n ProductId?: string;\r\n ErrorResourceId?: string;\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 * ChargeTaxMeasure entity interface.\r\n */\r\n export interface ChargeTaxMeasure extends TaxMeasure {\r\n MarkupLineNumber?: number;\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 \r\n /**\r\n * CompilationFailedException entity interface.\r\n */\r\n export interface CompilationFailedException extends CommerceException {\r\n }\r\n \r\n /**\r\n * FranceExtensibleAuditEventType entity interface.\r\n */\r\n export interface FranceExtensibleAuditEventType extends ExtensibleAuditEventType {\r\n }\r\n \r\n /**\r\n * AustriaExtensibleAuditEventType entity interface.\r\n */\r\n export interface AustriaExtensibleAuditEventType extends ExtensibleAuditEventType {\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';\nimport {\n ICallerContext\n} from './../Interfaces';\nimport {\n isOboRequest\n} from './../externals/helper'\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, callerContext?: ICallerContext): ProxyError[] {\n const response = error.response;\n let errors: ProxyError[] = [];\n const isObo = callerContext ? isOboRequest(callerContext) : false;\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 if (isObo) {\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 if (extraData && typeof extraData == 'object' && extraData.request) {\n // Remove sensitive data (EUII) so that it doesn't get logged to AppInsights\n extraData.request.headers = {};\n extraData.request.data = {};\n extraData.request.body = {};\n }\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 { ICacheKey, ICallerContext, IRequestContextParams } from '../Interfaces';\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 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\nconst defaultHttpClient = {\n callbackParameterName: '$callback',\n formatQueryString: '$format=json',\n enableJsonpCallback: false,\n\n request(request, success, error, returnType: string, clientTimeout?: number, callerContext?: ICallerContext) {\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 const initialData = window.___initialData___;\n const rtype = getCacheObjectValueFromReturnType(returnType);\n const rTypeLowerCase = rtype.toLowerCase();\n const clientTimeoutMap = initialData._clientPlatformSetting?.clientTimeoutMapInMs;\n if (clientTimeoutMap && clientTimeoutMap[rTypeLowerCase]) {\n axiosTimeout = clientTimeoutMap[rTypeLowerCase];\n } else if (initialData._clientPlatformSetting?.clientSideDataActionTimeoutInMs) {\n // @ts-ignore -using client window object\n axiosTimeout = initialData._clientPlatformSetting.clientSideDataActionTimeoutInMs;\n }\n\n if (clientTimeout) {\n axiosTimeout = clientTimeout;\n }\n }\n } else {\n const serverSideDataActionTimeoutInMs = process.env.serverSideDataActionTimeoutInMs;\n axiosTimeout =\n serverSideDataActionTimeoutInMs && serverSideDataActionTimeoutInMs !== ''\n ? Number(serverSideDataActionTimeoutInMs)\n : 4000;\n }\n\n const pageInsightsData = {\n Request: {\n Headers: request.headers,\n Method: request.method,\n Body: request.body\n },\n Response: {\n Headers: {},\n Body: {},\n StatusText: '',\n StatusCode: 0\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\n if (isPageInsightsEnabled(callerContext.requestContext.params)) {\n pageInsightsData.Response.Body = axiosResponse.data;\n pageInsightsData.Response.StatusText = axiosResponse.statusText;\n pageInsightsData.Response.StatusCode = axiosResponse.status;\n pageInsightsData.Response.Headers = axiosResponse.headers;\n const insightsKey: ICacheKey = {\n typeName: 'string',\n key: '__API_INSIGHTS__'\n };\n const insightsData = callerContext.requestCache.get(insightsKey)?.item || {};\n insightsData[url] = pageInsightsData;\n callerContext.requestCache.put(insightsKey, { item: insightsData });\n }\n\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\n if (isPageInsightsEnabled(callerContext.requestContext.params)) {\n pageInsightsData.Response.Body = axiosError.response ? axiosError.response.data : {};\n pageInsightsData.Response.StatusText = axiosError.name;\n pageInsightsData.Response.StatusCode = axiosError.response ? parseInt(axiosError.response.status, 10) : 0;\n pageInsightsData.Response.Headers = axiosError.response ? axiosError.response.headers : {};\n const insightsKey: ICacheKey = {\n typeName: 'string',\n key: '__API_INSIGHTS__'\n };\n const insightsData = callerContext.requestCache.get(insightsKey)?.item || {};\n insightsData[url] = pageInsightsData;\n callerContext.requestCache.put(insightsKey, { item: insightsData });\n }\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 = (\n request,\n success,\n error,\n handler,\n httpClient,\n context,\n returnType: string,\n clientTimeout?: number,\n callerContext?: ICallerContext\n) => {\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 returnType,\n clientTimeout,\n callerContext\n );\n};\n\nexport const isPageInsightsEnabled = (params: IRequestContextParams): boolean => {\n return params?.pageInsights === 'all' || params?.pageInsights === 'info' || params?.pageInsights === 'error';\n};\n\nexport const ODataHttpRequest = (request, success, error, returnType: string, clientTimeout?: number, callerContext?: ICallerContext) => {\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, returnType, clientTimeout, callerContext);\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 */\nimport { ICallerContext } from './../Interfaces';\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 OBO_REQUEST = 'isOBORequest';\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\n// isOBORequest representing whether current user is on behalf of or not\nexport const isOboRequest = (callerContext: ICallerContext): boolean => {\n const { user } = callerContext.requestContext;\n return user[OBO_REQUEST] || false;\n};\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 context.clientTimeoutInMs && request.setClientTimeoutInMs(context.clientTimeoutInMs);\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","'use strict';\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (O, P) {\n if (!delete O[P]) throw $TypeError('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nvar firefox = userAgent.match(/firefox\\/(\\d+)/i);\n\nmodule.exports = !!firefox && +firefox[1];\n","var UA = require('../internals/engine-user-agent');\n\nmodule.exports = /MSIE|Trident/.test(UA);\n","var userAgent = require('../internals/engine-user-agent');\n\nvar webkit = userAgent.match(/AppleWebKit\\/(\\d+)\\./);\n\nmodule.exports = !!webkit && +webkit[1];\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar $parseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : $parseFloat;\n","'use strict';\nvar $ = require('../internals/export');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar deletePropertyOrThrow = require('../internals/delete-property-or-throw');\nvar toString = require('../internals/to-string');\nvar fails = require('../internals/fails');\nvar internalSort = require('../internals/array-sort');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar FF = require('../internals/engine-ff-version');\nvar IE_OR_EDGE = require('../internals/engine-is-ie-or-edge');\nvar V8 = require('../internals/engine-v8-version');\nvar WEBKIT = require('../internals/engine-webkit-version');\n\nvar test = [];\nvar nativeSort = uncurryThis(test.sort);\nvar push = uncurryThis(test.push);\n\n// IE8-\nvar FAILS_ON_UNDEFINED = fails(function () {\n test.sort(undefined);\n});\n// V8 bug\nvar FAILS_ON_NULL = fails(function () {\n test.sort(null);\n});\n// Old WebKit\nvar STRICT_METHOD = arrayMethodIsStrict('sort');\n\nvar STABLE_SORT = !fails(function () {\n // feature detection can be too slow, so check engines versions\n if (V8) return V8 < 70;\n if (FF && FF > 3) return;\n if (IE_OR_EDGE) return true;\n if (WEBKIT) return WEBKIT < 603;\n\n var result = '';\n var code, chr, value, index;\n\n // generate an array with more 512 elements (Chakra and old V8 fails only in this case)\n for (code = 65; code < 76; code++) {\n chr = String.fromCharCode(code);\n\n switch (code) {\n case 66: case 69: case 70: case 72: value = 3; break;\n case 68: case 71: value = 4; break;\n default: value = 2;\n }\n\n for (index = 0; index < 47; index++) {\n test.push({ k: chr + index, v: value });\n }\n }\n\n test.sort(function (a, b) { return b.v - a.v; });\n\n for (index = 0; index < test.length; index++) {\n chr = test[index].k.charAt(0);\n if (result.charAt(result.length - 1) !== chr) result += chr;\n }\n\n return result !== 'DGBEFHACIJK';\n});\n\nvar FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;\n\nvar getSortCompare = function (comparefn) {\n return function (x, y) {\n if (y === undefined) return -1;\n if (x === undefined) return 1;\n if (comparefn !== undefined) return +comparefn(x, y) || 0;\n return toString(x) > toString(y) ? 1 : -1;\n };\n};\n\n// `Array.prototype.sort` method\n// https://tc39.es/ecma262/#sec-array.prototype.sort\n$({ target: 'Array', proto: true, forced: FORCED }, {\n sort: function sort(comparefn) {\n if (comparefn !== undefined) aCallable(comparefn);\n\n var array = toObject(this);\n\n if (STABLE_SORT) return comparefn === undefined ? nativeSort(array) : nativeSort(array, comparefn);\n\n var items = [];\n var arrayLength = lengthOfArrayLike(array);\n var itemsLength, index;\n\n for (index = 0; index < arrayLength; index++) {\n if (index in array) push(items, array[index]);\n }\n\n internalSort(items, getSortCompare(comparefn));\n\n itemsLength = lengthOfArrayLike(items);\n index = 0;\n\n while (index < itemsLength) array[index] = items[index++];\n while (index < arrayLength) deletePropertyOrThrow(array, index++);\n\n return array;\n }\n});\n","var $ = require('../internals/export');\nvar $parseFloat = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != $parseFloat }, {\n parseFloat: $parseFloat\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromiseConstructor = require('../internals/promise-native-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nvar NativePromisePrototype = NativePromiseConstructor && NativePromiseConstructor.prototype;\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromiseConstructor && fails(function () {\n // eslint-disable-next-line unicorn/no-thenable -- required for testing\n NativePromisePrototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = isCallable(onFinally);\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && isCallable(NativePromiseConstructor)) {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromisePrototype['finally'] !== method) {\n defineBuiltIn(NativePromisePrototype, 'finally', method, { unsafe: true });\n }\n}\n"],"names":["DEPRECATED_HOOK_TYPES","ActionRegistrar","dataActionRegister","getRegistration","id","msdyn365Commerce","partnerDataAction","default","action","prototype","Action","unwrapAction","isAction","getAction","registeredAction","registerAction","dataAction","actionRegister","registration","registerHook","hookType","hook","indexOf","StaticTelemetry","LogLevel","hooks","Array","isArray","hookRegistration","Set","forEach","h","add","newRegistration","registerPostHook","registerPreHook","registerPreReadOnlyHook","registerPostReadOnlyHook","registerPreReaderHook","registerPostReaderHook","getPreHooks","actionRegistration","pre","getPostHooks","post","getPreReadHooks","preRead","getPostReadHooks","postRead","getPreReaderHooks","preReader","getPostReaderHooks","postReader","resolveAction","resolveRegistration","preHooks","postHooks","preReadHooks","postReadHooks","preReaderHooks","postReaderHooks","createObservableDataAction","options","wrappedAction","wrapDataAction","actionWrap","Error","input","name","inputFunc","isBatched","_action","RegistrationId","registrationId","func","_isBatched","newAction","_objectSpread","setProperty","propertyName","value","arg1","arg2","AsyncResult","resolve","reject","chainAction","then","result","catch","error","createDataActionHook","preHook","actionId","postHook","preReadonlyHook","postReadonlyHook","preReaderHook","postReaderHook","ActionError","constructor","super","this","Name","message","status","Object","setPrototypeOf","static","shouldReadFromAppCache","appCache","undefined","dataCacheType","shouldWriteToAppCache","isAppCacheData","hasCacheSetting","getCacheObjectType","GET_FROM_RETURNIDENTIFIER","addLocaleInformation","inputs","locale","DataServiceRequest","getCacheKey","endsWith","tmp","_cacheKeyFromInput","_resolveCacheEntryReference","dataServiceRequest","item","requestCache","isWrappingPromise","isObservable","arguments","length","cacheValueAsArray","key","map","cacheObjectType","_cacheObjectType","get","typeName","copyTo","valueItem","isAsyncResult","filter","data","isReturnTypeACollection","_query","logTelemetrySource","cacheValue","cacheKey","context","telemetry","s","ICacheSource","verboseLogger","values","readCacheEntriesBasedOnCacheKeyFromReturnType","cacheKeyFromReturnType","_cacheKeyFromReturnType","cacheKeyIdentifierFromReturnType","_cacheKeyIdentifierFromReturnType","entry","shouldRefresh","shouldRefreshAll","cacheEntries","Boolean","cacheEntriesReturn","readCacheEntries","cacheKeyFromInput","entries","cachedValueBasedOnInput","$ref","cachedValueBasedOnInputItem","resolvedRef","_saveEntityToCache","isCacheTypeApplication","isInstance","dataServiceRequestQuery","results","toString","call","identifierValue","existingCacheItem","existingCacheObjectType","existingCacheKeyIdentifierFromReturnType","existingCacheIsReturnTypeACollection","existingCacheTotalCount","_totalCount","type","identifier","isCollection","count","_existingCacheItem","_existingCacheItem$it","keys","entryKey","put","instance","saveCacheEntries","metadata","_otherOdata","others","listeners","Map","eventEmitter","window","EventEmitter","on","event","callback","set","push","emit","_len","args","_key","listener","removeAllListeners","delete","defaultHookTimeoutInMS","CLIENT_HYDRATE_KEY","CLIENT_HYDRATE_TYPE","Timer","timeoutInMS","Promise","setTimeout","bind","ActionTimer","_resolve","ActionExecutor","dataActionOption","_shouldUseInstanceCache","_msdyn365Commerce$pla","checkVersionForFeature","shouldUseInstanceCache","eventId","uuidv1","masterInput","cacheType","shouldCacheOutput","trace","addInputs","async","bypassAppCache","refreshingInputs","unique","_removeDuplicates","_getActionIdFromInputs","performanceUtils","getPerformanceUtils","executionId","performanceUtilsPackage","Random","Guid","generateGuid","runPreReadonlyDataActionPerformanceHook","internalCache","cache","_executeDataAction","runPostReadonlyDataActionPerformanceHook","isRefreshingAction","_runPreReadHooks","err","_runPreReaderHooks","uncached","needsRefresh","_checkForCachedData","_fetchOutputsAndRunPostReadHook","cachedActions","includes","outputs","_executeBatchedObservableActions","_executeObservableAction","_actionWrapper","log","_saveResponseToCache","_checkShouldInteractWithCache","i","cacheItem","getValue","_runPostReadHooks","_runPostReaderHooks","_uniqWith","inputA","inputB","inputsActionId","getActionId","_getActionFromId","hookTimeout","Number","_get2","timer","from","reduce","previousTask","currentTask","race","requestContext","asSystemMetadata","exception","actionResult","prevInput","tmpNextInput","finalNextInput","prevOutput","tmpNextOutput","finalNextOutput","isRefreshing","_inputs","_runPreHooks","e","convertedError","_convertToJSError","CorrelationId","clientSideCustomerTimeout","promises","_errorCode","ErrorTypeEnum","ProxyError","_runPostHooks","idx","appCacheData","usingInstanceCache","features","disable_instance_cache","actionName","entityId","entityType","isActionError","isTimeoutError","cacheEntry","assign","unresolvedSet","uncachedInputs","asyncOutputs","index","executor","innerResolve","innerReject","EventHelper","onEventIdFinalCompletion","cachedPromise","run","actionResults","finally","unresolvedIndex","isServiceUnavailable","cachedItem","asyncOutput","bypassCache","refreshing","_interceptCacheForMocks","clientHydrateCacheKey","isClientHydrate","runOn","refresh","disable_bypass_request_cache","existingItem","mockItem","_getMockItem","mockItemJSObject","toJS","cacheNamespace","proxyError","ErrorCode","CatalogsInput","customerAccountNumber","buildCacheKey","base","channelId","apiSettings","catalogId","user","getCatalogsAsync","callerContext","createCatalogsInput","inputData","isAuthenticated","shouldByPassCache","query","cachebypass","isPageInsightsEnabled","params","pageInsights","REFRESH_ACTIONS_CACHE_KEY","ActionContext","executionParams","cacheKeyMap","refreshConfigs","hasRun","currentActionsInQueue","nextTierCounter","next","spawnChildOnExecute","currentExecutionTier","threadId","debug","isMaxDepthExceeded","maxDepth","app","platform","getItemFromCache","_endCurrentTier","expectedActionCount","expectedActionsInCurrentTier","moduleTelemetry","Telemetry","isDebug","registerTraceLogger","traceLogger","GenericConsoleLogger","disable_app_cache","getRefreshActions","actionOption","runAllActionsInQueue","inputsArray","current","find","a","inputIdentifier","asyncResult","tierNum","refreshStartTimeInMS","splice","all","_type","update","dataArray","inputArray","preparedCacheKey","getAll","cachedEntries","getAllItems","expectedNumberOfChildThreads","nextTierStartingDepth","nextTier","refreshconfigslocal","param","execute","refreshActions","paramExecutor","actionInputs","size","disable_appcache_refresh_await","rf","refreshRequestCache","RequestCache","refreshContext","buildHydratedMockActionContext","MediaLocationsInput","productId","getMediaLocationsForProductAction","ctx","versionGte","process","types","require","isEditor","response","cmsEndpoint","CMSImagepreviewEndPoint","replace","oun","axios","headers","Authorization","c1AccessToken","_response","getOmniChannelMediaInfoAsync","productMediaLocations","_ctx$requestContext$a","_ctx$requestContext","_ctx$requestContext$a2","_ctx$requestContext$a3","getMediaLocationsAsync","queryResultSettings","Paging","Top","parseInt","defaultPageSizeForAPI","productImagesOnly","media","MediaTypeValue","MediaType","Image","sort","b","DisplayOrder","mediaLocation","Uri","generateImageUrlForOmniChanel","AltText","GetCustomerInput","accountNumber","getCustomerActionDataAction","readAsync","warning","token","normalizeCacheKey","toUpperCase","transaction","observable","deep","_value","toCache","del","flushAll","businessPartnerUsersQuery","b2BUserId","B2BUserId","DataServiceQuery","createCreateInput","entity","create","createBusinessPartnerUserAsync","request","executeAction","createUpdateInput","updateAsync","createDeleteAsync","deleteAsync","createReadAsync","read","createReadAllAsync","resultSettings","readAllAsync","createRequestAccountStatementInput","accountStatementParameters","createDataServiceRequestForOperation","returnEntity","requestAccountStatementAsync","createRequestInvoiceCopyInput","invoiceId","deliveryType","requestInvoiceCopyAsync","createGetOperationRequestsInput","startDateTime","endDateTime","getOperationRequestsAsync","createGetCurrentInput","getCurrentAsync","businessPartnersQuery","businessPartnerId","BusinessPartnerId","createBusinessPartnerAsync","createGetOrderHistoryInput","getOrderHistoryAsync","createCreateProspectInput","businessPartnerProspect","createProspectAsync","createGetManagedBusinessPartnersInput","getManagedBusinessPartnersAsync","createGetUsersInput","getUsersAsync","cartsQuery","Id","createCartAsync","createSearchInput","cartSearchCriteria","searchAsync","createCheckoutInput","receiptEmail","tokenizedPaymentCard","receiptNumberSequence","cartTenderLines","cartVersion","checkoutAsync","createGetMaxLoyaltyPointsToRedeemForTransactionBalanceInput","loyaltyCardId","currencyCode","getMaxLoyaltyPointsToRedeemForTransactionBalanceAsync","createGetPaymentsHistoryInput","getPaymentsHistoryAsync","createGetLineDeliveryOptionsByChannelIdInput","lineShippingAddresses","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","recallOrderSearchCriteria","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","catalogsQuery","recordId","RecordId","createProductCatalogAsync","createGetCatalogsInput","activeOnly","categoriesQuery","createCategoryAsync","createGetCategoriesInput","getCategoriesAsync","createGetAttributesInput","categoryId","getAttributesAsync","createGetCatalogAttributesInput","categoryIds","getCatalogAttributesAsync","createGetChildrenInput","getChildrenAsync","commerceListsQuery","createCommerceListAsync","createGetByCustomerInput","customerId","getByCustomerAsync","addLinesAsync","commerceListLines","createAddLinesInput","removeLinesAsync","createRemoveLinesInput","customersQuery","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","createOrgUnitAsync","createGetTillLayoutInput","height","width","includeImage","getTillLayoutAsync","storeSearchCriteria","createGetOrgUnitLocationsByAreaInput","searchArea","deliveryModeTypeFilter","getOrgUnitLocationsByAreaAsync","createSearchOrgUnitLocationsInput","orgUnitLocationSearchCriteria","searchOrgUnitLocationsAsync","createGetOrgUnitConfigurationInput","getOrgUnitConfigurationAsync","createGetStoreHoursInput","storeNumber","getStoreHoursAsync","createGetChannelDeliveryOptionsInput","channelIds","getChannelDeliveryOptionsAsync","createGetAvailableInventoryInput","itemId","variantId","barcode","getAvailableInventoryAsync","createGetAvailableInventoryNearbyInput","itemIds","getAvailableInventoryNearbyAsync","createGetProductAvailabilityByDimensionsInput","inventLocationIds","productDimensionCombinations","getProductAvailabilityByDimensionsAsync","createSearchProductAvailabilityInput","orgUnitAvailabilitySearchCriteria","searchProductAvailabilityAsync","createGetTerminalInfoInput","deviceType","getTerminalInfoAsync","createGetProductAvailabilityInput","getProductAvailabilityAsync","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","refinementCriteria","refineSearchByCategoryAsync","createRefineSearchByTextInput","refineSearchByTextAsync","createGetProductSearchRefinersInput","getProductSearchRefinersAsync","address","createChangesInput","changesAsync","createBeginReadChangedProductsInput","changedProductSearchCriteria","beginReadChangedProductsAsync","createReadChangedProductsInput","skipProductPriceCalculation","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","inventoryDimensionId","unitOfMeasureSymbol","quantity","getPricesAsync","createGetProductAvailabilitiesInput","getProductAvailabilitiesAsync","createGetActivePricesInput","projectDomain","activeDate","affiliationLoyaltyTiers","includeSimpleDiscountsInContextualPrice","includeVariantPriceRange","includeAttainablePricesAndDiscounts","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","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","customerOrderType","getReceiptsAsync","createSendReceiptInput","recipientAddresses","sendReceiptAsync","createGetGiftReceiptsInput","salesLineNumbers","SalesLineNumbers","getGiftReceiptsAsync","createGetByReceiptIdInput","orderStoreNumber","orderTerminalId","getByReceiptIdAsync","createGetSalesOrderDetailsByTransactionIdInput","getSalesOrderDetailsByTransactionIdAsync","createGetSalesOrderDetailsBySalesIdInput","getSalesOrderDetailsBySalesIdAsync","createGetOrderByChannelReferenceLookupCriteriaInput","channelReferenceLookupCriteria","getOrderByChannelReferenceLookupCriteriaAsync","createGetSalesOrderDetailsByQuotationIdInput","quotationId","getSalesOrderDetailsByQuotationIdAsync","createGetOrderOriginatorsInput","orderOriginatorSearchCriteria","getOrderOriginatorsAsync","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","createSearchInvoicedSalesLinesInput","invoicedSalesLinesSearchCriteria","searchInvoicedSalesLinesAsync","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","activateDeviceAsync","createMassActivateDeviceInput","massActivateDeviceAsync","createDeactivateDeviceInput","deactivateDeviceAsync","createCreateHardwareStationTokenInput","createHardwareStationTokenAsync","createValidateHardwareStationTokenInput","hardwareStationToken","validateHardwareStationTokenAsync","createGetBarcodeByIdInput","barcodeId","getBarcodeByIdAsync","createGetButtonGridByIdInput","buttonGridId","getButtonGridByIdAsync","createGetButtonGridsWithoutImageInput","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","createGetOfflineOpenShiftsInput","filterByCurrentUser","includeAllShiftsForStore","getOfflineOpenShiftsAsync","createDeleteOfflineShiftsInput","deleteOfflineShiftsAsync","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","getInventoryAvailableToPromiseAsync","createGetSalesOrdersWithNoFiscalTransactionsInput","getSalesOrdersWithNoFiscalTransactionsAsync","createGetNotificationsInput","subscribedOperations","getNotificationsAsync","createAcknowledgeNotificationsInput","lastPullDateTime","acknowledgeNotificationsAsync","createSearchPurchaseHistoryInput","searchPurchaseHistoryAsync","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","createGetFiscalRegistrationProcessSummaryInput","getFiscalRegistrationProcessSummaryAsync","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","createCalculateSalesDocumentInput","salesDocument","calculateSalesDocumentAsync","createSearchVendorsInput","searchVendorsAsync","createValidateVendorApprovedForItemInput","vendorAccountNumber","validateVendorApprovedForItemAsync","createLocalizationIndiaGetBusinessVerticalsInput","localizationIndiaGetBusinessVerticalsAsync","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","createCheckFiscalIntegrationComplianceInput","checkFiscalIntegrationComplianceAsync","entitySet","returnType","tokens","Sorting","filterSettings","Skip","expand","expands","inlineCount","orderBy","Columns","ColumnName","object","_createODataParameters","_createRequest","setGetAllRecords","isGetAllRecords","operationName","GET","POST","ODATA_TOTAL_COUNT_PROPERTY","serverWorkerNotUpdated","DEFAULT_HEADER","Prefer","OBO_REQUEST","GET_ACCOUNT_SELECTION_COOKIE","fetchCommerceModels","isServiceWorkerSupportedOnClient","navigator","parseOdataResult","resultType","serviceWorker","Models","skipSerializationFromSW","shouldSkipSerializationFromSW","initialData","enable_service_worker","disableRetailProxySW","console","___initialData___","ready","initServerWorker","getSerializedResponseFromServiceWorker","resultSet","hasNextPage","timerId","dynamicImportPromise","serializePromise","messageChannel","MessageChannel","port1","onmessage","serializedData","clearTimeout","active","postMessage","payload","port2","_actionId","getDataCacheType","overrideCacheType","setClientTimeoutInMs","timeout","_clientTimeoutInMs","Tracer","recurseEverything","_hasOperationName","_method","getActionIdFromInput","getCacheObjectValueFromReturnType","entityIdentifier","EntityIdentifier","Key","buildCacheFromInput","batchRequestUri","_callerContext","baseUrl","totalCount","queryParams","otherOdataProperties","requests","requestId","odataBatchRequest","requestUri","method","__batchRequests","batchRequests","changeRequests","_id","odataRequest","_requestUri","toJson","__changeRequests","parent","modifyDataInPlace","clone","prop","hasOwnProperty","property","arrayToJson","Date","toDateTimeOffset","array","dateTime","__edmType","__offset","pad","val","sign","getTimezoneOffset","offset","Math","abs","hours","floor","minutes","EMPTY","formattedKey","join","parameter","paramValue","isEmpty","encodeURIComponent","parameterSeparator","isObjectNotEmptyOrNull","cacheKeyValue","convertToString","JSON","stringify","getRequestUri","buildQueryHeader","loadPage","getAllPages","executeBatch","ODataHttpRequest","buildBatchRequest","responses","parseBatchResponses","__batchResponses","errors","ErrorParser","formatKey","formatFunctionParameter","addParameter","orderByColumns","column","isNullOrWhitespace","format","IsDescending","hasElements","ApiVersion","loadPageResults","concat","headerName","cookies","isOBORequest","accountSelectionCustomerId","accountSelectionCookie","accountSelectionCustomerIdParts","split","tokenName","tokenValue","accessToken","cookieData","appSessionCookie","userSessionCookie","_appSessionCookie$val","appSessionId","_userSessionCookie$va","userSessionId","Utils","modelManagersRetailServerRequestStarted","modelManagersRetailServerRequestFinished","otherOdata","setMetadata","modelManagersRetailServerRequestError","odataList","newData","batchResponses","__changeResponses","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","AddressType","AttributeDataType","BarcodeEntryMethodType","BarcodeMaskType","TransactionStatus","GiftCardOperationType","RetailGiftCardType","PriceMethod","ConcurrencyMode","SalesAgreementLineType","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","StatementMethod","SalesRepPromptType","RetailProductSearchType","RetailDenominationsToDisplay","EmployeeLogonType","RetailCustomerSearchMode","RequirePaymentForFulfillment","CardNotPresentProcessingConfiguration","ChangeDueBehavior","FontSchemeType","DeviceActivationStatus","DeviceType","DualDisplayType","FiscalRegisterType","PrinterLogotype","PrinterLogoAlignmentType","FiscalIntegrationConnectorType","FiscalIntegrationConnectorLocation","ReceiptType","PrintBehavior","DistanceUnit","StockCountStatus","RecommendedElementType","CommerceListInvitationStatus","CommerceListInvitationType","SearchLocation","OrderSearchType","SalesTransactionType","CustomerRefinerSource","PriceSourceType","RetailAffiliationType","InventoryDocumentLineOriginType","InventorySerialNumberLineStatus","InventorySourceDocumentLineStatus","RetailOperation","RefinerType","DisplayTemplate","ClientBookRefinerSource","ProductRefinerSource","LoyaltyCardTenderType","ReleasedProductType","RetailChannelType","LogOnConfiguration","TransactionServiceAuthenticationType","IncludePersonalDataInGuestOrderLookupPolicy","RetailAddressBookType","InventAvailabilityCalculationMode","InventoryAvailabilityClientDisplayMode","EmployeeActivityType","DeliveryPreferenceType","LayoutType","SalesInvoiceType","InvoiceType","InvoicePaidStatus","TaxOverrideType","TaxOverrideBy","ReasonCodeInputRequiredType","RecordingValueType","UserActionType","ArtifactType","FrameworkAccess","MetadataControl","FiscalIntegrationRegistrationStatus","CustomerOrderOperation","BusinessPartnerOperationType","BusinessPartnerOperationStatus","NatureOfAssessee","CartType","CartStatus","PeriodicDiscountsCalculateScope","CustomerType","ContactInfoType","ChecklistStatus","ChecklistTaskDeepLinkType","ChecklistTaskStatus","DocumentStatus","CustomerOrderType","LineDiscountCalculationType","TaxCalculationType","ShiftStatus","TaxRegistrationType","CommerceListType","ProductListType","RecommendationType","PurchaseTransferOrderType","BusinessPartnerUserStatus","InventoryAccuracy","ElectronicAddressType","DownloadSessionStatus","HardwareStationType","AuditEventUploadType","AuditEventType","AuditLogTraceLevel","FiscalIntegrationEventType","FiscalIntegrationDocumentGenerationResultType","FiscalIntegrationRegistrationProcessMode","FiscalIntegrationServiceCommunicationResultType","FiscalIntegrationServiceFailureType","PickupTimeslotAvailabilitySearchOption","VendorValidationResultLevel","AttachedServiceStatus","ReceiptEmailBehavior","CartLineQuantityLimitsErrors","CommunicationErrors","ConfigurationErrors","DataValidationErrors","FeatureNotSupportedErrors","SecurityErrors","StorageErrors","VersionNotSupportedErrors","PaymentErrors","FiscalIntegrationServiceErrors","CommerceDataExchangeErrors","TaskManagementErrorCode","PricingDataValidationErrors","ProductPricingConfigurationErrorCode","PaymentConfigurationErrors","TaxLimitBase","BusinessPartnerOperationDeliveryType","OnlineStoreCustomerType","WrongEndpointErrors","RetailServerApiErrors","ExceptionSeverity","_handlers","_attachHandler","handler","_executeHandlers","onFail","onSuccess","_updateStatus","_reject","reason","getType","onfinally","failed","toStringTag","Symbol","newStatus","isError","obj","__decorate","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","errorCode","canRetry","body","numErrors","isRetryable","CanRetry","errorResourceIds","LocalizedErrorMessage","isObo","isOboRequest","handled","redirectUrl","statusText","redirectCountQueryString","noRedirectQueryString","currentUrl","URL","location","href","searchParams","rdc","parseError","responseText","jsonResponse","parse","ErrorResourceId","Message","ex","errorString","errorResponse","commerceErrors","odataError","localizedMessage","LocalizedMessage","exceptionType","convertExceptionToErrors","serverException","DataValidationExceptionType","CartValidationExceptionType","dataValidation","getErrorsFromDataValidationFailures","ValidationResults","StorageExceptionType","commerceException","failures","failure","ErrorContext","contentType","bodyString","Exception","toLowerCase","parseJSONError","genericWarning","ProxyErrorSDK","localizedErrorMessage","formatData","extraData","_canRetry","_errorMessage","_localizedErrorMessage","_commerceException","_formatData","_extraData","errorName","ErrorMessage","ErrorTitleResourceId","accumulator","depth","stringifyValue","returnValue","trim","regexp","RegExp","normalHeaders","accept","normalizeHeaders","lowerName","normalName","defaultHttpClient","callbackParameterName","formatQueryString","enableJsonpCallback","success","clientTimeout","abort","handleTimeout","cancelToken","done","cancel","url","isAbsoluteUrl","authenticationCreds","username","password","axiosTimeout","timeoutMS","_initialData$_clientP","_initialData$_clientP2","rtype","rTypeLowerCase","clientTimeoutMap","_clientPlatformSetting","clientTimeoutMapInMs","clientSideDataActionTimeoutInMs","pageInsightsData","Request","Headers","Method","Body","Response","StatusText","StatusCode","auth","axiosResponse","_callerContext$reques","insightsKey","insightsData","axiosError","_callerContext$reques2","recognizeDates","useJsonLight","inferJsonLightFeedAsObject","prepareRequest","Accept","write","maxDataServiceVersion","jsonHandler","invokeRequest","httpClient","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","maxVersion","left","right","leftParts","rightParts","leftVersion","rightVersion","ContentType","contentTypeObj","contentTypeToString","handlerRead","formatNumberWidth","append","parseTimeRE","parseDateTimeRE","parseDateTimeOffset","withOffset","nullOnError","parts","timezone","year","ms","ns","substring","seconds","direction","d","m","parseTimezone","setUTCFullYear","setUTCHours","isNaN","valueOf","__ns","jsonLightReadStringPropertyValue","propertyType","EDM","propertyValue","parseFloat","duration","years","months","days","parseDuration","dateStr","time","timezoneOffsetIndex","EventLevel","EventChannel","EventType","DebuggingConsoleSink","setSessionInfo","userId","tenantId","offlineAvailability","offlineCurrentMode","setInstrumentationKey","instrumentationKey","writeEvent","LoggerBase","channel","level","keywords","task","opCode","loggingSink","enumType","requestUrl","sink","informationformat","TracingOn","GetMessage","apply","TracerDynamicsError","warningFormat","_len2","_key2","errorFormat","_len3","_key3","formatString","_len4","_key4","uniqueFunctionName","counter","Counters","PerformanceCounters","Count","now","getTime","Timers","startTime","pop","TotalTime","Information","_len5","_key5","TracerDynamics","slice","_initialized","init","retailAction","callActionOrExecute","clientTimeoutInMs","tryToString","$TypeError","TypeError","module","exports","O","P","firefox","match","UA","test","webkit","global","fails","uncurryThis","whitespaces","charAt","$parseFloat","ITERATOR","iterator","FORCED","Infinity","string","trimmedString","$","aCallable","toObject","lengthOfArrayLike","deletePropertyOrThrow","internalSort","arrayMethodIsStrict","FF","IE_OR_EDGE","V8","WEBKIT","nativeSort","FAILS_ON_UNDEFINED","FAILS_ON_NULL","STRICT_METHOD","STABLE_SORT","code","chr","String","fromCharCode","k","v","target","proto","forced","comparefn","itemsLength","items","arrayLength","x","y","getSortCompare","IS_PURE","NativePromiseConstructor","getBuiltIn","isCallable","speciesConstructor","promiseResolve","defineBuiltIn","NativePromisePrototype","real","onFinally","C","isFunction","unsafe"],"sourceRoot":""}