BokaMera.API.Host

<back to all web services

HomepageSchedulerSettingsQuery

The following routes are available for this service:
GET/homepage/scheduler/settingsGet homepage scheduler settings
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSchedulerServiceResponse:
    # @ApiMember(Description="The service id.")
    id: int = 0
    """
    The service id.
    """


    # @ApiMember(Description="The service name.")
    name: Optional[str] = None
    """
    The service name.
    """


    # @ApiMember(Description="The service description.")
    description: Optional[str] = None
    """
    The service description.
    """


    # @ApiMember(Description="The service image url.")
    image_url: Optional[str] = None
    """
    The service image url.
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSchedulerResourceResponse:
    # @ApiMember(Description="The resource id.")
    id: int = 0
    """
    The resource id.
    """


    # @ApiMember(Description="The resource name.")
    name: Optional[str] = None
    """
    The resource name.
    """


    # @ApiMember(Description="The resource description.")
    description: Optional[str] = None
    """
    The resource description.
    """


    # @ApiMember(Description="The resource image url.")
    image_url: Optional[str] = None
    """
    The resource image url.
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSchedulerFieldResponse:
    # @ApiMember(Description="The field id.")
    id: int = 0
    """
    The field id.
    """


    # @ApiMember(Description="If the field should be shown on booking.")
    show_on_booking: bool = False
    """
    If the field should be shown on booking.
    """


    # @ApiMember(Description="If the field should be shown on tooltip.")
    show_on_tooltip: bool = False
    """
    If the field should be shown on tooltip.
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSchedulerFieldOptionsResponse:
    # @ApiMember(Description="The field id.")
    id: int = 0
    """
    The field id.
    """


    # @ApiMember(Description="The field name.")
    name: Optional[str] = None
    """
    The field name.
    """


    # @ApiMember(Description="The field description.")
    description: Optional[str] = None
    """
    The field description.
    """


    # @ApiMember(Description="The field sort order when listing.")
    sort_order: int = 0
    """
    The field sort order when listing.
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ScheduleViewResponse:
    id: int = 0
    name: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSchedulerSettingsQueryResponse:
    # @ApiMember(Description="The company id.")
    company_id: Optional[str] = None
    """
    The company id.
    """


    # @ApiMember(Description="If the user schedule is activated.")
    active: bool = False
    """
    If the user schedule is activated.
    """


    # @ApiMember(Description="If the user schedule views id.")
    schedule_view_id: int = 0
    """
    If the user schedule views id.
    """


    # @ApiMember(Description="If the user schedule time slots in minutes.")
    schedule_time_slot_minutes: int = 0
    """
    If the user schedule time slots in minutes.
    """


    # @ApiMember(Description="If the user schedule time start time.")
    start_time: Optional[datetime.timedelta] = None
    """
    If the user schedule time start time.
    """


    # @ApiMember(Description="If the user schedule time end time.")
    end_time: Optional[datetime.timedelta] = None
    """
    If the user schedule time end time.
    """


    # @ApiMember(Description="If the user schedule should contain time exceptions.")
    show_time_exceptions: bool = False
    """
    If the user schedule should contain time exceptions.
    """


    # @ApiMember(Description="If allow booking in the scheduler.")
    enable_booking: bool = False
    """
    If allow booking in the scheduler.
    """


    # @ApiMember(Description="The homepage schedule services that are selected")
    services: Optional[List[HomepageSchedulerServiceResponse]] = None
    """
    The homepage schedule services that are selected
    """


    # @ApiMember(Description="The homepage schedule resources that are selected")
    resources: Optional[List[HomepageSchedulerResourceResponse]] = None
    """
    The homepage schedule resources that are selected
    """


    # @ApiMember(Description="The homepage schedule fields that are selected")
    fields: Optional[List[HomepageSchedulerFieldResponse]] = None
    """
    The homepage schedule fields that are selected
    """


    # @ApiMember(Description="The homepage schedule fields select from")
    field_options: Optional[List[HomepageSchedulerFieldOptionsResponse]] = None
    """
    The homepage schedule fields select from
    """


    # @ApiMember(Description="The available schedule view options to choose from")
    schedule_view_options: Optional[List[ScheduleViewResponse]] = None
    """
    The available schedule view options to choose from
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class HomepageSchedulerSettingsQuery(ICompany, ICompanyRequest):
    # @ApiMember(Description="Enter the company you want to see news for, if blank and you are an admin, your company id will be used", ParameterType="query")
    company_id: Optional[str] = None
    """
    Enter the company you want to see news for, if blank and you are an admin, your company id will be used
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the services that is connected", ParameterType="query")
    include_services: bool = False
    """
    If you want to include the services that is connected
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the resources that is connected", ParameterType="query")
    include_resources: bool = False
    """
    If you want to include the resources that is connected
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the scheduler fields that is connected", ParameterType="query")
    include_fields: bool = False
    """
    If you want to include the scheduler fields that is connected
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the service to select from", ParameterType="query")
    include_service_options: bool = False
    """
    If you want to include the service to select from
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the resources to select from", ParameterType="query")
    include_resource_options: bool = False
    """
    If you want to include the resources to select from
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the scheduler fields to select from", ParameterType="query")
    include_field_options: bool = False
    """
    If you want to include the scheduler fields to select from
    """


    # @ApiMember(DataType="boolean", Description="If you want to include the schedule views to select from", ParameterType="query")
    include_schedule_view_options: bool = False
    """
    If you want to include the schedule views to select from
    """


    # @ApiMember(Description="The homeage sitepath.")
    site_path: Optional[str] = None
    """
    The homeage sitepath.
    """

Python HomepageSchedulerSettingsQuery 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.

GET /homepage/scheduler/settings HTTP/1.1 
Host: testapi.bokamera.se 
Accept: text/jsonl
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"}]}