/* Options: Date: 2026-02-14 22:00:29 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api-staging.bookmore.com //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateBookingUserQueue.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class AddCustomField implements IConvertible { int Id = 0; String Value = ""; AddCustomField({this.Id,this.Value}); AddCustomField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Value = json['Value']; return this; } Map toJson() => { 'Id': Id, 'Value': Value }; getTypeName() => "AddCustomField"; TypeContext? context = _ctx; } class CustomerBase implements ICustomerBase, IConvertible { String? CustomerId; String Firstname = ""; String Lastname = ""; String Email = ""; String Phone = ""; bool SubscribedToNewsletter; String PersonalIdentityNumber = ""; CustomerBase({this.CustomerId,this.Firstname,this.Lastname,this.Email,this.Phone,this.SubscribedToNewsletter,this.PersonalIdentityNumber}); 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']; PersonalIdentityNumber = json['PersonalIdentityNumber']; return this; } Map toJson() => { 'CustomerId': CustomerId, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'SubscribedToNewsletter': SubscribedToNewsletter, 'PersonalIdentityNumber': PersonalIdentityNumber }; 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; } class QuantityToBook implements IConvertible { /** * If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book) */ // @ApiMember(Description="If service has a price, enter the price id for that price. If no price exists for the service set 0 as PriceId. If you put 0 and a price exists, it will use that price (only works if just one price exists for the current selected date to book)", IsRequired=true) int PriceId = 0; /** * Set the number of spots or resources you want to book on the specific price category */ // @ApiMember(Description="Set the number of spots or resources you want to book on the specific price category", IsRequired=true) int Quantity = 0; /** * If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information. */ // @ApiMember(Description="If the quantity you add should occupy a spot. Default is true. If no it will only be a row that includes price information.") bool OccupiesSpot; QuantityToBook({this.PriceId,this.Quantity,this.OccupiesSpot}); QuantityToBook.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PriceId = json['PriceId']; Quantity = json['Quantity']; OccupiesSpot = json['OccupiesSpot']; return this; } Map toJson() => { 'PriceId': PriceId, 'Quantity': Quantity, 'OccupiesSpot': OccupiesSpot }; getTypeName() => "QuantityToBook"; TypeContext? context = _ctx; } abstract class ICustomerBase { String? CustomerId; String Firstname = ""; String Lastname = ""; String Email = ""; String Phone = ""; bool SubscribedToNewsletter; String PersonalIdentityNumber = ""; } class GroupBookingSettings implements IConvertible { bool Active; int Min = 0; int Max = 0; GroupBookingSettings({this.Active,this.Min,this.Max}); GroupBookingSettings.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Active = json['Active']; Min = json['Min']; Max = json['Max']; return this; } Map toJson() => { 'Active': Active, 'Min': Min, 'Max': Max }; getTypeName() => "GroupBookingSettings"; TypeContext? context = _ctx; } class MultipleResourceSettings implements IConvertible { bool Active; int Min = 0; int Max = 0; MultipleResourceSettings({this.Active,this.Min,this.Max}); MultipleResourceSettings.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Active = json['Active']; Min = json['Min']; Max = json['Max']; return this; } Map toJson() => { 'Active': Active, 'Min': Min, 'Max': Max }; getTypeName() => "MultipleResourceSettings"; TypeContext? context = _ctx; } class BookedCustomer implements IConvertible { String Id = ""; String Firstname = ""; String Lastname = ""; String Email = ""; String Phone = ""; String FacebookUserName = ""; String ImageUrl = ""; String PersonalIdentityNumber = ""; String CorporateIdentityNumber = ""; String InvoiceAddress1 = ""; String InvoiceAddress2 = ""; String InvoiceCity = ""; String InvoicePostalCode = ""; String InvoiceCountryCode = ""; BookedCustomer({this.Id,this.Firstname,this.Lastname,this.Email,this.Phone,this.FacebookUserName,this.ImageUrl,this.PersonalIdentityNumber,this.CorporateIdentityNumber,this.InvoiceAddress1,this.InvoiceAddress2,this.InvoiceCity,this.InvoicePostalCode,this.InvoiceCountryCode}); BookedCustomer.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Firstname = json['Firstname']; Lastname = json['Lastname']; Email = json['Email']; Phone = json['Phone']; FacebookUserName = json['FacebookUserName']; ImageUrl = json['ImageUrl']; PersonalIdentityNumber = json['PersonalIdentityNumber']; CorporateIdentityNumber = json['CorporateIdentityNumber']; InvoiceAddress1 = json['InvoiceAddress1']; InvoiceAddress2 = json['InvoiceAddress2']; InvoiceCity = json['InvoiceCity']; InvoicePostalCode = json['InvoicePostalCode']; InvoiceCountryCode = json['InvoiceCountryCode']; return this; } Map toJson() => { 'Id': Id, 'Firstname': Firstname, 'Lastname': Lastname, 'Email': Email, 'Phone': Phone, 'FacebookUserName': FacebookUserName, 'ImageUrl': ImageUrl, 'PersonalIdentityNumber': PersonalIdentityNumber, 'CorporateIdentityNumber': CorporateIdentityNumber, 'InvoiceAddress1': InvoiceAddress1, 'InvoiceAddress2': InvoiceAddress2, 'InvoiceCity': InvoiceCity, 'InvoicePostalCode': InvoicePostalCode, 'InvoiceCountryCode': InvoiceCountryCode }; getTypeName() => "BookedCustomer"; TypeContext? context = _ctx; } class ServiceInfoResponse implements IConvertible { int Id = 0; String Name = ""; String Description = ""; Uri ImageUrl; int? LengthInMinutes; int MaxNumberOfSpotsPerBooking = 0; int MinNumberOfSpotsPerBooking = 0; GroupBookingSettings GroupBooking; MultipleResourceSettings MultipleResource; bool IsGroupBooking; bool IsPaymentEnabled; ServiceInfoResponse({this.Id,this.Name,this.Description,this.ImageUrl,this.LengthInMinutes,this.MaxNumberOfSpotsPerBooking,this.MinNumberOfSpotsPerBooking,this.GroupBooking,this.MultipleResource,this.IsGroupBooking,this.IsPaymentEnabled}); ServiceInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); LengthInMinutes = json['LengthInMinutes']; MaxNumberOfSpotsPerBooking = json['MaxNumberOfSpotsPerBooking']; MinNumberOfSpotsPerBooking = json['MinNumberOfSpotsPerBooking']; GroupBooking = JsonConverters.fromJson(json['GroupBooking'],'GroupBookingSettings',context!); MultipleResource = JsonConverters.fromJson(json['MultipleResource'],'MultipleResourceSettings',context!); IsGroupBooking = json['IsGroupBooking']; IsPaymentEnabled = json['IsPaymentEnabled']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!), 'LengthInMinutes': LengthInMinutes, 'MaxNumberOfSpotsPerBooking': MaxNumberOfSpotsPerBooking, 'MinNumberOfSpotsPerBooking': MinNumberOfSpotsPerBooking, 'GroupBooking': JsonConverters.toJson(GroupBooking,'GroupBookingSettings',context!), 'MultipleResource': JsonConverters.toJson(MultipleResource,'MultipleResourceSettings',context!), 'IsGroupBooking': IsGroupBooking, 'IsPaymentEnabled': IsPaymentEnabled }; getTypeName() => "ServiceInfoResponse"; TypeContext? context = _ctx; } class BookingUserQueuePriceResponse implements IConvertible { String CompanyId = ""; int Id = 0; int BookingUserQueueId = 0; int? ServicePriceId; int? Quantity; double? Price; String PriceText = ""; BookingUserQueuePriceResponse({this.CompanyId,this.Id,this.BookingUserQueueId,this.ServicePriceId,this.Quantity,this.Price,this.PriceText}); BookingUserQueuePriceResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Id = json['Id']; BookingUserQueueId = json['BookingUserQueueId']; ServicePriceId = json['ServicePriceId']; Quantity = json['Quantity']; Price = JsonConverters.toDouble(json['Price']); PriceText = json['PriceText']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'Id': Id, 'BookingUserQueueId': BookingUserQueueId, 'ServicePriceId': ServicePriceId, 'Quantity': Quantity, 'Price': Price, 'PriceText': PriceText }; getTypeName() => "BookingUserQueuePriceResponse"; TypeContext? context = _ctx; } class CompanyInfoResponse implements IConvertible { String Id = ""; String Name = ""; Uri LogoType; String SitePath = ""; CompanyInfoResponse({this.Id,this.Name,this.LogoType,this.SitePath}); CompanyInfoResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; LogoType = JsonConverters.fromJson(json['LogoType'],'Uri',context!); SitePath = json['SitePath']; return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'LogoType': JsonConverters.toJson(LogoType,'Uri',context!), 'SitePath': SitePath }; getTypeName() => "CompanyInfoResponse"; TypeContext? context = _ctx; } abstract class IInvoiceAddress { String CorporateIdentityNumber = ""; String InvoiceAddress1 = ""; String InvoiceAddress2 = ""; String InvoiceCity = ""; String InvoicePostalCode = ""; String InvoiceCountryCode = ""; } class BookingUserQueueItemResponse implements IConvertible { int BookingUserQueueId = 0; String CompanyId = ""; String CustomerId = ""; int ServiceId = 0; DateTime From = DateTime(0); DateTime To = DateTime(0); int StatusCode = 0; String StatusName = ""; DateTime? SendConfirmationTime; List Quantities = []; ServiceInfoResponse Service; CompanyInfoResponse Company; BookedCustomer Customer; BookingUserQueueItemResponse({this.BookingUserQueueId,this.CompanyId,this.CustomerId,this.ServiceId,this.From,this.To,this.StatusCode,this.StatusName,this.SendConfirmationTime,this.Quantities,this.Service,this.Company,this.Customer}); BookingUserQueueItemResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { BookingUserQueueId = json['BookingUserQueueId']; CompanyId = json['CompanyId']; CustomerId = json['CustomerId']; ServiceId = json['ServiceId']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); StatusCode = json['StatusCode']; StatusName = json['StatusName']; SendConfirmationTime = JsonConverters.fromJson(json['SendConfirmationTime'],'DateTime',context!); Quantities = JsonConverters.fromJson(json['Quantities'],'List',context!); Service = JsonConverters.fromJson(json['Service'],'ServiceInfoResponse',context!); Company = JsonConverters.fromJson(json['Company'],'CompanyInfoResponse',context!); Customer = JsonConverters.fromJson(json['Customer'],'BookedCustomer',context!); return this; } Map toJson() => { 'BookingUserQueueId': BookingUserQueueId, 'CompanyId': CompanyId, 'CustomerId': CustomerId, 'ServiceId': ServiceId, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'StatusCode': StatusCode, 'StatusName': StatusName, 'SendConfirmationTime': JsonConverters.toJson(SendConfirmationTime,'DateTime',context!), 'Quantities': JsonConverters.toJson(Quantities,'List',context!), 'Service': JsonConverters.toJson(Service,'ServiceInfoResponse',context!), 'Company': JsonConverters.toJson(Company,'CompanyInfoResponse',context!), 'Customer': JsonConverters.toJson(Customer,'BookedCustomer',context!) }; getTypeName() => "BookingUserQueueItemResponse"; TypeContext? context = _ctx; } // @Route("/bookinguserqueue", "POST") class CreateBookingUserQueue implements IReturn, IConvertible, IPost { String? CompanyId; String? CustomerId; CustomerToHandle Customer; InvoiceAddressToHandle InvoiceAddress; int ServiceId = 0; DateTime From = DateTime(0); DateTime To = DateTime(0); List Quantities = []; /** * If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved */ // @ApiMember(Description="If Custom Fields are added to the booking, here you will send the id and the value for each custom field to be saved") List CustomFields = []; CreateBookingUserQueue({this.CompanyId,this.CustomerId,this.Customer,this.InvoiceAddress,this.ServiceId,this.From,this.To,this.Quantities,this.CustomFields}); CreateBookingUserQueue.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; CustomerId = json['CustomerId']; Customer = JsonConverters.fromJson(json['Customer'],'CustomerToHandle',context!); InvoiceAddress = JsonConverters.fromJson(json['InvoiceAddress'],'InvoiceAddressToHandle',context!); ServiceId = json['ServiceId']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); Quantities = JsonConverters.fromJson(json['Quantities'],'List',context!); CustomFields = JsonConverters.fromJson(json['CustomFields'],'List',context!); return this; } Map toJson() => { 'CompanyId': CompanyId, 'CustomerId': CustomerId, 'Customer': JsonConverters.toJson(Customer,'CustomerToHandle',context!), 'InvoiceAddress': JsonConverters.toJson(InvoiceAddress,'InvoiceAddressToHandle',context!), 'ServiceId': ServiceId, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'Quantities': JsonConverters.toJson(Quantities,'List',context!), 'CustomFields': JsonConverters.toJson(CustomFields,'List',context!) }; createResponse() => BookingUserQueueItemResponse(); getResponseTypeName() => "BookingUserQueueItemResponse"; getTypeName() => "CreateBookingUserQueue"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api_staging.bookmore.com', types: { 'AddCustomField': TypeInfo(TypeOf.Class, create:() => AddCustomField()), 'CustomerBase': TypeInfo(TypeOf.Class, create:() => CustomerBase()), 'CustomerToHandle': TypeInfo(TypeOf.Class, create:() => CustomerToHandle()), 'InvoiceAddressToHandle': TypeInfo(TypeOf.Class, create:() => InvoiceAddressToHandle()), 'QuantityToBook': TypeInfo(TypeOf.Class, create:() => QuantityToBook()), 'ICustomerBase': TypeInfo(TypeOf.Interface), 'GroupBookingSettings': TypeInfo(TypeOf.Class, create:() => GroupBookingSettings()), 'MultipleResourceSettings': TypeInfo(TypeOf.Class, create:() => MultipleResourceSettings()), 'BookedCustomer': TypeInfo(TypeOf.Class, create:() => BookedCustomer()), 'ServiceInfoResponse': TypeInfo(TypeOf.Class, create:() => ServiceInfoResponse()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'BookingUserQueuePriceResponse': TypeInfo(TypeOf.Class, create:() => BookingUserQueuePriceResponse()), 'CompanyInfoResponse': TypeInfo(TypeOf.Class, create:() => CompanyInfoResponse()), 'IInvoiceAddress': TypeInfo(TypeOf.Interface), 'BookingUserQueueItemResponse': TypeInfo(TypeOf.Class, create:() => BookingUserQueueItemResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'CreateBookingUserQueue': TypeInfo(TypeOf.Class, create:() => CreateBookingUserQueue()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), });