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 java.io.InputStream
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 privileges to call this service", StatusCode=403)
@ValidateRequest(Validator="IsAuthenticated")
open class UpdateBookingSettings : 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.")
override var CompanyId:UUID? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var BookingStatusId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var ScheduleViewId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var BookingTemplateId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var CalendarTypeId:Int? = null
/**
*
*/
@ApiMember(DataType="bool", Description="")
open var AllowBookingOnUnbookedTimes:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailReminder")
@SerializedName("SendEmailReminder")
@ApiMember(DataType="boolean", Description="")
open var SendEmailReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsReminder")
@SerializedName("SendSmsReminder")
@ApiMember(DataType="boolean", Description="")
open var SendSmsReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailConfirmation")
@SerializedName("SendEmailConfirmation")
@ApiMember(DataType="boolean", Description="")
open var SendEmailConfirmation:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsConfirmation")
@SerializedName("SendSmsConfirmation")
@ApiMember(DataType="boolean", Description="")
open var SendSmsConfirmation:Boolean? = null
/**
* If the customer should receive Push notification when booked
*/
@ApiMember(DataType="boolean", Description="If the customer should receive Push notification when booked")
open var SendPushNotification:Boolean? = null
/**
* If the customer should receive Push notification reminders on bookings
*/
@ApiMember(DataType="boolean", Description="If the customer should receive Push notification reminders on bookings")
open var SendPushNotificationReminder:Boolean? = null
/**
* How many minutes before booking starts the customer should receive the notification
*/
@ApiMember(DataType="int", Description="How many minutes before booking starts the customer should receive the notification")
open var PushNotificationReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var EmailReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var SmsReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var MaxActiveBookings:Int? = null
/**
*
*/
@ApiMember(DataType="bool", Description="")
open var SendNotifications:Boolean? = null
/**
*
*/
@ApiMember(DataType="string", Description="")
open 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].")
open var MessageText:String? = null
/**
*
*/
@ApiMember(DataType="bool", Description="")
open var EnableMobileApp:Boolean? = null
/**
* The admin scheduler start time to show as default
*/
@ApiMember(Description="The admin scheduler start time to show as default")
open var ScheduleStartTime:TimeSpan? = null
/**
* The admin scheduler end time to show as default
*/
@ApiMember(Description="The admin scheduler end time to show as default")
open var ScheduleEndTime:TimeSpan? = null
/**
* Booking receipt text.
*/
@ApiMember(DataType="string", Description="Booking receipt text.")
open var ReceiptTemplate:String? = null
/**
* The admin scheduler minutes of each timeslot
*/
@ApiMember(Description="The admin scheduler minutes of each timeslot")
open var ScheduleTimeSlotMinutes:Int? = null
/**
* The admin scheduler if each resources should be shown in a separate group
*/
@ApiMember(Description="The admin scheduler if each resources should be shown in a separate group")
open 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")
open 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")
open 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")
open 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.")
open 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.")
open var FollowUpMessageTime:Int? = null
/**
*
*/
@ApiMember(Description="")
open var ShowFreeTimesLeft:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var FreeSpotTextsId:Int? = null
/**
*
*/
@ApiMember(Description="")
open 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#")
open var AgreementTemplate:String? = null
/**
*
*/
@ApiMember(Description="")
open var ScheduleShowTimeExeptions:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var EnableBookingsOnSameTime:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var ShowWeekNumberSettingId:Int? = null
/**
*
*/
@ApiMember(Description="")
open var EnableShowBookedTimes:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var EnableSendFollowUpMessage:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var BookSpotUserResponseMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var IsBookSpotDirectly:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var BookSpotDirectlyTimeLeftMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var SendEmailNotificationQueue:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open 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.")
open var WeightedPrices:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ShowMultiDayAsTime:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ShowMultipleResourcesAsOne:Boolean? = null
/**
* If booking should be restricted by a pin code
*/
@ApiMember(DataType="string", Description="If booking should be restricted by a pin code")
open var BookingPinCodeRestriction:String? = null
/**
* Customer Invoice Address will be required when creating booking
*/
@ApiMember(Description="Customer Invoice Address will be required when creating booking")
open var CustomerInvoiceAdressRequired:Boolean? = null
}
open class BookingSettingResponse
{
open var CompanyId:UUID? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var BookingStatusId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var ScheduleViewId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var BookingTemplateId:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var CalendarTypeId:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var AllowBookingOnUnbookedTimes:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailReminder")
@SerializedName("SendEmailReminder")
@ApiMember(DataType="boolean", Description="")
open var SendEmailReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsReminder")
@SerializedName("SendSmsReminder")
@ApiMember(DataType="boolean", Description="")
open var SendSmsReminder:Boolean? = null
/**
*
*/
@DataMember(Name="SendEmailConfirmation")
@SerializedName("SendEmailConfirmation")
@ApiMember(DataType="boolean", Description="")
open var SendEmailConfirmation:Boolean? = null
/**
*
*/
@DataMember(Name="SendSmsConfirmation")
@SerializedName("SendSmsConfirmation")
@ApiMember(DataType="boolean", Description="")
open var SendSmsConfirmation:Boolean? = null
/**
* If the customer should receive Push notification when booked
*/
@ApiMember(DataType="boolean", Description="If the customer should receive Push notification when booked")
open var SendPushNotification:Boolean? = null
/**
* If the customer should receive Push notification reminders on bookings
*/
@ApiMember(DataType="boolean", Description="If the customer should receive Push notification reminders on bookings")
open var SendPushNotificationReminder:Boolean? = null
/**
* How many minutes before booking starts the customer should receive the notification
*/
@ApiMember(DataType="int", Description="How many minutes before booking starts the customer should receive the notification")
open var PushNotificationReminderTime:Int? = 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].")
open var MessageText:String? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var EmailReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var SmsReminderTime:Int? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var MaxActiveBookings:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var SendNotifications:Boolean? = null
/**
*
*/
@ApiMember(DataType="string", Description="")
open var SendNotificationsEmail:String? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var EnableMobileApp:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open var ScheduleStartTime:TimeSpan? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ScheduleEndTime:TimeSpan? = null
/**
* The admin scheduler if each resources should be shown in a separate group
*/
@ApiMember(DataType="boolean", Description="The admin scheduler if each resources should be shown in a separate group")
open 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")
open var SchedulerDisableHorizontalScrolling:Boolean? = null
/**
*
*/
@ApiMember(DataType="string", Description="")
open var ReceiptTemplate:String? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var ScheduleTimeSlotMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ShowFreeTimesLeft:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var FreeSpotTextsId:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open 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#")
open var AgreementTemplate:String? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ScheduleShowTimeExeptions:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var EnableBookingsOnSameTime:Boolean? = null
/**
*
*/
@ApiMember(DataType="int", Description="")
open var ShowWeekNumberSettingId:Int? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var EnableShowBookedTimes:Boolean? = null
/**
*
*/
@ApiMember(DataType="", Description="")
open var BookSpotUserResponseMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="", Description="")
open var IsBookSpotDirectly:Boolean? = null
/**
*
*/
@ApiMember(DataType="", Description="")
open var BookSpotDirectlyTimeLeftMinutes:Int? = null
/**
*
*/
@ApiMember(DataType="", Description="")
open var SendEmailNotificationQueue:Boolean? = null
/**
*
*/
@ApiMember(DataType="", Description="")
open var SendSMSNotificationQueue:Boolean? = null
/**
*
*/
@ApiMember(Description="")
open 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.")
open 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")
open 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")
open 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.")
open var AutoCreateUserProfile:Boolean? = null
/**
* The available schedule view options to choose from
*/
@ApiMember(Description="The available schedule view options to choose from")
open var ScheduleViewOptions:ArrayList<ScheduleViewResponse>? = null
/**
* The available week number options to choose from
*/
@ApiMember(Description="The available week number options to choose from")
open var WeekNumberOptions:ArrayList<WeekNumberSettingResponse>? = null
/**
* The booking template options to choose from
*/
@ApiMember(Description="The booking template options to choose from")
open var BookingTemplateOptions:ArrayList<BookingTemplateResponse>? = null
/**
* The calendar type options to choose from
*/
@ApiMember(Description="The calendar type options to choose from")
open var CalendarTypeOptions:ArrayList<CalendarTypeResponse>? = null
/**
* The booking status options to choose from
*/
@ApiMember(Description="The booking status options to choose from")
open var BookingStatusOptions:ArrayList<BookingStatusOptions>? = null
/**
* The free spot text options to choose from
*/
@ApiMember(Description="The free spot text options to choose from")
open var FreeSpotTextOptions:ArrayList<FreeSpotTextsResponse>? = 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.")
open var WeightedPrices:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ShowMultiDayAsTime:Boolean? = null
/**
*
*/
@ApiMember(DataType="boolean", Description="")
open var ShowMultipleResourcesAsOne:Boolean? = null
/**
* If booking should be restricted by a pin code
*/
@ApiMember(Description="If booking should be restricted by a pin code")
open var BookingPinCodeRestriction:String? = null
/**
* If checked customer invoice will be required when creating booking
*/
@ApiMember(Description="If checked customer invoice will be required when creating booking")
open var CustomerInvoiceAdressRequired:Boolean? = null
}
open class ScheduleViewResponse
{
open var Id:Int? = null
open var Name:String? = null
}
open class WeekNumberSettingResponse
{
open var Id:Int? = null
open var Name:String? = null
open var Description:String? = null
}
open class BookingTemplateResponse
{
open var Id:Int? = null
open var Name:String? = null
open var Description:String? = null
open var UsedByApplication:String? = null
}
open class CalendarTypeResponse
{
open var Id:Int? = null
open var Name:String? = null
open var Description:String? = null
open var Active:Boolean? = null
}
open class BookingStatusOptions
{
open var Id:Int? = null
open var Name:String? = null
open var Description:String? = null
}
open class FreeSpotTextsResponse
{
open var Id:Int? = null
open var TextSingular:String? = null
open var TextPlural:String? = null
}
Kotlin UpdateBookingSettings DTOs
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.bookmore.com
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,
SendPushNotification: False,
SendPushNotificationReminder: False,
PushNotificationReminderTime: 0,
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,
BookingPinCodeRestriction: String,
CustomerInvoiceAdressRequired: 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, SendPushNotification: False, SendPushNotificationReminder: False, PushNotificationReminderTime: 0, 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, BookingPinCodeRestriction: String, CustomerInvoiceAdressRequired: False }