/* Options: Date: 2024-06-26 10:59:12 Version: 8.23 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: ResourceTimeExceptionQuery.* //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; } enum BokaMeraDayOfWeek { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, } class ResourceTimeExceptionDayOfWeekRelation extends BaseModel implements IConvertible { // @Ignore() BokaMeraDayOfWeek? DayOfWeek; // @Required() int? DayOfWeekId; // @Required() String? CompanyId; // @Required() int? ResourceTimeExceptionId; DateTime? ModifiedDate; int? Id; ResourceTimeExceptionDayOfWeekRelation({this.DayOfWeek,this.DayOfWeekId,this.CompanyId,this.ResourceTimeExceptionId,this.ModifiedDate,this.Id}); ResourceTimeExceptionDayOfWeekRelation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); DayOfWeek = JsonConverters.fromJson(json['DayOfWeek'],'BokaMeraDayOfWeek',context!); DayOfWeekId = json['DayOfWeekId']; CompanyId = json['CompanyId']; ResourceTimeExceptionId = json['ResourceTimeExceptionId']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'DayOfWeek': JsonConverters.toJson(DayOfWeek,'BokaMeraDayOfWeek',context!), 'DayOfWeekId': DayOfWeekId, 'CompanyId': CompanyId, 'ResourceTimeExceptionId': ResourceTimeExceptionId, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'Id': Id }); getTypeName() => "ResourceTimeExceptionDayOfWeekRelation"; TypeContext? context = _ctx; } class ResourceTimeExceptionResourceRelation extends BaseModel implements IConvertible { // @Ignore() Resource? Resource; // @Required() String? CompanyId; // @Required() int? ResourceTimeExceptionId; // @Required() int? ResourceId; int? Id; DateTime? ModifiedDate; ResourceTimeExceptionResourceRelation({this.Resource,this.CompanyId,this.ResourceTimeExceptionId,this.ResourceId,this.Id,this.ModifiedDate}); ResourceTimeExceptionResourceRelation.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Resource = JsonConverters.fromJson(json['Resource'],'Resource',context!); CompanyId = json['CompanyId']; ResourceTimeExceptionId = json['ResourceTimeExceptionId']; ResourceId = json['ResourceId']; Id = json['Id']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'Resource': JsonConverters.toJson(Resource,'Resource',context!), 'CompanyId': CompanyId, 'ResourceTimeExceptionId': ResourceTimeExceptionId, 'ResourceId': ResourceId, 'Id': Id, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!) }); getTypeName() => "ResourceTimeExceptionResourceRelation"; TypeContext? context = _ctx; } class CalendarExport extends BaseModel implements IConvertible { // @Required() String? CompanyId; // @Required() int? BookingId; // @Required() int? ExceptionId; bool? CalendarSync; String? CalendarId; bool? IsExceptionDeleted; DateTime? ModifiedDate; int? Id; CalendarExport({this.CompanyId,this.BookingId,this.ExceptionId,this.CalendarSync,this.CalendarId,this.IsExceptionDeleted,this.ModifiedDate,this.Id}); CalendarExport.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; BookingId = json['BookingId']; ExceptionId = json['ExceptionId']; CalendarSync = json['CalendarSync']; CalendarId = json['CalendarId']; IsExceptionDeleted = json['IsExceptionDeleted']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); Id = json['Id']; return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'BookingId': BookingId, 'ExceptionId': ExceptionId, 'CalendarSync': CalendarSync, 'CalendarId': CalendarId, 'IsExceptionDeleted': IsExceptionDeleted, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'Id': Id }); getTypeName() => "CalendarExport"; TypeContext? context = _ctx; } class ResourceTimeException extends BaseModel implements IInterval, IBaseModelCreated, IBaseModelUpdated, IConvertible { List? DayOfWeeks; List? Resources; // @Ignore() CalendarExport? CalendarExport; // @Required() String? CompanyId; int? Id; // @Required() String? ReasonText; // @Required() Duration? FromTime; // @Required() Duration? ToTime; // @Required() DateTime? UpdatedDate; // @Required() DateTime? CreatedDate; String? Color; String? ReasonTextPublic; // @Required() bool? BlockTime; // @Required() bool? Private; DateTime? ModifiedDate; // @Required() DateTime? From; // @Required() DateTime? To; ResourceTimeException({this.DayOfWeeks,this.Resources,this.CalendarExport,this.CompanyId,this.Id,this.ReasonText,this.FromTime,this.ToTime,this.UpdatedDate,this.CreatedDate,this.Color,this.ReasonTextPublic,this.BlockTime,this.Private,this.ModifiedDate,this.From,this.To}); ResourceTimeException.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); DayOfWeeks = JsonConverters.fromJson(json['DayOfWeeks'],'List',context!); Resources = JsonConverters.fromJson(json['Resources'],'List',context!); CalendarExport = JsonConverters.fromJson(json['CalendarExport'],'CalendarExport',context!); CompanyId = json['CompanyId']; Id = json['Id']; ReasonText = json['ReasonText']; FromTime = JsonConverters.fromJson(json['FromTime'],'Duration',context!); ToTime = JsonConverters.fromJson(json['ToTime'],'Duration',context!); UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); Color = json['Color']; ReasonTextPublic = json['ReasonTextPublic']; BlockTime = json['BlockTime']; Private = json['Private']; ModifiedDate = JsonConverters.fromJson(json['ModifiedDate'],'DateTime',context!); From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); return this; } Map toJson() => super.toJson()..addAll({ 'DayOfWeeks': JsonConverters.toJson(DayOfWeeks,'List',context!), 'Resources': JsonConverters.toJson(Resources,'List',context!), 'CalendarExport': JsonConverters.toJson(CalendarExport,'CalendarExport',context!), 'CompanyId': CompanyId, 'Id': Id, 'ReasonText': ReasonText, 'FromTime': JsonConverters.toJson(FromTime,'Duration',context!), 'ToTime': JsonConverters.toJson(ToTime,'Duration',context!), 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'Color': Color, 'ReasonTextPublic': ReasonTextPublic, 'BlockTime': BlockTime, 'Private': Private, 'ModifiedDate': JsonConverters.toJson(ModifiedDate,'DateTime',context!), 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!) }); getTypeName() => "ResourceTimeException"; TypeContext? context = _ctx; } class TimeExceptionReosurceDetails implements IConvertible { /** * Ids of the resources that owns this exception */ // @ApiMember(Description="Ids of the resources that owns this exception") int? Id; /** * Name of the resource */ // @ApiMember(Description="Name of the resource") String? Name; /** * Description of the resource */ // @ApiMember(Description="Description of the resource") String? Description; /** * Color of the resource */ // @ApiMember(Description="Color of the resource") String? Color; /** * Image of the resource */ // @ApiMember(Description="Image of the resource") Uri? ImageUrl; ResponseStatus? ResponseStatus; TimeExceptionReosurceDetails({this.Id,this.Name,this.Description,this.Color,this.ImageUrl,this.ResponseStatus}); TimeExceptionReosurceDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Color = json['Color']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Color': Color, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "TimeExceptionReosurceDetails"; TypeContext? context = _ctx; } class ExceptionCalendarExportStatus implements IConvertible { String? CalendarId; int? ExceptionId; bool? Synced; ExceptionCalendarExportStatus({this.CalendarId,this.ExceptionId,this.Synced}); ExceptionCalendarExportStatus.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CalendarId = json['CalendarId']; ExceptionId = json['ExceptionId']; Synced = json['Synced']; return this; } Map toJson() => { 'CalendarId': CalendarId, 'ExceptionId': ExceptionId, 'Synced': Synced }; getTypeName() => "ExceptionCalendarExportStatus"; TypeContext? context = _ctx; } class DayOfWeekDto implements IConvertible { int? DayOfWeekId; int? DotNetDayOfWeekId; String? DayOfWeek; DayOfWeekDto({this.DayOfWeekId,this.DotNetDayOfWeekId,this.DayOfWeek}); DayOfWeekDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DayOfWeekId = json['DayOfWeekId']; DotNetDayOfWeekId = json['DotNetDayOfWeekId']; DayOfWeek = json['DayOfWeek']; return this; } Map toJson() => { 'DayOfWeekId': DayOfWeekId, 'DotNetDayOfWeekId': DotNetDayOfWeekId, 'DayOfWeek': DayOfWeek }; getTypeName() => "DayOfWeekDto"; TypeContext? context = _ctx; } 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; } abstract class IBaseModelUpdated { DateTime? UpdatedDate; } abstract class IBaseModelCreated { DateTime? CreatedDate; } class ResourceTimeExceptionQueryResponse implements IConvertible { /** * Time exception id */ // @ApiMember(Description="Time exception id") int? Id; /** * Time company id */ // @ApiMember(Description="Time company id") String? CompanyId; /** * If it's locked for editing for the logged in administrator */ // @ApiMember(Description="If it's locked for editing for the logged in administrator") bool? Locked; /** * Resources that owns this exception */ // @ApiMember(Description="Resources that owns this exception") List? ResourceIds; /** * Resources that owns this exception */ // @ApiMember(Description="Resources that owns this exception") List? Resources; /** * Indicates wheter or not the time exception is recurring */ // @ApiMember(Description="Indicates wheter or not the time exception is recurring") bool? IsRecurring; /** * Time exception starting timestamp */ // @ApiMember(Description="Time exception starting timestamp") DateTime? From; /** * Time exception ending timestamp */ // @ApiMember(Description="Time exception ending timestamp") DateTime? To; /** * If recurring then this value indicates the time of day when the time exception begins */ // @ApiMember(Description="If recurring then this value indicates the time of day when the time exception begins") Duration? FromTime; /** * If recurring then this value indicates the time of day when the time exception ends */ // @ApiMember(Description="If recurring then this value indicates the time of day when the time exception ends") Duration? ToTime; /** * 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 reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ... */ // @ApiMember(Description="The reason of the time exception that could be public to customers, example: Vacation, Closed, Sick leave, ...") String? ReasonTextPublic; /** * What hexadecimal color code the exception should have in the scheduler */ // @ApiMember(Description="What hexadecimal color code the exception should have in the scheduler") String? Color; /** * If the time exception should block the time in the scheduler so it's not avaialable to book */ // @ApiMember(Description="If the time exception should block the time in the scheduler so it's not avaialable to book") bool? BlockTime; /** * If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it */ // @ApiMember(Description="If the ReasonText should only be visible to conncted resources. If false, all resources will be able to see it") bool? Private; /** * The status for export to calendars like Gcal */ // @ApiMember(Description="The status for export to calendars like Gcal") ExceptionCalendarExportStatus? CalendarExportStatus; /** * If recurring, an array indicating which days of the week the exception recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs */ // @ApiMember(Description="If recurring, an array indicating which days of the week the exception recures on where 1 = Monday .. 7 = Sunday. When recurring then the time portion of the Fields From and To indicates the time of day the recurrence occurs") List? DaysOfWeek; /** * The datetime the exception was created */ // @ApiMember(Description="The datetime the exception was created") DateTime? Created; ResponseStatus? ResponseStatus; ResourceTimeExceptionQueryResponse({this.Id,this.CompanyId,this.Locked,this.ResourceIds,this.Resources,this.IsRecurring,this.From,this.To,this.FromTime,this.ToTime,this.ReasonText,this.ReasonTextPublic,this.Color,this.BlockTime,this.Private,this.CalendarExportStatus,this.DaysOfWeek,this.Created,this.ResponseStatus}); ResourceTimeExceptionQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; CompanyId = json['CompanyId']; Locked = json['Locked']; ResourceIds = JsonConverters.fromJson(json['ResourceIds'],'List',context!); Resources = JsonConverters.fromJson(json['Resources'],'List',context!); IsRecurring = json['IsRecurring']; From = JsonConverters.fromJson(json['From'],'DateTime',context!); To = JsonConverters.fromJson(json['To'],'DateTime',context!); FromTime = JsonConverters.fromJson(json['FromTime'],'Duration',context!); ToTime = JsonConverters.fromJson(json['ToTime'],'Duration',context!); ReasonText = json['ReasonText']; ReasonTextPublic = json['ReasonTextPublic']; Color = json['Color']; BlockTime = json['BlockTime']; Private = json['Private']; CalendarExportStatus = JsonConverters.fromJson(json['CalendarExportStatus'],'ExceptionCalendarExportStatus',context!); DaysOfWeek = JsonConverters.fromJson(json['DaysOfWeek'],'List',context!); Created = JsonConverters.fromJson(json['Created'],'DateTime',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Id': Id, 'CompanyId': CompanyId, 'Locked': Locked, 'ResourceIds': JsonConverters.toJson(ResourceIds,'List',context!), 'Resources': JsonConverters.toJson(Resources,'List',context!), 'IsRecurring': IsRecurring, 'From': JsonConverters.toJson(From,'DateTime',context!), 'To': JsonConverters.toJson(To,'DateTime',context!), 'FromTime': JsonConverters.toJson(FromTime,'Duration',context!), 'ToTime': JsonConverters.toJson(ToTime,'Duration',context!), 'ReasonText': ReasonText, 'ReasonTextPublic': ReasonTextPublic, 'Color': Color, 'BlockTime': BlockTime, 'Private': Private, 'CalendarExportStatus': JsonConverters.toJson(CalendarExportStatus,'ExceptionCalendarExportStatus',context!), 'DaysOfWeek': JsonConverters.toJson(DaysOfWeek,'List',context!), 'Created': JsonConverters.toJson(Created,'DateTime',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "ResourceTimeExceptionQueryResponse"; TypeContext? context = _ctx; } // @Route("/timeexceptions", "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 ResourceTimeExceptionQuery extends QueryDb2 implements IReturn>, IConvertible, IGet { /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") String? CompanyId; /** * Enter the resource id's separated by comma that you want to see time exceptions for, if no value is given all time exceptions will be returned */ // @ApiMember(Description="Enter the resource id's separated by comma that you want to see time exceptions for, if no value is given all time exceptions will be returned", ParameterType="query") List? ResourceIds; /** * Start of interval to query for time exceptions. UTC+0 and parameter as defined by date-time - RFC3339 */ // @ApiMember(DataType="dateTime", Description="Start of interval to query for time exceptions. UTC+0 and parameter as defined by date-time - RFC3339") DateTime? TimeExceptionStart; /** * End of interval to query for time exceptions. UTC+0 and parameter as defined by date-time - RFC3339 */ // @ApiMember(DataType="dateTime", Description="End of interval to query for time exceptions. UTC+0 and parameter as defined by date-time - RFC3339") DateTime? TimeExceptionEnd; /** * Include only recurring time exceptions or not, if no value is given, all time exceptions will be returned */ // @ApiMember(Description="Include only recurring time exceptions or not, if no value is given, all time exceptions will be returned", ParameterType="query") bool? IsRecurring; /** * Include only time exceptions that are blocking, if no value is given, all time exceptions will be returned */ // @ApiMember(Description="Include only time exceptions that are blocking, if no value is given, all time exceptions will be returned", ParameterType="query") bool? IsBlocking; /** * If you want to include the resource details */ // @ApiMember(DataType="boolean", Description="If you want to include the resource details", ParameterType="query") bool? IncludeResourceDetails; /** * If you want to include google calendar sync status */ // @ApiMember(DataType="boolean", Description="If you want to include google calendar sync status", ParameterType="query") bool? IncludeCalendarExportStatus; /** * The max limit of records you want to retrieve, default is 200 */ // @ApiMember(DataType="int", Description="The max limit of records you want to retrieve, default is 200", ParameterType="query") int? MaxLimit; ResourceTimeExceptionQuery({this.CompanyId,this.ResourceIds,this.TimeExceptionStart,this.TimeExceptionEnd,this.IsRecurring,this.IsBlocking,this.IncludeResourceDetails,this.IncludeCalendarExportStatus,this.MaxLimit}); ResourceTimeExceptionQuery.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); CompanyId = json['CompanyId']; ResourceIds = JsonConverters.fromJson(json['ResourceIds'],'List',context!); TimeExceptionStart = JsonConverters.fromJson(json['TimeExceptionStart'],'DateTime',context!); TimeExceptionEnd = JsonConverters.fromJson(json['TimeExceptionEnd'],'DateTime',context!); IsRecurring = json['IsRecurring']; IsBlocking = json['IsBlocking']; IncludeResourceDetails = json['IncludeResourceDetails']; IncludeCalendarExportStatus = json['IncludeCalendarExportStatus']; MaxLimit = json['MaxLimit']; return this; } Map toJson() => super.toJson()..addAll({ 'CompanyId': CompanyId, 'ResourceIds': JsonConverters.toJson(ResourceIds,'List',context!), 'TimeExceptionStart': JsonConverters.toJson(TimeExceptionStart,'DateTime',context!), 'TimeExceptionEnd': JsonConverters.toJson(TimeExceptionEnd,'DateTime',context!), 'IsRecurring': IsRecurring, 'IsBlocking': IsBlocking, 'IncludeResourceDetails': IncludeResourceDetails, 'IncludeCalendarExportStatus': IncludeCalendarExportStatus, 'MaxLimit': MaxLimit }); createResponse() => QueryResponse(); getResponseTypeName() => "QueryResponse"; getTypeName() => "ResourceTimeExceptionQuery"; 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), 'BokaMeraDayOfWeek': TypeInfo(TypeOf.Enum, enumValues:BokaMeraDayOfWeek.values), 'ResourceTimeExceptionDayOfWeekRelation': TypeInfo(TypeOf.Class, create:() => ResourceTimeExceptionDayOfWeekRelation()), 'ResourceTimeExceptionResourceRelation': TypeInfo(TypeOf.Class, create:() => ResourceTimeExceptionResourceRelation()), 'CalendarExport': TypeInfo(TypeOf.Class, create:() => CalendarExport()), 'ResourceTimeException': TypeInfo(TypeOf.Class, create:() => ResourceTimeException()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'TimeExceptionReosurceDetails': TypeInfo(TypeOf.Class, create:() => TimeExceptionReosurceDetails()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'ExceptionCalendarExportStatus': TypeInfo(TypeOf.Class, create:() => ExceptionCalendarExportStatus()), 'DayOfWeekDto': TypeInfo(TypeOf.Class, create:() => DayOfWeekDto()), 'ICustomFieldTable': TypeInfo(TypeOf.Interface), 'IBaseModelUpdated': TypeInfo(TypeOf.Interface), 'IBaseModelCreated': TypeInfo(TypeOf.Interface), 'ResourceTimeExceptionQueryResponse': TypeInfo(TypeOf.Class, create:() => ResourceTimeExceptionQueryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'QueryResponse': TypeInfo(TypeOf.Class, create:() => QueryResponse()), 'ResourceTimeExceptionQuery': TypeInfo(TypeOf.Class, create:() => ResourceTimeExceptionQuery()), 'List': TypeInfo(TypeOf.Class, create:() => []), });