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.
"use strict";
export class ScheduleViewResponse {
    /** @param {{Id?:number,Name?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
}
export class WeekNumberSettingResponse {
    /** @param {{Id?:number,Name?:string,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    Description;
}
export class BookingTemplateResponse {
    /** @param {{Id?:number,Name?:string,Description?:string,UsedByApplication?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    Description;
    /** @type {string} */
    UsedByApplication;
}
export class CalendarTypeResponse {
    /** @param {{Id?:number,Name?:string,Description?:string,Active?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    Description;
    /** @type {boolean} */
    Active;
}
export class BookingStatusOptions {
    /** @param {{Id?:number,Name?:string,Description?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    Name;
    /** @type {string} */
    Description;
}
export class FreeSpotTextsResponse {
    /** @param {{Id?:number,TextSingular?:string,TextPlural?:string}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {number} */
    Id;
    /** @type {string} */
    TextSingular;
    /** @type {string} */
    TextPlural;
}
export class SettingResponse {
    /** @param {{CompanyId?:string,BookingStatusId?:number,ScheduleViewId?:number,BookingTemplateId?:number,CalendarTypeId?:number,AllowBookingOnUnbookedTimes?:boolean,SendEmailReminder?:boolean,SendSmsReminder?:boolean,SendEmailConfirmation?:boolean,SendSmsConfirmation?:boolean,MessageText?:string,EmailReminderTime?:number,SmsReminderTime?:number,MaxActiveBookings?:number,SendNotifications?:boolean,SendNotificationsEmail?:string,EnableMobileApp?:boolean,ScheduleStartTime?:string,ScheduleEndTime?:string,ScheduleGroupResources?:boolean,SchedulerDisableHorizontalScrolling?:boolean,ReceiptTemplate?:string,ScheduleTimeSlotMinutes?:number,ShowFreeTimesLeft?:boolean,FreeSpotTextsId?:number,EnableICalGroupBookings?:boolean,AgreementTemplate?:string,ScheduleShowTimeExeptions?:boolean,EnableBookingsOnSameTime?:boolean,ShowWeekNumberSettingId?:number,EnableShowBookedTimes?:boolean,BookSpotUserResponseMinutes?:number,IsBookSpotDirectly?:boolean,BookSpotDirectlyTimeLeftMinutes?:number,SendEmailNotificationQueue?:boolean,SendSMSNotificationQueue?:boolean,EnableSendFollowUpMessage?:boolean,FollowUpMessageTime?:number,BookOnlyOnExistingCustomers?:boolean,AutoGenerateUniquePinCode?:boolean,AutoCreateUserProfile?:boolean,ScheduleViewOptions?:ScheduleViewResponse[],WeekNumberOptions?:WeekNumberSettingResponse[],BookingTemplateOptions?:BookingTemplateResponse[],CalendarTypeOptions?:CalendarTypeResponse[],BookingStatusOptions?:BookingStatusOptions[],FreeSpotTextOptions?:FreeSpotTextsResponse[],WeightedPrices?:boolean,ShowMultiDayAsTime?:boolean,ShowMultipleResourcesAsOne?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /** @type {string} */
    CompanyId;
    /** @type {number} */
    BookingStatusId;
    /** @type {number} */
    ScheduleViewId;
    /** @type {number} */
    BookingTemplateId;
    /** @type {number} */
    CalendarTypeId;
    /** @type {boolean} */
    AllowBookingOnUnbookedTimes;
    /** @type {boolean} */
    SendEmailReminder;
    /** @type {boolean} */
    SendSmsReminder;
    /** @type {boolean} */
    SendEmailConfirmation;
    /** @type {boolean} */
    SendSmsConfirmation;
    /**
     * @type {string}
     * @description Message text field that could be used inside message templates using [MessageText]. */
    MessageText;
    /** @type {number} */
    EmailReminderTime;
    /** @type {number} */
    SmsReminderTime;
    /** @type {number} */
    MaxActiveBookings;
    /** @type {boolean} */
    SendNotifications;
    /** @type {string} */
    SendNotificationsEmail;
    /** @type {boolean} */
    EnableMobileApp;
    /** @type {?string} */
    ScheduleStartTime;
    /** @type {?string} */
    ScheduleEndTime;
    /**
     * @type {boolean}
     * @description The admin scheduler if each resources should be shown in a seperate group */
    ScheduleGroupResources;
    /**
     * @type {boolean}
     * @description The admin scheduler if the horizontal scrolling should be turned off */
    SchedulerDisableHorizontalScrolling;
    /** @type {string} */
    ReceiptTemplate;
    /** @type {number} */
    ScheduleTimeSlotMinutes;
    /** @type {boolean} */
    ShowFreeTimesLeft;
    /** @type {number} */
    FreeSpotTextsId;
    /** @type {boolean} */
    EnableICalGroupBookings;
    /**
     * @type {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# */
    AgreementTemplate;
    /** @type {boolean} */
    ScheduleShowTimeExeptions;
    /** @type {boolean} */
    EnableBookingsOnSameTime;
    /** @type {number} */
    ShowWeekNumberSettingId;
    /** @type {boolean} */
    EnableShowBookedTimes;
    /** @type {?number} */
    BookSpotUserResponseMinutes;
    /** @type {boolean} */
    IsBookSpotDirectly;
    /** @type {number} */
    BookSpotDirectlyTimeLeftMinutes;
    /** @type {?boolean} */
    SendEmailNotificationQueue;
    /** @type {?boolean} */
    SendSMSNotificationQueue;
    /** @type {boolean} */
    EnableSendFollowUpMessage;
    /**
     * @type {number}
     * @description When follow up message should be sent in hours after the booking. */
    FollowUpMessageTime;
    /**
     * @type {boolean}
     * @description If it's only allowed for existing customers to book */
    BookOnlyOnExistingCustomers;
    /**
     * @type {boolean}
     * @description If a unique pin code should be generated for the customer */
    AutoGenerateUniquePinCode;
    /**
     * @type {boolean}
     * @description If a user profile should be created when customer is booking time. With the property customer can login. */
    AutoCreateUserProfile;
    /**
     * @type {ScheduleViewResponse[]}
     * @description The available schedule view options to choose from */
    ScheduleViewOptions;
    /**
     * @type {WeekNumberSettingResponse[]}
     * @description The available week number options to choose from */
    WeekNumberOptions;
    /**
     * @type {BookingTemplateResponse[]}
     * @description The booking template options to choose from */
    BookingTemplateOptions;
    /**
     * @type {CalendarTypeResponse[]}
     * @description The calendar type options to choose from */
    CalendarTypeOptions;
    /**
     * @type {BookingStatusOptions[]}
     * @description The booking status options to choose from */
    BookingStatusOptions;
    /**
     * @type {FreeSpotTextsResponse[]}
     * @description The free spot text options to choose from */
    FreeSpotTextOptions;
    /**
     * @type {boolean}
     * @description If you have different prices over different times per day and want it to calculate the weighted price for the booked time. */
    WeightedPrices;
    /** @type {boolean} */
    ShowMultiDayAsTime;
    /** @type {boolean} */
    ShowMultipleResourcesAsOne;
}
export class SettingQuery {
    /** @param {{IncludeScheduleViewOptions?:boolean,IncludeWeekNumberOptions?:boolean,IncludeBookingTemplateOptions?:boolean,IncludeCalendarTypeOptions?:boolean,IncludeBookingStatusOptions?:boolean,IncludeFreeSpotTextOptions?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {boolean}
     * @description If you want to include the schedule views to select from */
    IncludeScheduleViewOptions;
    /**
     * @type {boolean}
     * @description If you want to include the week number settings to select from */
    IncludeWeekNumberOptions;
    /**
     * @type {boolean}
     * @description If you want to include the booking template options to select from */
    IncludeBookingTemplateOptions;
    /**
     * @type {boolean}
     * @description If you want to include the calendar type options to select from */
    IncludeCalendarTypeOptions;
    /**
     * @type {boolean}
     * @description If you want to include the booking status options to select from */
    IncludeBookingStatusOptions;
    /**
     * @type {boolean}
     * @description If you want to include the Free spot text options to select from */
    IncludeFreeSpotTextOptions;
}

JavaScript 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
}