BokaMera.API.Host

<back to all web services

UpdateSetting

Requires Authentication
Requires any of the roles:bookingsupplier-administrator-write, superadmin
The following routes are available for this service:
PUT/settingsUpdate settings for the company of the currently logged in userUpdate settings for the company of 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 UpdateSetting {
    /** @param {{CompanyId?:string,BookingStatusId?:number,ScheduleViewId?:number,BookingTemplateId?:number,CalendarTypeId?:number,AllowBookingOnUnbookedTimes?:boolean,SendEmailReminder?:boolean,SendSmsReminder?:boolean,SendEmailConfirmation?:boolean,SendSmsConfirmation?:boolean,EmailReminderTime?:number,SmsReminderTime?:number,MaxActiveBookings?:number,SendNotifications?:boolean,SendNotificationsEmail?:string,MessageText?:string,EnableMobileApp?:boolean,ScheduleStartTime?:string,ScheduleEndTime?:string,ReceiptTemplate?:string,ScheduleTimeSlotMinutes?:number,ScheduleGroupResources?:boolean,SchedulerDisableHorizontalScrolling?:boolean,BookOnlyOnExistingCustomers?:boolean,AutoGenerateUniquePinCode?:boolean,AutoCreateUserProfile?:boolean,FollowUpMessageTime?:number,ShowFreeTimesLeft?:boolean,FreeSpotTextsId?:number,EnableICalGroupBookings?:boolean,AgreementTemplate?:string,ScheduleShowTimeExeptions?:boolean,EnableBookingsOnSameTime?:boolean,ShowWeekNumberSettingId?:number,EnableShowBookedTimes?:boolean,EnableSendFollowUpMessage?:boolean,BookSpotUserResponseMinutes?:number,IsBookSpotDirectly?:boolean,BookSpotDirectlyTimeLeftMinutes?:number,SendEmailNotificationQueue?:boolean,SendSMSNotificationQueue?:boolean,WeightedPrices?:boolean,ShowMultiDayAsTime?:boolean,ShowMultipleResourcesAsOne?:boolean}} [init] */
    constructor(init) { Object.assign(this, init) }
    /**
     * @type {?string}
     * @description The company id, if empty will use the company id for the user you are logged in with. */
    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 {?number} */
    EmailReminderTime;
    /** @type {?number} */
    SmsReminderTime;
    /** @type {?number} */
    MaxActiveBookings;
    /** @type {?boolean} */
    SendNotifications;
    /** @type {string} */
    SendNotificationsEmail;
    /**
     * @type {string}
     * @description Message text field that could be used inside message templates using [MessageText]. */
    MessageText;
    /** @type {?boolean} */
    EnableMobileApp;
    /**
     * @type {?string}
     * @description The admin scheduler start time to show as default */
    ScheduleStartTime;
    /**
     * @type {?string}
     * @description The admin scheduler end time to show as default */
    ScheduleEndTime;
    /**
     * @type {string}
     * @description Booking receipt text. */
    ReceiptTemplate;
    /**
     * @type {?number}
     * @description The admin scheduler minutes of each timeslot */
    ScheduleTimeSlotMinutes;
    /**
     * @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 {?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 {?number}
     * @description When follow up message should be sent in hours after the booking. */
    FollowUpMessageTime;
    /** @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 {?boolean} */
    EnableSendFollowUpMessage;
    /** @type {?number} */
    BookSpotUserResponseMinutes;
    /** @type {?boolean} */
    IsBookSpotDirectly;
    /** @type {?number} */
    BookSpotDirectlyTimeLeftMinutes;
    /** @type {?boolean} */
    SendEmailNotificationQueue;
    /** @type {?boolean} */
    SendSMSNotificationQueue;
    /**
     * @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;
}

JavaScript UpdateSetting 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.

PUT /settings HTTP/1.1 
Host: api.bokamera.se 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	CompanyId: 00000000-0000-0000-0000-000000000000,
	BookingStatusId: 0,
	ScheduleViewId: 0,
	BookingTemplateId: 0,
	CalendarTypeId: 0,
	AllowBookingOnUnbookedTimes: False,
	SendEmailReminder: False,
	SendSmsReminder: False,
	SendEmailConfirmation: False,
	SendSmsConfirmation: False,
	EmailReminderTime: 0,
	SmsReminderTime: 0,
	MaxActiveBookings: 0,
	SendNotifications: False,
	SendNotificationsEmail: String,
	MessageText: String,
	EnableMobileApp: False,
	ScheduleStartTime: PT0S,
	ScheduleEndTime: PT0S,
	ReceiptTemplate: String,
	ScheduleTimeSlotMinutes: 0,
	ScheduleGroupResources: False,
	SchedulerDisableHorizontalScrolling: False,
	BookOnlyOnExistingCustomers: False,
	AutoGenerateUniquePinCode: False,
	AutoCreateUserProfile: False,
	FollowUpMessageTime: 0,
	ShowFreeTimesLeft: False,
	FreeSpotTextsId: 0,
	EnableICalGroupBookings: False,
	AgreementTemplate: String,
	ScheduleShowTimeExeptions: False,
	EnableBookingsOnSameTime: False,
	ShowWeekNumberSettingId: 0,
	EnableShowBookedTimes: False,
	EnableSendFollowUpMessage: False,
	BookSpotUserResponseMinutes: 0,
	IsBookSpotDirectly: False,
	BookSpotDirectlyTimeLeftMinutes: 0,
	SendEmailNotificationQueue: False,
	SendSMSNotificationQueue: False,
	WeightedPrices: False,
	ShowMultiDayAsTime: False,
	ShowMultipleResourcesAsOne: False
}
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
}