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.
namespace BokaMera.API.ServiceModel.Db

open System
open System.IO
open System.Collections
open System.Collections.Generic
open System.Runtime.Serialization
open ServiceStack
open ServiceStack.DataAnnotations

    [<AllowNullLiteral>]
    type ScheduleViewResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set

    [<AllowNullLiteral>]
    type WeekNumberSettingResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type BookingTemplateResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set
        member val UsedByApplication:String = null with get,set

    [<AllowNullLiteral>]
    type CalendarTypeResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set
        member val Active:Boolean = new Boolean() with get,set

    [<AllowNullLiteral>]
    type BookingStatusOptions() = 
        member val Id:Int32 = new Int32() with get,set
        member val Name:String = null with get,set
        member val Description:String = null with get,set

    [<AllowNullLiteral>]
    type FreeSpotTextsResponse() = 
        member val Id:Int32 = new Int32() with get,set
        member val TextSingular:String = null with get,set
        member val TextPlural:String = null with get,set

    [<AllowNullLiteral>]
    type BookingSettingResponse() = 
        member val CompanyId:Guid = new Guid() with get,set
        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val BookingStatusId:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val ScheduleViewId:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val BookingTemplateId:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val CalendarTypeId:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val AllowBookingOnUnbookedTimes:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember(Name="SendEmailReminder")>]
        [<ApiMember(DataType="boolean", Description="")>]
        member val SendEmailReminder:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember(Name="SendSmsReminder")>]
        [<ApiMember(DataType="boolean", Description="")>]
        member val SendSmsReminder:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember(Name="SendEmailConfirmation")>]
        [<ApiMember(DataType="boolean", Description="")>]
        member val SendEmailConfirmation:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<DataMember(Name="SendSmsConfirmation")>]
        [<ApiMember(DataType="boolean", Description="")>]
        member val SendSmsConfirmation:Boolean = new Boolean() with get,set

        ///<summary>
        ///If the customer should receive Push notification when booked
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If the customer should receive Push notification when booked")>]
        member val SendPushNotification:Boolean = new Boolean() with get,set

        ///<summary>
        ///If the customer should receive Push notification reminders on bookings
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If the customer should receive Push notification reminders on bookings")>]
        member val SendPushNotificationReminder:Boolean = new Boolean() with get,set

        ///<summary>
        ///How many minutes before booking starts the customer should receive the notification
        ///</summary>
        [<ApiMember(DataType="int", Description="How many minutes before booking starts the customer should receive the notification")>]
        member val PushNotificationReminderTime:Int32 = new Int32() with get,set

        ///<summary>
        ///Message text field that could be used inside message templates using [MessageText].
        ///</summary>
        [<ApiMember(DataType="string", Description="Message text field that could be used inside message templates using [MessageText].")>]
        member val MessageText:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val EmailReminderTime:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val SmsReminderTime:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val MaxActiveBookings:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val SendNotifications:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="string", Description="")>]
        member val SendNotificationsEmail:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val EnableMobileApp:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(Description="")>]
        member val ScheduleStartTime:Nullable<TimeSpan> = new Nullable<TimeSpan>() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val ScheduleEndTime:Nullable<TimeSpan> = new Nullable<TimeSpan>() with get,set

        ///<summary>
        ///The admin scheduler if each resources should be shown in a separate group
        ///</summary>
        [<ApiMember(DataType="boolean", Description="The admin scheduler if each resources should be shown in a separate group")>]
        member val ScheduleGroupResources:Boolean = new Boolean() with get,set

        ///<summary>
        ///The admin scheduler if the horizontal scrolling should be turned off
        ///</summary>
        [<ApiMember(DataType="boolean", Description="The admin scheduler if the horizontal scrolling should be turned off")>]
        member val SchedulerDisableHorizontalScrolling:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="string", Description="")>]
        member val ReceiptTemplate:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val ScheduleTimeSlotMinutes:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val ShowFreeTimesLeft:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val FreeSpotTextsId:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val EnableICalGroupBookings:Boolean = new Boolean() with get,set

        ///<summary>
        ///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#
        ///</summary>
        [<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#")>]
        member val AgreementTemplate:String = null with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val ScheduleShowTimeExeptions:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val EnableBookingsOnSameTime:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="int", Description="")>]
        member val ShowWeekNumberSettingId:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val EnableShowBookedTimes:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="", Description="")>]
        member val BookSpotUserResponseMinutes:Nullable<Int32> = new Nullable<Int32>() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="", Description="")>]
        member val IsBookSpotDirectly:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="", Description="")>]
        member val BookSpotDirectlyTimeLeftMinutes:Int32 = new Int32() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="", Description="")>]
        member val SendEmailNotificationQueue:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="", Description="")>]
        member val SendSMSNotificationQueue:Nullable<Boolean> = new Nullable<Boolean>() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(Description="")>]
        member val EnableSendFollowUpMessage:Boolean = new Boolean() with get,set

        ///<summary>
        ///When follow up message should be sent in hours after the booking.
        ///</summary>
        [<ApiMember(Description="When follow up message should be sent in hours after the booking.")>]
        member val FollowUpMessageTime:Int32 = new Int32() with get,set

        ///<summary>
        ///If it's only allowed for existing customers to book
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")>]
        member val BookOnlyOnExistingCustomers:Boolean = new Boolean() with get,set

        ///<summary>
        ///If a unique pin code should be generated for the customer
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If a unique pin code should be generated for the customer")>]
        member val AutoGenerateUniquePinCode:Boolean = new Boolean() with get,set

        ///<summary>
        ///If a user profile should be created when customer is booking time. With the property customer can login.
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If a user profile should be created when customer is booking time. With the property customer can login.")>]
        member val AutoCreateUserProfile:Boolean = new Boolean() with get,set

        ///<summary>
        ///The available schedule view options to choose from
        ///</summary>
        [<ApiMember(Description="The available schedule view options to choose from")>]
        member val ScheduleViewOptions:ResizeArray<ScheduleViewResponse> = null with get,set

        ///<summary>
        ///The available week number options to choose from
        ///</summary>
        [<ApiMember(Description="The available week number options to choose from")>]
        member val WeekNumberOptions:ResizeArray<WeekNumberSettingResponse> = null with get,set

        ///<summary>
        ///The booking template options to choose from
        ///</summary>
        [<ApiMember(Description="The booking template options to choose from")>]
        member val BookingTemplateOptions:ResizeArray<BookingTemplateResponse> = null with get,set

        ///<summary>
        ///The calendar type options to choose from
        ///</summary>
        [<ApiMember(Description="The calendar type options to choose from")>]
        member val CalendarTypeOptions:ResizeArray<CalendarTypeResponse> = null with get,set

        ///<summary>
        ///The booking status options to choose from
        ///</summary>
        [<ApiMember(Description="The booking status options to choose from")>]
        member val BookingStatusOptions:ResizeArray<BookingStatusOptions> = null with get,set

        ///<summary>
        ///The free spot text options to choose from
        ///</summary>
        [<ApiMember(Description="The free spot text options to choose from")>]
        member val FreeSpotTextOptions:ResizeArray<FreeSpotTextsResponse> = null with get,set

        ///<summary>
        ///If you have different prices over different times per day and want it to calculate the weighted price for the booked time.
        ///</summary>
        [<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.")>]
        member val WeightedPrices:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val ShowMultiDayAsTime:Boolean = new Boolean() with get,set

        ///<summary>
        ///
        ///</summary>
        [<ApiMember(DataType="boolean", Description="")>]
        member val ShowMultipleResourcesAsOne:Boolean = new Boolean() with get,set

        ///<summary>
        ///If booking should be restricted by a pin code
        ///</summary>
        [<ApiMember(Description="If booking should be restricted by a pin code")>]
        member val BookingPinCodeRestriction:String = null with get,set

        ///<summary>
        ///If checked customer invoice will be required when creating booking
        ///</summary>
        [<ApiMember(Description="If checked customer invoice will be required when creating booking")>]
        member val CustomerInvoiceAdressRequired:Boolean = new Boolean() with get,set

    [<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")>]
    [<AllowNullLiteral>]
    type BookingSettingQuery() = 
        ///<summary>
        ///If you want to include the schedule views to select from
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the schedule views to select from", ParameterType="query")>]
        member val IncludeScheduleViewOptions:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the week number settings to select from
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the week number settings to select from", ParameterType="query")>]
        member val IncludeWeekNumberOptions:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the booking template options to select from
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the booking template options to select from", ParameterType="query")>]
        member val IncludeBookingTemplateOptions:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the calendar type options to select from
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the calendar type options to select from", ParameterType="query")>]
        member val IncludeCalendarTypeOptions:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the booking status options to select from
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the booking status options to select from", ParameterType="query")>]
        member val IncludeBookingStatusOptions:Boolean = new Boolean() with get,set

        ///<summary>
        ///If you want to include the Free spot text options to select from
        ///</summary>
        [<ApiMember(DataType="boolean", Description="If you want to include the Free spot text options to select from", ParameterType="query")>]
        member val IncludeFreeSpotTextOptions:Boolean = new Boolean() with get,set

F# 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
}