Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
DELETE | /schedules/recurring/{Id} | Remove a recurring schedule | Remove recurring schedule. |
---|
import 'package:servicestack/servicestack.dart';
class DayOfWeekDto implements IConvertible
{
int? DayOfWeekId;
int? DotNetDayOfWeekId;
String? DayOfWeek;
DayOfWeekDto({this.DayOfWeekId,this.DotNetDayOfWeekId,this.DayOfWeek});
DayOfWeekDto.fromJson(Map<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
DayOfWeekId = json['DayOfWeekId'];
DotNetDayOfWeekId = json['DotNetDayOfWeekId'];
DayOfWeek = json['DayOfWeek'];
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Name = json['Name'];
ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
Id = json['Id'];
Name = json['Name'];
ImageUrl = JsonConverters.fromJson(json['ImageUrl'],'Uri',context!);
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
StartTime = JsonConverters.fromJson(json['StartTime'],'Duration',context!);
EndTime = JsonConverters.fromJson(json['EndTime'],'Duration',context!);
return this;
}
Map<String, dynamic> 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<String, dynamic> 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<DayOfWeekDto>? DaysOfWeek;
/**
* The resources that is connected to the schedule
*/
// @ApiMember(Description="The resources that is connected to the schedule")
List<ScheduleResources>? Resources;
/**
* The services that is connected to the schedule
*/
// @ApiMember(Description="The services that is connected to the schedule")
List<ScheduleServices>? Services;
/**
* The exceptions that is added to the schedule
*/
// @ApiMember(Description="The exceptions that is added to the schedule")
List<RecurringScheduleExceptionResponse>? 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<RecurringScheduleDateResponse>? 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> 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<DayOfWeekDto>',context!);
Resources = JsonConverters.fromJson(json['Resources'],'List<ScheduleResources>',context!);
Services = JsonConverters.fromJson(json['Services'],'List<ScheduleServices>',context!);
Exceptions = JsonConverters.fromJson(json['Exceptions'],'List<RecurringScheduleExceptionResponse>',context!);
ScheduleDates = JsonConverters.fromJson(json['ScheduleDates'],'List<RecurringScheduleDateResponse>',context!);
ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
return this;
}
Map<String, dynamic> 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<DayOfWeekDto>',context!),
'Resources': JsonConverters.toJson(Resources,'List<ScheduleResources>',context!),
'Services': JsonConverters.toJson(Services,'List<ScheduleServices>',context!),
'Exceptions': JsonConverters.toJson(Exceptions,'List<RecurringScheduleExceptionResponse>',context!),
'ScheduleDates': JsonConverters.toJson(ScheduleDates,'List<RecurringScheduleDateResponse>',context!),
'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!)
};
getTypeName() => "RecurringScheduleQueryResponse";
TypeContext? context = _ctx;
}
// @ValidateRequest(Validator="IsAuthenticated")
class DeleteRecurringSchedule implements ICompany, IConvertible
{
/**
* 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<String, dynamic> json) { fromMap(json); }
fromMap(Map<String, dynamic> json) {
CompanyId = json['CompanyId'];
Id = json['Id'];
return this;
}
Map<String, dynamic> toJson() => {
'CompanyId': CompanyId,
'Id': Id
};
getTypeName() => "DeleteRecurringSchedule";
TypeContext? context = _ctx;
}
TypeContext _ctx = TypeContext(library: 'api.bokamera.se', types: <String, TypeInfo> {
'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<DayOfWeekDto>': TypeInfo(TypeOf.Class, create:() => <DayOfWeekDto>[]),
'List<ScheduleResources>': TypeInfo(TypeOf.Class, create:() => <ScheduleResources>[]),
'List<ScheduleServices>': TypeInfo(TypeOf.Class, create:() => <ScheduleServices>[]),
'List<RecurringScheduleExceptionResponse>': TypeInfo(TypeOf.Class, create:() => <RecurringScheduleExceptionResponse>[]),
'List<RecurringScheduleDateResponse>': TypeInfo(TypeOf.Class, create:() => <RecurringScheduleDateResponse>[]),
'DeleteRecurringSchedule': TypeInfo(TypeOf.Class, create:() => DeleteRecurringSchedule()),
});
Dart DeleteRecurringSchedule DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
DELETE /schedules/recurring/{Id} HTTP/1.1 Host: api.bokamera.se Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Id: 0, Name: String, Description: String, Active: False, TimeInterval: 0, StartTime: PT0S, EndTime: PT0S, NumberOfScheduleDays: 0, IsResourceSpecific: False, EnableBookingUntilClosingTime: False, DaysOfWeek: [ { DayOfWeekId: 0, DotNetDayOfWeekId: 0, DayOfWeek: String } ], Resources: [ { Id: 0, Name: String } ], Services: [ { Id: 0, Name: String } ], Exceptions: [ { StartTime: PT0S, EndTime: PT0S } ], ScheduleDates: [ { Id: 0, StartTime: PT0S, EndTime: PT0S, ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } } ], ResponseStatus: { ErrorCode: String, Message: String, StackTrace: String, Errors: [ { ErrorCode: String, FieldName: String, Message: String, Meta: { String: String } } ], Meta: { String: String } } }