/* Options: Date: 2024-11-21 13:53:25 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: DeleteRecurringSchedule.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; abstract class ICompany { String? CompanyId; } 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; } class ScheduleResources implements IConvertible { int? Id; /** * Name of the resource */ // @ApiMember(Description="Name of the resource") String? Name; /** * The image url of the resource */ // @ApiMember(Description="The image url of the resource") Uri? ImageUrl; ScheduleResources({this.Id,this.Name,this.ImageUrl}); ScheduleResources.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!) }; getTypeName() => "ScheduleResources"; TypeContext? context = _ctx; } class ScheduleServices implements IConvertible { int? Id; /** * Name of the service */ // @ApiMember(Description="Name of the service") String? Name; /** * The image url of the service */ // @ApiMember(Description="The image url of the service") Uri? ImageUrl; ScheduleServices({this.Id,this.Name,this.ImageUrl}); ScheduleServices.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'ImageUrl': JsonConverters.toJson(ImageUrl,'Uri',context!) }; getTypeName() => "ScheduleServices"; TypeContext? context = _ctx; } class RecurringScheduleExceptionResponse implements IConvertible { /** * Start time of the schedule exception. */ // @ApiMember(Description="Start time of the schedule exception.") Duration? StartTime; /** * End time of the schedule exception. */ // @ApiMember(Description="End time of the schedule exception.") Duration? EndTime; RecurringScheduleExceptionResponse({this.StartTime,this.EndTime}); RecurringScheduleExceptionResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { StartTime = JsonConverters.fromJson(json['StartTime'],'Duration',context!); EndTime = JsonConverters.fromJson(json['EndTime'],'Duration',context!); return this; } Map toJson() => { 'StartTime': JsonConverters.toJson(StartTime,'Duration',context!), 'EndTime': JsonConverters.toJson(EndTime,'Duration',context!) }; getTypeName() => "RecurringScheduleExceptionResponse"; TypeContext? context = _ctx; } class RecurringScheduleDateResponse implements IConvertible { int? Id; DateTime? Date; Duration? StartTime; Duration? EndTime; ResponseStatus? ResponseStatus; RecurringScheduleDateResponse({this.Id,this.Date,this.StartTime,this.EndTime,this.ResponseStatus}); RecurringScheduleDateResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Date = JsonConverters.fromJson(json['Date'],'DateTime',context!); StartTime = JsonConverters.fromJson(json['StartTime'],'Duration',context!); EndTime = JsonConverters.fromJson(json['EndTime'],'Duration',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Id': Id, 'Date': JsonConverters.toJson(Date,'DateTime',context!), 'StartTime': JsonConverters.toJson(StartTime,'Duration',context!), 'EndTime': JsonConverters.toJson(EndTime,'Duration',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "RecurringScheduleDateResponse"; TypeContext? context = _ctx; } class RecurringScheduleQueryResponse implements IConvertible { /** * The schedule id */ // @ApiMember(Description="The schedule id") int? Id; /** * Name of the schedule */ // @ApiMember(Description="Name of the schedule") String? Name; /** * Description of the schedule */ // @ApiMember(Description="Description of the schedule") String? Description; /** * If the schedule is active or not */ // @ApiMember(Description="If the schedule is active or not") bool? Active; /** * Time interval for available times Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM */ // @ApiMember(Description="Time interval for available times Here you set the interval at which times should appear. For example, if you select the range 15minutes, and your service has an duration of 1 hour and opening hours are 9AM to 6PM you will see the following suggested times: 09AM-10PM 09:15AM-10:15PM, 09:30AM-10:30PM , ..... 04:45PM-05:45, 05:00PM-06:00PM", IsRequired=true) int? TimeInterval; /** * The timestamp to which the schedule is valid from */ // @ApiMember(Description="The timestamp to which the schedule is valid from", IsRequired=true) DateTime? ValidFrom; /** * The timestamp to which the schedule is valid to */ // @ApiMember(Description="The timestamp to which the schedule is valid to", IsRequired=true) DateTime? ValidTo; /** * The time for the schedule opening hours (starttime) */ // @ApiMember(Description="The time for the schedule opening hours (starttime)", IsRequired=true) Duration? StartTime; /** * The time for the schedule opening hours (endtime) */ // @ApiMember(Description="The time for the schedule opening hours (endtime)", IsRequired=true) Duration? EndTime; /** * The number of days the schedule is valid from todays date */ // @ApiMember(Description="The number of days the schedule is valid from todays date", IsRequired=true) int? NumberOfScheduleDays; /** * If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this. */ // @ApiMember(Description="If the schedule is only connected to some specific resources. Note: You must have IncludeResources property to see this.", IsRequired=true) bool? IsResourceSpecific; /** * The timestamp when the schedule was updated */ // @ApiMember(Description="The timestamp when the schedule was updated", IsRequired=true) DateTime? UpdatedDate; /** * The timestamp when the schedule was created */ // @ApiMember(Description="The timestamp when the schedule was created", IsRequired=true) DateTime? CreatedDate; /** * Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight). */ // @ApiMember(Description="Allow bookings end time exceeds the opening hours Here you can choose whether it should be possible to make a reservation exceeding the opening hours. This should be ticked when a service duration is longer than 24 hours (possible to book over midnight).", IsRequired=true) bool? EnableBookingUntilClosingTime; /** * 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 resources that is connected to the schedule */ // @ApiMember(Description="The resources that is connected to the schedule") List? Resources; /** * The services that is connected to the schedule */ // @ApiMember(Description="The services that is connected to the schedule") List? Services; /** * The exceptions that is added to the schedule */ // @ApiMember(Description="The exceptions that is added to the schedule") List? Exceptions; /** * Schedule dates, used when the schedule is not a rolling schedule using days of week */ // @ApiMember(Description="Schedule dates, used when the schedule is not a rolling schedule using days of week") List? ScheduleDates; ResponseStatus? ResponseStatus; RecurringScheduleQueryResponse({this.Id,this.Name,this.Description,this.Active,this.TimeInterval,this.ValidFrom,this.ValidTo,this.StartTime,this.EndTime,this.NumberOfScheduleDays,this.IsResourceSpecific,this.UpdatedDate,this.CreatedDate,this.EnableBookingUntilClosingTime,this.DaysOfWeek,this.Resources,this.Services,this.Exceptions,this.ScheduleDates,this.ResponseStatus}); RecurringScheduleQueryResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Id = json['Id']; Name = json['Name']; Description = json['Description']; Active = json['Active']; TimeInterval = json['TimeInterval']; ValidFrom = JsonConverters.fromJson(json['ValidFrom'],'DateTime',context!); ValidTo = JsonConverters.fromJson(json['ValidTo'],'DateTime',context!); StartTime = JsonConverters.fromJson(json['StartTime'],'Duration',context!); EndTime = JsonConverters.fromJson(json['EndTime'],'Duration',context!); NumberOfScheduleDays = json['NumberOfScheduleDays']; IsResourceSpecific = json['IsResourceSpecific']; UpdatedDate = JsonConverters.fromJson(json['UpdatedDate'],'DateTime',context!); CreatedDate = JsonConverters.fromJson(json['CreatedDate'],'DateTime',context!); EnableBookingUntilClosingTime = json['EnableBookingUntilClosingTime']; DaysOfWeek = JsonConverters.fromJson(json['DaysOfWeek'],'List',context!); Resources = JsonConverters.fromJson(json['Resources'],'List',context!); Services = JsonConverters.fromJson(json['Services'],'List',context!); Exceptions = JsonConverters.fromJson(json['Exceptions'],'List',context!); ScheduleDates = JsonConverters.fromJson(json['ScheduleDates'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Id': Id, 'Name': Name, 'Description': Description, 'Active': Active, 'TimeInterval': TimeInterval, 'ValidFrom': JsonConverters.toJson(ValidFrom,'DateTime',context!), 'ValidTo': JsonConverters.toJson(ValidTo,'DateTime',context!), 'StartTime': JsonConverters.toJson(StartTime,'Duration',context!), 'EndTime': JsonConverters.toJson(EndTime,'Duration',context!), 'NumberOfScheduleDays': NumberOfScheduleDays, 'IsResourceSpecific': IsResourceSpecific, 'UpdatedDate': JsonConverters.toJson(UpdatedDate,'DateTime',context!), 'CreatedDate': JsonConverters.toJson(CreatedDate,'DateTime',context!), 'EnableBookingUntilClosingTime': EnableBookingUntilClosingTime, 'DaysOfWeek': JsonConverters.toJson(DaysOfWeek,'List',context!), 'Resources': JsonConverters.toJson(Resources,'List',context!), 'Services': JsonConverters.toJson(Services,'List',context!), 'Exceptions': JsonConverters.toJson(Exceptions,'List',context!), 'ScheduleDates': JsonConverters.toJson(ScheduleDates,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "RecurringScheduleQueryResponse"; TypeContext? context = _ctx; } // @Route("/schedules/recurring/{Id}", "DELETE") // @ValidateRequest(Validator="IsAuthenticated") class DeleteRecurringSchedule implements IReturn, ICompany, IConvertible, IDelete { /** * 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; /** * The schedule id */ // @ApiMember(Description="The schedule id", IsRequired=true, ParameterType="path") int? Id; DeleteRecurringSchedule({this.CompanyId,this.Id}); DeleteRecurringSchedule.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; Id = json['Id']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'Id': Id }; createResponse() => RecurringScheduleQueryResponse(); getResponseTypeName() => "RecurringScheduleQueryResponse"; getTypeName() => "DeleteRecurringSchedule"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: { 'ICompany': TypeInfo(TypeOf.Interface), 'DayOfWeekDto': TypeInfo(TypeOf.Class, create:() => DayOfWeekDto()), 'ScheduleResources': TypeInfo(TypeOf.Class, create:() => ScheduleResources()), 'Uri': TypeInfo(TypeOf.Class, create:() => Uri()), 'ScheduleServices': TypeInfo(TypeOf.Class, create:() => ScheduleServices()), 'RecurringScheduleExceptionResponse': TypeInfo(TypeOf.Class, create:() => RecurringScheduleExceptionResponse()), 'RecurringScheduleDateResponse': TypeInfo(TypeOf.Class, create:() => RecurringScheduleDateResponse()), 'RecurringScheduleQueryResponse': TypeInfo(TypeOf.Class, create:() => RecurringScheduleQueryResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'DeleteRecurringSchedule': TypeInfo(TypeOf.Class, create:() => DeleteRecurringSchedule()), });