/* Options: Date: 2026-02-04 19:03:58 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAllBookingQueue.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; 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; } 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/user", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ValidateRequest(Validator="IsAuthenticated") class GetAllBookingQueue implements IReturn>, IConvertible, IGet { /** * The user id for your profile. If not set it will set it automatically from your session */ // @ApiMember(Description="The user id for your profile. If not set it will set it automatically from your session") String? UserId; /** * Optional start date for the search interval. If not set it will default to todays date. */ // @ApiMember(DataType="dateTime", Description="Optional start date for the search interval. If not set it will default to todays date.", ParameterType="query") DateTime? DateStart; /** * Optional end date for the search interval. If not set all future queue items will be returned. */ // @ApiMember(DataType="dateTime", Description="Optional end date for the search interval. If not set all future queue items will be returned.", ParameterType="query") DateTime? DateEnd; /** * Set to true if you want to include the queue items for the company you are logged in as administrator on, if false only queue items for the logged in user will be retrieved. Only administrators are allowed to do this. */ // @ApiMember(DataType="boolean", Description="Set to true if you want to include the queue items for the company you are logged in as administrator on, if false only queue items for the logged in user will be retrieved. Only administrators are allowed to do this.", ParameterType="query") bool CompanyQueueItems; /** * Optional filter for a specific service id. */ // @ApiMember(DataType="int", Description="Optional filter for a specific service id.", ParameterType="query") int? ServiceId; /** * Optional filter for a specific customer id. */ // @ApiMember(DataType="Guid", Description="Optional filter for a specific customer id.", ParameterType="query") String? CustomerId; /** * If you want to include the service information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the service information for the booking", ParameterType="query") bool IncludeServiceInformation; /** * If you want to include the company information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the company information for the booking", ParameterType="query") bool IncludeCompanyInformation; /** * If you want to include the customer information for the booking */ // @ApiMember(DataType="boolean", Description="If you want to include the customer information for the booking", ParameterType="query") bool IncludeCustomerInformation; /** * Number of records to skip (for pagination) */ // @ApiMember(DataType="int", Description="Number of records to skip (for pagination)", ParameterType="query") int? Skip; /** * Maximum number of records to return (for pagination) */ // @ApiMember(DataType="int", Description="Maximum number of records to return (for pagination)", ParameterType="query") int? Take; GetAllBookingQueue({this.UserId,this.DateStart,this.DateEnd,this.CompanyQueueItems,this.ServiceId,this.CustomerId,this.IncludeServiceInformation,this.IncludeCompanyInformation,this.IncludeCustomerInformation,this.Skip,this.Take}); GetAllBookingQueue.fromJson(Map json) { fromMap(json); } fromMap(Map json) { UserId = json['UserId']; DateStart = JsonConverters.fromJson(json['DateStart'],'DateTime',context!); DateEnd = JsonConverters.fromJson(json['DateEnd'],'DateTime',context!); CompanyQueueItems = json['CompanyQueueItems']; ServiceId = json['ServiceId']; CustomerId = json['CustomerId']; IncludeServiceInformation = json['IncludeServiceInformation']; IncludeCompanyInformation = json['IncludeCompanyInformation']; IncludeCustomerInformation = json['IncludeCustomerInformation']; Skip = json['Skip']; Take = json['Take']; return this; } Map toJson() => { 'UserId': UserId, 'DateStart': JsonConverters.toJson(DateStart,'DateTime',context!), 'DateEnd': JsonConverters.toJson(DateEnd,'DateTime',context!), 'CompanyQueueItems': CompanyQueueItems, 'ServiceId': ServiceId, 'CustomerId': CustomerId, 'IncludeServiceInformation': IncludeServiceInformation, 'IncludeCompanyInformation': IncludeCompanyInformation, 'IncludeCustomerInformation': IncludeCustomerInformation, 'Skip': Skip, 'Take': Take }; createResponse() => []; getResponseTypeName() => "List"; getTypeName() => "GetAllBookingQueue"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { '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()), 'BookingUserQueueItemResponse': TypeInfo(TypeOf.Class, create:() => BookingUserQueueItemResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetAllBookingQueue': TypeInfo(TypeOf.Class, create:() => GetAllBookingQueue()), });