/* Options: Date: 2025-12-14 05:17:36 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.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; int? Max; 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; int? Max; 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; String? Name; String? Description; Uri? ImageUrl; int? LengthInMinutes; int? MaxNumberOfSpotsPerBooking; int? MinNumberOfSpotsPerBooking; 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; int? BookingUserQueueId; 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; String? CompanyId; String? CustomerId; int? ServiceId; DateTime? From; DateTime? To; int? StatusCode; 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: 'api.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()), });