/* Options: Date: 2026-05-19 09:48:56 Version: 8.22 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://dev-api-booster.richemont.com //Package: //GlobalNamespace: dtos //AddPropertyAccessors: True //SettersReturnThis: True //AddServiceStackTypes: True //AddResponseStatus: False //AddDescriptionAsComments: True //AddImplicitVersion: IncludeTypes: ExportCustomer.* //ExcludeTypes: //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.*; import java.util.*; import net.servicestack.client.*; public class dtos { @Route(Path="/customer/{brand}/export", Verbs="POST") public static class ExportCustomer extends SearchCustomer implements IReturn { /** * Export Request ID of the API Consumers */ @ApiMember(Description="Export Request ID of the API Consumers", IsRequired=true) public String downloadRequestId = null; public String getDownloadRequestId() { return downloadRequestId; } public ExportCustomer setDownloadRequestId(String value) { this.downloadRequestId = value; return this; } private static Object responseType = ExportCustomerResponse.class; public Object getResponseType() { return responseType; } } public static class ExportCustomerResponse { /** * Unique Identifier of the Export Request created */ @ApiMember(Description="Unique Identifier of the Export Request created", IsRequired=true) public UUID asyncTaskId = null; public UUID getAsyncTaskId() { return asyncTaskId; } public ExportCustomerResponse setAsyncTaskId(UUID value) { this.asyncTaskId = value; return this; } } public static class GetCustomerInterest { /** * Interest description */ @ApiMember(Description="Interest description", IsRequired=true) public String interest = null; /** * SAP Interest ID, e.g. 'CA-1' */ @ApiMember(Description="SAP Interest ID, e.g. 'CA-1'", IsRequired=true) public String sapInterestId = null; public String getInterest() { return interest; } public GetCustomerInterest setInterest(String value) { this.interest = value; return this; } public String getSapInterestId() { return sapInterestId; } public GetCustomerInterest setSapInterestId(String value) { this.sapInterestId = value; return this; } } public static class GetCustomerHobby { /** * Hobby description */ @ApiMember(Description="Hobby description") public String hobby = null; /** * SAP Hobby ID, e.g. 'ART' */ @ApiMember(Description="SAP Hobby ID, e.g. 'ART'") public String sapHobbyId = null; public String getHobby() { return hobby; } public GetCustomerHobby setHobby(String value) { this.hobby = value; return this; } public String getSapHobbyId() { return sapHobbyId; } public GetCustomerHobby setSapHobbyId(String value) { this.sapHobbyId = value; return this; } } public static class GetCustomerProductCollection { /** * Product Collection description */ @ApiMember(Description="Product Collection description", IsRequired=true) public String productCollection = null; /** * SAP ProductCollection ID, e.g. 'CA-1' */ @ApiMember(Description="SAP ProductCollection ID, e.g. 'CA-1'", IsRequired=true) public String sapProductCollectionId = null; public String getProductCollection() { return productCollection; } public GetCustomerProductCollection setProductCollection(String value) { this.productCollection = value; return this; } public String getSapProductCollectionId() { return sapProductCollectionId; } public GetCustomerProductCollection setSapProductCollectionId(String value) { this.sapProductCollectionId = value; return this; } } public static class ProductCategory { /** * Brand Category ID */ @ApiMember(Description="Brand Category ID") public String brandCategoryId = null; /** * Grand Category ID */ @ApiMember(Description="Grand Category ID", IsRequired=true) public String grandCategoryId = null; /** * Master Category ID */ @ApiMember(Description="Master Category ID") public String masterCategoryId = null; /** * Category ID */ @ApiMember(Description="Category ID") public String categoryId = null; /** * Sub Category ID */ @ApiMember(Description="Sub Category ID") public String subCategoryId = null; public String getBrandCategoryId() { return brandCategoryId; } public ProductCategory setBrandCategoryId(String value) { this.brandCategoryId = value; return this; } public String getGrandCategoryId() { return grandCategoryId; } public ProductCategory setGrandCategoryId(String value) { this.grandCategoryId = value; return this; } public String getMasterCategoryId() { return masterCategoryId; } public ProductCategory setMasterCategoryId(String value) { this.masterCategoryId = value; return this; } public String getCategoryId() { return categoryId; } public ProductCategory setCategoryId(String value) { this.categoryId = value; return this; } public String getSubCategoryId() { return subCategoryId; } public ProductCategory setSubCategoryId(String value) { this.subCategoryId = value; return this; } } public static class SearchCustomer { /** * Brand */ @ApiMember(Description="Brand", IsRequired=true) public String brand = null; /** * POS Legacy */ @ApiMember(Description="POS Legacy", IsRequired=true) public ArrayList posCodes = null; /** * 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'") public String searchKey = null; /** * Search by phone number - exact match */ @ApiMember(Description="Search by phone number - exact match") public String phoneNumber = null; /** * Search by email address - exact match */ @ApiMember(Description="Search by email address - exact match") public String email = null; /** * Values can be 'it', 'en' etc. */ @ApiMember(Description="Values can be 'it', 'en' etc.") public ArrayList locationCountryIds = null; /** * Client Spending From e.g. '100' */ @ApiMember(Description="Client Spending From e.g. '100'") public Double clientSpendingFrom = null; /** * Client Spending To e.g. '50000' */ @ApiMember(Description="Client Spending To e.g. '50000'") public Double clientSpendingTo = null; /** * Customer Creation Date From e.g. '2022-01-01' */ @ApiMember(Description="Customer Creation Date From e.g. '2022-01-01'") public Date creationDateFrom = null; /** * Customer Creation Date To e.g. '2023-11-01' */ @ApiMember(Description="Customer Creation Date To e.g. '2023-11-01'") public Date creationDateTo = null; /** * Transaction Date From e.g. '2022-01-01' */ @ApiMember(Description="Transaction Date From e.g. '2022-01-01'") public Date transactionDateFrom = null; /** * Transaction Date To e.g. '2023-11-01' */ @ApiMember(Description="Transaction Date To e.g. '2023-11-01'") public Date transactionDateTo = null; /** * Values can be 'true' or 'false' */ @ApiMember(Description="Values can be 'true' or 'false'") public Boolean canBeContactedByMaison = 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'") public ArrayList birthdateMonths = null; /** * Customer interest filter */ @ApiMember(Description="Customer interest filter") public ArrayList interests = null; /** * Customer hobby filter */ @ApiMember(Description="Customer hobby filter") public ArrayList hobbies = null; /** * Customer product collection filter */ @ApiMember(Description="Customer product collection filter") public ArrayList productCollections = null; /** * Customer Status e.g. 'Prospect', 'Client' */ @ApiMember(Description="Customer Status e.g. 'Prospect', 'Client'") public ArrayList customerStatus = null; /** * List of BoosterCustomerIds, e.g. 1234567,1231231,12323423 */ @ApiMember(Description="List of BoosterCustomerIds, e.g. 1234567,1231231,12323423") public ArrayList boosterCustomerIds = null; /** * Values can be 'true' or 'false' */ @ApiMember(Description="Values can be 'true' or 'false'") public Boolean hasSapCrmError = null; /** * Product Categories */ @ApiMember(Description="Product Categories") public ArrayList productCategories = null; /** * Sale Reprentative Emails */ @ApiMember(Description="Sale Reprentative Emails") public ArrayList saleRepresentativeEmails = null; public String getBrand() { return brand; } public SearchCustomer setBrand(String value) { this.brand = value; return this; } public ArrayList getPosCodes() { return posCodes; } public SearchCustomer setPosCodes(ArrayList value) { this.posCodes = value; return this; } public String getSearchKey() { return searchKey; } public SearchCustomer setSearchKey(String value) { this.searchKey = value; return this; } public String getPhoneNumber() { return phoneNumber; } public SearchCustomer setPhoneNumber(String value) { this.phoneNumber = value; return this; } public String getEmail() { return email; } public SearchCustomer setEmail(String value) { this.email = value; return this; } public ArrayList getLocationCountryIds() { return locationCountryIds; } public SearchCustomer setLocationCountryIds(ArrayList value) { this.locationCountryIds = value; return this; } public Double getClientSpendingFrom() { return clientSpendingFrom; } public SearchCustomer setClientSpendingFrom(Double value) { this.clientSpendingFrom = value; return this; } public Double getClientSpendingTo() { return clientSpendingTo; } public SearchCustomer setClientSpendingTo(Double value) { this.clientSpendingTo = value; return this; } public Date getCreationDateFrom() { return creationDateFrom; } public SearchCustomer setCreationDateFrom(Date value) { this.creationDateFrom = value; return this; } public Date getCreationDateTo() { return creationDateTo; } public SearchCustomer setCreationDateTo(Date value) { this.creationDateTo = value; return this; } public Date getTransactionDateFrom() { return transactionDateFrom; } public SearchCustomer setTransactionDateFrom(Date value) { this.transactionDateFrom = value; return this; } public Date getTransactionDateTo() { return transactionDateTo; } public SearchCustomer setTransactionDateTo(Date value) { this.transactionDateTo = value; return this; } public Boolean isCanBeContactedByMaison() { return canBeContactedByMaison; } public SearchCustomer setCanBeContactedByMaison(Boolean value) { this.canBeContactedByMaison = value; return this; } public ArrayList getBirthdateMonths() { return birthdateMonths; } public SearchCustomer setBirthdateMonths(ArrayList value) { this.birthdateMonths = value; return this; } public ArrayList getInterests() { return interests; } public SearchCustomer setInterests(ArrayList value) { this.interests = value; return this; } public ArrayList getHobbies() { return hobbies; } public SearchCustomer setHobbies(ArrayList value) { this.hobbies = value; return this; } public ArrayList getProductCollections() { return productCollections; } public SearchCustomer setProductCollections(ArrayList value) { this.productCollections = value; return this; } public ArrayList getCustomerStatus() { return customerStatus; } public SearchCustomer setCustomerStatus(ArrayList value) { this.customerStatus = value; return this; } public ArrayList getBoosterCustomerIds() { return boosterCustomerIds; } public SearchCustomer setBoosterCustomerIds(ArrayList value) { this.boosterCustomerIds = value; return this; } public Boolean isHasSapCrmError() { return hasSapCrmError; } public SearchCustomer setHasSapCrmError(Boolean value) { this.hasSapCrmError = value; return this; } public ArrayList getProductCategories() { return productCategories; } public SearchCustomer setProductCategories(ArrayList value) { this.productCategories = value; return this; } public ArrayList getSaleRepresentativeEmails() { return saleRepresentativeEmails; } public SearchCustomer setSaleRepresentativeEmails(ArrayList value) { this.saleRepresentativeEmails = value; return this; } } public static class ProductCategory { /** * Brand Category ID */ @ApiMember(Description="Brand Category ID") public String brandCategoryId = null; /** * Grand Category ID */ @ApiMember(Description="Grand Category ID") public String grandCategoryId = null; /** * Master Category ID */ @ApiMember(Description="Master Category ID") public String masterCategoryId = null; /** * Category ID */ @ApiMember(Description="Category ID") public String categoryId = null; /** * Sub Category ID */ @ApiMember(Description="Sub Category ID") public String subCategoryId = null; public String getBrandCategoryId() { return brandCategoryId; } public ProductCategory setBrandCategoryId(String value) { this.brandCategoryId = value; return this; } public String getGrandCategoryId() { return grandCategoryId; } public ProductCategory setGrandCategoryId(String value) { this.grandCategoryId = value; return this; } public String getMasterCategoryId() { return masterCategoryId; } public ProductCategory setMasterCategoryId(String value) { this.masterCategoryId = value; return this; } public String getCategoryId() { return categoryId; } public ProductCategory setCategoryId(String value) { this.categoryId = value; return this; } public String getSubCategoryId() { return subCategoryId; } public ProductCategory setSubCategoryId(String value) { this.subCategoryId = value; return this; } } }