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.
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
}

Kotlin 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: testapi.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
}