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. |
---|
import java.math.*
import java.util.*
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
@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")
open class UpdateSetting : ICompany
{
/**
* The company id, if empty will use the company id for the user you are logged in with.
*/
@ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.")
var CompanyId:UUID? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var BookingStatusId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var ScheduleViewId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var BookingTemplateId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var CalendarTypeId:Int? = null
/**
*
*/
@ApiMember(DataType="bool", Description="")
var AllowBookingOnUnbookedTimes:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailReminder")
@SerializedName("SendEmailReminder")
@ApiMember(DataType="boolean", Description="")
var SendEmailReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsReminder")
@SerializedName("SendSmsReminder")
@ApiMember(DataType="boolean", Description="")
var SendSmsReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailConfirmation")
@SerializedName("SendEmailConfirmation")
@ApiMember(DataType="boolean", Description="")
var SendEmailConfirmation:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsConfirmation")
@SerializedName("SendSmsConfirmation")
@ApiMember(DataType="boolean", Description="")
var SendSmsConfirmation:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var EmailReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var SmsReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var MaxActiveBookings:Int? = null
/**
*
*/
@ApiMember(DataType="bool", Description="")
var SendNotifications:Boolean? = null
/**
*
*/
@ApiMember(DataType="string", Description="")
var SendNotificationsEmail:String? = null
/**
* Message text field that could be used inside message templates using [MessageText].
*/
@ApiMember(DataType="string", Description="Message text field that could be used inside message templates using [MessageText].")
var MessageText:String? = null
/**
*
*/
@ApiMember(DataType="bool", Description="")
var EnableMobileApp:Boolean? = null
/**
* The admin scheduler start time to show as default
*/
@ApiMember(Description="The admin scheduler start time to show as default")
var ScheduleStartTime:TimeSpan? = null
/**
* The admin scheduler end time to show as default
*/
@ApiMember(Description="The admin scheduler end time to show as default")
var ScheduleEndTime:TimeSpan? = null
/**
* Booking receipt text.
*/
@ApiMember(DataType="string", Description="Booking receipt text.")
var ReceiptTemplate:String? = null
/**
* The admin scheduler minutes of each timeslot
*/
@ApiMember(Description="The admin scheduler minutes of each timeslot")
var ScheduleTimeSlotMinutes:Int? = null
/**
* The admin scheduler if each resources should be shown in a seperate group
*/
@ApiMember(Description="The admin scheduler if each resources should be shown in a seperate group")
var ScheduleGroupResources:Boolean? = null
/**
* The admin scheduler if the horizontal scrolling should be turned off
*/
@ApiMember(DataType="boolean", Description="The admin scheduler if the horizontal scrolling should be turned off")
var SchedulerDisableHorizontalScrolling:Boolean? = null
/**
* If it's only allowed for existing customers to book
*/
@ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")
var BookOnlyOnExistingCustomers:Boolean? = null
/**
* If a unique pin code should be generated for the customer
*/
@ApiMember(DataType="boolean", Description="If a unique pin code should be generated for the customer")
var AutoGenerateUniquePinCode:Boolean? = null
/**
* If a user profile should be created when customer is booking time. With the property customer can login.
*/
@ApiMember(DataType="boolean", Description="If a user profile should be created when customer is booking time. With the property customer can login.")
var AutoCreateUserProfile:Boolean? = null
/**
* When follow up message should be sent in hours after the booking.
*/
@ApiMember(Description="When follow up message should be sent in hours after the booking.")
var FollowUpMessageTime:Int? = null
/**
*
*/
@ApiMember(Description="")
var ShowFreeTimesLeft:Boolean? = null
/**
*
*/
@ApiMember(Description="")
var FreeSpotTextsId:Int? = null
/**
*
*/
@ApiMember(Description="")
var EnableICalGroupBookings:Boolean? = null
/**
* 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#
*/
@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#")
var AgreementTemplate:String? = null
/**
*
*/
@ApiMember(Description="")
var ScheduleShowTimeExeptions:Boolean? = null
/**
*
*/
@ApiMember(Description="")
var EnableBookingsOnSameTime:Boolean? = null
/**
*
*/
@ApiMember(Description="")
var ShowWeekNumberSettingId:Int? = null
/**
*
*/
@ApiMember(Description="")
var EnableShowBookedTimes:Boolean? = null
/**
*
*/
@ApiMember(Description="")
var EnableSendFollowUpMessage:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var BookSpotUserResponseMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var IsBookSpotDirectly:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var BookSpotDirectlyTimeLeftMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var SendEmailNotificationQueue:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var SendSMSNotificationQueue:Boolean? = null
/**
* If you have different prices over different times per day and want it to calculate the weighted price for the booked time.
*/
@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.")
var WeightedPrices:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ShowMultiDayAsTime:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ShowMultipleResourcesAsOne:Boolean? = null
}
open class SettingResponse
{
var CompanyId:UUID? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var BookingStatusId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var ScheduleViewId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var BookingTemplateId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var CalendarTypeId:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var AllowBookingOnUnbookedTimes:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailReminder")
@SerializedName("SendEmailReminder")
@ApiMember(DataType="boolean", Description="")
var SendEmailReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsReminder")
@SerializedName("SendSmsReminder")
@ApiMember(DataType="boolean", Description="")
var SendSmsReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailConfirmation")
@SerializedName("SendEmailConfirmation")
@ApiMember(DataType="boolean", Description="")
var SendEmailConfirmation:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsConfirmation")
@SerializedName("SendSmsConfirmation")
@ApiMember(DataType="boolean", Description="")
var SendSmsConfirmation:Boolean? = null
/**
* Message text field that could be used inside message templates using [MessageText].
*/
@ApiMember(DataType="string", Description="Message text field that could be used inside message templates using [MessageText].")
var MessageText:String? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var EmailReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var SmsReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var MaxActiveBookings:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var SendNotifications:Boolean? = null
/**
*
*/
@ApiMember(DataType="string", Description="")
var SendNotificationsEmail:String? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var EnableMobileApp:Boolean? = null
/**
*
*/
@ApiMember(Description="")
var ScheduleStartTime:TimeSpan? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ScheduleEndTime:TimeSpan? = null
/**
* The admin scheduler if each resources should be shown in a seperate group
*/
@ApiMember(DataType="boolean", Description="The admin scheduler if each resources should be shown in a seperate group")
var ScheduleGroupResources:Boolean? = null
/**
* The admin scheduler if the horizontal scrolling should be turned off
*/
@ApiMember(DataType="boolean", Description="The admin scheduler if the horizontal scrolling should be turned off")
var SchedulerDisableHorizontalScrolling:Boolean? = null
/**
*
*/
@ApiMember(DataType="string", Description="")
var ReceiptTemplate:String? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var ScheduleTimeSlotMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ShowFreeTimesLeft:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var FreeSpotTextsId:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var EnableICalGroupBookings:Boolean? = null
/**
* 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#
*/
@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#")
var AgreementTemplate:String? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ScheduleShowTimeExeptions:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var EnableBookingsOnSameTime:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
var ShowWeekNumberSettingId:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var EnableShowBookedTimes:Boolean? = null
/**
*
*/
@ApiMember(DataType="", Description="")
var BookSpotUserResponseMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="", Description="")
var IsBookSpotDirectly:Boolean? = null
/**
*
*/
@ApiMember(DataType="", Description="")
var BookSpotDirectlyTimeLeftMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="", Description="")
var SendEmailNotificationQueue:Boolean? = null
/**
*
*/
@ApiMember(DataType="", Description="")
var SendSMSNotificationQueue:Boolean? = null
/**
*
*/
@ApiMember(Description="")
var EnableSendFollowUpMessage:Boolean? = null
/**
* When follow up message should be sent in hours after the booking.
*/
@ApiMember(Description="When follow up message should be sent in hours after the booking.")
var FollowUpMessageTime:Int? = null
/**
* If it's only allowed for existing customers to book
*/
@ApiMember(DataType="boolean", Description="If it's only allowed for existing customers to book")
var BookOnlyOnExistingCustomers:Boolean? = null
/**
* If a unique pin code should be generated for the customer
*/
@ApiMember(DataType="boolean", Description="If a unique pin code should be generated for the customer")
var AutoGenerateUniquePinCode:Boolean? = null
/**
* If a user profile should be created when customer is booking time. With the property customer can login.
*/
@ApiMember(DataType="boolean", Description="If a user profile should be created when customer is booking time. With the property customer can login.")
var AutoCreateUserProfile:Boolean? = null
/**
* The available schedule view options to choose from
*/
@ApiMember(Description="The available schedule view options to choose from")
var ScheduleViewOptions:ArrayList<ScheduleViewResponse> = ArrayList<ScheduleViewResponse>()
/**
* The available week number options to choose from
*/
@ApiMember(Description="The available week number options to choose from")
var WeekNumberOptions:ArrayList<WeekNumberSettingResponse> = ArrayList<WeekNumberSettingResponse>()
/**
* The booking template options to choose from
*/
@ApiMember(Description="The booking template options to choose from")
var BookingTemplateOptions:ArrayList<BookingTemplateResponse> = ArrayList<BookingTemplateResponse>()
/**
* The calendar type options to choose from
*/
@ApiMember(Description="The calendar type options to choose from")
var CalendarTypeOptions:ArrayList<CalendarTypeResponse> = ArrayList<CalendarTypeResponse>()
/**
* The booking status options to choose from
*/
@ApiMember(Description="The booking status options to choose from")
var BookingStatusOptions:ArrayList<BookingStatusOptions> = ArrayList<BookingStatusOptions>()
/**
* The free spot text options to choose from
*/
@ApiMember(Description="The free spot text options to choose from")
var FreeSpotTextOptions:ArrayList<FreeSpotTextsResponse> = ArrayList<FreeSpotTextsResponse>()
/**
* If you have different prices over different times per day and want it to calculate the weighted price for the booked time.
*/
@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.")
var WeightedPrices:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ShowMultiDayAsTime:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
var ShowMultipleResourcesAsOne:Boolean? = null
}
open class ScheduleViewResponse
{
var Id:Int? = null
var Name:String? = null
}
open class WeekNumberSettingResponse
{
var Id:Int? = null
var Name:String? = null
var Description:String? = null
}
open class BookingTemplateResponse
{
var Id:Int? = null
var Name:String? = null
var Description:String? = null
var UsedByApplication:String? = null
}
open class CalendarTypeResponse
{
var Id:Int? = null
var Name:String? = null
var Description:String? = null
var Active:Boolean? = null
}
open class BookingStatusOptions
{
var Id:Int? = null
var Name:String? = null
var Description:String? = null
}
open class FreeSpotTextsResponse
{
var Id:Int? = null
var TextSingular:String? = null
var TextPlural:String? = null
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=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: api.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>