/* Options: Date: 2025-10-14 01:17:06 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateArticleRebateCode.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } class CustomerBase implements ICustomerBase, IConvertible { String? CustomerId; String? Firstname; String? Lastname; String? Email; String? Phone; bool? SubscribedToNewsletter; CustomerBase({this.CustomerId,this.Firstname,this.Lastname,this.Email,this.Phone,this.SubscribedToNewsletter}); CustomerBase.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CustomerId = json['CustomerId']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; Phone = json['Phone']; SubscribedToNewsletter = json['SubscribedToNewsletter']; return this; } Map toJson() => { 'CustomerId': CustomerId, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'SubscribedToNewsletter': SubscribedToNewsletter }; getTypeName() => "CustomerBase"; TypeContext? context = _ctx; } class CustomerToHandle extends CustomerBase implements IConvertible { CustomerToHandle(); CustomerToHandle.fromJson(Map json) : super.fromJson(json); fromMap(Map json) { super.fromMap(json); return this; } Map toJson() => super.toJson(); getTypeName() => "CustomerToHandle"; TypeContext? context = _ctx; } class InvoiceAddressToHandle implements IInvoiceAddress, IConvertible { String? CorporateIdentityNumber; String? InvoiceAddress1; String? InvoiceAddress2; String? InvoiceCity; String? InvoicePostalCode; String? InvoiceCountryCode; InvoiceAddressToHandle({this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode}); InvoiceAddressToHandle.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CorporateIdentityNumber = json['CorporateIdentityNumber']; InvoiceAddress1 = json['InvoiceAddress1']; InvoiceAddress2 = json['InvoiceAddress2']; InvoiceCity = json['InvoiceCity']; InvoicePostalCode = json['InvoicePostalCode']; InvoiceCountryCode = json['InvoiceCountryCode']; return this; } Map toJson() => { 'CorporateIdentityNumber': CorporateIdentityNumber, 'InvoiceAddress1': InvoiceAddress1, 'InvoiceAddress2': InvoiceAddress2, 'InvoiceCity': InvoiceCity, 'InvoicePostalCode': InvoicePostalCode, 'InvoiceCountryCode': InvoiceCountryCode }; getTypeName() => "InvoiceAddressToHandle"; TypeContext? context = _ctx; } abstract class ICustomerBase { String? CustomerId; String? Firstname; String? Lastname; String? Email; String? Phone; bool? SubscribedToNewsletter; } class PromoCodeReceiver implements IConvertible { String? CustomerId; String? Firstname; String? Lastname; String? Email; String? ReceiverMessage; PromoCodeReceiver({this.CustomerId,this.Firstname,this.Lastname,this.Email,this.ReceiverMessage}); PromoCodeReceiver.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CustomerId = json['CustomerId']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; ReceiverMessage = json['ReceiverMessage']; return this; } Map toJson() => { 'CustomerId': CustomerId, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'ReceiverMessage': ReceiverMessage }; getTypeName() => "PromoCodeReceiver"; TypeContext? context = _ctx; } class RebateCodeServiceResponse implements IConvertible { int? Id; String? Name; String? Description; bool? Active; RebateCodeServiceResponse({this.Id,this.Name,this.Description,this.Active}); RebateCodeServiceResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Active = json['Active']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Active': Active }; getTypeName() => "RebateCodeServiceResponse"; TypeContext? context = _ctx; } class RebateCodeCustomerResponse implements IConvertible { String? Id; String? Firstname; String? Lastname; String? Email; String? Phone; String? ImageUrl; RebateCodeCustomerResponse({this.Id,this.Firstname,this.Lastname,this.Email,this.Phone,this.ImageUrl}); RebateCodeCustomerResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; Phone = json['Phone']; ImageUrl = json['ImageUrl']; return this; } Map toJson() => { 'Id': Id, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'ImageUrl': ImageUrl }; getTypeName() => "RebateCodeCustomerResponse"; TypeContext? context = _ctx; } class RebateCodeTransactionQueryResponse implements IConvertible { int? Id; String? CompanyId; String? Note; int? RebateCodeId; String? RebateCodeSign; int? RebateCodeTypeId; String? RebateCodeTypeName; double? Amount; String? Usage; int? BookingId; DateTime? UpdatedDate; DateTime? CreatedDate; RebateCodeServiceResponse? Service; RebateCodeCustomerResponse? Customer; String? PriceSign; RebateCodeTransactionQueryResponse({this.Id,this.CompanyId,this.Note,this.RebateCodeId,this.RebateCodeSign,this.RebateCodeTypeId,this.RebateCodeTypeName,this.Amount,this.Usage,this.BookingId,this.UpdatedDate,this.CreatedDate,this.Service,this.Customer,this.PriceSign}); RebateCodeTransactionQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; CompanyId = json['CompanyId']; Note = json['Note']; RebateCodeId = json['RebateCodeId']; RebateCodeSign = json['RebateCodeSign']; RebateCodeTypeId = json['RebateCodeTypeId']; RebateCodeTypeName = json['RebateCodeTypeName']; Amount = JsonConverters.toDouble(json['Amount']); Usage = json['Usage']; BookingId = json['BookingId']; UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); Service = JsonConverters.fromJson(json['Service'],'RebateCodeServiceResponse',context!); Customer = JsonConverters.fromJson(json['Customer'],'RebateCodeCustomerResponse',context!); PriceSign = json['PriceSign']; return this; } Map toJson() => { 'Id': Id, 'CompanyId': CompanyId, 'Note': Note, 'RebateCodeId': RebateCodeId, 'RebateCodeSign': RebateCodeSign, 'RebateCodeTypeId': RebateCodeTypeId, 'RebateCodeTypeName': RebateCodeTypeName, 'Amount': Amount, 'Usage': Usage, 'BookingId': BookingId, 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'Service': JsonConverters.toJson(Service,'RebateCodeServiceResponse',context!), 'Customer': JsonConverters.toJson(Customer,'RebateCodeCustomerResponse',context!), 'PriceSign': PriceSign }; getTypeName() => "RebateCodeTransactionQueryResponse"; TypeContext? context = _ctx; } class DaysOfWeekResponse implements IConvertible { int? Id; String? DayOfWeek; String? DayOfWeekTranslation; bool? DayOfWeekActive; int? DayOfWeekSortOrder; DaysOfWeekResponse({this.Id,this.DayOfWeek,this.DayOfWeekTranslation,this.DayOfWeekActive,this.DayOfWeekSortOrder}); DaysOfWeekResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; DayOfWeek = json['DayOfWeek']; DayOfWeekTranslation = json['DayOfWeekTranslation']; DayOfWeekActive = json['DayOfWeekActive']; DayOfWeekSortOrder = json['DayOfWeekSortOrder']; return this; } Map toJson() => { 'Id': Id, 'DayOfWeek': DayOfWeek, 'DayOfWeekTranslation': DayOfWeekTranslation, 'DayOfWeekActive': DayOfWeekActive, 'DayOfWeekSortOrder': DayOfWeekSortOrder }; getTypeName() => "DaysOfWeekResponse"; TypeContext? context = _ctx; } class RebateCodeCompanyResponse implements IConvertible { String? SitePath; int? PaymentProviderId; RebateCodeCompanyResponse({this.SitePath,this.PaymentProviderId}); RebateCodeCompanyResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SitePath = json['SitePath']; PaymentProviderId = json['PaymentProviderId']; return this; } Map toJson() => { 'SitePath': SitePath, 'PaymentProviderId': PaymentProviderId }; getTypeName() => "RebateCodeCompanyResponse"; TypeContext? context = _ctx; } abstract class IInvoiceAddress { String? CorporateIdentityNumber; String? InvoiceAddress1; String? InvoiceAddress2; String? InvoiceCity; String? InvoicePostalCode; String? InvoiceCountryCode; } class ArticleResponse implements IConvertible { String? CompanyId; int? Id; String? Name; int? ArticleTypeId; String? Description; String? ImageUrl; bool? Active; int? Amount; double? Price; String? CurrencyId; DateTime? UpdatedDate; DateTime? CreatedDate; List? Services = []; List? ServiceIds = []; String? PriceSign; double? VAT; ArticleResponse({this.CompanyId,this.Id,this.Name,this.ArticleTypeId,this.Description,this.ImageUrl,this.Active,this.Amount,this.Price,this.CurrencyId,this.UpdatedDate,this.CreatedDate,this.Services,this.ServiceIds,this.PriceSign,this.VAT}); ArticleResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Id = json['Id']; Name = json['Name']; ArticleTypeId = json['ArticleTypeId']; Description = json['Description']; ImageUrl = json['ImageUrl']; Active = json['Active']; Amount = json['Amount']; Price = JsonConverters.toDouble(json['Price']); CurrencyId = json['CurrencyId']; UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); Services = JsonConverters.fromJson(json['Services'],'List',context!); ServiceIds = JsonConverters.fromJson(json['ServiceIds'],'List',context!); PriceSign = json['PriceSign']; VAT = JsonConverters.toDouble(json['VAT']); return this; } Map toJson() => { 'CompanyId': CompanyId, 'Id': Id, 'Name': Name, 'ArticleTypeId': ArticleTypeId, 'Description': Description, 'ImageUrl': ImageUrl, 'Active': Active, 'Amount': Amount, 'Price': Price, 'CurrencyId': CurrencyId, 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'Services': JsonConverters.toJson(Services,'List',context!), 'ServiceIds': JsonConverters.toJson(ServiceIds,'List',context!), 'PriceSign': PriceSign, 'VAT': VAT }; getTypeName() => "ArticleResponse"; TypeContext? context = _ctx; } class RebateCodeResponse implements IConvertible { int? Id; String? CompanyId; DateTime? ValidFrom; DateTime? ValidTo; /** * If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update. */ // @ApiMember(Description="If the price is only valid for specific days in week add a comma separated list of which days this day price belongs to, 1 = Monday .. 7 = Sunday. All old days connected will be removed on update.") Duration? FromTime; /** * If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters. */ // @ApiMember(Description="If the price is only valid for a specific time span during a time of day enter the FromTime and ToTime parameters.") Duration? ToTime; String? CreatedBy; DateTime? Created; String? UpdatedBy; DateTime? Updated; String? PersonalNote; String? RebateCodeSign; int? RebateCodeValue; int? RebateCodeTypeId; String? Name; int? RebateCodeStatusId; String? StatusName; int? MaxNumberOfUses; int? MaxNumberOfUsesPerCustomer; int? NumberOfUsesUsed; List? DaysOfWeek = []; List? Services = []; ArticleResponse? Article; List? Transactions = []; double? RemainingAmount; int? RemainingUsage; List? Customers = []; ResponseStatus? ResponseStatus; bool? PaymentReceived; String? RebateCodeCurrencySign; bool? ActiveByStatus; String? PriceSign; String? RebateCodeTypeName; RebateCodeCompanyResponse? Company; RebateCodeResponse({this.Id,this.CompanyId,this.ValidFrom,this.ValidTo,this.FromTime,this.ToTime,this.CreatedBy,this.Created,this.UpdatedBy,this.Updated,this.PersonalNote,this.RebateCodeSign,this.RebateCodeValue,this.RebateCodeTypeId,this.Name,this.RebateCodeStatusId,this.StatusName,this.MaxNumberOfUses,this.MaxNumberOfUsesPerCustomer,this.NumberOfUsesUsed,this.DaysOfWeek,this.Services,this.Article,this.Transactions,this.RemainingAmount,this.RemainingUsage,this.Customers,this.ResponseStatus,this.PaymentReceived,this.RebateCodeCurrencySign,this.ActiveByStatus,this.PriceSign,this.RebateCodeTypeName,this.Company}); RebateCodeResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; CompanyId = json['CompanyId']; ValidFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!); ValidTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!); FromTime = JsonConverters.fromJson(json['FromTime'],'Duration',context!); ToTime = JsonConverters.fromJson(json['ToTime'],'Duration',context!); CreatedBy = json['CreatedBy']; Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); UpdatedBy = json['UpdatedBy']; Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); PersonalNote = json['PersonalNote']; RebateCodeSign = json['RebateCodeSign']; RebateCodeValue = json['RebateCodeValue']; RebateCodeTypeId = json['RebateCodeTypeId']; Name = json['Name']; RebateCodeStatusId = json['RebateCodeStatusId']; StatusName = json['StatusName']; MaxNumberOfUses = json['MaxNumberOfUses']; MaxNumberOfUsesPerCustomer = json['MaxNumberOfUsesPerCustomer']; NumberOfUsesUsed = json['NumberOfUsesUsed']; DaysOfWeek = JsonConverters.fromJson(json['DaysOfWeek'],'List',context!); Services = JsonConverters.fromJson(json['Services'],'List',context!); Article = JsonConverters.fromJson(json['Article'],'ArticleResponse',context!); Transactions = JsonConverters.fromJson(json['Transactions'],'List',context!); RemainingAmount = JsonConverters.toDouble(json['RemainingAmount']); RemainingUsage = json['RemainingUsage']; Customers = JsonConverters.fromJson(json['Customers'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); PaymentReceived = json['PaymentReceived']; RebateCodeCurrencySign = json['RebateCodeCurrencySign']; ActiveByStatus = json['ActiveByStatus']; PriceSign = json['PriceSign']; RebateCodeTypeName = json['RebateCodeTypeName']; Company = JsonConverters.fromJson(json['Company'],'RebateCodeCompanyResponse',context!); return this; } Map toJson() => { 'Id': Id, 'CompanyId': CompanyId, 'ValidFrom': JsonConverters.toJson(ValidFrom,'DateTime',context!), 'ValidTo': JsonConverters.toJson(ValidTo,'DateTime',context!), 'FromTime': JsonConverters.toJson(FromTime,'Duration',context!), 'ToTime': JsonConverters.toJson(ToTime,'Duration',context!), 'CreatedBy': CreatedBy, 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'UpdatedBy': UpdatedBy, 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'PersonalNote': PersonalNote, 'RebateCodeSign': RebateCodeSign, 'RebateCodeValue': RebateCodeValue, 'RebateCodeTypeId': RebateCodeTypeId, 'Name': Name, 'RebateCodeStatusId': RebateCodeStatusId, 'StatusName': StatusName, 'MaxNumberOfUses': MaxNumberOfUses, 'MaxNumberOfUsesPerCustomer': MaxNumberOfUsesPerCustomer, 'NumberOfUsesUsed': NumberOfUsesUsed, 'DaysOfWeek': JsonConverters.toJson(DaysOfWeek,'List',context!), 'Services': JsonConverters.toJson(Services,'List',context!), 'Article': JsonConverters.toJson(Article,'ArticleResponse',context!), 'Transactions': JsonConverters.toJson(Transactions,'List',context!), 'RemainingAmount': RemainingAmount, 'RemainingUsage': RemainingUsage, 'Customers': JsonConverters.toJson(Customers,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!), 'PaymentReceived': PaymentReceived, 'RebateCodeCurrencySign': RebateCodeCurrencySign, 'ActiveByStatus': ActiveByStatus, 'PriceSign': PriceSign, 'RebateCodeTypeName': RebateCodeTypeName, 'Company': JsonConverters.toJson(Company,'RebateCodeCompanyResponse',context!) }; getTypeName() => "RebateCodeResponse"; TypeContext? context = _ctx; } // @Route("/rebatecodes/fromarticle", "POST") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) class CreateArticleRebateCode implements IReturn, ICompany, IConvertible, IPost { /** * */ // @ApiMember(Description="") String? CompanyId; /** * Article ID for the rebate code */ // @ApiMember(Description="Article ID for the rebate code", IsRequired=true) int? ArticleId; /** * Customer information */ // @ApiMember(Description="Customer information") CustomerToHandle? Customer; /** * If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. */ // @ApiMember(Description="If you want to book with customer information instead of the Customer Id send the customer information here. Note: If customer profile already exists with the same email the information will not be changed, instead the provided information will be added as BookingsComments if it differs from the ordinairy profile. ") InvoiceAddressToHandle? InvoiceAddress; /** * Promo code receiver information */ // @ApiMember(Description="Promo code receiver information") PromoCodeReceiver? Receiver; CreateArticleRebateCode({this.CompanyId,this.ArticleId,this.Customer,this.InvoiceAddress,this.Receiver}); CreateArticleRebateCode.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; ArticleId = json['ArticleId']; Customer = JsonConverters.fromJson(json['Customer'],'CustomerToHandle',context!); InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddressToHandle',context!); Receiver = JsonConverters.fromJson(json['Receiver'],'PromoCodeReceiver',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'ArticleId': ArticleId, 'Customer': JsonConverters.toJson(Customer,'CustomerToHandle',context!), 'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddressToHandle',context!), 'Receiver': JsonConverters.toJson(Receiver,'PromoCodeReceiver',context!) }; createResponse() => RebateCodeResponse(); getResponseTypeName() => "RebateCodeResponse"; getTypeName() => "CreateArticleRebateCode"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'CustomerBase': TypeInfo(TypeOf.Class, create:() => CustomerBase()), 'CustomerToHandle': TypeInfo(TypeOf.Class, create:() => CustomerToHandle()), 'InvoiceAddressToHandle': TypeInfo(TypeOf.Class, create:() => InvoiceAddressToHandle()), 'ICustomerBase': TypeInfo(TypeOf.Interface), 'PromoCodeReceiver': TypeInfo(TypeOf.Class, create:() => PromoCodeReceiver()), 'RebateCodeServiceResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeServiceResponse()), 'RebateCodeCustomerResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeCustomerResponse()), 'RebateCodeTransactionQueryResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeTransactionQueryResponse()), 'DaysOfWeekResponse': TypeInfo(TypeOf.Class, create:() => DaysOfWeekResponse()), 'RebateCodeCompanyResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeCompanyResponse()), 'IInvoiceAddress': TypeInfo(TypeOf.Interface), 'ArticleResponse': TypeInfo(TypeOf.Class, create:() => ArticleResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ArticleServiceRelation': TypeInfo(TypeOf.Class, create:() => ArticleServiceRelation()), 'RebateCodeResponse': TypeInfo(TypeOf.Class, create:() => RebateCodeResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CreateArticleRebateCode': TypeInfo(TypeOf.Class, create:() => CreateArticleRebateCode()), });