BokaMera.API.Host

<back to all web services

UpdateHomepageSchedulerSettings

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/homepage/scheduler/settingsUpdate homepage scheduler settingsUpdate homepage scheduler settings on the company of the currently logged in user, only administrators are allowed to update homepage menu.
import java.math.*
import java.util.*
import net.servicestack.client.*


@ValidateRequest(Validator="IsAuthenticated")
open class UpdateHomepageSchedulerSettings : ICompany
{
    /**
    * 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.")
    var CompanyId:UUID? = null

    /**
    * If the user schedule is activated.
    */
    @ApiMember(Description="If the user schedule is activated.")
    var Active:Boolean? = null

    /**
    * If the user schedule views id.
    */
    @ApiMember(Description="If the user schedule views id.")
    var ScheduleViewId:Int? = null

    /**
    * If the user schedule time slots in minutes.
    */
    @ApiMember(Description="If the user schedule time slots in minutes.")
    var ScheduleTimeSlotMinutes:Int? = null

    /**
    * If the user schedule time start time.
    */
    @ApiMember(Description="If the user schedule time start time.")
    var StartTime:TimeSpan? = null

    /**
    * If the user schedule time end time.
    */
    @ApiMember(Description="If the user schedule time end time.")
    var EndTime:TimeSpan? = null

    /**
    * If the user schedule should contain time exceptions.
    */
    @ApiMember(Description="If the user schedule should contain time exceptions.")
    var ShowTimeExceptions:Boolean? = null

    /**
    * If allow booking in the scheduler.
    */
    @ApiMember(Description="If allow booking in the scheduler.")
    var EnableBooking:Boolean? = null

    /**
    * What resources you want to be shown in scheduler.
    */
    @ApiMember(Description="What resources you want to be shown in scheduler.")
    var Resources:ArrayList<HomepageSchedulerResource> = ArrayList<HomepageSchedulerResource>()

    /**
    * What services you want to be shown in scheduler.
    */
    @ApiMember(Description="What services you want to be shown in scheduler.")
    var Services:ArrayList<HomepageSchedulerService> = ArrayList<HomepageSchedulerService>()

    /**
    * What fields you want to be shown in scheduler.
    */
    @ApiMember(Description="What fields you want to be shown in scheduler.")
    var Fields:ArrayList<HomepageScheduleField> = ArrayList<HomepageScheduleField>()
}

open class HomepageSchedulerResource
{
    /**
    * The resource id.
    */
    @ApiMember(Description="The resource id.")
    var Id:Int? = null
}

open class HomepageSchedulerService
{
    /**
    * The service id.
    */
    @ApiMember(Description="The service id.")
    var Id:Int? = null
}

open class HomepageScheduleField
{
    /**
    * The field id.
    */
    @ApiMember(Description="The field id.", IsRequired=true)
    var Id:Int? = null

    /**
    * If the field showed on the booking.
    */
    @ApiMember(Description="If the field showed on the booking.", IsRequired=true)
    var ShowOnBooking:Boolean? = null

    /**
    * If the field showed on the bookings tooltip.
    */
    @ApiMember(Description="If the field showed on the bookings tooltip.", IsRequired=true)
    var ShowOnTooltip:Boolean? = null
}

open class HomepageSchedulerSettingsQueryResponse
{
    /**
    * The company id.
    */
    @ApiMember(Description="The company id.")
    var CompanyId:UUID? = null

    /**
    * If the user schedule is activated.
    */
    @ApiMember(Description="If the user schedule is activated.")
    var Active:Boolean? = null

    /**
    * If the user schedule views id.
    */
    @ApiMember(Description="If the user schedule views id.")
    var ScheduleViewId:Int? = null

    /**
    * If the user schedule time slots in minutes.
    */
    @ApiMember(Description="If the user schedule time slots in minutes.")
    var ScheduleTimeSlotMinutes:Int? = null

    /**
    * If the user schedule time start time.
    */
    @ApiMember(Description="If the user schedule time start time.")
    var StartTime:TimeSpan? = null

    /**
    * If the user schedule time end time.
    */
    @ApiMember(Description="If the user schedule time end time.")
    var EndTime:TimeSpan? = null

    /**
    * If the user schedule should contain time exceptions.
    */
    @ApiMember(Description="If the user schedule should contain time exceptions.")
    var ShowTimeExceptions:Boolean? = null

    /**
    * If allow booking in the scheduler.
    */
    @ApiMember(Description="If allow booking in the scheduler.")
    var EnableBooking:Boolean? = null

    /**
    * The homepage schedule services that are selected
    */
    @ApiMember(Description="The homepage schedule services that are selected")
    var Services:ArrayList<HomepageSchedulerServiceResponse> = ArrayList<HomepageSchedulerServiceResponse>()

    /**
    * The homepage schedule resources that are selected
    */
    @ApiMember(Description="The homepage schedule resources that are selected")
    var Resources:ArrayList<HomepageSchedulerResourceResponse> = ArrayList<HomepageSchedulerResourceResponse>()

    /**
    * The homepage schedule fields that are selected
    */
    @ApiMember(Description="The homepage schedule fields that are selected")
    var Fields:ArrayList<HomepageSchedulerFieldResponse> = ArrayList<HomepageSchedulerFieldResponse>()

    /**
    * The homepage schedule fields select from
    */
    @ApiMember(Description="The homepage schedule fields select from")
    var FieldOptions:ArrayList<HomepageSchedulerFieldOptionsResponse> = ArrayList<HomepageSchedulerFieldOptionsResponse>()

    /**
    * The available schedule view options to choose from
    */
    @ApiMember(Description="The available schedule view options to choose from")
    var ScheduleViewOptions:ArrayList<ScheduleViewResponse> = ArrayList<ScheduleViewResponse>()
}

open class HomepageSchedulerServiceResponse
{
    /**
    * The service id.
    */
    @ApiMember(Description="The service id.")
    var Id:Int? = null

    /**
    * The service name.
    */
    @ApiMember(Description="The service name.")
    var Name:String? = null

    /**
    * The service description.
    */
    @ApiMember(Description="The service description.")
    var Description:String? = null

    /**
    * The service image url.
    */
    @ApiMember(Description="The service image url.")
    var ImageUrl:Uri? = null
}

open class HomepageSchedulerResourceResponse
{
    /**
    * The resource id.
    */
    @ApiMember(Description="The resource id.")
    var Id:Int? = null

    /**
    * The resource name.
    */
    @ApiMember(Description="The resource name.")
    var Name:String? = null

    /**
    * The resource description.
    */
    @ApiMember(Description="The resource description.")
    var Description:String? = null

    /**
    * The resource image url.
    */
    @ApiMember(Description="The resource image url.")
    var ImageUrl:Uri? = null
}

open class HomepageSchedulerFieldResponse
{
    /**
    * The field id.
    */
    @ApiMember(Description="The field id.")
    var Id:Int? = null

    /**
    * If the field should be shown on booking.
    */
    @ApiMember(Description="If the field should be shown on booking.")
    var ShowOnBooking:Boolean? = null

    /**
    * If the field should be shown on tooltip.
    */
    @ApiMember(Description="If the field should be shown on tooltip.")
    var ShowOnTooltip:Boolean? = null
}

open class HomepageSchedulerFieldOptionsResponse
{
    /**
    * The field id.
    */
    @ApiMember(Description="The field id.")
    var Id:Int? = null

    /**
    * The field name.
    */
    @ApiMember(Description="The field name.")
    var Name:String? = null

    /**
    * The field description.
    */
    @ApiMember(Description="The field description.")
    var Description:String? = null

    /**
    * The field sort order when listing.
    */
    @ApiMember(Description="The field sort order when listing.")
    var SortOrder:Int? = null
}

open class ScheduleViewResponse
{
    var Id:Int? = null
    var Name:String? = null
}

Kotlin UpdateHomepageSchedulerSettings DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .other suffix or ?format=other

HTTP + OTHER

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/jsonl
Content-Type: text/jsonl
Content-Length: length

{"CompanyId":"00000000-0000-0000-0000-000000000000","Active":false,"ScheduleViewId":0,"ScheduleTimeSlotMinutes":0,"StartTime":"00:00:00","EndTime":"00:00:00","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/jsonl
Content-Length: length

{"Active":false,"ScheduleViewId":0,"ScheduleTimeSlotMinutes":0,"StartTime":"00:00:00","EndTime":"00:00:00","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"}]}