BokaMera.API.Host

<back to all web services

BookingSettingQuery

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin, bookingsupplier-administrator-read
The following routes are available for this service:
GET/settingsGet settings for the currently logged in userGet settings for the currently logged in user.
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*


@ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)
// @ApiResponse(Description="You have too low privileges to call this service", StatusCode=403)
@ValidateRequest(Validator="IsAuthenticated")
open class BookingSettingQuery
{
    /**
    * If you want to include the schedule views to select from
    */
    @ApiMember(DataType="boolean", Description="If you want to include the schedule views to select from", ParameterType="query")
    open var IncludeScheduleViewOptions:Boolean? = null

    /**
    * If you want to include the week number settings to select from
    */
    @ApiMember(DataType="boolean", Description="If you want to include the week number settings to select from", ParameterType="query")
    open var IncludeWeekNumberOptions:Boolean? = null

    /**
    * If you want to include the booking template options to select from
    */
    @ApiMember(DataType="boolean", Description="If you want to include the booking template options to select from", ParameterType="query")
    open var IncludeBookingTemplateOptions:Boolean? = null

    /**
    * If you want to include the calendar type options to select from
    */
    @ApiMember(DataType="boolean", Description="If you want to include the calendar type options to select from", ParameterType="query")
    open var IncludeCalendarTypeOptions:Boolean? = null

    /**
    * If you want to include the booking status options to select from
    */
    @ApiMember(DataType="boolean", Description="If you want to include the booking status options to select from", ParameterType="query")
    open var IncludeBookingStatusOptions:Boolean? = null

    /**
    * If you want to include the Free spot text options to select from
    */
    @ApiMember(DataType="boolean", Description="If you want to include the Free spot text options to select from", ParameterType="query")
    open var IncludeFreeSpotTextOptions:Boolean? = null
}

open class BookingSettingResponse
{
    open var CompanyId:UUID? = null
    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var BookingStatusId:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var ScheduleViewId:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var BookingTemplateId:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var CalendarTypeId:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var AllowBookingOnUnbookedTimes:Boolean? = null

    /**
    * 
    */
    @DataMember(Name="SendEmailReminder")
    @SerializedName("SendEmailReminder")
    @ApiMember(DataType="boolean", Description="")
    open var SendEmailReminder:Boolean? = null

    /**
    * 
    */
    @DataMember(Name="SendSmsReminder")
    @SerializedName("SendSmsReminder")
    @ApiMember(DataType="boolean", Description="")
    open var SendSmsReminder:Boolean? = null

    /**
    * 
    */
    @DataMember(Name="SendEmailConfirmation")
    @SerializedName("SendEmailConfirmation")
    @ApiMember(DataType="boolean", Description="")
    open var SendEmailConfirmation:Boolean? = null

    /**
    * 
    */
    @DataMember(Name="SendSmsConfirmation")
    @SerializedName("SendSmsConfirmation")
    @ApiMember(DataType="boolean", Description="")
    open var SendSmsConfirmation:Boolean? = null

    /**
    * If the customer should receive Push notification when booked
    */
    @ApiMember(DataType="boolean", Description="If the customer should receive Push notification when booked")
    open var SendPushNotification:Boolean? = null

    /**
    * If the customer should receive Push notification reminders on bookings
    */
    @ApiMember(DataType="boolean", Description="If the customer should receive Push notification reminders on bookings")
    open var SendPushNotificationReminder:Boolean? = null

    /**
    * How many minutes before booking starts the customer should receive the notification
    */
    @ApiMember(DataType="int", Description="How many minutes before booking starts the customer should receive the notification")
    open var PushNotificationReminderTime:Int? = null

    /**
    * Message text field that could be used inside message templates using [MessageText].
    */
    @ApiMember(DataType="string", Description="Message text field that could be used inside message templates using [MessageText].")
    open var MessageText:String? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var EmailReminderTime:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var SmsReminderTime:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var MaxActiveBookings:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var SendNotifications:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="string", Description="")
    open var SendNotificationsEmail:String? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var EnableMobileApp:Boolean? = null

    /**
    * 
    */
    @ApiMember(Description="")
    open var ScheduleStartTime:TimeSpan? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var ScheduleEndTime:TimeSpan? = null

    /**
    * The admin scheduler if each resources should be shown in a separate group
    */
    @ApiMember(DataType="boolean", Description="The admin scheduler if each resources should be shown in a separate group")
    open var ScheduleGroupResources:Boolean? = null

    /**
    * The admin scheduler if the horizontal scrolling should be turned off
    */
    @ApiMember(DataType="boolean", Description="The admin scheduler if the horizontal scrolling should be turned off")
    open var SchedulerDisableHorizontalScrolling:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="string", Description="")
    open var ReceiptTemplate:String? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var ScheduleTimeSlotMinutes:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var ShowFreeTimesLeft:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var FreeSpotTextsId:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var EnableICalGroupBookings:Boolean? = null

    /**
    * Booking agreement text. All html needs to entered using markup. Read about markup here https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet. Use this editor to create markup https://stackedit.io/app#
    */
    @ApiMember(DataType="string", Description="Booking agreement text. All html needs to entered using markup. Read about markup here https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet. Use this editor to create markup https://stackedit.io/app#")
    open var AgreementTemplate:String? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var ScheduleShowTimeExeptions:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var EnableBookingsOnSameTime:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="int", Description="")
    open var ShowWeekNumberSettingId:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var EnableShowBookedTimes:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="", Description="")
    open var BookSpotUserResponseMinutes:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="", Description="")
    open var IsBookSpotDirectly:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="", Description="")
    open var BookSpotDirectlyTimeLeftMinutes:Int? = null

    /**
    * 
    */
    @ApiMember(DataType="", Description="")
    open var SendEmailNotificationQueue:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="", Description="")
    open var SendSMSNotificationQueue:Boolean? = null

    /**
    * 
    */
    @ApiMember(Description="")
    open var EnableSendFollowUpMessage:Boolean? = null

    /**
    * When follow up message should be sent in hours after the booking.
    */
    @ApiMember(Description="When follow up message should be sent in hours after the booking.")
    open var FollowUpMessageTime:Int? = null

    /**
    * If it's only allowed for existing customers to book
    */
    @ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")
    open var BookOnlyOnExistingCustomers:Boolean? = null

    /**
    * If a unique pin code should be generated for the customer
    */
    @ApiMember(DataType="boolean", Description="If a unique pin code should be generated for the customer")
    open var AutoGenerateUniquePinCode:Boolean? = null

    /**
    * If a user profile should be created when customer is booking time. With the property customer can login.
    */
    @ApiMember(DataType="boolean", Description="If a user profile should be created when customer is booking time. With the property customer can login.")
    open var AutoCreateUserProfile:Boolean? = null

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

    /**
    * The available week number options to choose from
    */
    @ApiMember(Description="The available week number options to choose from")
    open var WeekNumberOptions:ArrayList<WeekNumberSettingResponse>? = null

    /**
    * The booking template options to choose from
    */
    @ApiMember(Description="The booking template options to choose from")
    open var BookingTemplateOptions:ArrayList<BookingTemplateResponse>? = null

    /**
    * The calendar type options to choose from
    */
    @ApiMember(Description="The calendar type options to choose from")
    open var CalendarTypeOptions:ArrayList<CalendarTypeResponse>? = null

    /**
    * The booking status options to choose from
    */
    @ApiMember(Description="The booking status options to choose from")
    open var BookingStatusOptions:ArrayList<BookingStatusOptions>? = null

    /**
    * The free spot text options to choose from
    */
    @ApiMember(Description="The free spot text options to choose from")
    open var FreeSpotTextOptions:ArrayList<FreeSpotTextsResponse>? = null

    /**
    * If you have different prices over different times per day and want it to calculate the weighted price for the booked time.
    */
    @ApiMember(DataType="boolean", Description="If you have different prices over different times per day and want it to calculate the weighted price for the booked time.")
    open var WeightedPrices:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var ShowMultiDayAsTime:Boolean? = null

    /**
    * 
    */
    @ApiMember(DataType="boolean", Description="")
    open var ShowMultipleResourcesAsOne:Boolean? = null

    /**
    * If booking should be restricted by a pin code
    */
    @ApiMember(Description="If booking should be restricted by a pin code")
    open var BookingPinCodeRestriction:String? = null

    /**
    * If checked customer invoice will be required when creating booking
    */
    @ApiMember(Description="If checked customer invoice will be required when creating booking")
    open var CustomerInvoiceAdressRequired:Boolean? = null
}

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

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

open class BookingTemplateResponse
{
    open var Id:Int? = null
    open var Name:String? = null
    open var Description:String? = null
    open var UsedByApplication:String? = null
}

open class CalendarTypeResponse
{
    open var Id:Int? = null
    open var Name:String? = null
    open var Description:String? = null
    open var Active:Boolean? = null
}

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

open class FreeSpotTextsResponse
{
    open var Id:Int? = null
    open var TextSingular:String? = null
    open var TextPlural:String? = null
}

Kotlin BookingSettingQuery DTOs

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

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /settings HTTP/1.1 
Host: api.bookmore.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	BookingStatusId: 0,
	ScheduleViewId: 0,
	BookingTemplateId: 0,
	CalendarTypeId: 0,
	AllowBookingOnUnbookedTimes: False,
	SendEmailReminder: False,
	SendSmsReminder: False,
	SendEmailConfirmation: False,
	SendSmsConfirmation: False,
	SendPushNotification: False,
	SendPushNotificationReminder: False,
	PushNotificationReminderTime: 0,
	MessageText: String,
	EmailReminderTime: 0,
	SmsReminderTime: 0,
	MaxActiveBookings: 0,
	SendNotifications: False,
	SendNotificationsEmail: String,
	EnableMobileApp: False,
	ScheduleStartTime: PT0S,
	ScheduleEndTime: PT0S,
	ScheduleGroupResources: False,
	SchedulerDisableHorizontalScrolling: False,
	ReceiptTemplate: String,
	ScheduleTimeSlotMinutes: 0,
	ShowFreeTimesLeft: False,
	FreeSpotTextsId: 0,
	EnableICalGroupBookings: False,
	AgreementTemplate: String,
	ScheduleShowTimeExeptions: False,
	EnableBookingsOnSameTime: False,
	ShowWeekNumberSettingId: 0,
	EnableShowBookedTimes: False,
	BookSpotUserResponseMinutes: 0,
	IsBookSpotDirectly: False,
	BookSpotDirectlyTimeLeftMinutes: 0,
	SendEmailNotificationQueue: False,
	SendSMSNotificationQueue: False,
	EnableSendFollowUpMessage: False,
	FollowUpMessageTime: 0,
	BookOnlyOnExistingCustomers: False,
	AutoGenerateUniquePinCode: False,
	AutoCreateUserProfile: False,
	ScheduleViewOptions: 
	[
		{
			Id: 0,
			Name: String
		}
	],
	WeekNumberOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String
		}
	],
	BookingTemplateOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			UsedByApplication: String
		}
	],
	CalendarTypeOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String,
			Active: False
		}
	],
	BookingStatusOptions: 
	[
		{
			Id: 0,
			Name: String,
			Description: String
		}
	],
	FreeSpotTextOptions: 
	[
		{
			Id: 0,
			TextSingular: String,
			TextPlural: String
		}
	],
	WeightedPrices: False,
	ShowMultiDayAsTime: False,
	ShowMultipleResourcesAsOne: False,
	BookingPinCodeRestriction: String,
	CustomerInvoiceAdressRequired: False
}