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 .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

PUT /settings HTTP/1.1 
Host: testapi.bokamera.se 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<UpdateSetting xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <AgreementTemplate>String</AgreementTemplate>
  <AllowBookingOnUnbookedTimes>false</AllowBookingOnUnbookedTimes>
  <AutoCreateUserProfile>false</AutoCreateUserProfile>
  <AutoGenerateUniquePinCode>false</AutoGenerateUniquePinCode>
  <BookOnlyOnExistingCustomers>false</BookOnlyOnExistingCustomers>
  <BookSpotDirectlyTimeLeftMinutes>0</BookSpotDirectlyTimeLeftMinutes>
  <BookSpotUserResponseMinutes>0</BookSpotUserResponseMinutes>
  <BookingStatusId>0</BookingStatusId>
  <BookingTemplateId>0</BookingTemplateId>
  <CalendarTypeId>0</CalendarTypeId>
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <EmailReminderTime>0</EmailReminderTime>
  <EnableBookingsOnSameTime>false</EnableBookingsOnSameTime>
  <EnableICalGroupBookings>false</EnableICalGroupBookings>
  <EnableMobileApp>false</EnableMobileApp>
  <EnableSendFollowUpMessage>false</EnableSendFollowUpMessage>
  <EnableShowBookedTimes>false</EnableShowBookedTimes>
  <FollowUpMessageTime>0</FollowUpMessageTime>
  <FreeSpotTextsId>0</FreeSpotTextsId>
  <IsBookSpotDirectly>false</IsBookSpotDirectly>
  <MaxActiveBookings>0</MaxActiveBookings>
  <MessageText>String</MessageText>
  <ReceiptTemplate>String</ReceiptTemplate>
  <ScheduleEndTime>PT0S</ScheduleEndTime>
  <ScheduleGroupResources>false</ScheduleGroupResources>
  <ScheduleShowTimeExeptions>false</ScheduleShowTimeExeptions>
  <ScheduleStartTime>PT0S</ScheduleStartTime>
  <ScheduleTimeSlotMinutes>0</ScheduleTimeSlotMinutes>
  <ScheduleViewId>0</ScheduleViewId>
  <SchedulerDisableHorizontalScrolling>false</SchedulerDisableHorizontalScrolling>
  <SendEmailConfirmation>false</SendEmailConfirmation>
  <SendEmailNotificationQueue>false</SendEmailNotificationQueue>
  <SendEmailReminder>false</SendEmailReminder>
  <SendNotifications>false</SendNotifications>
  <SendNotificationsEmail>String</SendNotificationsEmail>
  <SendSMSNotificationQueue>false</SendSMSNotificationQueue>
  <SendSmsConfirmation>false</SendSmsConfirmation>
  <SendSmsReminder>false</SendSmsReminder>
  <ShowFreeTimesLeft>false</ShowFreeTimesLeft>
  <ShowMultiDayAsTime>false</ShowMultiDayAsTime>
  <ShowMultipleResourcesAsOne>false</ShowMultipleResourcesAsOne>
  <ShowWeekNumberSettingId>0</ShowWeekNumberSettingId>
  <SmsReminderTime>0</SmsReminderTime>
  <WeightedPrices>false</WeightedPrices>
</UpdateSetting>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SettingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Dtos">
  <AgreementTemplate>String</AgreementTemplate>
  <AllowBookingOnUnbookedTimes>false</AllowBookingOnUnbookedTimes>
  <AutoCreateUserProfile>false</AutoCreateUserProfile>
  <AutoGenerateUniquePinCode>false</AutoGenerateUniquePinCode>
  <BookOnlyOnExistingCustomers>false</BookOnlyOnExistingCustomers>
  <BookSpotDirectlyTimeLeftMinutes>0</BookSpotDirectlyTimeLeftMinutes>
  <BookSpotUserResponseMinutes>0</BookSpotUserResponseMinutes>
  <BookingStatusId>0</BookingStatusId>
  <BookingStatusOptions xmlns:d2p1="http://schemas.datacontract.org/2004/07/BokaMera.API.ServiceModel.Db">
    <d2p1:BookingStatusOptions>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:Id>0</d2p1:Id>
      <d2p1:Name>String</d2p1:Name>
    </d2p1:BookingStatusOptions>
  </BookingStatusOptions>
  <BookingTemplateId>0</BookingTemplateId>
  <BookingTemplateOptions>
    <BookingTemplateResponse>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
      <UsedByApplication>String</UsedByApplication>
    </BookingTemplateResponse>
  </BookingTemplateOptions>
  <CalendarTypeId>0</CalendarTypeId>
  <CalendarTypeOptions>
    <CalendarTypeResponse>
      <Active>false</Active>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </CalendarTypeResponse>
  </CalendarTypeOptions>
  <CompanyId>00000000-0000-0000-0000-000000000000</CompanyId>
  <EmailReminderTime>0</EmailReminderTime>
  <EnableBookingsOnSameTime>false</EnableBookingsOnSameTime>
  <EnableICalGroupBookings>false</EnableICalGroupBookings>
  <EnableMobileApp>false</EnableMobileApp>
  <EnableSendFollowUpMessage>false</EnableSendFollowUpMessage>
  <EnableShowBookedTimes>false</EnableShowBookedTimes>
  <FollowUpMessageTime>0</FollowUpMessageTime>
  <FreeSpotTextOptions>
    <FreeSpotTextsResponse>
      <Id>0</Id>
      <TextPlural>String</TextPlural>
      <TextSingular>String</TextSingular>
    </FreeSpotTextsResponse>
  </FreeSpotTextOptions>
  <FreeSpotTextsId>0</FreeSpotTextsId>
  <IsBookSpotDirectly>false</IsBookSpotDirectly>
  <MaxActiveBookings>0</MaxActiveBookings>
  <MessageText>String</MessageText>
  <ReceiptTemplate>String</ReceiptTemplate>
  <ScheduleEndTime>PT0S</ScheduleEndTime>
  <ScheduleGroupResources>false</ScheduleGroupResources>
  <ScheduleShowTimeExeptions>false</ScheduleShowTimeExeptions>
  <ScheduleStartTime>PT0S</ScheduleStartTime>
  <ScheduleTimeSlotMinutes>0</ScheduleTimeSlotMinutes>
  <ScheduleViewId>0</ScheduleViewId>
  <ScheduleViewOptions>
    <ScheduleViewResponse>
      <Id>0</Id>
      <Name>String</Name>
    </ScheduleViewResponse>
  </ScheduleViewOptions>
  <SchedulerDisableHorizontalScrolling>false</SchedulerDisableHorizontalScrolling>
  <SendEmailConfirmation>false</SendEmailConfirmation>
  <SendEmailNotificationQueue>false</SendEmailNotificationQueue>
  <SendEmailReminder>false</SendEmailReminder>
  <SendNotifications>false</SendNotifications>
  <SendNotificationsEmail>String</SendNotificationsEmail>
  <SendSMSNotificationQueue>false</SendSMSNotificationQueue>
  <SendSmsConfirmation>false</SendSmsConfirmation>
  <SendSmsReminder>false</SendSmsReminder>
  <ShowFreeTimesLeft>false</ShowFreeTimesLeft>
  <ShowMultiDayAsTime>false</ShowMultiDayAsTime>
  <ShowMultipleResourcesAsOne>false</ShowMultipleResourcesAsOne>
  <ShowWeekNumberSettingId>0</ShowWeekNumberSettingId>
  <SmsReminderTime>0</SmsReminderTime>
  <WeekNumberOptions>
    <WeekNumberSettingResponse>
      <Description>String</Description>
      <Id>0</Id>
      <Name>String</Name>
    </WeekNumberSettingResponse>
  </WeekNumberOptions>
  <WeightedPrices>false</WeightedPrices>
</SettingResponse>