/* Options: Date: 2026-02-04 17:17:55 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: ResourceQuery.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum BookingStatusEnum { Booked, Unbooked, Reserved, Canceled, AwaitingPayment, AwaitingPaymentNoTimeLimit, Payed, AwaitingPaymentRequestFromAdmin, AwaitingPaymentFromProvider, Invoiced, } abstract class IInterval { DateTime From = DateTime(0); DateTime To = DateTime(0); } class BaseModel implements IConvertible { BaseModel(); BaseModel.fromJson(Map json) : super(); fromMap(Map json) { return this; } Map toJson() => {}; getTypeName() => "BaseModel"; TypeContext? context = _ctx; } class CustomFieldValue extends BaseModel implements IConvertible { // @Required() String CompanyId = ""; int Id = 0; // @Required() String Value = ""; // @Required() bool Active; int? SortOrder; DateTime? ModifiedDate; CustomFieldValue({this.CompanyId,this.Id,this.Value,this.Active,this.SortOrder,this.ModifiedDate}); CustomFieldValue.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; Id = json['Id']; Value = json['Value']; Active = json['Active']; SortOrder = json['SortOrder']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'Id': Id, 'Value': Value, 'Active': Active, 'SortOrder': SortOrder, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!) }); getTypeName() => "CustomFieldValue"; TypeContext? context = _ctx; } class CustomField extends BaseModel implements IConvertible { // @Required() String Table = ""; // @Required() String Column = ""; // @Required() String DataType = ""; // @Required() String Description = ""; // @Required() bool Active; DateTime? ModifiedDate; int Id = 0; CustomField({this.Table,this.Column,this.DataType,this.Description,this.Active,this.ModifiedDate,this.Id}); CustomField.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Table = json['Table']; Column = json['Column']; DataType = json['DataType']; Description = json['Description']; Active = json['Active']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'Table': Table, 'Column': Column, 'DataType': DataType, 'Description': Description, 'Active': Active, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'Id': Id }); getTypeName() => "CustomField"; TypeContext? context = _ctx; } class RegEx extends BaseModel implements IConvertible { // @Required() String Name = ""; // @Required() String Description = ""; // @Required() String RegExCode = ""; String? ErrorMessage; DateTime? ModifiedDate; int Id = 0; RegEx({this.Name,this.Description,this.RegExCode,this.ErrorMessage,this.ModifiedDate,this.Id}); RegEx.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Name = json['Name']; Description = json['Description']; RegExCode = json['RegExCode']; ErrorMessage = json['ErrorMessage']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'Name': Name, 'Description': Description, 'RegExCode': RegExCode, 'ErrorMessage': ErrorMessage, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'Id': Id }); getTypeName() => "RegEx"; TypeContext? context = _ctx; } class CustomFieldServiceRelation extends BaseModel implements IConvertible { // @Required() String CompanyId = ""; int Id = 0; // @Required() int CustomFieldConfigId = 0; // @Required() int ServiceId = 0; DateTime? ModifiedDate; CustomFieldServiceRelation({this.CompanyId,this.Id,this.CustomFieldConfigId,this.ServiceId,this.ModifiedDate}); CustomFieldServiceRelation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; Id = json['Id']; CustomFieldConfigId = json['CustomFieldConfigId']; ServiceId = json['ServiceId']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'Id': Id, 'CustomFieldConfigId': CustomFieldConfigId, 'ServiceId': ServiceId, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!) }); getTypeName() => "CustomFieldServiceRelation"; TypeContext? context = _ctx; } class CustomFieldConfig extends BaseModel implements IConvertible { // @Ignore() List Values = []; CustomField CustomField; // @Ignore() RegEx RegEx; // @Ignore() List Services = []; List CustomFieldServiceRelation = []; // @Required() String CompanyId = ""; int Id = 0; int? GroupId; // @Required() int FieldId = 0; // @Required() int IconId = 0; int? RegExId; // @Required() String Name = ""; // @Required() String Description = ""; // @Required() String Datatype = ""; // @Required() int MaxLength = 0; // @Required() bool IsPublic; // @Required() bool IsHidden; // @Required() bool IsMandatory; String? DefaultValue; String? RegExErrorMessage; String? MandatoryErrorMessage; int? Width; // @Required() bool MultipleLineText; DateTime? ModifiedDate; CustomFieldConfig({this.Values,this.CustomField,this.RegEx,this.Services,this.CustomFieldServiceRelation,this.CompanyId,this.Id,this.GroupId,this.FieldId,this.IconId,this.RegExId,this.Name,this.Description,this.Datatype,this.MaxLength,this.IsPublic,this.IsHidden,this.IsMandatory,this.DefaultValue,this.RegExErrorMessage,this.MandatoryErrorMessage,this.Width,this.MultipleLineText,this.ModifiedDate}); CustomFieldConfig.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Values = JsonConverters.fromJson(json['Values'],'List',context!); CustomField = JsonConverters.fromJson(json['CustomField'],'CustomField',context!); RegEx = JsonConverters.fromJson(json['RegEx'],'RegEx',context!); Services = JsonConverters.fromJson(json['Services'],'List',context!); CustomFieldServiceRelation = JsonConverters.fromJson(json['CustomFieldServiceRelation'],'List',context!); CompanyId = json['CompanyId']; Id = json['Id']; GroupId = json['GroupId']; FieldId = json['FieldId']; IconId = json['IconId']; RegExId = json['RegExId']; Name = json['Name']; Description = json['Description']; Datatype = json['Datatype']; MaxLength = json['MaxLength']; IsPublic = json['IsPublic']; IsHidden = json['IsHidden']; IsMandatory = json['IsMandatory']; DefaultValue = json['DefaultValue']; RegExErrorMessage = json['RegExErrorMessage']; MandatoryErrorMessage = json['MandatoryErrorMessage']; Width = json['Width']; MultipleLineText = json['MultipleLineText']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Values': JsonConverters.toJson(Values,'List',context!), 'CustomField': JsonConverters.toJson(CustomField,'CustomField',context!), 'RegEx': JsonConverters.toJson(RegEx,'RegEx',context!), 'Services': JsonConverters.toJson(Services,'List',context!), 'CustomFieldServiceRelation': JsonConverters.toJson(CustomFieldServiceRelation,'List',context!), 'CompanyId': CompanyId, 'Id': Id, 'GroupId': GroupId, 'FieldId': FieldId, 'IconId': IconId, 'RegExId': RegExId, 'Name': Name, 'Description': Description, 'Datatype': Datatype, 'MaxLength': MaxLength, 'IsPublic': IsPublic, 'IsHidden': IsHidden, 'IsMandatory': IsMandatory, 'DefaultValue': DefaultValue, 'RegExErrorMessage': RegExErrorMessage, 'MandatoryErrorMessage': MandatoryErrorMessage, 'Width': Width, 'MultipleLineText': MultipleLineText, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!) }); getTypeName() => "CustomFieldConfig"; TypeContext? context = _ctx; } abstract class ITimeException extends IInterval { int Id = 0; String ReasonText = ""; bool IsBlock; String ReasonTextPublic = ""; bool IsRecurring; List ResourceIds = []; } 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; } abstract class IBookedTime extends IInterval { int Id = 0; int ServiceId = 0; int BookedSpots = 0; int TotalSpots = 0; int PauseAfterInMinutes = 0; BookingStatusEnum Status; int StatusId = 0; BookedCustomer Customer; } class CustomFieldDataResponse implements IConvertible { int Id = 0; String Column = ""; String Name = ""; String Description = ""; String Value = ""; /** * Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox' */ // @ApiMember(Description="Data field of custom field. Valid values are: TextBox, ... Example: 'TextBox'") String DataType = ""; CustomFieldDataResponse({this.Id,this.Column,this.Name,this.Description,this.Value,this.DataType}); CustomFieldDataResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Column = json['Column']; Name = json['Name']; Description = json['Description']; Value = json['Value']; DataType = json['DataType']; return this; } Map toJson() => { 'Id': Id, 'Column': Column, 'Name': Name, 'Description': Description, 'Value': Value, 'DataType': DataType }; getTypeName() => "CustomFieldDataResponse"; TypeContext? context = _ctx; } class Resource extends BaseModel implements ICustomFieldTable, IBaseModelCreated, IBaseModelUpdated, IConvertible { // @Ignore() int Priority = 0; // @Ignore() List? Schedules; // @Ignore() List? Exceptions; // @Ignore() List? Bookings; // @Ignore() List? CustomFieldsConfig; // @Ignore() List? CustomFieldsData; // @Required() String CompanyId = ""; int Id = 0; // @Required() String Name = ""; // @Required() bool Active; String? Description; String? ImageUrl; // @Required() DateTime UpdatedDate = DateTime(0); // @Required() DateTime CreatedDate = DateTime(0); // @Required() String Color = ""; String? Email; String? MobilePhone; bool? EmailNotification; bool? SMSNotification; // @Required() bool SendSMSReminder; // @Required() bool SendEmailReminder; DateTime? ModifiedDate; String? AccessGroup; String? TextField1; String? TextField2; String? TextField3; String? TextField4; String? TextField5; String? TextField6; String? TextField7; String? TextField8; String? TextField9; String? TextField10; String? TextField11; String? TextField12; String? TextField13; String? TextField14; String? TextField15; String? TextField16; String? TextField17; String? TextField18; String? TextField19; String? TextField20; Resource({this.Priority,this.Schedules,this.Exceptions,this.Bookings,this.CustomFieldsConfig,this.CustomFieldsData,this.CompanyId,this.Id,this.Name,this.Active,this.Description,this.ImageUrl,this.UpdatedDate,this.CreatedDate,this.Color,this.Email,this.MobilePhone,this.EmailNotification,this.SMSNotification,this.SendSMSReminder,this.SendEmailReminder,this.ModifiedDate,this.AccessGroup,this.TextField1,this.TextField2,this.TextField3,this.TextField4,this.TextField5,this.TextField6,this.TextField7,this.TextField8,this.TextField9,this.TextField10,this.TextField11,this.TextField12,this.TextField13,this.TextField14,this.TextField15,this.TextField16,this.TextField17,this.TextField18,this.TextField19,this.TextField20}); Resource.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Priority = json['Priority']; Schedules = JsonConverters.fromJson(json['Schedules'],'List',context!); Exceptions = JsonConverters.fromJson(json['Exceptions'],'List',context!); Bookings = JsonConverters.fromJson(json['Bookings'],'List',context!); CustomFieldsConfig = JsonConverters.fromJson(json['CustomFieldsConfig'],'List',context!); CustomFieldsData = JsonConverters.fromJson(json['CustomFieldsData'],'List',context!); CompanyId = json['CompanyId']; Id = json['Id']; Name = json['Name']; Active = json['Active']; Description = json['Description']; ImageUrl = json['ImageUrl']; UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); Color = json['Color']; Email = json['Email']; MobilePhone = json['MobilePhone']; EmailNotification = json['EmailNotification']; SMSNotification = json['SMSNotification']; SendSMSReminder = json['SendSMSReminder']; SendEmailReminder = json['SendEmailReminder']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); AccessGroup = json['AccessGroup']; TextField1 = json['TextField1']; TextField2 = json['TextField2']; TextField3 = json['TextField3']; TextField4 = json['TextField4']; TextField5 = json['TextField5']; TextField6 = json['TextField6']; TextField7 = json['TextField7']; TextField8 = json['TextField8']; TextField9 = json['TextField9']; TextField10 = json['TextField10']; TextField11 = json['TextField11']; TextField12 = json['TextField12']; TextField13 = json['TextField13']; TextField14 = json['TextField14']; TextField15 = json['TextField15']; TextField16 = json['TextField16']; TextField17 = json['TextField17']; TextField18 = json['TextField18']; TextField19 = json['TextField19']; TextField20 = json['TextField20']; return this; } Map toJson() => super.toJson()..addAll({ 'Priority': Priority, 'Schedules': JsonConverters.toJson(Schedules,'List',context!), 'Exceptions': JsonConverters.toJson(Exceptions,'List',context!), 'Bookings': JsonConverters.toJson(Bookings,'List',context!), 'CustomFieldsConfig': JsonConverters.toJson(CustomFieldsConfig,'List',context!), 'CustomFieldsData': JsonConverters.toJson(CustomFieldsData,'List',context!), 'CompanyId': CompanyId, 'Id': Id, 'Name': Name, 'Active': Active, 'Description': Description, 'ImageUrl': ImageUrl, 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'Color': Color, 'Email': Email, 'MobilePhone': MobilePhone, 'EmailNotification': EmailNotification, 'SMSNotification': SMSNotification, 'SendSMSReminder': SendSMSReminder, 'SendEmailReminder': SendEmailReminder, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'AccessGroup': AccessGroup, 'TextField1': TextField1, 'TextField2': TextField2, 'TextField3': TextField3, 'TextField4': TextField4, 'TextField5': TextField5, 'TextField6': TextField6, 'TextField7': TextField7, 'TextField8': TextField8, 'TextField9': TextField9, 'TextField10': TextField10, 'TextField11': TextField11, 'TextField12': TextField12, 'TextField13': TextField13, 'TextField14': TextField14, 'TextField15': TextField15, 'TextField16': TextField16, 'TextField17': TextField17, 'TextField18': TextField18, 'TextField19': TextField19, 'TextField20': TextField20 }); getTypeName() => "Resource"; TypeContext? context = _ctx; } enum ScheduleType { NotDefined, RecurringSchedule, DateSchedule, } abstract class ISchedule { String CompanyId = ""; List? Resources; ScheduleType Type; bool Active; bool IsResourceSpecific; } class TimeException implements ITimeException, IConvertible { /** * Time exception id */ // @ApiMember(Description="Time exception id") int Id = 0; /** * Indicates whether or not the time exception is recurring */ // @ApiMember(Description="Indicates whether or not the time exception is recurring") bool IsRecurring; /** * Indicates whether the time exception is blocking the time or not */ // @ApiMember(Description="Indicates whether the time exception is blocking the time or not") bool IsBlock; /** * The reason of the time exception, example: Vacation, doctors appointment, ... */ // @ApiMember(Description="The reason of the time exception, example: Vacation, doctors appointment, ...") String ReasonText = ""; /** * The public reason of the time exception, example: Vacation, doctors appointment, ... */ // @ApiMember(Description="The public reason of the time exception, example: Vacation, doctors appointment, ...") String ReasonTextPublic = ""; /** * Time exception start */ // @ApiMember(Description="Time exception start") DateTime From = DateTime(0); /** * Time exception end */ // @ApiMember(Description="Time exception end") DateTime To = DateTime(0); /** * Resources that owns this exception */ // @ApiMember(Description="Resources that owns this exception") List ResourceIds = []; TimeException({this.Id,this.IsRecurring,this.IsBlock,this.ReasonText,this.ReasonTextPublic,this.From,this.To,this.ResourceIds}); TimeException.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; IsRecurring = json['IsRecurring']; IsBlock = json['IsBlock']; ReasonText = json['ReasonText']; ReasonTextPublic = json['ReasonTextPublic']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); ResourceIds = JsonConverters.fromJson(json['ResourceIds'],'List',context!); return this; } Map toJson() => { 'Id': Id, 'IsRecurring': IsRecurring, 'IsBlock': IsBlock, 'ReasonText': ReasonText, 'ReasonTextPublic': ReasonTextPublic, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'ResourceIds': JsonConverters.toJson(ResourceIds,'List',context!) }; getTypeName() => "TimeException"; TypeContext? context = _ctx; } class BookedTime implements IBookedTime, IConvertible { /** * Booking id */ // @ApiMember(Description="Booking id") int Id = 0; /** * The booked service */ // @ApiMember(Description="The booked service") int ServiceId = 0; /** * Booking start */ // @ApiMember(Description="Booking start") DateTime From = DateTime(0); /** * Booking end */ // @ApiMember(Description="Booking end") DateTime To = DateTime(0); /** * Number of booked spots */ // @ApiMember(Description="Number of booked spots") int BookedSpots = 0; /** * Number of total spots for the service */ // @ApiMember(Description="Number of total spots for the service") int TotalSpots = 0; /** * The pause after the booking */ // @ApiMember(Description="The pause after the booking") int PauseAfterInMinutes = 0; /** * The booking status */ // @ApiMember(Description="The booking status") int StatusId = 0; BookingStatusEnum Status; /** * The customer the booking belongs to */ // @ApiMember(Description="The customer the booking belongs to") BookedCustomer Customer; BookedTime({this.Id,this.ServiceId,this.From,this.To,this.BookedSpots,this.TotalSpots,this.PauseAfterInMinutes,this.StatusId,this.Status,this.Customer}); BookedTime.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; ServiceId = json['ServiceId']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); BookedSpots = json['BookedSpots']; TotalSpots = json['TotalSpots']; PauseAfterInMinutes = json['PauseAfterInMinutes']; StatusId = json['StatusId']; Status = JsonConverters.fromJson(json['Status'],'BookingStatusEnum',context!); Customer = JsonConverters.fromJson(json['Customer'],'BookedCustomer',context!); return this; } Map toJson() => { 'Id': Id, 'ServiceId': ServiceId, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'BookedSpots': BookedSpots, 'TotalSpots': TotalSpots, 'PauseAfterInMinutes': PauseAfterInMinutes, 'StatusId': StatusId, 'Status': JsonConverters.toJson(Status,'BookingStatusEnum',context!), 'Customer': JsonConverters.toJson(Customer,'BookedCustomer',context!) }; getTypeName() => "BookedTime"; TypeContext? context = _ctx; } abstract class IBaseModelCreated { DateTime CreatedDate = DateTime(0); } abstract class IBaseModelUpdated { DateTime UpdatedDate = DateTime(0); } abstract class ICustomFieldTable { List? CustomFieldsConfig; List? CustomFieldsData; String TextField1 = ""; String TextField2 = ""; String TextField3 = ""; String TextField4 = ""; String TextField5 = ""; String TextField6 = ""; String TextField7 = ""; String TextField8 = ""; String TextField9 = ""; String TextField10 = ""; String TextField11 = ""; String TextField12 = ""; String TextField13 = ""; String TextField14 = ""; String TextField15 = ""; String TextField16 = ""; String TextField17 = ""; String TextField18 = ""; String TextField19 = ""; String TextField20 = ""; } class ResourceQueryResponse implements IConvertible { /** * The resource id */ // @ApiMember(Description="The resource id") int Id = 0; /** * The resource name */ // @ApiMember(Description="The resource name") String Name = ""; /** * The resource description */ // @ApiMember(Description="The resource description") String Description = ""; /** * If resource is active or not */ // @ApiMember(Description="If resource is active or not") bool Active; /** * The resource color in scheduler in hexadecimal color code. Example: #00b0f0 for blue. */ // @ApiMember(Description="The resource color in scheduler in hexadecimal color code. Example: #00b0f0 for blue.") String Color = ""; /** * The Email of the resource */ // @ApiMember(Description="The Email of the resource") String Email = ""; /** * The Image URL of the resource */ // @ApiMember(Description="The Image URL of the resource") Uri ImageUrl; /** * The Mobile phone number of the resource */ // @ApiMember(Description="The Mobile phone number of the resource") String MobilePhone = ""; /** * Used by example code locks to know what access group the resource is assigned to */ // @ApiMember(Description="Used by example code locks to know what access group the resource is assigned to") String AccessGroup = ""; /** * If the resource should receive Email notification when booked */ // @ApiMember(Description="If the resource should receive Email notification when booked") bool EmailNotification; /** * If the resource should receive SMS notification when booked */ // @ApiMember(Description="If the resource should receive SMS notification when booked") bool SMSNotification; /** * If the resource should receive Email reminders on bookings */ // @ApiMember(Description="If the resource should receive Email reminders on bookings") bool? SendEmailReminder; /** * If the resource should receive SMS reminders on bookings */ // @ApiMember(Description="If the resource should receive SMS reminders on bookings") bool? SendSMSReminder; /** * The resource time exceptions */ // @ApiMember(Description="The resource time exceptions") List Exceptions = []; /** * The resource bookings */ // @ApiMember(Description="The resource bookings") List Bookings = []; /** * The date when the resource was created */ // @ApiMember(Description="The date when the resource was created") DateTime Created = DateTime(0); /** * The date when the resource was updated */ // @ApiMember(Description="The date when the resource was updated") DateTime Updated = DateTime(0); ResponseStatus ResponseStatus; ResourceQueryResponse({this.Id,this.Name,this.Description,this.Active,this.Color,this.Email,this.ImageUrl,this.MobilePhone,this.AccessGroup,this.EmailNotification,this.SMSNotification,this.SendEmailReminder,this.SendSMSReminder,this.Exceptions,this.Bookings,this.Created,this.Updated,this.ResponseStatus}); ResourceQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Active = json['Active']; Color = json['Color']; Email = json['Email']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); MobilePhone = json['MobilePhone']; AccessGroup = json['AccessGroup']; EmailNotification = json['EmailNotification']; SMSNotification = json['SMSNotification']; SendEmailReminder = json['SendEmailReminder']; SendSMSReminder = json['SendSMSReminder']; Exceptions = JsonConverters.fromJson(json['Exceptions'],'List',context!); Bookings = JsonConverters.fromJson(json['Bookings'],'List',context!); Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); Updated = JsonConverters.fromJson(json['Updated'],'DateTime',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Active': Active, 'Color': Color, 'Email': Email, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!), 'MobilePhone': MobilePhone, 'AccessGroup': AccessGroup, 'EmailNotification': EmailNotification, 'SMSNotification': SMSNotification, 'SendEmailReminder': SendEmailReminder, 'SendSMSReminder': SendSMSReminder, 'Exceptions': JsonConverters.toJson(Exceptions,'List',context!), 'Bookings': JsonConverters.toJson(Bookings,'List',context!), 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'Updated': JsonConverters.toJson(Updated,'DateTime',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "ResourceQueryResponse"; TypeContext? context = _ctx; } // @Route("/resource", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) // @ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403) // @ValidateRequest(Validator="IsAuthenticated") class ResourceQuery extends QueryDb2 implements IReturn>, IConvertible, IGet { /** * Enter the company and id you want to see the information for a resource, if blank company id and you are an admin, your company id will be used. If blank id, all resources will be shown */ // @ApiMember(Description="Enter the company and id you want to see the information for a resource, if blank company id and you are an admin, your company id will be used. If blank id, all resources will be shown ", IsRequired=true, ParameterType="query") String CompanyId = ""; int? Id; bool? Active; /** * If you want to include the exceptions for each resource, only allowed for administrators. Select between what dates in the parameters [ExceptionsQueryFromDate] and [ExceptionsQueryToDate] , if no dates added */ // @ApiMember(DataType="boolean", Description="If you want to include the exceptions for each resource, only allowed for administrators. Select between what dates in the parameters [ExceptionsQueryFromDate] and [ExceptionsQueryToDate] , if no dates added ", ParameterType="query") bool IncludeExceptions; /** * If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered it will search from today's date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered it will search from today's date.", ParameterType="query") DateTime? ExceptionsQueryFromDate; /** * If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered it will search to 1 year forward from today's date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered it will search to 1 year forward from today's date.", ParameterType="query") DateTime? ExceptionsQueryToDate; /** * If you want to include the bookings for each resource, only allowed for administrators. Select between what dates in the parameters [BookingsQueryFromDate] and [BookingsQueryToDate] , if nothing entered it will search to 1 year forward from todays date. */ // @ApiMember(DataType="boolean", Description="If you want to include the bookings for each resource, only allowed for administrators. Select between what dates in the parameters [BookingsQueryFromDate] and [BookingsQueryToDate] , if nothing entered it will search to 1 year forward from todays date.", ParameterType="query") bool IncludeBookings; /** * If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered it will search from today's date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered it will search from today's date.", ParameterType="query") DateTime? BookingsQueryFromDate; /** * If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered it will search to 1 year forward from today's date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered it will search to 1 year forward from today's date.", ParameterType="query") DateTime? BookingsQueryToDate; ResourceQuery({this.CompanyId,this.Id,this.Active,this.IncludeExceptions,this.ExceptionsQueryFromDate,this.ExceptionsQueryToDate,this.IncludeBookings,this.BookingsQueryFromDate,this.BookingsQueryToDate}); ResourceQuery.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; Id = json['Id']; Active = json['Active']; IncludeExceptions = json['IncludeExceptions']; ExceptionsQueryFromDate = JsonConverters.fromJson(json['ExceptionsQueryFromDate'],'DateTime',context!); ExceptionsQueryToDate = JsonConverters.fromJson(json['ExceptionsQueryToDate'],'DateTime',context!); IncludeBookings = json['IncludeBookings']; BookingsQueryFromDate = JsonConverters.fromJson(json['BookingsQueryFromDate'],'DateTime',context!); BookingsQueryToDate = JsonConverters.fromJson(json['BookingsQueryToDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'Id': Id, 'Active': Active, 'IncludeExceptions': IncludeExceptions, 'ExceptionsQueryFromDate': JsonConverters.toJson(ExceptionsQueryFromDate,'DateTime',context!), 'ExceptionsQueryToDate': JsonConverters.toJson(ExceptionsQueryToDate,'DateTime',context!), 'IncludeBookings': IncludeBookings, 'BookingsQueryFromDate': JsonConverters.toJson(BookingsQueryFromDate,'DateTime',context!), 'BookingsQueryToDate': JsonConverters.toJson(BookingsQueryToDate,'DateTime',context!) }); createResponse() => QueryResponse(); getResponseTypeName() => "QueryResponse"; getTypeName() => "ResourceQuery"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'BookingStatusEnum': TypeInfo(TypeOf.Enum, enumValues:BookingStatusEnum.values), 'IInterval': TypeInfo(TypeOf.Interface), 'BaseModel': TypeInfo(TypeOf.Class, create:() => BaseModel()), 'CustomFieldValue': TypeInfo(TypeOf.Class, create:() => CustomFieldValue()), 'CustomField': TypeInfo(TypeOf.Class, create:() => CustomField()), 'RegEx': TypeInfo(TypeOf.Class, create:() => RegEx()), 'CustomFieldServiceRelation': TypeInfo(TypeOf.Class, create:() => CustomFieldServiceRelation()), 'CustomFieldConfig': TypeInfo(TypeOf.Class, create:() => CustomFieldConfig()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'Service': TypeInfo(TypeOf.Class, create:() => Service()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ITimeException': TypeInfo(TypeOf.Interface), 'BookedCustomer': TypeInfo(TypeOf.Class, create:() => BookedCustomer()), 'IBookedTime': TypeInfo(TypeOf.Interface), 'CustomFieldDataResponse': TypeInfo(TypeOf.Class, create:() => CustomFieldDataResponse()), 'Resource': TypeInfo(TypeOf.Class, create:() => Resource()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ISchedule': TypeInfo(TypeOf.Class, create:() => ISchedule()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ScheduleType': TypeInfo(TypeOf.Enum, enumValues:ScheduleType.values), 'TimeException': TypeInfo(TypeOf.Class, create:() => TimeException()), 'BookedTime': TypeInfo(TypeOf.Class, create:() => BookedTime()), 'IBaseModelCreated': TypeInfo(TypeOf.Interface), 'IBaseModelUpdated': TypeInfo(TypeOf.Interface), 'ICustomFieldTable': TypeInfo(TypeOf.Interface), 'ResourceQueryResponse': TypeInfo(TypeOf.Class, create:() => ResourceQueryResponse()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'QueryResponse': TypeInfo(TypeOf.Class, create:() => QueryResponse()), 'ResourceQuery': TypeInfo(TypeOf.Class, create:() => ResourceQuery()), 'List': TypeInfo(TypeOf.Class, create:() => []), });