Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
PUT | /homepage/scheduler/settings | Update homepage scheduler settings | Update homepage scheduler settings on the company of the currently logged in user, only administrators are allowed to update homepage menu. |
---|
import Foundation
import ServiceStack
// @ValidateRequest(Validator="IsAuthenticated")
public class UpdateHomepageSchedulerSettings : ICompany, Codable
{
/**
* 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.")
public var companyId:String?
/**
* If the user schedule is activated.
*/
// @ApiMember(Description="If the user schedule is activated.")
public var active:Bool?
/**
* If the user schedule views id.
*/
// @ApiMember(Description="If the user schedule views id.")
public var scheduleViewId:Int?
/**
* If the user schedule time slots in minutes.
*/
// @ApiMember(Description="If the user schedule time slots in minutes.")
public var scheduleTimeSlotMinutes:Int?
/**
* If the user schedule time start time.
*/
// @ApiMember(Description="If the user schedule time start time.")
@TimeSpan public var startTime:TimeInterval?
/**
* If the user schedule time end time.
*/
// @ApiMember(Description="If the user schedule time end time.")
@TimeSpan public var endTime:TimeInterval?
/**
* If the user schedule should contain time exceptions.
*/
// @ApiMember(Description="If the user schedule should contain time exceptions.")
public var showTimeExceptions:Bool?
/**
* If allow booking in the scheduler.
*/
// @ApiMember(Description="If allow booking in the scheduler.")
public var enableBooking:Bool?
/**
* What resources you want to be shown in scheduler.
*/
// @ApiMember(Description="What resources you want to be shown in scheduler.")
public var resources:[HomepageSchedulerResource] = []
/**
* What services you want to be shown in scheduler.
*/
// @ApiMember(Description="What services you want to be shown in scheduler.")
public var services:[HomepageSchedulerService] = []
/**
* What fields you want to be shown in scheduler.
*/
// @ApiMember(Description="What fields you want to be shown in scheduler.")
public var fields:[HomepageScheduleField] = []
required public init(){}
}
public class HomepageSchedulerResource : Codable
{
/**
* The resource id.
*/
// @ApiMember(Description="The resource id.")
public var id:Int
required public init(){}
}
public class HomepageSchedulerService : Codable
{
/**
* The service id.
*/
// @ApiMember(Description="The service id.")
public var id:Int
required public init(){}
}
public class HomepageScheduleField : Codable
{
/**
* The field id.
*/
// @ApiMember(Description="The field id.", IsRequired=true)
public var id:Int
/**
* If the field showed on the booking.
*/
// @ApiMember(Description="If the field showed on the booking.", IsRequired=true)
public var showOnBooking:Bool
/**
* If the field showed on the bookings tooltip.
*/
// @ApiMember(Description="If the field showed on the bookings tooltip.", IsRequired=true)
public var showOnTooltip:Bool
required public init(){}
}
public class HomepageSchedulerSettingsQueryResponse : Codable
{
/**
* The company id.
*/
// @ApiMember(Description="The company id.")
public var companyId:String
/**
* If the user schedule is activated.
*/
// @ApiMember(Description="If the user schedule is activated.")
public var active:Bool
/**
* If the user schedule views id.
*/
// @ApiMember(Description="If the user schedule views id.")
public var scheduleViewId:Int
/**
* If the user schedule time slots in minutes.
*/
// @ApiMember(Description="If the user schedule time slots in minutes.")
public var scheduleTimeSlotMinutes:Int
/**
* If the user schedule time start time.
*/
// @ApiMember(Description="If the user schedule time start time.")
@TimeSpan public var startTime:TimeInterval?
/**
* If the user schedule time end time.
*/
// @ApiMember(Description="If the user schedule time end time.")
@TimeSpan public var endTime:TimeInterval?
/**
* If the user schedule should contain time exceptions.
*/
// @ApiMember(Description="If the user schedule should contain time exceptions.")
public var showTimeExceptions:Bool
/**
* If allow booking in the scheduler.
*/
// @ApiMember(Description="If allow booking in the scheduler.")
public var enableBooking:Bool
/**
* The homepage schedule services that are selected
*/
// @ApiMember(Description="The homepage schedule services that are selected")
public var services:[HomepageSchedulerServiceResponse] = []
/**
* The homepage schedule resources that are selected
*/
// @ApiMember(Description="The homepage schedule resources that are selected")
public var resources:[HomepageSchedulerResourceResponse] = []
/**
* The homepage schedule fields that are selected
*/
// @ApiMember(Description="The homepage schedule fields that are selected")
public var fields:[HomepageSchedulerFieldResponse] = []
/**
* The homepage schedule fields select from
*/
// @ApiMember(Description="The homepage schedule fields select from")
public var fieldOptions:[HomepageSchedulerFieldOptionsResponse] = []
/**
* The available schedule view options to choose from
*/
// @ApiMember(Description="The available schedule view options to choose from")
public var scheduleViewOptions:[ScheduleViewResponse] = []
required public init(){}
}
public class HomepageSchedulerServiceResponse : Codable
{
/**
* The service id.
*/
// @ApiMember(Description="The service id.")
public var id:Int
/**
* The service name.
*/
// @ApiMember(Description="The service name.")
public var name:String
/**
* The service description.
*/
// @ApiMember(Description="The service description.")
public var Description:String
/**
* The service image url.
*/
// @ApiMember(Description="The service image url.")
public var imageUrl:Uri
required public init(){}
}
public class HomepageSchedulerResourceResponse : Codable
{
/**
* The resource id.
*/
// @ApiMember(Description="The resource id.")
public var id:Int
/**
* The resource name.
*/
// @ApiMember(Description="The resource name.")
public var name:String
/**
* The resource description.
*/
// @ApiMember(Description="The resource description.")
public var Description:String
/**
* The resource image url.
*/
// @ApiMember(Description="The resource image url.")
public var imageUrl:Uri
required public init(){}
}
public class HomepageSchedulerFieldResponse : Codable
{
/**
* The field id.
*/
// @ApiMember(Description="The field id.")
public var id:Int
/**
* If the field should be shown on booking.
*/
// @ApiMember(Description="If the field should be shown on booking.")
public var showOnBooking:Bool
/**
* If the field should be shown on tooltip.
*/
// @ApiMember(Description="If the field should be shown on tooltip.")
public var showOnTooltip:Bool
required public init(){}
}
public class HomepageSchedulerFieldOptionsResponse : Codable
{
/**
* The field id.
*/
// @ApiMember(Description="The field id.")
public var id:Int
/**
* The field name.
*/
// @ApiMember(Description="The field name.")
public var name:String
/**
* The field description.
*/
// @ApiMember(Description="The field description.")
public var Description:String
/**
* The field sort order when listing.
*/
// @ApiMember(Description="The field sort order when listing.")
public var sortOrder:Int
required public init(){}
}
public class ScheduleViewResponse : Codable
{
public var id:Int
public var name:String
required public init(){}
}
Swift UpdateHomepageSchedulerSettings 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.
PUT /homepage/scheduler/settings HTTP/1.1
Host: testapi.bokamera.se
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
CompanyId: 00000000-0000-0000-0000-000000000000,
Active: False,
ScheduleViewId: 0,
ScheduleTimeSlotMinutes: 0,
StartTime: PT0S,
EndTime: PT0S,
ShowTimeExceptions: False,
EnableBooking: False,
Resources:
[
{
Id: 0
}
],
Services:
[
{
Id: 0
}
],
Fields:
[
{
Id: 0,
ShowOnBooking: False,
ShowOnTooltip: False
}
]
}
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length { Active: False, ScheduleViewId: 0, ScheduleTimeSlotMinutes: 0, StartTime: PT0S, EndTime: PT0S, ShowTimeExceptions: False, EnableBooking: False, Services: [ { Id: 0, Name: String, Description: String } ], Resources: [ { Id: 0, Name: String, Description: String } ], Fields: [ { Id: 0, ShowOnBooking: False, ShowOnTooltip: False } ], FieldOptions: [ { Id: 0, Name: String, Description: String, SortOrder: 0 } ], ScheduleViewOptions: [ { Id: 0, Name: String } ] }