BokaMera.API.Host

<back to all web services

SettingQuery

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.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 SettingResponse() = 
        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>
        ///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 seperate group
        ///</summary>
        [<ApiMember(DataType="boolean", Description="The admin scheduler if each resources should be shown in a seperate 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> = new ResizeArray<ScheduleViewResponse>() 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> = new ResizeArray<WeekNumberSettingResponse>() 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> = new ResizeArray<BookingTemplateResponse>() 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> = new ResizeArray<CalendarTypeResponse>() 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> = new ResizeArray<BookingStatusOptions>() 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> = new ResizeArray<FreeSpotTextsResponse>() 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

    [<ApiResponse(Description="You were unauthorized to call this service", StatusCode=401)>]
    [<ApiResponse(Description="You have too low privilegies to call this service", StatusCode=403)>]
    [<ValidateRequest(Validator="IsAuthenticated")>]
    [<AllowNullLiteral>]
    type SettingQuery() = 
        ///<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# SettingQuery 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.bokamera.se 
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,
	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
}