/* Options: Date: 2026-05-19 10:46:51 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetSaleDetails.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class ProductCategory { /** @description Brand Category ID */ // @ApiMember(Description="Brand Category ID") public brandCategoryId: string; /** @description Grand Category ID */ // @ApiMember(Description="Grand Category ID", IsRequired=true) public grandCategoryId: string; /** @description Master Category ID */ // @ApiMember(Description="Master Category ID") public masterCategoryId: string; /** @description Category ID */ // @ApiMember(Description="Category ID") public categoryId: string; /** @description Sub Category ID */ // @ApiMember(Description="Sub Category ID") public subCategoryId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface IPagedRequest { page: number; items: number; noCount: boolean; sortBy: string; } export class ProductCategory { /** @description Brand Category ID */ // @ApiMember(Description="Brand Category ID") public brandCategoryId: string; /** @description Grand Category ID */ // @ApiMember(Description="Grand Category ID") public grandCategoryId: string; /** @description Master Category ID */ // @ApiMember(Description="Master Category ID") public masterCategoryId: string; /** @description Category ID */ // @ApiMember(Description="Category ID") public categoryId: string; /** @description Sub Category ID */ // @ApiMember(Description="Sub Category ID") public subCategoryId: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SaleDetail { /** @description Unique Identifier of the Sell-out created in Booster */ // @ApiMember(Description="Unique Identifier of the Sell-out created in Booster", IsRequired=true) public saleId: number; /** @description Unique Identifier of the Sell-out created in Booster */ // @ApiMember(Description="Unique Identifier of the Sell-out created in Booster", IsRequired=true) public saleDetailId: number; /** @description Booster Customer Id */ // @ApiMember(Description="Booster Customer Id") public boosterCustomerId?: number; /** @description Richemont POS code */ // @ApiMember(Description="Richemont POS code", IsRequired=true) public posCode: string; /** @description Receipt or Invoice Number */ // @ApiMember(Description="Receipt or Invoice Number") public documentNumber: string; /** @description Date of the Sell-out */ // @ApiMember(Description="Date of the Sell-out", IsRequired=true) public documentDate: string; /** @description Position Number */ // @ApiMember(Description="Position Number") public documentLineNumber?: number; /** @description Richemont Reference Code of the item */ // @ApiMember(Description="Richemont Reference Code of the item", IsRequired=true) public articleCode: string; /** @description Serial Number of the item */ // @ApiMember(Description="Serial Number of the item") public serialNumber: string; /** @description Use positive for standard Sell-out and negative quantity for return */ // @ApiMember(Description="Use positive for standard Sell-out and negative quantity for return", IsRequired=true) public quantity: number; /** @description Retail Price */ // @ApiMember(Description="Retail Price") public retailPrice?: number; /** @description Sold Price */ // @ApiMember(Description="Sold Price") public unitPrice?: number; /** @description Currency of the sold price */ // @ApiMember(Description="Currency of the sold price") public currencyCode: string; /** @description CCP Status Code */ // @ApiMember(Description="CCP Status Code") public ccpStatusCode: string; /** @description CCP Status Description */ // @ApiMember(Description="CCP Status Description") public ccpStatusDescription: string; /** @description CCP Retrigger enable */ // @ApiMember(Description="CCP Retrigger enable") public retriggerEnabled: boolean; /** @description Warranty Extention Status */ // @ApiMember(Description="Warranty Extention Status") public warrantyExtentionStatusId?: number; /** @description Warranty Extention Status */ // @ApiMember(Description="Warranty Extention Status") public warrantyExtentionStatusDescription: string; /** @description Sale Representative Email */ // @ApiMember(Description="Sale Representative Email") public saleRepresentativeEmails: string[]; /** @description Promoter Type IDs, possible values are: DAI, FIT, GRT */ // @ApiMember(Description="Promoter Type IDs, possible values are: DAI, FIT, GRT") public promoterTypeId: string; /** @description Sellout Type, possible values are: 'standard' or 'consigned' */ // @ApiMember(Description="Sellout Type, possible values are: 'standard' or 'consigned'", IsRequired=true) public type: string; /** @description Original Sale Detail Id */ // @ApiMember(Description="Original Sale Detail Id") public originalSaleDetailId?: number; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class GetSaleDetailsResponse { /** @description Index of the result set returnedr */ // @ApiMember(Description="Index of the result set returnedr", IsRequired=true) public page: number; /** @description Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) public items: number; /** @description Total amount of pages / result sets */ // @ApiMember(Description="Total amount of pages / result sets", IsRequired=true) public totalPages: number; /** @description Total amount of results */ // @ApiMember(Description="Total amount of results", IsRequired=true) public totalResults: number; /** @description List of Sale Details */ // @ApiMember(Description="List of Sale Details", IsRequired=true) public elements: SaleDetail[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @Route("/warranty", "GET") export class GetSaleDetails implements IReturn, IPagedRequest { /** @description Richemont Brand ID */ // @ApiMember(Description="Richemont Brand ID", IsRequired=true) public brand: string; /** @description Richemont POS code */ // @ApiMember(Description="Richemont POS code", IsRequired=true) public posCode: string; /** @description Receipt or Invoice Number */ // @ApiMember(Description="Receipt or Invoice Number") public documentNumber: string; /** @description Date of the Sell-out Start */ // @ApiMember(Description="Date of the Sell-out Start ") public documentDateFrom?: string; /** @description Date of the Sell-out End */ // @ApiMember(Description="Date of the Sell-out End") public documentDateTo?: string; /** @description Richemont Reference Code of the item */ // @ApiMember(Description="Richemont Reference Code of the item") public articleCode: string; /** @description Serial Number of the item */ // @ApiMember(Description="Serial Number of the item") public serialNumber: string; /** @description Unique Identifier of the Sell-out created in Booster */ // @ApiMember(Description="Unique Identifier of the Sell-out created in Booster") public saleDetailId?: number; /** @description Unique Identifier of the Sell-out created in Booster */ // @ApiMember(Description="Unique Identifier of the Sell-out created in Booster") public saleId?: number; /** @description Booster Customer Id */ // @ApiMember(Description="Booster Customer Id") public boosterCustomerId?: number; /** @description Possible warranty extention status IDs, 1 (Activated), 2 (Requested), 3 (Refused), 4 (Error), 5 (Action Required), 6 (Pending) */ // @ApiMember(Description="Possible warranty extention status IDs, 1 (Activated), 2 (Requested), 3 (Refused), 4 (Error), 5 (Action Required), 6 (Pending)") public warrantyExtensionStatusIds: number[]; /** @description Product Categories */ // @ApiMember(Description="Product Categories") public productCategories: ProductCategory[]; /** @description Index of the result set returned */ // @ApiMember(Description="Index of the result set returned", IsRequired=true) public page: number; /** @description Size of the result set returned */ // @ApiMember(Description="Size of the result set returned", IsRequired=true) public items: number; /** @description Omit precise record count - save on performance */ // @ApiMember(Description="Omit precise record count - save on performance") public noCount: boolean; /** @description Sort Expression, Possible values: 'SaleDetailIdDESC', 'DocumentDate'. */ // @ApiMember(Description="Sort Expression, Possible values: 'SaleDetailIdDESC', 'DocumentDate'.") public sortBy: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'GetSaleDetails'; } public getMethod() { return 'GET'; } public createResponse() { return new GetSaleDetailsResponse(); } }