/* Options: Date: 2024-12-03 17:53:56 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.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? To; } 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; // @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; 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; 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; // @Required() int? CustomFieldConfigId; // @Required() int? ServiceId; 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; int? GroupId; // @Required() int? FieldId; // @Required() int? IconId; int? RegExId; // @Required() String? Name; // @Required() String? Description; // @Required() String? Datatype; // @Required() int? MaxLength; // @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; 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? 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.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']; 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, 'CorporateIdentityNumber': CorporateIdentityNumber, 'InvoiceAddress1': InvoiceAddress1, 'InvoiceAddress2': InvoiceAddress2, 'InvoiceCity': InvoiceCity, 'InvoicePostalCode': InvoicePostalCode, 'InvoiceCountryCode': InvoiceCountryCode }; getTypeName() => "BookedCustomer"; TypeContext? context = _ctx; } abstract class IBookedTime extends IInterval { int? Id; int? ServiceId; int? BookedSpots; int? TotalSpots; int? PauseAfterInMinutes; BookingStatusEnum? Status; int? StatusId; BookedCustomer? Customer; } class CustomFieldDataResponse implements IConvertible { int? Id; 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; // @Ignore() List? Schedules; // @Ignore() List? Exceptions; // @Ignore() List? Bookings; // @Ignore() List? CustomFieldsConfig; // @Ignore() List? CustomFieldsData; // @Required() String? CompanyId; int? Id; // @Required() String? Name; // @Required() bool? Active; String? Description; String? ImageUrl; // @Required() DateTime? UpdatedDate; // @Required() DateTime? CreatedDate; // @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 { List? Resources; ScheduleType? Type; bool? Active; bool? IsResourceSpecific; } class TimeException implements ITimeException, IConvertible { /** * Time exception id */ // @ApiMember(Description="Time exception id") int? Id; /** * 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; /** * Time exception end */ // @ApiMember(Description="Time exception end") DateTime? To; /** * 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; /** * The booked service */ // @ApiMember(Description="The booked service") int? ServiceId; /** * Booking start */ // @ApiMember(Description="Booking start") DateTime? From; /** * Booking end */ // @ApiMember(Description="Booking end") DateTime? To; /** * Number of booked spots */ // @ApiMember(Description="Number of booked spots") int? BookedSpots; /** * Number of total spots for the service */ // @ApiMember(Description="Number of total spots for the service") int? TotalSpots; /** * The pause after the booking */ // @ApiMember(Description="The pause after the booking") int? PauseAfterInMinutes; /** * The booking status */ // @ApiMember(Description="The booking status") int? StatusId; 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; } abstract class IBaseModelUpdated { DateTime? UpdatedDate; } 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; /** * 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; /** * Then date when the resource was created */ // @ApiMember(Description="Then date when the resource was created") DateTime? Created; /** * Then date when the resource was updated */ // @ApiMember(Description="Then date when the resource was updated") DateTime? Updated; 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 i will search from todays date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered i will search from todays date.", ParameterType="query") DateTime? ExceptionsQueryFromDate; /** * If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered i will search to 1 year forward from todays date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeExceptions], choose what from and to date to search exceptions between, if nothing entered i will search to 1 year forward from todays 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 i 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 i 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 i will search from todays date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered i will search from todays date.", ParameterType="query") DateTime? BookingsQueryFromDate; /** * If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered i will search to 1 year forward from todays date. */ // @ApiMember(DataType="dateTime", Description="If [IncludeBookings], choose what from and to date to search bookings between, if nothing entered i will search to 1 year forward from todays 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: 'api.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:() => []), });