Requires any of the roles: | bookingsupplier-administrator-write, superadmin |
PUT | /settings | Update settings for the company of the currently logged in user | Update 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;
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=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 }