/* Options: Date: 2026-08-27 07:10:57 Version: 10.08 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ExportCustomer.* //ExcludeTypes: //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,java.io.InputStream,net.servicestack.client.* */ import java.math.* import java.util.* import java.io.InputStream import net.servicestack.client.* @Route(Path="/customer/{brand}/export", Verbs="POST") open class ExportCustomer : SearchCustomer(), IReturn { /** * Export Request ID of the API Consumers */ @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true) open var downloadRequestId:String? = null companion object { private val responseType = ExportCustomerResponse::class.java } override fun getResponseType(): Any? = ExportCustomer.responseType } open class ExportCustomerResponse { /** * Unique Identifier of the Export Request created */ @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true) open var asyncTaskId:UUID? = null } open class GetCustomerInterest { /** * Interest description */ @ApiMember(Description="Interest description", IsRequired=true) open var interest:String? = null /** * SAP Interest ID, e.g. 'CA-1' */ @ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true) open var sapInterestId:String? = null } open class GetCustomerHobby { /** * Hobby description */ @ApiMember(Description="Hobby description") open var hobby:String? = null /** * SAP Hobby ID, e.g. 'ART' */ @ApiMember(Description="SAP Hobby ID, e.g. 'ART'") open var sapHobbyId:String? = null } open class GetCustomerProductCollection { /** * Product Collection description */ @ApiMember(Description="Product Collection description", IsRequired=true) open var productCollection:String? = null /** * SAP ProductCollection ID, e.g. 'CA-1' */ @ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true) open var sapProductCollectionId:String? = null } open class ProductCategory { /** * Brand Category ID */ @ApiMember(Description="Brand Category ID") open var brandCategoryId:String? = null /** * Grand Category ID */ @ApiMember(Description="Grand Category ID", IsRequired=true) open var grandCategoryId:String? = null /** * Master Category ID */ @ApiMember(Description="Master Category ID") open var masterCategoryId:String? = null /** * Category ID */ @ApiMember(Description="Category ID") open var categoryId:String? = null /** * Sub Category ID */ @ApiMember(Description="Sub Category ID") open var subCategoryId:String? = null } open class SearchCustomer { /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) open var brand:String? = null /** * POS Legacy */ @ApiMember(Description="POS Legacy", IsRequired=true) open var posCodes:ArrayList = ArrayList() /** * Search key could be: 'Name', 'Email', 'Phone' without prefix, 'BoosterCustomerId' OR 'SapCRMId' */ @ApiMember(Description="Search key could be: 'Name', 'Email', 'Phone' without prefix, 'BoosterCustomerId' OR 'SapCRMId'") open var searchKey:String? = null /** * Search by phone number - exact match */ @ApiMember(Description="Search by phone number - exact match") open var phoneNumber:String? = null /** * Search by email address - exact match */ @ApiMember(Description="Search by email address - exact match") open var email:String? = null /** * Values can be 'it', 'en' etc. */ @ApiMember(Description="Values can be 'it', 'en' etc.") open var locationCountryIds:ArrayList? = null /** * Client Spending From e.g. '100' */ @ApiMember(Description="Client Spending From e.g. '100'") open var clientSpendingFrom:Double? = null /** * Client Spending To e.g. '50000' */ @ApiMember(Description="Client Spending To e.g. '50000'") open var clientSpendingTo:Double? = null /** * Customer Creation Date From e.g. '2022-01-01' */ @ApiMember(Description="Customer Creation Date From e.g. '2022-01-01'") open var creationDateFrom:Date? = null /** * Customer Creation Date To e.g. '2023-11-01' */ @ApiMember(Description="Customer Creation Date To e.g. '2023-11-01'") open var creationDateTo:Date? = null /** * Transaction Date From e.g. '2022-01-01' */ @ApiMember(Description="Transaction Date From e.g. '2022-01-01'") open var transactionDateFrom:Date? = null /** * Transaction Date To e.g. '2023-11-01' */ @ApiMember(Description="Transaction Date To e.g. '2023-11-01'") open var transactionDateTo:Date? = null /** * Values can be 'true' or 'false' */ @ApiMember(Description="Values can be 'true' or 'false'") open var canBeContactedByMaison:Boolean? = null /** * Values can be 1 for 'January', 2 for 'February', 3 for 'March', 4 for 'April', 5 for 'May', 6 for 'June', 7 for 'July', 8 for 'August', 9 for 'September', 10 for 'October', 11 for 'November', 12 for 'December' */ @ApiMember(Description="Values can be 1 for 'January', 2 for 'February', 3 for 'March', 4 for 'April', 5 for 'May', 6 for 'June', 7 for 'July', 8 for 'August', 9 for 'September', 10 for 'October', 11 for 'November', 12 for 'December'") open var birthdateMonths:ArrayList? = null /** * Customer interest filter */ @ApiMember(Description="Customer interest filter") open var interests:ArrayList? = null /** * Customer hobby filter */ @ApiMember(Description="Customer hobby filter") open var hobbies:ArrayList? = null /** * Customer product collection filter */ @ApiMember(Description="Customer product collection filter") open var productCollections:ArrayList? = null /** * Customer Status e.g. 'Prospect', 'Client' */ @ApiMember(Description="Customer Status e.g. 'Prospect', 'Client'") open var customerStatus:ArrayList? = null /** * List of BoosterCustomerIds, e.g. 1234567,1231231,12323423 */ @ApiMember(Description="List of BoosterCustomerIds, e.g. 1234567,1231231,12323423") open var boosterCustomerIds:ArrayList? = null /** * Values can be 'true' or 'false' */ @ApiMember(Description="Values can be 'true' or 'false'") open var hasSapCrmError:Boolean? = null /** * Product Categories */ @ApiMember(Description="Product Categories") open var productCategories:ArrayList? = null /** * Sale Reprentative Emails */ @ApiMember(Description="Sale Reprentative Emails") open var saleRepresentativeEmails:ArrayList? = null } open class ProductCategory { /** * Brand Category ID */ @ApiMember(Description="Brand Category ID") open var brandCategoryId:String? = null /** * Grand Category ID */ @ApiMember(Description="Grand Category ID") open var grandCategoryId:String? = null /** * Master Category ID */ @ApiMember(Description="Master Category ID") open var masterCategoryId:String? = null /** * Category ID */ @ApiMember(Description="Category ID") open var categoryId:String? = null /** * Sub Category ID */ @ApiMember(Description="Sub Category ID") open var subCategoryId:String? = null }